diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 0f2363f0130..0949ca56b16 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -357,6 +357,7 @@ dev-python/platformdirs dev-python/pluggy dev-python/ply dev-python/poetry-core +dev-python/py-landlock dev-python/pycparser dev-python/pydecomp dev-python/pygments @@ -371,6 +372,7 @@ dev-python/six dev-python/snakeoil dev-python/tomli dev-python/tomli-w +dev-python/tomlkit dev-python/tree-sitter dev-python/trove-classifiers dev-python/truststore diff --git a/changelog/security/2026-09-14-weekly-updates.md b/changelog/security/2026-09-14-weekly-updates.md new file mode 100644 index 00000000000..b8b0b2bfa7e --- /dev/null +++ b/changelog/security/2026-09-14-weekly-updates.md @@ -0,0 +1,13 @@ +- containerd ([CVE-2026-53495](https://www.cve.org/CVERecord?id=CVE-2026-53495), [GHSA-rp3h-jf77-q9p4](https://github.com/containerd/containerd/security/advisories/GHSA-rp3h-jf77-q9p4)) +- cpio ([CVE-2026-66485](https://www.cve.org/CVERecord?id=CVE-2026-66485), [CVE-2026-66486](https://www.cve.org/CVERecord?id=CVE-2026-66486)) +- cri-tools ([CVE-2026-34040](https://www.cve.org/CVERecord?id=CVE-2026-34040), [CVE-2026-41567](https://www.cve.org/CVERecord?id=CVE-2026-41567), [CVE-2026-42306](https://www.cve.org/CVERecord?id=CVE-2026-42306), [CVE-2026-39883](https://www.cve.org/CVERecord?id=CVE-2026-39883)) +- crun ([CVE-2026-88264](https://www.cve.org/CVERecord?id=CVE-2026-88264), [CVE-2026-88265](https://www.cve.org/CVERecord?id=CVE-2026-88265)) +- curl ([CVE-2026-13608](https://www.cve.org/CVERecord?id=CVE-2026-13608), [CVE-2026-18924](https://www.cve.org/CVERecord?id=CVE-2026-18924), [CVE-2026-19931](https://www.cve.org/CVERecord?id=CVE-2026-19931), [CVE-2026-80229](https://www.cve.org/CVERecord?id=CVE-2026-80229), [CVE-2026-80230](https://www.cve.org/CVERecord?id=CVE-2026-80230), [CVE-2026-80231](https://www.cve.org/CVERecord?id=CVE-2026-80231), [CVE-2026-80255](https://www.cve.org/CVERecord?id=CVE-2026-80255), [CVE-2026-80256](https://www.cve.org/CVERecord?id=CVE-2026-80256)) +- gawk ([CVE-2026-40553](https://www.cve.org/CVERecord?id=CVE-2026-40553), [CVE-2026-40467](https://www.cve.org/CVERecord?id=CVE-2026-40467), [CVE-2026-40468](https://www.cve.org/CVERecord?id=CVE-2026-40468)) +- libpcap ([CVE-2026-0799](https://www.cve.org/CVERecord?id=CVE-2026-0799), [CVE-2026-18238](https://www.cve.org/CVERecord?id=CVE-2026-18238), [CVE-2026-18313](https://www.cve.org/CVERecord?id=CVE-2026-18313), [CVE-2026-31911](https://www.cve.org/CVERecord?id=CVE-2026-31911), [CVE-2026-31912](https://www.cve.org/CVERecord?id=CVE-2026-31912), [CVE-2026-6244](https://www.cve.org/CVERecord?id=CVE-2026-6244), [CVE-2026-6554](https://www.cve.org/CVERecord?id=CVE-2026-6554)) +- libpcre2 ([CVE-2026-86145](https://www.cve.org/CVERecord?id=CVE-2026-86145), [CVE-2026-89156](https://www.cve.org/CVERecord?id=CVE-2026-89156), [CVE-2026-89161](https://www.cve.org/CVERecord?id=CVE-2026-89161), [GHSA-9qww-pwc4-77qq](https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-9qww-pwc4-77qq), [GHSA-q7rw-r7qq-2hx6](https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-q7rw-r7qq-2hx6)) +- libxml2 ([CVE-2026-86137](https://www.cve.org/CVERecord?id=CVE-2026-86137), [CVE-2026-86138](https://www.cve.org/CVERecord?id=CVE-2026-86138), [CVE-2026-86139](https://www.cve.org/CVERecord?id=CVE-2026-86139), [CVE-2026-86140](https://www.cve.org/CVERecord?id=CVE-2026-86140), [CVE-2026-86141](https://www.cve.org/CVERecord?id=CVE-2026-86141), [CVE-2026-86142](https://www.cve.org/CVERecord?id=CVE-2026-86142), [CVE-2026-86143](https://www.cve.org/CVERecord?id=CVE-2026-86143), [CVE-2026-86144](https://www.cve.org/CVERecord?id=CVE-2026-86144)) +- nghttp2 ([CVE-2026-58055](https://www.cve.org/CVERecord?id=CVE-2026-58055)) +- python ([CVE-2026-19672](https://www.cve.org/CVERecord?id=CVE-2026-19672)) +- sssd ([CVE-2026-87853](https://www.cve.org/CVERecord?id=CVE-2026-87853)) +- xz-utils ([GHSA-5qpq-xqfv-j9pg](https://github.com/tukaani-project/xz/security/advisories/GHSA-5qpq-xqfv-j9pg)) diff --git a/changelog/updates/2026-09-14-weekly-updates.md b/changelog/updates/2026-09-14-weekly-updates.md new file mode 100644 index 00000000000..28b46071959 --- /dev/null +++ b/changelog/updates/2026-09-14-weekly-updates.md @@ -0,0 +1,26 @@ +- SDK: pkgcheck ([0.10.43](https://github.com/pkgcore/pkgcheck/releases/tag/v0.10.43)) +- base, dev: checkpolicy ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11)) +- base, dev: cri-tools ([1.37.0](https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.37.0)) +- base, dev: curl ([8.22.0](https://curl.se/ch/8.22.0.html)) +- base, dev: dracut ([112](https://github.com/dracut-ng/dracut/releases/tag/112)) +- base, dev: gawk ([5.4.1](https://lists.gnu.org/archive/html/info-gnu/2026-07/msg00001.html) (includes [5.4.0](https://lists.gnu.org/archive/html/info-gnu/2026-02/msg00011.html))) +- base, dev: libgcrypt ([1.12.4](https://lists.gnu.org/archive/html/info-gnu/2026-09/msg00002.html)) +- base, dev: libpcap ([1.10.7](https://raw.githubusercontent.com/the-tcpdump-group/libpcap/refs/tags/libpcap-1.10.7/CHANGES)) +- base, dev: libpcre2 ([10.48](https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.48)) +- base, dev: libxml2 ([2.15.4](https://gitlab.gnome.org/GNOME/libxml2/-/raw/v2.15.4/NEWS)) +- base, dev: nghttp2 ([1.70.0](https://github.com/nghttp2/nghttp2/releases/tag/v1.70.0)) +- base, dev: pkgconf ([3.0.7](https://raw.githubusercontent.com/pkgconf/pkgconf/refs/tags/pkgconf-3.0.7/NEWS) (includes [3.0.0](https://raw.githubusercontent.com/pkgconf/pkgconf/refs/tags/pkgconf-3.0.0/NEWS))) +- base, dev: selinux-base ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-base-policy ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-container ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-dbus ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-policykit ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-sssd ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: selinux-unconfined ([2.20260616_p1](https://github.com/SELinuxProject/refpolicy/releases/tag/RELEASE_2_20260616)) +- base, dev: xz-utils ([5.8.4](https://github.com/tukaani-project/xz/releases/tag/v5.8.4)) +- dev: gnuconfig (20260517) +- sysext-containerd: containerd ([2.3.5](https://github.com/containerd/containerd/releases/tag/v2.3.5)) +- sysext-podman: crun ([1.29.1](https://github.com/containers/crun/releases/tag/1.29.1) (includes [1.29](https://github.com/containers/crun/releases/tag/1.29))) +- sysext-python: platformdirs ([4.11.3](https://github.com/tox-dev/platformdirs/releases/tag/4.11.3) (includes [4.11.2](https://github.com/tox-dev/platformdirs/releases/tag/4.11.2), [4.11.1](https://github.com/tox-dev/platformdirs/releases/tag/4.11.1), [4.11.0](https://github.com/tox-dev/platformdirs/releases/tag/4.11.0))) +- sysext-python: setuptools ([84.0.0](https://raw.githubusercontent.com/pypa/setuptools/refs/tags/v84.0.0/NEWS.rst)) +- sysext-python: wheel ([0.48.0](https://github.com/pypa/wheel/releases/tag/0.48.0)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0001-Minor-fixes.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0001-Minor-fixes.patch new file mode 100644 index 00000000000..0347ca65cef --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0001-Minor-fixes.patch @@ -0,0 +1,209 @@ +From 17bf1b06a49a36eb13ee8dd8799f732f223f2257 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Fri, 1 May 2026 08:19:41 +0300 +Subject: [PATCH 1/2] Minor fixes + +* src/makepath.c: Don't use alloca. +* src/userspec.c: Likewise. +--- + src/makepath.c | 31 ++++++++++++++--------- + src/userspec.c | 67 +++++++++++++++++++++++++------------------------- + 2 files changed, 53 insertions(+), 45 deletions(-) + +diff --git a/src/makepath.c b/src/makepath.c +index 29d2992..0de1adb 100644 +--- a/src/makepath.c ++++ b/src/makepath.c +@@ -47,24 +47,19 @@ + Return 0 if ARGPATH exists as a directory with the proper + ownership and permissions when done, otherwise 1. */ + +-int +-make_path (char const *argpath, +- uid_t owner, +- gid_t group, +- const char *verbose_fmt_string) ++static int ++make_path0 (char *dirpath, ++ uid_t owner, ++ gid_t group, ++ const char *verbose_fmt_string) + { +- char *dirpath; /* A copy we can scribble NULs on. */ + struct stat stats; +- int retval = 0; + mode_t tmpmode; + mode_t invert_permissions; + int we_are_root = getuid () == 0; +- dirpath = alloca (strlen (argpath) + 1); +- +- strcpy (dirpath, argpath); + + if (stat (dirpath, &stats)) +- { ++ { + tmpmode = MODE_RWX & ~ newdir_umask; + invert_permissions = we_are_root ? 0 : MODE_WXUSR & ~ tmpmode; + +@@ -157,5 +152,19 @@ make_path (char const *argpath, + + } + ++ return 0; ++} ++ ++int ++make_path (char const *argpath, ++ uid_t owner, ++ gid_t group, ++ const char *verbose_fmt_string) ++{ ++ char *dirpath = xstrdup (argpath); ++ int retval = make_path0 (dirpath, owner, group, verbose_fmt_string); ++ free (dirpath); + return retval; + } ++ ++ +diff --git a/src/userspec.c b/src/userspec.c +index 43d565c..f116ae7 100644 +--- a/src/userspec.c ++++ b/src/userspec.c +@@ -19,7 +19,6 @@ + /* Written by David MacKenzie . */ + + #include +-#include + #include + #include + #include +@@ -33,18 +32,6 @@ + # define endgrent() + #endif + +-/* Perform the equivalent of the statement `dest = strdup (src);', +- but obtaining storage via alloca instead of from the heap. */ +- +-#define V_STRDUP(dest, src) \ +- do \ +- { \ +- int _len = strlen ((src)); \ +- (dest) = (char *) alloca (_len + 1); \ +- strcpy (dest, src); \ +- } \ +- while (0) +- + /* Return nonzero if STR represents an unsigned decimal integer, + otherwise return 0. */ + +@@ -57,6 +44,18 @@ isnumber_p (const char *str) + return 1; + } + ++static void ++store_string (char **bufptr, size_t *buflen, char *str) ++{ ++ size_t len = strlen (str) + 1; ++ if (len > *buflen) ++ { ++ *bufptr = xrealloc (*bufptr, len); ++ *buflen = len; ++ } ++ strcpy (*bufptr, str); ++} ++ + /* Extract from NAME, which has the form "[user][:.][group]", + a USERNAME, UID U, GROUPNAME, and GID G. + Either user or group, or both, must be present. +@@ -70,23 +69,21 @@ isnumber_p (const char *str) + Return NULL if successful, a static error message string if not. */ + + const char * +-parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, +- char **username_arg, char **groupname_arg) ++parse_user_spec0 (char *spec, uid_t *uid, gid_t *gid, ++ char **username_arg, char **groupname_arg) + { + static const char *tired = "virtual memory exhausted"; + const char *error_msg; +- char *spec; /* A copy we can write on. */ + struct passwd *pwd; + struct group *grp; + char *g, *u, *separator; +- char *groupname; ++ char *groupname = NULL; ++ size_t grouplen = 0; + + error_msg = NULL; + *username_arg = *groupname_arg = NULL; + groupname = NULL; + +- V_STRDUP (spec, spec_arg); +- + /* Find the separator if there is one. */ + separator = strchr (spec, ':'); + if (separator == NULL) +@@ -143,11 +140,12 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, + if (grp == NULL) + { + char nbuf[UINTMAX_STRSIZE_BOUND]; +- V_STRDUP (groupname, umaxtostr (pwd->pw_gid, nbuf)); ++ store_string (&groupname, &grouplen, ++ umaxtostr (pwd->pw_gid, nbuf)); + } + else + { +- V_STRDUP (groupname, grp->gr_name); ++ store_string (&groupname, &grouplen, grp->gr_name); + } + endgrent (); + } +@@ -178,7 +176,7 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, + endgrent (); /* Save a file descriptor. */ + + if (error_msg == NULL) +- V_STRDUP (groupname, g); ++ store_string (&groupname, &grouplen, g); + } + + if (error_msg == NULL) +@@ -191,23 +189,24 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, + } + + if (groupname != NULL && error_msg == NULL) +- { +- *groupname_arg = strdup (groupname); +- if (*groupname_arg == NULL) +- { +- if (*username_arg != NULL) +- { +- free (*username_arg); +- *username_arg = NULL; +- } +- error_msg = tired; +- } +- } ++ *groupname_arg = groupname; + } ++ else ++ free (groupname); + + return error_msg; + } + ++const char * ++parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, ++ char **username, char **groupname) ++{ ++ char *spec = xstrdup (spec_arg); ++ const char *retval = parse_user_spec0 (spec, uid, gid, username, groupname); ++ free (spec); ++ return retval; ++} ++ + #ifdef TEST + + #define NULL_CHECK(s) ((s) == NULL ? "(null)" : (s)) +-- +2.55.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0002-Quote-file-names-in-error-messages-and-in-listings.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0002-Quote-file-names-in-error-messages-and-in-listings.patch new file mode 100644 index 00000000000..a004b30c961 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/0002-Quote-file-names-in-error-messages-and-in-listings.patch @@ -0,0 +1,497 @@ +From 5e58fc1811dc757b89433fd21c13cde5239a1975 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Thu, 23 Jul 2026 17:26:05 +0300 +Subject: [PATCH 2/2] Quote file names in error messages and in listings. + +* NEWS: Document changes. +* doc/cpio.texi: Likewise. +* src/copyin.c: Quote file and member names. +* src/copyout.c: Likewise. +* src/copypass.c: Likewise. +* src/main.c: New options: --quoting-style and --quote-chars. +(process_args): Set default quoting style. +* tests/CVE-2019-14866.at: Fix expected output. +--- + NEWS | 18 ++++++++++++-- + doc/cpio.texi | 13 ++++++++++ + src/copyin.c | 39 +++++++++++++++++------------- + src/copyout.c | 26 ++++++++++---------- + src/copypass.c | 11 +++++---- + src/main.c | 53 +++++++++++++++++++++++++++++++++++++++-- + tests/CVE-2019-14866.at | 2 +- + 7 files changed, 124 insertions(+), 38 deletions(-) + +diff --git a/NEWS b/NEWS +index ee8c38a..c099977 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,8 +1,22 @@ +-GNU cpio NEWS -- history of user-visible changes. 2024-01-14 +-Copyright (C) 2003-2024 Free Software Foundation, Inc. ++GNU cpio NEWS -- history of user-visible changes. 2026-07-23 ++Copyright (C) 2003-2025 Free Software Foundation, Inc. + See the end of file for copying conditions. + + Please send cpio bug reports to . ++ ++Version 2.15.? (git) ++ ++* New options ++ ++ --quoting-style=STYLE ++ Set name quoting style used when printing file names. Valid styles ++ are: c, c-maybe, clocale, escape, help (displays available styles ++ and exits), literal (default), locale, shell, shell-always, ++ shell-escape, and shell-escape-always. ++ ++ --quote-chars=STRING ++ Additionally quote characters from STRING when printing file names. ++ + + Version 2.15 - Sergey Poznyakoff, 2024-01-14 + +diff --git a/doc/cpio.texi b/doc/cpio.texi +index 6683806..984e2dc 100644 +--- a/doc/cpio.texi ++++ b/doc/cpio.texi +@@ -814,6 +814,19 @@ Run in copy-pass mode. + [@ref{copy-in},@ref{copy-out},@ref{copy-pass}] + @*Do not print the number of blocks copied. + ++@item --quote-chars=@var{string} ++Always quote characters from @var{string}, even if the selected ++quoting style would not quote them (@pxref{quoting styles,,,tar,GNU ++tar}). ++ ++@item --quoting-style=@var{style} ++Set quoting style to use when printing member and file names ++(@pxref{quoting styles,,,tar,GNU tar}). Valid @var{style} values are: ++@code{literal}, @code{shell}, @code{shell-always}, @code{c}, ++@code{escape}, @code{locale}, and @code{clocale}. Default quoting ++style is @code{literal}, unless overridden while configuring the ++package. ++ + @item -r + @itemx --rename + [@ref{copy-in}] +diff --git a/src/copyin.c b/src/copyin.c +index ace0a02..e7bde7d 100644 +--- a/src/copyin.c ++++ b/src/copyin.c +@@ -114,7 +114,7 @@ get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) + if (file_hdr->c_filesize < 0 || file_hdr->c_filesize > SIZE_MAX-1) + { + error (0, 0, _("%s: stored filename length is out of range"), +- file_hdr->c_name); ++ quote (file_hdr->c_name)); + link_name = NULL; + } + else +@@ -150,7 +150,11 @@ list_file (struct cpio_file_stat* file_hdr, int in_file_des) + } + else + #endif +- long_format (file_hdr, (char *) 0); ++ long_format (file_hdr, NULL); ++ } ++ else if (name_end == '\n' && isatty (fileno (stdout))) ++ { ++ printf ("%s%c", quotearg (file_hdr->c_name), name_end); + } + else + { +@@ -173,7 +177,7 @@ list_file (struct cpio_file_stat* file_hdr, int in_file_des) + if (crc != file_hdr->c_chksum) + { + error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), +- file_hdr->c_name, crc, file_hdr->c_chksum); ++ quote (file_hdr->c_name), crc, file_hdr->c_chksum); + } + } + } +@@ -200,7 +204,7 @@ try_existing_file (struct cpio_file_stat* file_hdr, int in_file_des, + && file_hdr->c_mtime <= file_stat.st_mtime) + { + error (0, 0, _("%s not created: newer or same age version exists"), +- file_hdr->c_name); ++ quote (file_hdr->c_name)); + tape_toss_input (in_file_des, file_hdr->c_filesize); + tape_skip_padding (in_file_des, file_hdr->c_filesize); + return -1; /* Go to the next file. */ +@@ -210,7 +214,7 @@ try_existing_file (struct cpio_file_stat* file_hdr, int in_file_des, + : unlink (file_hdr->c_name)) + { + error (0, errno, _("cannot remove current %s"), +- file_hdr->c_name); ++ quote (file_hdr->c_name)); + tape_toss_input (in_file_des, file_hdr->c_filesize); + tape_skip_padding (in_file_des, file_hdr->c_filesize); + return -1; /* Go to the next file. */ +@@ -271,7 +275,8 @@ create_defered_links (struct cpio_file_stat *file_hdr) + if (link_res < 0) + { + error (0, errno, _("cannot link %s to %s"), +- d->header.c_name, file_hdr->c_name); ++ quote_n (0, d->header.c_name), ++ quote_n (1, file_hdr->c_name)); + } + if (d_prev != NULL) + d_prev->next = d->next; +@@ -467,7 +472,8 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) + if (link_res < 0) + { + error (0, errno, _("cannot link %s to %s"), +- file_hdr->c_tar_linkname, file_hdr->c_name); ++ quote_n (0, file_hdr->c_tar_linkname), ++ quote_n (1, file_hdr->c_name)); + } + return; + } +@@ -500,7 +506,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) + swapping_halfwords = true; + else + error (0, 0, _("cannot swap halfwords of %s: odd number of halfwords"), +- file_hdr->c_name); ++ quote (file_hdr->c_name)); + } + if (swap_bytes_flag) + { +@@ -508,7 +514,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) + swapping_bytes = true; + else + error (0, 0, _("cannot swap bytes of %s: odd number of bytes"), +- file_hdr->c_name); ++ quote (file_hdr->c_name)); + } + copy_files_tape_to_disk (in_file_des, out_file_des, file_hdr->c_filesize); + disk_empty_output_buffer (out_file_des, true); +@@ -519,7 +525,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) + { + if (crc != file_hdr->c_chksum) + error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), +- file_hdr->c_name, crc, file_hdr->c_chksum); ++ quote (file_hdr->c_name), crc, file_hdr->c_chksum); + } + tape_skip_padding (in_file_des, file_hdr->c_filesize); + return; +@@ -534,7 +540,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) + { + if (crc != file_hdr->c_chksum) + error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), +- file_hdr->c_name, crc, file_hdr->c_chksum); ++ quote (file_hdr->c_name), crc, file_hdr->c_chksum); + } + + tape_skip_padding (in_file_des, file_hdr->c_filesize); +@@ -582,7 +588,8 @@ copyin_device (struct cpio_file_stat* file_hdr) + if (link_res < 0) + { + error (0, errno, _("cannot link %s to %s"), +- file_hdr->c_tar_linkname, file_hdr->c_name); ++ quote_n (0, file_hdr->c_tar_linkname), ++ quote_n (1, file_hdr->c_name)); + /* Something must be wrong, because we couldn't + find the file to link to. But can we assume + that the device maj/min numbers are correct +@@ -855,7 +862,7 @@ copyin_file (struct cpio_file_stat *file_hdr, int in_file_des) + #endif + + default: +- error (0, 0, _("%s: unknown file type"), file_hdr->c_name); ++ error (0, 0, _("%s: unknown file type"), quote (file_hdr->c_name)); + tape_toss_input (in_file_des, file_hdr->c_filesize); + tape_skip_padding (in_file_des, file_hdr->c_filesize); + } +@@ -1550,13 +1557,13 @@ process_copy_in (void) + if (crc != file_hdr.c_chksum) + { + error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), +- file_hdr.c_name, crc, file_hdr.c_chksum); ++ quote (file_hdr.c_name), crc, file_hdr.c_chksum); + } + /* Debian hack: -v and -V now work with --only-verify-crc. + (99/11/10) -BEM */ + if (verbose_flag) + { +- fprintf (stderr, "%s\n", file_hdr.c_name); ++ fprintf (stderr, "%s\n", quotearg (file_hdr.c_name)); + } + if (dot_flag) + { +@@ -1581,7 +1588,7 @@ process_copy_in (void) + copyin_file(&file_hdr, in_file_des); + + if (verbose_flag) +- fprintf (stderr, "%s\n", file_hdr.c_name); ++ fprintf (stderr, "%s\n", quotearg (file_hdr.c_name)); + if (dot_flag) + fputc ('.', stderr); + } +diff --git a/src/copyout.c b/src/copyout.c +index 582e696..9ab6f84 100644 +--- a/src/copyout.c ++++ b/src/copyout.c +@@ -46,7 +46,8 @@ read_for_checksum (int in_file_des, off_t file_size, char *file_name) + { + bytes_read = read (in_file_des, buf, BUFSIZ); + if (bytes_read < 0) +- error (PAXEXIT_FAILURE, errno, _("cannot read checksum for %s"), file_name); ++ error (PAXEXIT_FAILURE, errno, _("cannot read checksum for %s"), ++ quote (file_name)); + if (bytes_read == 0) + break; + for (i = 0; i < bytes_read; i++) +@@ -54,7 +55,8 @@ read_for_checksum (int in_file_des, off_t file_size, char *file_name) + file_size -= bytes_read; + } + if (lseek (in_file_des, 0L, SEEK_SET)) +- error (PAXEXIT_FAILURE, errno, _("cannot read checksum for %s"), file_name); ++ error (PAXEXIT_FAILURE, errno, _("cannot read checksum for %s"), ++ quote (file_name)); + + return crc; + } +@@ -288,7 +290,7 @@ field_width_error (const char *filename, const char *fieldname, + char valbuf[UINTMAX_STRSIZE_BOUND + 1]; + char maxbuf[UINTMAX_STRSIZE_BOUND + 1]; + error (0, 0, _("%s: value %s %s out of allowed range 0..%s"), +- filename, fieldname, ++ quote (filename), fieldname, + STRINGIFY_BIGINT (value, valbuf), + STRINGIFY_BIGINT (MAX_VAL_WITH_DIGITS (width - nul, LG_8), + maxbuf)); +@@ -298,7 +300,7 @@ static void + field_width_warning (const char *filename, const char *fieldname) + { + if (warn_option & CPIO_WARN_TRUNCATE) +- error (0, 0, _("%s: truncating %s"), filename, fieldname); ++ error (0, 0, _("%s: truncating %s"), quote (filename), fieldname); + } + + void +@@ -466,7 +468,7 @@ write_out_binary_header (dev_t rdev, + short_hdr.c_dev = makedev (file_hdr->c_dev_maj, file_hdr->c_dev_min); + + if ((warn_option & CPIO_WARN_TRUNCATE) && (file_hdr->c_ino >> 16) != 0) +- error (0, 0, _("%s: truncating inode number"), file_hdr->c_name); ++ error (0, 0, _("%s: truncating inode number"), quote (file_hdr->c_name)); + + short_hdr.c_ino = file_hdr->c_ino & 0xFFFF; + if (short_hdr.c_ino != file_hdr->c_ino) +@@ -497,7 +499,7 @@ write_out_binary_header (dev_t rdev, + { + char maxbuf[UINTMAX_STRSIZE_BOUND + 1]; + error (0, 0, _("%s: value %s %s out of allowed range 0..%u"), +- file_hdr->c_name, _("name size"), ++ quote (file_hdr->c_name), _("name size"), + STRINGIFY_BIGINT (file_hdr->c_namesize, maxbuf), 0xFFFFu); + return 1; + } +@@ -510,7 +512,7 @@ write_out_binary_header (dev_t rdev, + { + char maxbuf[UINTMAX_STRSIZE_BOUND + 1]; + error (0, 0, _("%s: value %s %s out of allowed range 0..%lu"), +- file_hdr->c_name, _("file size"), ++ quote (file_hdr->c_name), _("file size"), + STRINGIFY_BIGINT (file_hdr->c_namesize, maxbuf), 0xFFFFFFFFlu); + return 1; + } +@@ -558,7 +560,7 @@ write_out_header (struct cpio_file_stat *file_hdr, int out_des) + case arf_ustar: + if (is_tar_filename_too_long (file_hdr->c_name)) + { +- error (0, 0, _("%s: file name too long"), file_hdr->c_name); ++ error (0, 0, _("%s: file name too long"), quote (file_hdr->c_name)); + return 1; + } + return write_out_tar_header (file_hdr, out_des); +@@ -749,7 +751,7 @@ process_copy_out (void) + if (archive_format == arf_tar) + { + error (0, 0, _("%s not dumped: not a regular file"), +- orig_file_name); ++ quote (orig_file_name)); + continue; + } + else if (archive_format == arf_ustar) +@@ -800,7 +802,7 @@ process_copy_out (void) + if (link_size + 1 > 100) + { + error (0, 0, _("%s: symbolic link too long"), +- file_hdr.c_name); ++ quote (file_hdr.c_name)); + } + else + { +@@ -823,11 +825,11 @@ process_copy_out (void) + #endif + + default: +- error (0, 0, _("%s: unknown file type"), orig_file_name); ++ error (0, 0, _("%s: unknown file type"), quote (orig_file_name)); + } + + if (verbose_flag) +- fprintf (stderr, "%s\n", orig_file_name); ++ fprintf (stderr, "%s\n", quote (orig_file_name)); + if (dot_flag) + fputc ('.', stderr); + } +diff --git a/src/copypass.c b/src/copypass.c +index 7e1d8ed..7b00628 100644 +--- a/src/copypass.c ++++ b/src/copypass.c +@@ -127,7 +127,7 @@ process_copy_pass (void) + && in_file_stat.st_mtime <= out_file_stat.st_mtime) + { + error (0, 0, _("%s not created: newer or same age version exists"), +- output_name.ds_string); ++ quote (output_name.ds_string)); + continue; /* Go to the next file. */ + } + else if (S_ISDIR (out_file_stat.st_mode) +@@ -135,7 +135,7 @@ process_copy_pass (void) + : unlink (output_name.ds_string)) + { + error (0, errno, _("cannot remove current %s"), +- output_name.ds_string); ++ quote (output_name.ds_string)); + continue; /* Go to the next file. */ + } + } +@@ -312,7 +312,8 @@ process_copy_pass (void) + #endif + else + { +- error (0, 0, _("%s: unknown file type"), input_name.ds_string); ++ error (0, 0, _("%s: unknown file type"), ++ quote (input_name.ds_string)); + } + + if (verbose_flag) +@@ -388,12 +389,12 @@ link_to_name (char const *link_name, char const *link_target) + { + if (verbose_flag) + error (0, 0, _("%s linked to %s"), +- link_target, link_name); ++ quote_n (0, link_target), quote_n (1, link_name)); + } + else if (link_flag) + { + error (0, errno, _("cannot link %s to %s"), +- link_target, link_name); ++ quote_n (0, link_target), quote_n (1, link_name)); + } + return res; + } +diff --git a/src/main.c b/src/main.c +index d2135c8..1d4de06 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -61,7 +61,9 @@ enum cpio_options { + RENUMBER_INODES_OPTION, + IGNORE_DEVNO_OPTION, + IGNORE_DIRNLINK_OPTION, +- DEVICE_INDEPENDENT_OPTION ++ DEVICE_INDEPENDENT_OPTION, ++ QUOTING_STYLE_OPTION, ++ QUOTE_CHARS_OPTION + }; + + const char *program_authors[] = +@@ -141,6 +143,12 @@ static struct argp_option options[] = { + N_("Control warning display. Currently FLAG is one of 'none', 'truncate', 'all'. Multiple options accumulate."), GRID+1 }, + {"owner", 'R', N_("[USER][:.][GROUP]"), 0, + N_("Set the ownership of all files created to the specified USER and/or GROUP"), GRID+1 }, ++ {"quoting-style", QUOTING_STYLE_OPTION, N_("STYLE"), 0, ++ N_("set name quoting style; use --quoting-style=help for a list of valid STYLE values"), ++ GRID+1 }, ++ {"quote-chars", QUOTE_CHARS_OPTION, N_("STRING"), 0, ++ N_("additionally quote characters from STRING"), ++ GRID+1 }, + #undef GRID + + #define GRID 110 +@@ -295,6 +303,36 @@ warn_control (char *arg) + return 1; + } + ++static void ++cpio_list_quoting_styles (int indent) ++{ ++ int i; ++ ++ for (i = 0; quoting_style_args[i]; i++) ++ printf ("%*.*s%s\n", indent, indent, "", quoting_style_args[i]); ++} ++ ++static void ++cpio_set_quoting_style (char *arg) ++{ ++ if (strcmp (arg, "help") == 0) ++ { ++ cpio_list_quoting_styles (0); ++ exit (EXIT_SUCCESS); ++ } ++ ++ for (idx_t i = 0; quoting_style_args[i]; i++) ++ if (strcmp (arg, quoting_style_args[i]) == 0) ++ { ++ set_quoting_style (NULL, i); ++ return; ++ } ++ USAGE_ERROR ((0, 0, ++ _("Unknown quoting style '%s'." ++ " Try '%s --quoting-style=help' to get a list."), ++ arg, program_name)); ++} ++ + static error_t + parse_opt (int key, char *arg, struct argp_state *state) + { +@@ -454,10 +492,19 @@ crc newc odc bin ustar tar (all-caps also recognized)"), arg)); + copy_function = process_copy_pass; + break; + ++ case QUOTE_CHARS_OPTION: ++ for (;*arg; arg++) ++ set_char_quoting (NULL, *arg, 1); ++ break; ++ ++ case QUOTING_STYLE_OPTION: ++ cpio_set_quoting_style (arg); ++ break; ++ + case IGNORE_DEVNO_OPTION: + ignore_devno_option = 1; + break; +- ++ + case RENUMBER_INODES_OPTION: + renumber_inodes_option = 1; + break; +@@ -593,6 +640,8 @@ process_args (int argc, char *argv[]) + + xstat = lstat; + ++ set_quoting_style (NULL, DEFAULT_QUOTING_STYLE); ++ + if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, &index, NULL)) + exit (PAXEXIT_FAILURE); + +diff --git a/tests/CVE-2019-14866.at b/tests/CVE-2019-14866.at +index 3e2b8ca..510e21b 100644 +--- a/tests/CVE-2019-14866.at ++++ b/tests/CVE-2019-14866.at +@@ -29,7 +29,7 @@ fi + ], + [0], + [], +-[cpio: file: value size 17179869184 out of allowed range 0..8589934591 ++[cpio: 'file': value size 17179869184 out of allowed range 0..8589934591 + 2 blocks + ]) + AT_CLEANUP +-- +2.55.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/README.md new file mode 100644 index 00000000000..1386f37b2c2 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/cpio/README.md @@ -0,0 +1,3 @@ +Patches `0001-Minor-fixes.patch` and +`0002-Quote-file-names-in-error-messages-and-in-listings.patch` fix +some security issues. They can be dropped when updating to cpio 2.16. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0001-cve-2026-88264.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0001-cve-2026-88264.patch new file mode 100644 index 00000000000..9c933c8c1e4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0001-cve-2026-88264.patch @@ -0,0 +1,132 @@ +From e9e661946498b8cc7c3a68ce1ca507fc5b84aa53 Mon Sep 17 00:00:00 2001 +From: Giuseppe Scrivano +Date: Fri, 11 Sep 2026 09:01:58 +0000 +Subject: [PATCH] linux: validate /dev/null before reopening the std streams + +libcrun_reopen_dev_null() opened `/dev/null` inside the container +following symlinks and without checking that it is the null device, then +moved every std stream whose st_rdev matched to it. A rootfs providing +`/dev/null` as a symlink to a host file bind mounted into the container +made the open resolve to that file, and since regular files, pipes and +sockets all have st_rdev set to 0, the pipe- or socketpair-based std +streams were considered to be pointing to /dev/null and were replaced +with a descriptor for the host file, opened before dropping privileges. +The container payload then inherited a writable descriptor for it, and +maybe_chown_std_streams() changed its ownership to the container user. + +Open the file with O_NOFOLLOW, refuse to continue unless it is the +character device 1:3, and only consider std streams that are character +devices themselves. + +This is only reachable when nothing is mounted over /dev, so the rootfs +entry stays visible; the configurations generated by Docker, Podman, +containerd, CRI-O and `crun spec` mount a tmpfs there. + +Add a test case. + +Fixes: CVE-2026-88265 +Signed-off-by: Giuseppe Scrivano +--- + src/libcrun/linux.c | 12 ++++++++++-- + tests/test_devices.py | 41 +++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 51 insertions(+), 2 deletions(-) + +diff --git a/src/libcrun/linux.c b/src/libcrun/linux.c +index 710438b37f..11f26cc7f4 100644 +--- a/src/libcrun/linux.c ++++ b/src/libcrun/linux.c +@@ -4038,6 +4038,11 @@ libcrun_do_pivot_root (libcrun_container_t *container, bool no_pivot, char **roo + return 0; + } + ++/* Device number of the null device, as documented in ++ * Documentation/admin-guide/devices.txt. */ ++#define DEV_NULL_MAJOR 1 ++#define DEV_NULL_MINOR 3 ++ + /* If one of stdin, stdout, stderr are pointing to /dev/null on + * the outside of the container, this moves it to /dev/null inside + * of the container. This needs to run after pivot/chroot-ing. */ +@@ -4050,18 +4055,21 @@ libcrun_reopen_dev_null (libcrun_error_t *err) + int i; + + /* Open /dev/null inside of the container. */ +- fd = open ("/dev/null", O_RDWR | O_CLOEXEC); ++ fd = open ("/dev/null", O_RDWR | O_CLOEXEC | O_NOFOLLOW); + if (UNLIKELY (fd == -1)) + return crun_make_error (err, errno, "open `/dev/null`"); + + if (UNLIKELY (fstat (fd, &dev_null) == -1)) + return crun_make_error (err, errno, "stat `/dev/null`"); + ++ if (UNLIKELY (! S_ISCHR (dev_null.st_mode) || dev_null.st_rdev != makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR))) ++ return crun_make_error (err, 0, "`/dev/null` is not the null device"); ++ + for (i = 0; i <= 2; i++) + { + if (UNLIKELY (fstat (i, &statbuf) == -1)) + return crun_make_error (err, errno, "stat fd `%d`", i); +- if (statbuf.st_rdev == dev_null.st_rdev) ++ if (S_ISCHR (statbuf.st_mode) && statbuf.st_rdev == dev_null.st_rdev) + { + /* This FD is pointing to /dev/null. Point it to /dev/null inside + * of the container. */ +diff --git a/tests/test_devices.py b/tests/test_devices.py +index b6e4c5caf2..6956e2bdcf 100755 +--- a/tests/test_devices.py ++++ b/tests/test_devices.py +@@ -399,6 +399,46 @@ def test_userns_precreated_devices_flags(): + return (77, "no precreated device mounts (mknod path taken)") + return 0 + ++def test_dev_null_symlink_not_reopened(): ++ host_file = os.path.join(get_tests_root(), "host-file") ++ with open(host_file, "w") as f: ++ f.write("host content") ++ ++ fake_dev = os.path.join(get_tests_root(), "fake-dev") ++ os.makedirs(fake_dev) ++ os.symlink("/host-file", os.path.join(fake_dev, "null")) ++ ++ conf = base_config() ++ add_all_namespaces(conf) ++ conf['process']['args'] = ['/init', 'echo', 'breakout'] ++ conf['mounts'] = [i for i in conf['mounts'] if not i['destination'].startswith("/dev")] ++ conf['mounts'].append({"destination": "/host-file", "type": "bind", ++ "source": host_file, "options": ["bind", "rw"]}) ++ conf['mounts'].append({"destination": "/dev", "type": "bind", ++ "source": fake_dev, "options": ["bind", "rw"]}) ++ ++ output = None ++ try: ++ run_and_get_output(conf) ++ except Exception as e: ++ output = e.output.decode() ++ ++ with open(host_file) as f: ++ content = f.read() ++ if content != "host content": ++ logger.error("the host file was written through `/dev/null`: %s", content) ++ return -1 ++ ++ if output is None: ++ logger.error("the container was not refused") ++ return -1 ++ ++ if "open `/dev/null`" not in output: ++ logger.error("the container failed for a different reason: %s", output) ++ return -1 ++ ++ return 0 ++ + def test_dev_symlink_does_not_populate_outside_rootfs(): + if is_rootless(): + return (77, "requires root privileges") +@@ -538,6 +578,7 @@ def test_allow_device_read_only(): + all_tests = { + "mknod-fifo-device": test_mknod_fifo_device, + "mknod-char-device": test_mknod_char_device, ++ "dev-null-symlink-not-reopened": test_dev_null_symlink_not_reopened, + "dev-symlink-does-not-populate-outside-rootfs": test_dev_symlink_does_not_populate_outside_rootfs, + "userns-precreated-devices-flags": test_userns_precreated_devices_flags, + "allow-device-read-only": test_allow_device_read_only, diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0002-cve-2026-88265.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0002-cve-2026-88265.patch new file mode 100644 index 00000000000..57a867f4229 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/0002-cve-2026-88265.patch @@ -0,0 +1,106 @@ +From ef32479522af883568ce4a5482358069ff71dc8f Mon Sep 17 00:00:00 2001 +From: Giuseppe Scrivano +Date: Fri, 11 Sep 2026 09:25:48 +0000 +Subject: [PATCH] utils: do not follow symlinks when creating /dev/console + +create_file_if_missing_at() is only used to create `/dev/console` in the +container rootfs when a terminal is requested, and it opened the file +with O_CREAT but without O_NOFOLLOW. A rootfs providing `/dev/console` +as a symlink made the open follow it, and since the devices are created +before the pivot_root the target was resolved against the host file +system, so crun created a root owned file at a path chosen by the +container image. + +Open the file with O_NOFOLLOW, and check for an already existing file +without following symlinks either, so that a symlink is not mistaken for +a regular file that is already there. + +This is only reachable when nothing is mounted over /dev, so the rootfs +entry stays visible; the configurations generated by Docker, Podman, +containerd, CRI-O and `crun spec` mount a tmpfs there. + +Add a test case. + +Fixes: CVE-2026-88264 +Signed-off-by: Giuseppe Scrivano +--- + src/libcrun/utils.c | 4 ++-- + tests/test_devices.py | 36 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 38 insertions(+), 2 deletions(-) + +diff --git a/src/libcrun/utils.c b/src/libcrun/utils.c +index ce44c2610a..76175411cc 100644 +--- a/src/libcrun/utils.c ++++ b/src/libcrun/utils.c +@@ -201,7 +201,7 @@ get_file_type (mode_t *mode, bool nofollow, const char *path) + int + create_file_if_missing_at (int dirfd, const char *file, mode_t mode, libcrun_error_t *err) + { +- cleanup_close int fd_write = openat (dirfd, file, O_CLOEXEC | O_CREAT | O_WRONLY, mode); ++ cleanup_close int fd_write = openat (dirfd, file, O_CLOEXEC | O_CREAT | O_WRONLY | O_NOFOLLOW, mode); + if (fd_write < 0) + { + int saved_errno = errno; +@@ -209,7 +209,7 @@ create_file_if_missing_at (int dirfd, const char *file, mode_t mode, libcrun_err + int ret; + + /* On errors, check if the file already exists. */ +- ret = get_file_type_at (dirfd, &tmp_mode, false, file); ++ ret = get_file_type_at (dirfd, &tmp_mode, true, file); + if (ret == 0 && S_ISREG (tmp_mode)) + return 0; + +diff --git a/tests/test_devices.py b/tests/test_devices.py +index 6956e2bdcf..a99753a3c4 100755 +--- a/tests/test_devices.py ++++ b/tests/test_devices.py +@@ -439,6 +439,41 @@ def test_dev_null_symlink_not_reopened(): + + return 0 + ++def test_dev_console_symlink_does_not_escape_rootfs(): ++ escaped = os.path.join(get_tests_root(), "escaped-console") ++ ++ conf = base_config() ++ add_all_namespaces(conf) ++ conf['process']['terminal'] = True ++ conf['process']['args'] = ['/init', 'true'] ++ conf['mounts'] = [i for i in conf['mounts'] if not i['destination'].startswith("/dev")] ++ # a hook forces the deferred pivot_root, so the rootfs is still reached ++ # through the host file system when the devices are created. ++ conf['hooks'] = {"createRuntime": [{"path": "/bin/true"}]} ++ ++ def prepare_rootfs(rootfs): ++ os.symlink(escaped, os.path.join(rootfs, "dev", "console")) ++ ++ output = None ++ try: ++ run_and_get_output(conf, callback_prepare_rootfs=prepare_rootfs) ++ except Exception as e: ++ output = e.output.decode() ++ ++ if os.path.lexists(escaped): ++ logger.error("`%s` was created outside the rootfs", escaped) ++ return -1 ++ ++ if output is None: ++ logger.error("the container was not refused") ++ return -1 ++ ++ if "create file `console`" not in output: ++ logger.error("the container failed for a different reason: %s", output) ++ return -1 ++ ++ return 0 ++ + def test_dev_symlink_does_not_populate_outside_rootfs(): + if is_rootless(): + return (77, "requires root privileges") +@@ -579,6 +614,7 @@ def test_allow_device_read_only(): + "mknod-fifo-device": test_mknod_fifo_device, + "mknod-char-device": test_mknod_char_device, + "dev-null-symlink-not-reopened": test_dev_null_symlink_not_reopened, ++ "dev-console-symlink-does-not-escape-rootfs": test_dev_console_symlink_does_not_escape_rootfs, + "dev-symlink-does-not-populate-outside-rootfs": test_dev_symlink_does_not_populate_outside_rootfs, + "userns-precreated-devices-flags": test_userns_precreated_devices_flags, + "allow-device-read-only": test_allow_device_read_only, diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/README.md new file mode 100644 index 00000000000..4c20010dea8 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/crun/README.md @@ -0,0 +1,4 @@ +Patches `0001-cve-2026-88264.patch` and `0002-cve-2026-88265.patch` +are fixing some symlink-related security issues. At the time of +writing, there is no release with these fixes. These patches could +probably be dropped when crun-1.30 or 1.29.2 is released. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/0001-cve-2026-19672.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/0001-cve-2026-19672.patch new file mode 100644 index 00000000000..07250a72123 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/0001-cve-2026-19672.patch @@ -0,0 +1,98 @@ +From c7979f3a819011a3222bd16e671264b1e34282cb Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Wed, 19 Aug 2026 15:33:25 +0200 +Subject: [PATCH] [3.13] gh-155999: `tarfile`: handle a member that leaves the + destination but comes back (GH-156000) (#156042) + +(cherry picked from commit 97688346ada2df3e5b9c279348862c3d64ab0823) + +Co-authored-by: Stan Ulbrych +--- + Doc/library/tarfile.rst | 8 ++++++++ + Lib/tarfile.py | 7 +++++++ + Lib/test/test_tarfile.py | 14 ++++++++++++++ + .../2026-08-13-13-08-11.gh-issue-155999.Xt4rWq.rst | 5 +++++ + 4 files changed, 34 insertions(+) + create mode 100644 Misc/NEWS.d/next/Security/2026-08-13-13-08-11.gh-issue-155999.Xt4rWq.rst + +diff --git a/Doc/library/tarfile.rst b/Doc/library/tarfile.rst +index c820e3d159b9a5b..d5c5328210cd7e4 100644 +--- a/Doc/library/tarfile.rst ++++ b/Doc/library/tarfile.rst +@@ -1049,6 +1049,10 @@ reused in custom filters: + paths (in case the name is absolute + even after stripping slashes, e.g. ``C:/foo`` on Windows). + This raises :class:`~tarfile.AbsolutePathError`. ++ - Normalize filenames (:attr:`TarInfo.name`) that contain ``..`` components ++ using :func:`os.path.normpath`. ++ Note that this removes internal ``..`` components, which may change the ++ meaning of the name if it traverses symbolic links. + - :ref:`Refuse ` to extract files whose absolute + path (after following symlinks) would end up outside the destination. + This raises :class:`~tarfile.OutsideDestinationError`. +@@ -1057,6 +1061,10 @@ reused in custom filters: + + Return the modified ``TarInfo`` member. + ++ .. versionchanged:: next ++ ++ Filenames containing ``..`` components are now normalized. ++ + .. function:: data_filter(member, path) + + Implements the ``'data'`` filter. +diff --git a/Lib/tarfile.py b/Lib/tarfile.py +index 9da2667abe15da6..3c59eac5d9a0f11 100755 +--- a/Lib/tarfile.py ++++ b/Lib/tarfile.py +@@ -808,6 +808,13 @@ def _get_filtered_attrs(member, dest_path, for_data=True): + # For example, 'C:/foo' on Windows. + raise AbsolutePathError(member) + # Ensure we stay in the destination ++ if '..' in name.replace(os.sep, '/').split('/'): ++ # Directories are created from the name as given, so a name that ++ # leaves the destination part-way through would create them ++ # outside it even if the resolved path stays inside. ++ normalized = os.path.normpath(name) ++ if normalized != name: ++ name = new_attrs['name'] = normalized + target_path = os.path.realpath(os.path.join(dest_path, name), + strict=os.path.ALLOW_MISSING) + if os.path.commonpath([target_path, dest_path]) != dest_path: +diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py +index 31e844328b31901..86fe8efac2e3495 100644 +--- a/Lib/test/test_tarfile.py ++++ b/Lib/test/test_tarfile.py +@@ -3948,6 +3948,20 @@ def test_absolute(self): + tarfile.AbsolutePathError, + """['"].*escaped.evil['"] has an absolute path""") + ++ def test_parent_dir_out_and_back(self): ++ # Test a member that leaves the destination and comes back. ++ # The containment check looks at the resolved path, which stays ++ # inside, but the intermediate directories are created from the ++ # name as given, which does not. ++ with ArchiveMaker() as arc: ++ arc.add(f'../escaped.evil/../{self.destdir.name}/sub/file', ++ content='content') ++ ++ for filter in 'tar', 'data': ++ with self.subTest(filter): ++ with self.check_context(arc.open(), filter): ++ self.expect_file('sub/file', content='content') ++ + @symlink_test + def test_parent_symlink(self): + # Test interplaying symlinks +diff --git a/Misc/NEWS.d/next/Security/2026-08-13-13-08-11.gh-issue-155999.Xt4rWq.rst b/Misc/NEWS.d/next/Security/2026-08-13-13-08-11.gh-issue-155999.Xt4rWq.rst +new file mode 100644 +index 000000000000000..59b725e55bbffda +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2026-08-13-13-08-11.gh-issue-155999.Xt4rWq.rst +@@ -0,0 +1,5 @@ ++Fix the :mod:`tarfile` ``tar`` and ``data`` extraction filters creating ++directories outside the destination for members whose name leaves the ++destination and returns to it, such as ``../evil/../dest/sub/file``. The ++containment check used the resolved path, but intermediate directories were ++created from the name as given. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/README.md new file mode 100644 index 00000000000..4595c93cc43 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-lang/python/README.md @@ -0,0 +1,3 @@ +Patch `0001-cve-2026-19672.patch` fixes a security issue in tarfile +module. The patch can be dropped after updating to python 3.13.16 or +3.14.8. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch deleted file mode 100644 index c47d74703d8..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch +++ /dev/null @@ -1,77 +0,0 @@ -From c2e233fc1b341685fc99621b2768b503f777a72e Mon Sep 17 00:00:00 2001 -From: Daniel Garcia Moreno -Date: Fri, 22 May 2026 12:21:20 +0200 -Subject: [PATCH] xmlcatalog: overflow check for large --shell commands - -Fix https://gitlab.gnome.org/GNOME/libxml2/-/work_items/1124 ---- - test/catalogs/test.sh | 11 +++++++++++ - xmlcatalog.c | 16 ++++++++++++++++ - 2 files changed, 27 insertions(+) - -diff --git a/test/catalogs/test.sh b/test/catalogs/test.sh -index 7e5eaa760..84e8b90a2 100755 ---- a/test/catalogs/test.sh -+++ b/test/catalogs/test.sh -@@ -10,6 +10,17 @@ fi - - exitcode=0 - -+# Test xmlcatalog --shell command line -+# Case 1: Really long argument (470 chars) -+input=""; for i in {1..470}; do input="${input}A"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+# Case 2: public + long argument -+input="public "; for i in {1..470}; do input="${input}A"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+# Case 3: public + lots of args -+input="public "; for i in {1..80}; do input="${input} x"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+ - for i in test/catalogs/*.script ; do - name=$(basename $i .script) - xml="./test/catalogs/$name.xml" -diff --git a/xmlcatalog.c b/xmlcatalog.c -index 1e7380431..f8d84ac9c 100644 ---- a/xmlcatalog.c -+++ b/xmlcatalog.c -@@ -135,6 +135,12 @@ static void usershell(void) { - (*cur != '\n') && (*cur != '\r')) { - if (*cur == 0) - break; -+ /* Do not read beyond the command array capacity */ -+ if (i >= (int)sizeof(command) - 2) { -+ printf("Invalid command %s\n", cur); -+ i = 0; -+ break; -+ } - command[i++] = *cur++; - } - command[i] = 0; -@@ -152,6 +158,11 @@ static void usershell(void) { - while ((*cur != '\n') && (*cur != '\r') && (*cur != 0)) { - if (*cur == 0) - break; -+ if (i >= (int)sizeof(arg) - 2) { -+ printf("Invalid arg %s\n", arg); -+ i = 0; -+ break; -+ } - arg[i++] = *cur++; - } - arg[i] = 0; -@@ -164,6 +175,11 @@ static void usershell(void) { - cur = arg; - memset(argv, 0, sizeof(argv)); - while (*cur != 0) { -+ if (i >= (int)sizeof(argv) / (int)sizeof(char*)) { -+ printf("Too much arguments\n"); -+ break; -+ } -+ - while ((*cur == ' ') || (*cur == '\t')) cur++; - if (*cur == '\'') { - cur++; --- -GitLab - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md deleted file mode 100644 index 433a13d7842..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md +++ /dev/null @@ -1,2 +0,0 @@ -The patch `0001-xmlcatalog-overflow-check.patch` can be dropped when -libxml2 2.15.4 or 2.16.0 is released. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/0001-fix-cross.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/0001-fix-cross.patch deleted file mode 100644 index 3d2a1822fe5..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/0001-fix-cross.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff '--color=auto' -r -u git-2.55.0/src/cargo-meson.sh git-2.55.0-mod/src/cargo-meson.sh ---- git-2.55.0/src/cargo-meson.sh 2026-09-08 09:35:45.445569075 -0000 -+++ git-2.55.0-mod/src/cargo-meson.sh 2026-09-08 09:36:40.445141695 -0000 -@@ -38,7 +38,12 @@ - exit $RET - fi - --if ! cmp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" >/dev/null 2>&1 -+if test "$CBUILD" != "$CHOST" && test -n "$CARGO_BUILD_TARGET" - then -- cp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" -+ BUILD_DIR_EXTRA="$CARGO_BUILD_TARGET/" -+fi -+ -+if ! cmp "$BUILD_DIR/$BUILD_DIR_EXTRA$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" >/dev/null 2>&1 -+then -+ cp "$BUILD_DIR/$BUILD_DIR_EXTRA$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" - fi -Only in git-2.55.0-mod/src: cargo-meson.sh.orig diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/README.md deleted file mode 100644 index 217250b562a..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-vcs/git/README.md +++ /dev/null @@ -1,3 +0,0 @@ -The patch `0001-fix-cross.patch` is a temporary fix for -cross-compiling issue that pops up when building the libgitcore.a rust -library. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch index 70b272a7dff..961c3488d33 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch @@ -1,4 +1,4 @@ -From 521b70f1082a7400d5635f70d86f2ad3e7518439 Mon Sep 17 00:00:00 2001 +From 90cecba8104648ba7b2f8888aefb1e089bb6b303 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 4 Dec 2023 12:17:25 +0100 Subject: [PATCH] Flatcar modifications @@ -116,10 +116,10 @@ index 6902c41f0..afb537ab7 100644 # Infiniband corenet_ib_access_all_pkeys(corenet_unconfined_type) diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if -index 47698fd77..710ba58ac 100644 +index 4039f9677..19d3ecf19 100644 --- a/policy/modules/kernel/files.if +++ b/policy/modules/kernel/files.if -@@ -8264,3 +8264,48 @@ interface(`files_relabel_all_pidfiles',` +@@ -8282,3 +8282,48 @@ interface(`files_relabel_all_pidfiles',` relabel_files_pattern($1, pidfile, pidfile) relabel_lnk_files_pattern($1, pidfile, pidfile) ') @@ -169,7 +169,7 @@ index 47698fd77..710ba58ac 100644 + relabelfrom_chr_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) +') diff --git a/policy/modules/kernel/kernel.te b/policy/modules/kernel/kernel.te -index 9161da0aa..3fa9c58a1 100644 +index 023ad56d6..1228cbbfc 100644 --- a/policy/modules/kernel/kernel.te +++ b/policy/modules/kernel/kernel.te @@ -388,6 +388,131 @@ files_mounton_default(kernel_t) @@ -305,11 +305,11 @@ index 9161da0aa..3fa9c58a1 100644 mls_process_write_all_levels(kernel_t) mls_file_write_all_levels(kernel_t) diff --git a/policy/modules/services/container.fc b/policy/modules/services/container.fc -index 010387a3a..ba0619561 100644 +index d9e08a6af..0db22d69b 100644 --- a/policy/modules/services/container.fc +++ b/policy/modules/services/container.fc @@ -42,6 +42,12 @@ HOME_DIR/\.docker(/.*)? gen_context(system_u:object_r:container_conf_home_t,s0) - /etc/cni(/.*)? gen_context(system_u:object_r:container_config_t,s0) + /etc/cdi(/.*)? gen_context(system_u:object_r:container_config_t,s0) /etc/docker(/.*)? gen_context(system_u:object_r:container_config_t,s0) /etc/containerd(/.*)? gen_context(system_u:object_r:container_config_t,s0) +# @@ -522,10 +522,10 @@ index 84641483d..0da2bd5a3 100644 +# avc: denied { map } for pid=2516 comm="ping" path="/bin/ping" dev="overlay" ino=221 scontext=system_u:system_r:container_t:s0:c307,c961 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0 +allow container_t var_lib_t:file { map }; diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te -index 6c555dce2..9c59dfe10 100644 +index 47087add1..ef4e2f767 100644 --- a/policy/modules/system/init.te +++ b/policy/modules/system/init.te -@@ -1763,3 +1763,11 @@ optional_policy(` +@@ -1772,3 +1772,11 @@ optional_policy(` userdom_dontaudit_write_user_tmp_files(systemprocess) userdom_dontaudit_use_user_terminals(systemprocess) ') @@ -558,5 +558,5 @@ index 4272ab00f..586024507 100644 allow local_login_t self:fifo_file rw_fifo_file_perms; allow local_login_t self:sock_file read_sock_file_perms; -- -2.54.0 +2.55.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/README.md index a7cb18f1641..6c2918b7134 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/README.md @@ -8,12 +8,7 @@ The following steps were needed to make these patches: - See the sec-policy/selinux-base ebuild in portage-stable for the patch tarball URL. - Apply our changes: - - `git am -p2 ` should do the trick. Try adding `-3` flag - in case of conflicts. + - `git am ` should do the trick. Try adding `-3` flag in + case of conflicts. - Generate the patch: - - Since sec-policy/selinux- packages set their source directory to - work directory (in Gentooese: `S=${WORKDIR}/`), the user patches - are applied from the parent directory of the refpolicy sources. In - order to generate proper patches, do `git format-patch - --src-prefix=a/refpolicy/ --dst-prefix=b/refpolicy/ - ` + - Just `git format-patch ` diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0004-IDP-fix-user-matching-in-eval_access_token_buf.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0004-IDP-fix-user-matching-in-eval_access_token_buf.patch new file mode 100644 index 00000000000..7cf934c5be7 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0004-IDP-fix-user-matching-in-eval_access_token_buf.patch @@ -0,0 +1,32 @@ +From 8180e70a2708dbf8ac6f089119922dec81fcc503 Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Wed, 9 Sep 2026 17:18:02 +0200 +Subject: [PATCH] IDP: fix user matching in `eval_access_token_buf()` + +Make sure it is exact, not merely a prefix match. + +:fixes: CVE-2026-87853 + +Reviewed-by: Sumit Bose +(cherry picked from commit f3a324918c1a35bd0195a1de5b17897a0d3b6274) +--- + src/providers/idp/idp_auth_eval.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/providers/idp/idp_auth_eval.c b/src/providers/idp/idp_auth_eval.c +index e992c07ed..f6340b402 100644 +--- a/src/providers/idp/idp_auth_eval.c ++++ b/src/providers/idp/idp_auth_eval.c +@@ -294,7 +294,8 @@ errno_t eval_access_token_buf(struct idp_auth_ctx *idp_auth_ctx, + goto done; + } + +- if (strncmp(uuid, (char *) user_reply, user_reply_len) != 0) { ++ if ((strlen(uuid) != user_reply_len) || ++ (strncmp(uuid, (char *) user_reply, user_reply_len) != 0)) { + DEBUG(SSSDBG_OP_FAILURE, + "UUID [%s] of user [%s] and input [%.*s] do not match.\n", + uuid, user, (int) user_reply_len, user_reply); +-- +2.55.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md index 8dcd73949ef..95b8e04403f 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md @@ -1,5 +1,6 @@ The patches `0001-PAM-fix-use-after-free-during-p11_child-processing.patch`, -`0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch` and -`0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch` fix +`0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch`, +`0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch` and +`0004-IDP-fix-user-matching-in-eval_access_token_buf.patch` fix some CVEs and can be dropped after an update to either 2.13.2 or 2.14. 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 c54844082ec..e6bef953843 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 @@ -16,6 +16,9 @@ # Needed to fix build with acl 2.4.0 =app-arch/tar-1.35-r1 +# To address GHSA-5qpq-xqfv-j9pg. +=app-arch/xz-utils-5.8.4 + # For podman 6.0.0 =app-containers/aardvark-dns-2.0.0 @@ -27,14 +30,15 @@ =app-containers/containerd-2.3* # To address some CVEs. -=app-containers/cri-tools-1.36.0 +=app-containers/cri-tools-1.37.0 # We always want the latest version available. +=app-containers/crun-1* =app-containers/docker-29* =app-containers/docker-cli-29* # To address security issues -=app-containers/incus-7.4 +=app-containers/incus-7.4-r1 # Keep versions on both arches in sync. =app-containers/lxc-7.0.0 @@ -62,9 +66,6 @@ app-crypt/azure-keyvault-pkcs11 # Needed by arm64-native SDK =app-crypt/ccid-1.6.1 ~arm64 -# Needed to address CVE-2026-13757. -=app-crypt/p11-kit-0.26.4 - # Needed to address a bunch of GHSA issues. =app-crypt/tpm2-tools-5.8 =app-crypt/tpm2-tss-4.2.0 @@ -102,12 +103,15 @@ dev-cpp/azure-security-keyvault-keys # To address security issues. =dev-libs/json-c-0.19-r2 -=dev-libs/libgcrypt-1.12.3-r1 =dev-libs/libksba-1.8.1 +=dev-libs/libpcre2-10.48 # Keep versions on both arches in sync. =dev-libs/libtraceevent-1.9.0 +# To address security issues. +=dev-libs/libxml2-2.15.4 + # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** @@ -145,7 +149,11 @@ dev-cpp/azure-security-keyvault-keys =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 +# To address CVE-2026-58055 +=net-libs/nghttp2-1.70.0 + # To address security issues. +=net-misc/curl-8.22.0 =net-misc/openssh-10.5_p1 # For podman 6.0.0 @@ -162,8 +170,8 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-apps/bubblewrap-0.12.0 -# To address CVE-2026-59676, CVE-2026-59677 in policycoreutils. -=sys-apps/semodule-utils-3.11 +# To address CVE-2026-40553, CVE-2026-40467, CVE-2026-40468. +=sys-apps/gawk-5.4.1-r1 # To address CVE-2026-76642, CVE-2026-78408, CVE-2026-78409, CVE-2026-78410 =sys-apps/util-linux-2.42.3 @@ -189,16 +197,12 @@ sys-firmware/edk2-bin =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 - -# To address CVE-2026-59676, CVE-2026-59677 in policycoreutils. -=sys-libs/libselinux-3.11-r1 -=sys-libs/libsepol-3.11 - # Keep versions on both arches in sync. =sys-libs/libunwind-1.8.3 =sys-libs/liburing-2.12 # rsync 3.5.0 needs it =virtual/acl-2.4.0 + +# To address security issues. +=virtual/libpcre2-internals-10.48 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 68664ce76c4..94b00a18993 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 @@ -36,3 +36,6 @@ # # get https://proxy.golang.org/go.etcd.io/gofail/@v/v0.2.0.mod: Get "https://proxy.golang.org/go.etcd.io/gofail/@v/v0.2.0.mod": dial tcp: lookup proxy.golang.org on 168.63.129.16:53: dial udp 168.63.129.16:53: connect: network is unreachable # go: go.etcd.io/gofail@v0.2.0: Get "https://proxy.golang.org/go.etcd.io/gofail/@v/v0.2.0.info": dial tcp: lookup proxy.golang.org on 168.63.129.16:53: dial udp 168.63.129.16:53: connect: network is unreachable =dev-db/etcd-3.5.26 + +# This version seems to make dev-python/msgpack to fail to cross-build. +=dev-python/setuptools-84.0.0 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest index acd00473a63..d91cb894d2d 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest @@ -1,2 +1,4 @@ DIST xz-5.8.3.tar.gz 2771455 BLAKE2B ea52b817b81416e3055fdf7fa1c7691b35a42d4e07d8c568fe43638dcc40849487f39614ef9f6a2122a6094ff985bc6355e5ea60665acff90c056df511b5958b SHA512 bd77164795b5cbfbe864f64021e67e37f39cb9aba9abdd894d53fbb6857abe074923808918d1dc3bb0706253e726b2b9704cd0c3bc744d70e220c7356fa4995e DIST xz-5.8.3.tar.gz.sig 566 BLAKE2B 378d5efff744211896f5045c3dc5d7f32fe6d5416b879994b5a404913d77df23371c14b3b9e83968a3c444ca9784774259cac6df0a407d8c8d5c92c8ed274641 SHA512 83fc4f00564134a15b7368d566042cea2992c94639ffdc19b8addab144c6413a1d59b1d9dee31c947368b5779537b2a9539bfa59cd6d40ea3fb487a18c0b5bc9 +DIST xz-5.8.4.tar.gz 2799797 BLAKE2B 06a643fcf6e570d6a7caa45715f64d74fd5da581f11b77cf19086139500b46204570f9d4acb6d5742f5df85aa5cd7cd0694f75a555bac542c983abc5cf2859c7 SHA512 94db303688511a2d34f81ba994d834b28b0145a1ecd75ec2c61416b26c9cc24ab3e4d902808cc3d785c5894793d57af569728be7bc8ef6624bb3fc90c04f97fa +DIST xz-5.8.4.tar.gz.sig 566 BLAKE2B 094dab4397b2b8eb03d11a5aaa6be0f0dc349ff66fb24bd954c949e2abae3c3377acffb26631823d5b36ae0fb1aabd988851223d16b09682cc135bff132db296 SHA512 8d58525a6ccf1d041d43681296b0be96ee9576570f536081ca5996c898c84b9cf5e354bba8ebf97f207f4abc2150fe76d4c3e238465342fd8acaf8d73ace28d4 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.4.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.4.ebuild new file mode 100644 index 00000000000..b67877bbcbf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.8.4.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Remember: we cannot leverage autotools in this ebuild in order +# to avoid circular deps with autotools + +EAPI=8 + +inherit dot-a flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + # Per tukaani.org, git.tukaani.org is a mirror of github and + # may be behind. + EGIT_REPO_URI=" + https://github.com/tukaani-project/xz + https://git.tukaani.org/xz.git + " + inherit git-r3 autotools + + # bug #272880 and bug #286068 + BDEPEND="sys-devel/gettext >=dev-build/libtool-2" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc + inherit verify-sig + + MY_P="${PN/-utils}-${PV/_}" + SRC_URI=" + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz + https://tukaani.org/xz/${MY_P}.tar.gz + verify-sig? ( + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig + https://tukaani.org/xz/${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="Utils for managing LZMA compressed files" +HOMEPAGE="https://tukaani.org/xz/" + +# See top-level COPYING file as it outlines the various pieces and their licenses. +LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )" +SLOT="0" +IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20250313 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --enable-threads + $(multilib_native_use_enable doc) + $(use_enable nls) + $(use_enable static-libs static) + $(use_enable cpu_flags_arm_crc32 arm64-crc32) + ) + + if ! multilib_is_native_abi ; then + myconf+=( + --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} + ) + fi + + if ! use extra-filters ; then + myconf+=( + # LZMA1 + LZMA2 for standard .lzma & .xz files + --enable-encoders=lzma1,lzma2 + --enable-decoders=lzma1,lzma2 + + # those are used by default, depending on preset + --enable-match-finders=hc3,hc4,bt4 + + # CRC64 is used by default, though 7-Zip uses CRC32 by default. + # Also, XZ Embedded in Linux doesn't support CRC64, so + # kernel modules and friends are CRC32. + --enable-checks=crc32,crc64 + ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + export gl_cv_posix_shell="${EPREFIX}"/bin/sh + + # Undo Solaris-based defaults pointing to /usr/xpg4/bin + myconf+=( --disable-path-for-script ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # TODO: revisit that now we have the tar/xz loop below? + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$( + usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)" + ) + local pgo_use_flags=$( + usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)" + ) + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + local tar_pgo_args=() + + if has_version -b "app-alternatives/tar[gnu]" ; then + tar_pgo_args+=( + --mtime=@2718281828 + --sort=name + ) + fi + + if multilib_is_native_abi ; then + ( + shopt -s globstar + + tar \ + "${tar_pgo_args[@]}" \ + -cf xz-pgo-test-01.tar \ + {"${S}","${BUILD_DIR}"}/**/*.[cho] \ + {"${S}","${BUILD_DIR}"}/**/.libs/* \ + {"${S}","${BUILD_DIR}"}/**/**.txt \ + {"${S}","${BUILD_DIR}"}/tests/files + + stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die + md5sum xz-pgo-test-01.tar || die + ) + + local test_variants=( + # Borrowed from ALT Linux + # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80 + '-0 -C none' + '-2 -C crc32' + "$(usev extra-filters '-6 --arm --lzma2 -C crc64')" + "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')" + '-7e --format=lzma' + + # Our own variants + '' + '-e' + "$(usev extra-filters '--x86 --lzma2=preset=6e')" + ) + local test_variant + for test_variant in "${test_variants[@]}" ; do + einfo "Testing '${test_variant}' variant" + "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null + assert "Testing '${test_variant}' variant failed" + done + fi + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + +multilib_src_install() { + default + + # bug #934370 and bug #450436 (and bug #934515) + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then + eerror "Sanity check for liblzma$(get_libname) failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting" + fi +} + +multilib_src_install_all() { + strip-lto-bytecode + + find "${ED}" -type f -name '*.la' -delete || die + + if use doc ; then + rm "${ED}"/usr/share/doc/${PF}/COPYING* || die + fi +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0) +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild index 5ba70b466d2..b67877bbcbf 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild @@ -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 # Remember: we cannot leverage autotools in this ebuild in order @@ -115,8 +115,12 @@ multilib_src_compile() { # -fprofile-partial-training because upstream note the test suite isn't super comprehensive # TODO: revisit that now we have the tar/xz loop below? # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") - local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_generate_flags=$( + usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)" + ) + local pgo_use_flags=$( + usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)" + ) emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" 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 29f0808de0f..e36b92d5838 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 @@ -2,3 +2,4 @@ DIST containerd-2.2.5.tar.gz 10922595 BLAKE2B 2f6a4653d3b5dcb7a82e9255e7557d5e92 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 +DIST containerd-2.3.5.tar.gz 11672104 BLAKE2B e2d39989c58f5b0c932421d4d18785917d8f96567bb9db692cc1974efd56e7437a9f5d414f13c8f948233a574447c305b86093b50b0e43d099ada8a32cec7134 SHA512 87255f36b2b2fb5fc2cb7abaadae33c2ea85b5f7a1259c8c52cc3cf3efffa64525886a220eadf804b7c6414babe7310d39fddc6a24e79b707770fb621323f5c8 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild index 90c2b5437e5..d0148ad2ed4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.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.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.5.ebuild new file mode 100644 index 00000000000..42a8e3bb0e2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.5.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=1294c24a7da8e5a793ed378161673abe94118892 + +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/containerd/metadata.xml b/sdk_container/src/third_party/portage-stable/app-containers/containerd/metadata.xml index 4ee50fa856d..e67771502b2 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/metadata.xml @@ -12,6 +12,10 @@ williamh@gentoo.org William Hubbs + + arthurzam@gentoo.org + Arthur Zamarin + Support for BTRFS snapshot driver Support for Kubernetes CRI diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild index 0b091b84677..f6c1ce24a28 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/shortnames/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN#containers-}-${GIT_COMMIT}" - KEYWORDS="~alpha ~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/Manifest index b036db60590..26e7763daed 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/Manifest @@ -1,3 +1,4 @@ DIST cri-tools-1.33.0.tar.gz 7754304 BLAKE2B 42011726997a07842fd3c9769335a71e37e1689e443a0d1a99916b5729cc22092593928a6b94bbc3718a0e5f89f3818c3b6d6155970de21e8eee30fc979a294d SHA512 0252243147e32e06328c192f77397461a729aec621bee92083dcf3899e9ffbb62386a944795535cc4a0deb5c88d1017082db8bf221f6627feb7dcd100dc70457 DIST cri-tools-1.35.0.tar.gz 8074824 BLAKE2B a91dcfc326857e0dc43867189f0c2fac2a12ce112a4439eba61cfe655fba1dec455a3070bd5068cf4934487bf94255cd60197c3f7fd4aa20465ebb1bd4f63b7c SHA512 ea34e736b457f851b610e8091ebbb608ac0f790c80156ad3e1a7080c76df4ea759091300b7ee6b5812a42ec93e165d71b6fa06f12424f46b4b181f5059b100bb DIST cri-tools-1.36.0.tar.gz 7432869 BLAKE2B 57711c75ee1f54a99e087afa67d20e9b1f0a38e9a5da5e5c85724e84a95cb4d0b32b0e0b2ffa6d8aad60218684fe95d6445b6b57f253447cc7c09ddca43a5835 SHA512 5daa05ad977c85c5656c0fd1a6d4dd0b4596bf9d05038229fa522941e51793fff4272bb7c403b6bff6b6dde80d6f45f161e979861547bf5fb91095a096726967 +DIST cri-tools-1.37.0.tar.gz 7960600 BLAKE2B 9c69a27d3af6a6afcbe77b1af8f3af2200d363c91c60fc3387ceefd5b8e156d2bd5ebba38d606b2fef7861a34c3f1f14616f9237e31aa730ea28c301f1c24bf5 SHA512 1895be8ba45d3c8f2e5189b795eb61139957c001e0b760a610163bd3aa8260c187a1a2ffe5cd182f88d7379a5875cf357b839e95604a03d5eb29ff1667731370 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.36.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.36.0.ebuild index 70c8c7c9827..2320edcfdf0 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.36.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.36.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> $ LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" RESTRICT="test" BDEPEND=">=dev-lang/go-1.26.2" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.37.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.37.0.ebuild new file mode 100644 index 00000000000..d6de12e8637 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/cri-tools/cri-tools-1.37.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module shell-completion sysroot + +DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)" +HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools" +SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +RESTRICT="test" + +BDEPEND=">=dev-lang/go-1.26.6" + +DOCS=( docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md ) + +src_compile() { + CRICTL="build/bin/${GOOS}/${GOARCH}/crictl" + emake VERSION="${PV}" + + sysroot_try_run_prefixed "${CRICTL}" completion bash > crictl.bash || die + sysroot_try_run_prefixed "${CRICTL}" completion zsh > crictl.zsh || die + sysroot_try_run_prefixed "${CRICTL}" completion fish > crictl.fish || die +} + +src_install() { + einstalldocs + dobin "${CRICTL}" + + [[ -s crictl.bash ]] && newbashcomp crictl.bash crictl + [[ -s crictl.zsh ]] && newzshcomp crictl.zsh _crictl + [[ -s crictl.fish ]] && dofishcomp crictl.fish +} 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-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.28-r1.ebuild index dcde4154de4..3dc196ff1d5 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-r1.ebuild @@ -23,6 +23,7 @@ SLOT="0" IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" DEPEND=" + dev-libs/blake3 dev-libs/json-c:= sys-kernel/linux-headers caps? ( sys-libs/libcap ) @@ -56,6 +57,7 @@ src_configure() { fi local myeconfargs=( --cache-file="${S}"/config.cache + --enable-embedded-blake3=no $(use_enable bpf) $(use_enable caps) $(use_enable criu) 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-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.29.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.29.1-r1.ebuild index 4346f45c55f..fd32a6bef95 100644 --- 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-r1.ebuild @@ -23,6 +23,7 @@ SLOT="0" IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" DEPEND=" + dev-libs/blake3 dev-libs/json-c:= sys-kernel/linux-headers caps? ( sys-libs/libcap ) @@ -52,6 +53,7 @@ src_configure() { fi local myeconfargs=( --cache-file="${S}"/config.cache + --enable-embedded-blake3=no $(use_enable bpf) $(use_enable caps) $(use_enable criu) 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 index f87be5bce15..c10a5dfae69 100644 --- 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 @@ -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 )" @@ -43,7 +43,7 @@ src_compile() { ) emake "${myemakeargs[@]}" dynbinary - tc-env_build go-env_run emake "${myemakeargs[@]}" manpages + CGO_ENABLED=0 tc-env_build go-env_run emake "${myemakeargs[@]}" manpages } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.8.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.8.0.ebuild index 2607a09c134..5eb19110a80 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.8.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-29.8.0.ebuild @@ -42,7 +42,7 @@ src_compile() { ) emake "${myemakeargs[@]}" dynbinary - tc-env_build go-env_run emake "${myemakeargs[@]}" manpages + CGO_ENABLED=0 tc-env_build go-env_run emake "${myemakeargs[@]}" manpages } src_install() { 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 index 045910e450c..cfc2ed2212d 100644 --- 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 @@ -16,7 +16,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/incus/incus-7.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.4-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.4.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.4-r1.ebuild index 6874100f2e6..7e113b04c86 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.4-r1.ebuild @@ -40,7 +40,7 @@ RDEPEND="${DEPEND} sys-apps/iproute2 sys-fs/fuse:* >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] + sys-fs/squashfs-tools[lzma,zstd] virtual/acl apparmor? ( sec-policy/apparmor-profiles ) qemu? ( 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 6874100f2e6..7e113b04c86 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 @@ -40,7 +40,7 @@ RDEPEND="${DEPEND} sys-apps/iproute2 sys-fs/fuse:* >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] + sys-fs/squashfs-tools[lzma,zstd] virtual/acl apparmor? ( sec-policy/apparmor-profiles ) qemu? ( diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-7.0.0-glibc-2.43-const-fix.patch b/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-7.0.0-glibc-2.43-const-fix.patch new file mode 100644 index 00000000000..0da98e6ce3e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-7.0.0-glibc-2.43-const-fix.patch @@ -0,0 +1,134 @@ +https://bugs.gentoo.org/972401 +https://github.com/lxc/lxc/issues/4710 +https://github.com/lxc/lxc/pull/4711 +https://github.com/lxc/lxc/commit/c2809b067bbd5c63f0f78a5acd6f7af4e77e584c + +From c2809b067bbd5c63f0f78a5acd6f7af4e77e584c Mon Sep 17 00:00:00 2001 +From: Adrian Ratiu +Date: Sat, 18 Jul 2026 23:11:52 +0300 +Subject: [PATCH] tree-wide: fix const-correctness issues exposed by glibc 2.43 + +glibc 2.43 implements strchr(3), strrchr(3) and strstr(3) as +C23-style _Generic macros which propagate the const qualifier +of the input string to the return type. + +For example, a 'const char *' input now produces 'const char *' +output types and vice-versa (non-const -> non-const). + +Building with clang and -Werror=incompatible-pointer-types fails: + + src/lxc/confile.c:2690:4: error: assigning to 'char *' from + 'const char *' discards qualifiers + [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + +Constify the result pointers where they are only read. Where the +code intentionally writes through the result into caller-owned +writable storage, drop the bogus const from the parameter instead +of casting it away: update_hwaddr() (and thus its caller +append_unexp_config_line()) modify the string in-place via +rand_complete_hwaddr(), so 'char *' is the honest type. The two +call sites already pass writable buffers (a strdup()'d line and an +internally built one), so no cast is needed. + +The one remaining cast is in cgroup1-only pam_cgfs code +(cgv1_handle_cpuset_hierarchy) where the writable buffer is passed +down through a const 'cgroup' parameter; that hierarchy is slated +for removal, so the minimal cast is kept there. + +This is just a build fix, the runtime behavior is unchanged. + +Fixes: #4710 +Signed-off-by: Adrian Ratiu +--- a/src/lxc/confile.c ++++ b/src/lxc/confile.c +@@ -2675,7 +2675,7 @@ static int set_config_console_size(const char *key, const char *value, + * lxc.include. + * 'x' and 'X' are substituted in-place. + */ +-static void update_hwaddr(const char *line) ++static void update_hwaddr(char *line) + { + char *p; + +@@ -2701,7 +2701,7 @@ static void update_hwaddr(const char *line) + rand_complete_hwaddr(p); + } + +-int append_unexp_config_line(const char *line, struct lxc_conf *conf) ++int append_unexp_config_line(char *line, struct lxc_conf *conf) + { + size_t linelen; + size_t len = conf->unexpanded_len; +@@ -4213,7 +4213,7 @@ static int get_config_uts_name(const char *key, char *retv, int inlen, + static int get_config_hooks(const char *key, char *retv, int inlen, + struct lxc_conf *c, void *data) + { +- char *subkey; ++ const char *subkey; + int len, fulllen = 0, found = -1; + struct string_entry *entry; + int i; +--- a/src/lxc/confile.h ++++ b/src/lxc/confile.h +@@ -75,7 +75,7 @@ __hidden extern int lxc_list_net(struct lxc_conf *c, const char *key, char *retv + + __hidden extern int lxc_config_read(const char *file, struct lxc_conf *conf, bool from_include); + +-__hidden extern int append_unexp_config_line(const char *line, struct lxc_conf *conf); ++__hidden extern int append_unexp_config_line(char *line, struct lxc_conf *conf); + + extern int lxc_config_define_add(struct lxc_list *defines, char *arg); + +--- a/src/lxc/confile_utils.c ++++ b/src/lxc/confile_utils.c +@@ -903,7 +903,7 @@ int lxc_inherit_namespace(const char *nsfd_path, const char *lxcpath, + { + __do_free char *dup = NULL; + int fd, pid; +- char *lastslash; ++ const char *lastslash; + + if (nsfd_path[0] == '/') { + return open(nsfd_path, O_RDONLY | O_CLOEXEC); +--- a/src/lxc/pam/pam_cgfs.c ++++ b/src/lxc/pam/pam_cgfs.c +@@ -362,7 +362,7 @@ static char *copy_to_eol(char *s) + /* Check if given entry under /proc//mountinfo is a fuse.lxcfs mount. */ + static bool is_lxcfs(const char *line) + { +- char *p = strstr(line, " - "); ++ const char *p = strstr(line, " - "); + if (!p) + return false; + +@@ -1914,7 +1914,7 @@ static bool cgv1_handle_cpuset_hierarchy(struct cgv1_hierarchy *h, + + if (*cgroup == '/') + cgroup++; +- slash = strchr(cgroup, '/'); ++ slash = (char *)strchr(cgroup, '/'); + if (slash) + *slash = '\0'; + +--- a/src/lxc/storage/nbd.c ++++ b/src/lxc/storage/nbd.c +@@ -291,7 +291,7 @@ static void nbd_detach(const char *path) + */ + static int nbd_get_partition(const char *src) + { +- char *p = strchr(src, ':'); ++ const char *p = strchr(src, ':'); + if (!p) + return 0; + +--- a/src/lxc/storage/zfs.c ++++ b/src/lxc/storage/zfs.c +@@ -461,7 +461,7 @@ int zfs_clonepaths(struct lxc_storage *orig, struct lxc_storage *new, + orig_src = cmd_output; + } + +- tmp = strrchr(orig_src, '/'); ++ tmp = (char *)strrchr(orig_src, '/'); + if (!tmp) { + ERROR("Failed to detect \"/\" in \"%s\"", orig_src); + return -1; diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-7.0.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-7.0.0-r1.ebuild new file mode 100644 index 00000000000..9ccba4ca6e9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-7.0.0-r1.ebuild @@ -0,0 +1,297 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info meson optfeature shell-completion systemd xdg-utils verify-sig + +DESCRIPTION="A userspace interface for the Linux kernel containment features" +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" + +LICENSE="GPL-2 LGPL-2.1 LGPL-3" # LGPL-2.1+ is listed, but it's covered by "LGPL-3" +SLOT="0/1.700" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor +caps doc examples io-uring landlock man pam seccomp selinux ssl systemd test test-install +tools" + +REQUIRED_USE="landlock? ( seccomp )" +RESTRICT="!test? ( test )" + +RDEPEND="acct-group/lxc + acct-user/lxc + apparmor? ( sys-libs/libapparmor ) + caps? ( sys-libs/libcap ) + io-uring? ( >=sys-libs/liburing-2:= ) + pam? ( sys-libs/pam ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sys-libs/libselinux ) + ssl? ( dev-libs/openssl:0= ) + systemd? ( + sys-apps/dbus + sys-apps/systemd:= + ) + tools? ( sys-libs/libcap )" +DEPEND="${RDEPEND} + caps? ( sys-libs/libcap[static-libs] ) + tools? ( sys-libs/libcap[static-libs] ) + sys-kernel/linux-headers" +BDEPEND="virtual/pkgconfig + doc? ( app-text/doxygen ) + man? ( app-text/docbook2X ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK="~!NETPRIO_CGROUP + ~CGROUPS + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + + ~MEMCG + ~NAMESPACES + ~NET_NS + ~PID_NS + + ~POSIX_MQUEUE + ~USER_NS + ~UTS_NS + ~VETH" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" +ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc + +DOCS=( AUTHORS MAINTAINERS README.md doc/FAQ.txt ) + +PATCHES=( + "${FILESDIR}"/lxc-7.0.0-glibc-2.43-const-fix.patch +) + +pkg_setup() { + if use landlock ; then + WARNING_SECURITY_LANDLOCK="CONFIG_SECURITY_LANDLOCK: needed with landlock" + fi + linux-info_pkg_setup +} + +src_configure() { + + # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. + local emesonargs=( + --localstatedir "${EPREFIX}/var" + + -Dcoverity-build=false + -Dinstall-state-dirs=false + -Doss-fuzz=false + -Dspecfile=false + -Dtools-multicall=false + + -Dcommands=true + -Dinstall-init-files=true + -Dmemfd-rexec=true + -Dthread-safety=true + + $(meson_use apparmor) + $(meson_use caps capabilities) + $(meson_use doc api-docs) + $(meson_use examples) + $(meson_use io-uring io-uring-event-loop) + $(meson_use landlock landlock-monitor) + $(meson_use man) + $(meson_use pam pam-cgroup) + $(meson_use seccomp) + $(meson_use selinux) + $(meson_use ssl openssl) + $(meson_use test-install tests) + $(meson_use $(usex test test test-install) tests) + $(meson_use tools) + + $(usex systemd -Ddbus=true -Ddbus=false) + $(usex systemd -Dinit-script="systemd" -Dinit-script="openrc") + + -Ddata-path=/var/lib/lxc + -Ddoc-path=/usr/share/doc/${PF} + -Dlog-path=/var/log/lxc + -Drootfs-mount-path=/var/lib/lxc/rootfs + -Druntime-path=/run + ) + + use tools && local emesonargs+=( -Dcapabilities=true ) + + meson_src_configure +} + +src_test() { + # tests not hooked into meson test + # See: + # https://github.com/lxc/lxc/blob/main/.github/workflows/tests.yml + # https://github.com/lxc/lxc-ci/blob/main/deps/lxc-exercise + + local -a skip_tests=( + # problematic tests per upstream + lxc-test-concurrent + lxc-test-share-ns + # skipped by upstream for containers + lxc-test-apparmor + lxc-test-device-add-remove + lxc-test-reboot + lxc-test-unpriv + lxc-test-usernic + # Skips due to required arguments + lxc-test-may-control + # Required apt and messes with system users + lxc-test-usernic-2 + # Tries to mount kernel module + snaps + lxc-test-snapdeps + # Unpriviledged containers need to touch uid mappings + root chown + lxc-test-autostart + lxc-test-cloneconfig + lxc-test-createconfig + lxc-test-cve-2019-5736 + lxc-test-destroytest + lxc-test-exit-code + lxc-test-lxc-attach + lxc-test-no-new-privs + lxc-test-procsys + lxc-test-rootfs + # Wants to create a symlink in /var/lib + lxc-test-symlink + # Must run as root + lxc-test-checkpoint-restore + # failed to create container + lxc-test-clonetest + lxc-test-console-log + lxc-test-createtest + lxc-test-get_item + lxc-test-rootfs-options + lxc-test-shutdowntest + lxc-test-snapshot + lxc-test-sys-mixed + lxc-test-sysctls + # need allocated subuids, subgids + lxc-test-api-reboot + lxc-test-attach + lxc-test-capabilities + lxc-test-proc-pid + lxc-test-saveconfig + lxc-test-shortlived + lxc-test-startone + lxc-test-state-server + lxc-test-usernsexec + # failed to set config + lxc-test-parse-config-file + # failed to mount + lxc-test-mount-injection + # could not unshare mount namespace + lxc-test-utils + # filename not created + lxc-test-locktests + # config path needs to match + lxc-test-containertests + # wants a configured network interface + lxc-test-apparmor-mount + ) + if use !apparmor; then + skip_tests+=( + lxc-test-apparmor-generated + ) + fi + + mkdir -p "${HOME}"/.config/lxc || die + touch "${HOME}"/.config/lxc/default.conf || die + + # silence complaints about unset XDG_RUNTIME_DIR + xdg_environment_reset + + local -a passes_tests=() + local -a failed_tests=() + local ret testfile + pushd "${BUILD_DIR}"/src/tests >/dev/null || die + for testfile in $(find . -maxdepth 1 -name "lxc-test-*" -type f); do + if [[ ${skip_tests[@]} =~ ${testfile#./} ]]; then + continue + fi + einfo "Running ${testfile}" + "${testfile}" + ret="${?}" + if [[ ${ret} == 0 ]]; then + einfo "${testfile} passed" + passed_tests+=( "${testfile#./}" ) + else + eerror "${testfile} failed" + failed_tests+=( "${testfile#./}" ) + fi + done + popd >/dev/null || die + + einfo "Tests passed: ${passed_tests[@]}" + if [[ ${#failed_tests[@]} -gt 0 ]]; then + die "Tests failed: ${failed_tests[@]}" + fi +} + +src_install() { + if use doc ; then + local HTML_DOCS=( "${BUILD_DIR}/html/"* ) + fi + meson_src_install + + # The main bash-completion file will collide with lxd, need to relocate and update symlinks. + local lxcbashcompdir="${D}/$(get_bashcompdir)" + mkdir -p "${lxcbashcompdir}" || die "Failed to create bashcompdir." + mv "${lxcbashcompdir}"/_lxc "${lxcbashcompdir}"/lxc-start || die "Failed to move _lxc bash completion file." + + # Build system will install all bash completion files regardless of our 'tools' use flag. + # Though installing them all will add bash completions for commands that don't exist, it's + # cleaner than dealing with individual files based on the use flag status. + bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,update-config,usernsexec,wait} + + find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die + + # Replace upstream systemd files. + if use systemd ; then + rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" + else + # The openrc files aren't installed with correct permissions. + fperms 0755 /etc/init.d/lxc-{containers,net} + fi + + newinitd "${FILESDIR}/${PN}.initd.9" ${PN} + systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service + systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service + systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service + systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" + + if ! use apparmor; then + sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || + die "Failed to remove apparmor references from lxc.service systemd unit." + fi + + if use !test-install; then + find "${ED}"/usr/bin -name "lxc-test-*" -delete || die + fi +} + +pkg_postinst() { + elog "Please refer to " + elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." + elog + elog "Run 'lxc-checkconfig' to see optional kernel features." + elog + + optfeature "creating your own LXC containers" app-containers/distrobuilder + optfeature "automatic template scripts" app-containers/lxc-templates + optfeature "Debian-based distribution container image support" dev-util/debootstrap + optfeature "snapshot & restore functionality" sys-process/criu +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest index 23ca1c0dfc0..facba80cfd8 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest @@ -6,3 +6,5 @@ DIST gpgme-2.1.1.tar.bz2 1419085 BLAKE2B b70ba73898eab4a147f7af3af6d220be11a0ec1 DIST gpgme-2.1.1.tar.bz2.sig 147 BLAKE2B 139ca84d1b7130aa88b454b516d7084d172375cf06a76424a5d97fa142d62492cb679b56679c7a1cac8cbbf38ecfb73c45ee6d464b7dd29fd1c09b2d87767ef5 SHA512 d231f820b0339d8ae07d69edf5b2213dfc9ba61fe41dd77ecc057be34765d1ba114e9ce951e58118d43c10df8b7f6b075363a12134ab4931a665c045ea51ddb8 DIST gpgme-2.1.2.tar.bz2 1420275 BLAKE2B 40606849c25a5cb95567b5dfe13012ec54c00026eaf43722ba32efda64974a78d442921d098a330c2d59ba8a97a0c7f5b9cac0b23465ff94425decdf1d98b2d2 SHA512 21ec03ea83b6178fdcf89d691053d4c3e356916ec6926ae33b045424c6e960ef2fe11249775a415a345f9b18c3db7f631423e0eac84f7b22ef24f37d4f8ad0bd DIST gpgme-2.1.2.tar.bz2.sig 294 BLAKE2B 1fa38ff89dd2c94db4dc47d19711d9c8a1b06b71132dda1c16e4dd93e679563d32441d4c3be7b05d159f79a3973e3ac4d1bfe77c6ab68038916076178853e2c3 SHA512 103bac16e88b087dc2325d9ac67721d2b3c34e4ac1fd6a2bbafe91af8109c0a714090700a95556040d688a71fa7d1de9ef8f6e179b315b7a9f27de419459d094 +DIST gpgme-2.2.0.tar.bz2 1422222 BLAKE2B 17dc79a521b5874e6bf6a0b75ce867a6f9a03bd7ba753e3db7de454c2760eb487c623433c2efb72fe67f75b59f7c67a26e837ddf0a12f059d66133281f61fba5 SHA512 76c382bdc73b1c6ed523a0803dd2ec100b95f84e768787beaeb656ce84820fc37bc74229816a527ab17944c0ef7b937713298d9b3b87e70d7613e03b6dae4840 +DIST gpgme-2.2.0.tar.bz2.sig 294 BLAKE2B 8cd402584ae239241c5a0993d9470688e0993a7c95a78834f071ca8511beed92c273feeae62038fcbefd07627ad8c0f4bae2ea8c516372d9fae4925f07b58cdf SHA512 5de9de486e97746ebd9fccc1c8804f1c0be534b54bbe8293a3f3cea0636f07dc370dce6b450060633a4fe6c2f98c43d98e8661f5adbd0aeadddcfa9c74a7cef1 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.2.0.ebuild new file mode 100644 index 00000000000..cfb998de2ab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.2.0.ebuild @@ -0,0 +1,96 @@ +# 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.) + +# out-of-source b/c in-source builds are not supported: +# * https://dev.gnupg.org/T6313#166339 +# * https://dev.gnupg.org/T6673#174545 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool flag-o-matic out-of-source verify-sig + +DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use" +HOMEPAGE="https://www.gnupg.org/related_software/gpgme" +SRC_URI=" + mirror://gnupg/gpgme/${P}.tar.bz2 + verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig ) +" + +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" +IUSE="common-lisp static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + || ( + app-alternatives/gpg[reference] + app-alternatives/gpg[freepg(-)] + ) + >=dev-libs/libassuan-2.5.3:= + >=dev-libs/libgpg-error-1.46-r1:= +" +DEPEND="${RDEPEND}" +#doc? ( app-text/doxygen[dot] ) +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-tests-start-stop-agent-use-command-v.patch +) + +src_prepare() { + default + + elibtoolize + + # bug #697456 + addpredict /run/user/$(id -u)/gnupg + + local MAX_WORKDIR=66 + if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then + eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!" + die "Could not run tests as requested with too-long WORKDIR." + fi + + # Make best effort to allow longer PORTAGE_TMPDIR as usock limitation + # fails build/tests. + ln -s "${P}" "${WORKDIR}/b" || die + S="${WORKDIR}/b" +} + +my_src_configure() { + # bug #847955 + append-lfs-flags + + local languages=( + $(usev common-lisp 'cl') + ) + + local myeconfargs=( + --enable-languages="${languages[*]}" + $(use_enable static-libs static) + $(use_enable test gpgconf-test) + $(use_enable test gpg-test) + $(use_enable test gpgsm-test) + $(use_enable test g13-test) + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +my_src_install() { + emake DESTDIR="${D}" install + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild index 817e047c861..d22d6f7ebd9 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -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="+libffi gtk-doc nls systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7.1-runpath.patch b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7.1-runpath.patch deleted file mode 100644 index 542218ca24c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7.1-runpath.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fixes: https://github.com/gentoo/gentoo/commit/df24c1f97695d8a64a82577cd785e85ebe7ad4e7 -Upstream-PR: https://github.com/jqlang/jq/pull/3212 - -From f23a7373d079a4d4fd1f975936e81f35a66dfe84 Mon Sep 17 00:00:00 2001 -From: orbea -Date: Mon, 2 Dec 2024 09:46:33 -0800 -Subject: [PATCH] build: fix insecure RUNPATH - -In Gentoo -static-libtool-libs causes a QA Notice. - - * QA Notice: The following files contain insecure RUNPATHs - * Please file a bug about this at https://bugs.gentoo.org/ - * with the maintainer of the package. - * /var/tmp/portage/app-misc/jq-1.7.1/image/usr/bin/jqn RPATH: /var/tmp/portage/app-misc/jq-1.7.1/work/jq-jq-1.7.1/.libs - -Gentoo-Issue: https://bugs.gentoo.org/945698 -Signed-off-by: orbea ---- - Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index a183477fde..3f36993c0a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -132,11 +132,10 @@ CLEANFILES = src/version.h .remake-version-h src/builtin.inc src/config_opts.inc - - bin_PROGRAMS = jq - jq_SOURCES = src/main.c src/version.h --jq_LDFLAGS = -static-libtool-libs - jq_LDADD = libjq.la -lm - - if ENABLE_ALL_STATIC --jq_LDFLAGS += -all-static -+jq_LDFLAGS = -all-static - endif - - ### Tests (make check) diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest index 62f0d9ca235..7be068afdf6 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest @@ -1,2 +1,3 @@ DIST gemato-20.12.tar.gz 94139 BLAKE2B fc9c0e1b6c2419842a22bbacd85876c7664e0468fc800dd7b3bd06c5ea2cdc5cb178230b278952fc4bd4e36d6f9713fd5c6946cce61ac1116ef873a6f84f0cbf SHA512 bfbd068e562659739a77d90575c96d0dd1e7494167b73b7cf4f6a26d94a1a4e88674749b65e1635ef0b0379c93e8c3900aaf0210acc52d47b56845612d2dd6b1 DIST gemato-20.13.tar.gz 94816 BLAKE2B 9b7d43515b7b9fd1a574a53d69be9120e1e7c352e8ab0bea6ebccf45e69e04d83755eea76b62c6043c18857ee58339b929a11ffdb4c3931841c0b648c558707c SHA512 d864cd9a93b8de64bc91fe1b64a53cd2b7f12242e3dad86042a9fe36e6f821bb4fa919ca1a8fd7cf1e84fff263d3e193ca1849d29d0d13dca875601de6c9348d +DIST gemato-20.14.tar.gz 96383 BLAKE2B 17a7c3c5254fac5e87e9696884651f82201df921a68a9db453df5654eb8e1f4e4867233b7fd8747c6831dd3fa5314196ea55c76fcae9d47de933b5c6492b47f2 SHA512 047a79cb086c82ddd7803238f270fefc1025c683392840871736996275bb3e60f9e1dfec57ccf07598dddac035958d3da9fd8a0ea39ec7a578fbac3026236a79 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.14.ebuild similarity index 80% rename from sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-9999.ebuild rename to sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.14.ebuild index 612731f9d3c..fd9aa296ebe 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.14.ebuild @@ -3,21 +3,22 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE='threads(+),ssl(+)' -inherit distutils-r1 git-r3 +inherit distutils-r1 pypi DESCRIPTION="Stand-alone Manifest generation & verification tool" HOMEPAGE=" + https://gitweb.gentoo.org/proj/gemato.git/ https://github.com/gentoo/gemato/ https://pypi.org/project/gemato/ " -EGIT_REPO_URI="https://github.com/gentoo/gemato.git" LICENSE="GPL-2+" SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+gpg pretty-log tools" RDEPEND=" @@ -33,7 +34,7 @@ RDEPEND=" # https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/work_items/152 BDEPEND=" test? ( - >=app-crypt/gnupg-2.2.20-r1 + app-alternatives/gpg[ssl] dev-python/requests[${PYTHON_USEDEP}] dev-python/responses[${PYTHON_USEDEP}] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest index 6b3bb816d6a..dd94e5452f0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest @@ -11,3 +11,12 @@ DIST cmake-4.2.4.tar.gz 12348311 BLAKE2B 367f75fb2493caf2c137ffe04857843e4a94ea0 DIST cmake-4.3.4-SHA-256.txt 2015 BLAKE2B 360522f5897b115e9373271354ee464f72435c589f693b356b041324b2513b8d09c5a5cae059701ae3eeb837d9b0d9a5e31d8a99ecb2239d14f68a2b5e6255c4 SHA512 b58a83444024efb8428be9110400d618d261979493d45af42318a6ffca7fbb3a496ade6825db5b0b3935f052336e380f07f21e9bbf9bc9dcaeeadea1ae5dc516 DIST cmake-4.3.4-SHA-256.txt.asc 833 BLAKE2B 4b30bd7a3f004c3d3a35d4225f462045fe05681c77bebc8dfa5ecc958fd64d787597a09863afa41c8dc8a2d9d3facf2f3800c601d2d7cac2493a33a4cd80015a SHA512 41138746ad77af5926a38937b81a8edb9dc77d38755d3c4c190cc9f71206154111f0e8c60a3370a560b91e00c6fd5fd21fbb1bf8cee82d90f04edeecc4068244 DIST cmake-4.3.4.tar.gz 12976016 BLAKE2B b73bfdd09444d6b47145c33b4f139b83e4b336c237a8f537b2dd3b2b3e1316f88a59af3c6e2dd624e6f56da8c10f991670de6ee8e1a0ff90fcc9039881866b1c SHA512 3194f604432549eacd8bf0def22798eb84356e7c63ce288a4d60cbf31f63405ded0a1c004682fd5e1507f2a709ea9fe93df40d8fb16a9681f4c56b35afc83e06 +DIST cmake-4.3.5-SHA-256.txt 2015 BLAKE2B 54121a749110f128a92f374462b498e5338a3151c9c76c7794bffd37b392a4b68bc717bb3eac963aa7bd958c14a072c9cb468d88d96796b73dbd885f552ab746 SHA512 5fddd11eca831a1dc2c73ced2703825a73d9db9a18b582fa48934c86df773eb744f397223f0e8252434892e0d26f459bb83701d8f19eaac9e1fa65012640b8b9 +DIST cmake-4.3.5-SHA-256.txt.asc 833 BLAKE2B 6c0e65e6ffed11202414629f2fdc65edb3301c22d609888825d41267b56efe3b3d119406859b25ab328392da9ea28e926cb9a304ba2cb8a379cc7f5dfc1ac205 SHA512 419379d44660fdc52388308aceb5d292be514291bd2291aba960434258845bbab90b00cc554f54b1dd375f75ef1c2fa424f501c28f6f73f1e7de780215063bad +DIST cmake-4.3.5.tar.gz 12976379 BLAKE2B b2d666d1ec249a3c62cf2de2e8fce9b5475fac13e4445e459ac9c224d4219f60b9ef72a24d01bf5a60a788c91add350607d9580e089221a6b18daedd2d09ae18 SHA512 3c101c4747b75212962795be8703aa757f9c1d2f3f0e5e2e5d5571830bc7b0d76255ec8f32d5439772db97f93cfe3f04963eccf9793e47bb0a0a76444665e416 +DIST cmake-4.4.2-SHA-256.txt 2015 BLAKE2B e3eeac71e681cc5b8d8755a80b741af2fb690d08f0d3bd2e266a381116f28dc7eee267e678bb084d2551ad3b36c51f3c3bf14ed2eb3183696712e5758735472f SHA512 7a2971627545d178f3674819f4bf09f3173453ff957c66eb2e7724f216856b4bdd4c295f7f8091eec869d9465f75216e45b3a48e0bee624c9efb183746fafc5d +DIST cmake-4.4.2-SHA-256.txt.asc 833 BLAKE2B b3fe9f32ee963ac53d4666cc8ebe45e3b2382bc0d9ec2643473398438d4c066f3837cb408aaa1d91098095c353f8246f0582d15eebcba1bf8e7c10f3e6922d4a SHA512 ee3667ae7dc38b6d70d469303b20ec9a9c7b16269d139ef007c1b8183f747c62b7f0f47f6a969f21c032dc2b38dfdccad86171966e9e9bc1f0e211e8e0508faa +DIST cmake-4.4.2.tar.gz 13283673 BLAKE2B 8687c0588e0beabf6d61bf7d7ed154e54ce084ca551c82f41603eb41b74f4126376a7b79b64f84de7bbf975273f30993f9878fd0568766cd2b54947ba62601ad SHA512 d24c6306450925f566da52f9449d118d0dfcdc83809938c56723a30cf83fbbfc12cd457f140787352efa00b10c768d2b18e8719e62d22c70233e4b132ae70e3d +DIST cmake-4.4.3-SHA-256.txt 2015 BLAKE2B 3aab1caf306457aeeba2735354584da60770621c8f50f69ea95b673f4e38a5ffaa903bb54f025a7fdf0edfebf442706c7d9a1ce244023b4cc31a1fb5baf202f9 SHA512 265bb4a0124ca8d0ff5f67c5eb7a1f20d3079b2defeb118a73115a7b3404e5de0cbd0c493e3d53c52f73908b7b2535e06eac45a63c78de380bf5ce4f28e0769b +DIST cmake-4.4.3-SHA-256.txt.asc 833 BLAKE2B 7ef77bbe8ad75e08f295bf1813a0b994b59f892f82f277bfae3eea2d0d73140dc20759a20d8e9c6ca1cf485e0c32205290c714649dbce0500dd7afa6540c1ac6 SHA512 2553e1828c8fcf1c37a5d7ac64e4a0edf420e4fa48b141f08afa088041eb68d5c148b958ec58af3d4c3cbbff8b702c770f4a4b6ef74f3a6eecd0185a7d0538cc +DIST cmake-4.4.3.tar.gz 13288228 BLAKE2B d30fc821adf3a8ba1dd2b64a62a4245ab0a4f97fc2295db8abfae3cffec566a7eee621fd722c5041df44b0bd767051c78b2f0898dec92c65ed3cf66ad9a59506 SHA512 fd7ef7ca33f539ed896a783c14f7698df6acedbd43398bdb6ddb05f0777605b32965515aa935784a63688be4ede72acb3be8d4cdc12e360f9d68c25a902f2d48 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.5.ebuild new file mode 100644 index 00000000000..dd71025527d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.5.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20260908 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.8.0:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(get_makeopts_jobs "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + local CMAKE_SKIP_TESTS=( + # BootstrapTest: we actually bootstrap it every time so why test it? + "BootstrapTest" + # BundleUtilities: bundle creation broken + "BundleUtilities" + # CMakeOnly.AllFindModules: pthread issues + "CMakeOnly.AllFindModules" + # TODO + "CompileOptions" + # CTest.updatecvs: which fails to commit as root + "CTest.UpdateCVS" + # Fortran: requires fortran + "Fortran" + # RunCMake.CompilerLauncher: also requires fortran + "RunCMake.CompilerLauncher" + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # RunCMake.CPack_TGZ: requires 64-bit time_t (bug #967480) + "RunCMake.CPack_(DEB|RPM|TGZ)" + # TestUpload, which requires network access + "TestUpload" + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + "RunCMake.CMP0125" + ) + + local myctestargs=( + # Filter all tests requiring Fortran + -LE "Fortran" + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + # Part of app-emacs/cmake-mode instead + rm -r "${ED}"/usr/share/emacs || die + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.2.ebuild new file mode 100644 index 00000000000..d64989df7c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.2.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.8.0:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(get_makeopts_jobs "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + local CMAKE_SKIP_TESTS=( + # BootstrapTest: we actually bootstrap it every time so why test it? + "BootstrapTest" + # BundleUtilities: bundle creation broken + "BundleUtilities" + # CMakeOnly.AllFindModules: pthread issues + "CMakeOnly.AllFindModules" + # TODO + "CompileOptions" + # CTest.updatecvs: which fails to commit as root + "CTest.UpdateCVS" + # Fortran: requires fortran + "Fortran" + # RunCMake.CompilerLauncher: also requires fortran + "RunCMake.CompilerLauncher" + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # RunCMake.CPack_TGZ: requires 64-bit time_t (bug #967480) + "RunCMake.CPack_(DEB|RPM|TGZ)" + # TestUpload, which requires network access + "TestUpload" + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + "RunCMake.CMP0125" + ) + + local myctestargs=( + # Filter all tests requiring Fortran + -LE "Fortran" + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + # Part of app-emacs/cmake-mode instead + rm -r "${ED}"/usr/share/emacs || die + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.3.ebuild new file mode 100644 index 00000000000..23393289673 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.4.3.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${CMAKE_DOCS_PREBUILT:=1} + +CMAKE_DOCS_PREBUILT_DEV=sam +CMAKE_DOCS_VERSION=4.0.0_rc1 +#CMAKE_DOCS_VERSION=${PV} +#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# See bug #784815 +CMAKE_DOCS_USEFLAG="+doc" + +CMAKE_QA_COMPAT_SKIP=1 # bug #964514; cmake itself is the last pkg we worry about + +# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# ... but seems fine as of 3.22.3? +# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES_LIST=() +inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ + toolchain-funcs xdg-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +if [[ ${PV} == *9999* ]] ; then + CMAKE_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" + inherit git-r3 +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + + if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" + fi + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig + + SRC_URI+=" verify-sig? ( + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt + https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc + )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20260908 )" +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" +RESTRICT="!test? ( test )" + +# >= 1.51.0-r1 for ppc32 workaround (bug #941738) +RDEPEND=" + >=app-arch/libarchive-3.8.0:= + app-crypt/rhash:0= + >=dev-libs/expat-2.0.1 + >=dev-libs/jsoncpp-1.9.2-r2:0= + >=dev-libs/libuv-1.51.0-r1:= + >=net-misc/curl-7.21.5[ssl] + virtual/zlib:= + virtual/pkgconfig + dap? ( dev-cpp/cppdap ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + ncurses? ( sys-libs/ncurses:= ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + doc? ( + dev-python/requests + dev-python/sphinx + ) + test? ( app-arch/libarchive[zstd] ) +" + +PATCHES=( + # Prefix + "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch + "${FILESDIR}"/${PN}-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + # Misc + "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch + "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" + + # Upstream fixes (can usually be removed with a version bump) +) + +cmake_src_bootstrap() { + # disable running of cmake in bootstrap command + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # execinfo.h on Solaris isn't quite what it is on Darwin + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e 's/execinfo\.h/blablabla.h/' \ + Source/kwsys/CMakeLists.txt || die + fi + + # bootstrap script isn't exactly /bin/sh compatible + tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + --parallel=$(get_makeopts_jobs "$(get_nproc)") \ + || die "Bootstrap failed" +} + +pkg_pretend() { + if [[ -z ${EPREFIX} ]] ; then + local file + local errant_files=() + + # See bug #599684 and bug #753581 (at least) + for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do + if [[ -e ${file} ]]; then + errant_files+=( "${file}" ) + fi + done + + # If errant files exist + if [[ ${#errant_files[@]} -gt 0 ]]; then + eerror "Errant files found!" + eerror "The presence of these files is known to confuse CMake's" + eerror "library path logic. Please (re)move these files:" + + for file in "${errant_files[@]}"; do + eerror " mv ${file} ${file}.bak" + done + + die "Stray files found in /etc/, see above message" + fi + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then + default + else + cd "${DISTDIR}" || die + + # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature + verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} + verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz + + cd "${WORKDIR}" || die + + default + fi +} + +src_prepare() { + cmake_src_prepare + + if [[ ${CHOST} == *-darwin* ]] ; then + # Disable Xcode hooks, bug #652134 + sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ + Source/CMakeLists.txt || die + sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ + -e '/cmGlobalXCodeGenerator.h/d' \ + Source/cmake.cxx || die + # Disable system integration, bug #933744 + sed -i -e 's/__APPLE__/__DISABLED__/' \ + Source/cmFindProgramCommand.cxx \ + Source/CPack/cmCPackGeneratorFactory.cxx || die + sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ + Source/cmMachO.cxx || die + sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ + Source/CMakeLists.txt || die + + # Disable isysroot usage with GCC, we've properly instructed + # where things are via GCC configuration and ldwrapper + sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ + Modules/Platform/Apple-GNU-*.cmake || die + # Disable isysroot usage with clang as well + sed -i -e '/_SYSROOT_FLAG/d' \ + Modules/Platform/Apple-Clang.cmake || die + # Don't set a POSIX standard, system headers don't like that, #757426 + sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmLoadCommandCommand.cxx \ + Source/cmStandardLexer.h \ + Source/cmSystemTools.cxx \ + Source/cmTimestamp.cxx + sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ + Source/cmStandardLexer.h + fi + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. + + # Fix linking on Solaris + [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMake_ENABLE_DEBUGGER=$(usex dap) + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + -DSPHINX_MAN=$(usex doc) + -DSPHINX_HTML=$(usex doc) + -DBUILD_CursesDialog="$(usex ncurses)" + -DBUILD_TESTING=$(usex test) + -DBUILD_QtDialog=$(usex gui) + ) + + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) + + cmake_src_configure +} + +src_test() { + # Fix OutDir and SelectLibraryConfigurations tests + # these are altered thanks to our eclass + sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ + "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ + || die + + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + + pushd "${BUILD_DIR}" > /dev/null || die + + # Excluded tests: + local CMAKE_SKIP_TESTS=( + # BootstrapTest: we actually bootstrap it every time so why test it? + "BootstrapTest" + # BundleUtilities: bundle creation broken + "BundleUtilities" + # CMakeOnly.AllFindModules: pthread issues + "CMakeOnly.AllFindModules" + # TODO + "CompileOptions" + # CTest.updatecvs: which fails to commit as root + "CTest.UpdateCVS" + # Fortran: requires fortran + "Fortran" + # RunCMake.CompilerLauncher: also requires fortran + "RunCMake.CompilerLauncher" + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # RunCMake.CPack_TGZ: requires 64-bit time_t (bug #967480) + "RunCMake.CPack_(DEB|RPM|TGZ)" + # TestUpload, which requires network access + "TestUpload" + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + "RunCMake.CMP0125" + ) + + local myctestargs=( + # Filter all tests requiring Fortran + -LE "Fortran" + ) + + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test +} + +src_install() { + cmake_src_install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] + fi + + insinto /usr/share/vim/vimfiles/syntax + doins Auxiliary/vim/syntax/cmake.vim + + insinto /usr/share/vim/vimfiles/indent + doins Auxiliary/vim/indent/cmake.vim + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${PN}.vim" + + # Part of app-emacs/cmake-mode instead + rm -r "${ED}"/usr/share/emacs || die + + dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} +} + +pkg_postinst() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +pkg_postrm() { + if use gui; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild index 37708104da5..23393289673 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild @@ -56,7 +56,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-bradking-20250904 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20260908 )" fi [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" @@ -94,7 +94,7 @@ BDEPEND+=" PATCHES=( # Prefix "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch + "${FILESDIR}"/${PN}-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch # Misc "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/files/cmake-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch b/sdk_container/src/third_party/portage-stable/dev-build/cmake/files/cmake-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch new file mode 100644 index 00000000000..3bd3d01a625 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/files/cmake-4.4.2-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch @@ -0,0 +1,133 @@ +From aa8c0176389436e698e2f7e84097b4151b6477bf Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 1 Mar 2019 23:11:41 +0100 +Subject: [PATCH 2/6] Set some proper paths to make cmake find our tools. + +The ebuild now adds an extra / at the end of $EPREFIX so that it is +never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains +correct) + +Original patch by Heiko Przybyl. +Updated by Chris Reffett (cmake-2.8.8) +Updated by Johannes Huber (cmake-2.8.9) +Updated by Michael Palimaka (cmake-2.8.10) +Updated by Chris Reffett (cmake-2.8.11) +Updated by Michael Palimaka (cmake-3.0.0) +Updated by Lars Wendler (cmake-3.9.0_rc2) +Updated by Benda Xu (cmake-3.13.4) +Updated by Lars Wendler (cmake-3.14.0_rc1) +Updated by Lars Wendler (cmake-3.14.0_rc2) +Updated by Lars Wendler (cmake-3.14.0_rc3) +Updated by Jacob Floyd (cmake-3.19.2) +--- a/Modules/Platform/Darwin.cmake ++++ b/Modules/Platform/Darwin.cmake +@@ -131,9 +131,9 @@ set(CMAKE_LINK_LIBRARY_USING_WEAK_LIBRARY "PATH{LINKER:-weak_library,}N + set(CMAKE_LINK_LIBRARY_USING_WEAK_LIBRARY_SUPPORTED TRUE) + set(CMAKE_LINK_LIBRARY_WEAK_LIBRARY_ATTRIBUTES LIBRARY_TYPE=STATIC,SHARED DEDUPLICATION=DEFAULT OVERRIDE=DEFAULT) + +-# default to searching for frameworks first ++# default to searching for frameworks last + if(NOT DEFINED CMAKE_FIND_FRAMEWORK) +- set(CMAKE_FIND_FRAMEWORK FIRST) ++ set(CMAKE_FIND_FRAMEWORK LAST) + endif() + + # Older OS X linkers do not report their framework search path +@@ -162,6 +162,9 @@ endif() + + # set up the default search directories for frameworks + set(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@MacOSX.sdk/System/Library/Frameworks ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + ) + if(_CMAKE_OSX_SYSROOT_PATH) +@@ -219,13 +222,15 @@ if(CMAKE_OSX_SYSROOT) + endif() + endif() + +-# default to searching for application bundles first ++# default to searching for application bundles last + if(NOT DEFINED CMAKE_FIND_APPBUNDLE) +- set(CMAKE_FIND_APPBUNDLE FIRST) ++ set(CMAKE_FIND_APPBUNDLE LAST) + endif() + # set up the default search directories for application bundles + set(_apps_paths) + foreach(_path ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + "~/Applications" + "/Applications" + "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -37,7 +37,8 @@ unset(_cmake_running_in_build_tree) + # synchronized + list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard +- /usr/local /usr / ++ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ ++ @GENTOO_HOST@/usr/local /usr / + ) + if(_CMAKE_INSTALL_DIR) + list(APPEND CMAKE_SYSTEM_PREFIX_PATH +@@ -58,17 +59,33 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +- # X11 +- /usr/include/X11 ++ @GENTOO_PORTAGE_EPREFIX@usr/include + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH +- # X11 +- /usr/lib/X11 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ ) ++ ++list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @GENTOO_PORTAGE_EPREFIX@usr/bin ++ @GENTOO_PORTAGE_EPREFIX@bin + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 + ) + + if(CMAKE_SYSROOT_COMPILE) +@@ -81,11 +98,13 @@ endif() + # parsing the implicit directory information from compiler output. + set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} +-- +2.41.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest index ca58663a651..b9945c4e608 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/Manifest @@ -1 +1,2 @@ DIST gtk-doc-1.34.0.tar.xz 494116 BLAKE2B cb8550debed9f32b967de9d4ebdde8dbe83551eb8527221d2d788355431f34e62a4beedda3e7f5722516ae8e23794a56b97a4f761ede0f7f2c0ef288624b5f7a SHA512 d962fe31949b5f7c70122c7ebbd98f4d21725697804bf5dd75fd7a6662753a91c9350fd1e8bed22a58a957b173f35e200fcbb4c7c2ebc45ccbc0db2e916b27ea +DIST gtk-doc-1.36.1.tar.xz 594020 BLAKE2B a566461c4c9bb8f072b8f6b92c917d5ec7da33f0f7a3893a89e85d830a9430e37ae68817d1a5c7bc2cab9000c0e4938da5b456bdf615144cba8a4b65d419b934 SHA512 20caee6904220785369e768a2dfa73f52e8a0f0672e44dab9553888c6755e92a5a5bae6d659a445c80935fc3a368f3f82111baeb8546c33ad95bcfd1e00d117f diff --git a/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.36.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.36.1.ebuild new file mode 100644 index 00000000000..5fb41c2382c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/gtk-doc-am/gtk-doc-am-1.36.1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="gtk-doc" + +inherit gnome.org + +DESCRIPTION="Automake files from gtk-doc" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gtk-doc" + +LICENSE="GPL-2+ FDL-1.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND="! tests/run-native-test.sh || die - # TODO: Fails for abi_x86_32 w/ DT_RELR - # "section [14] '.rel.plt': relocation 55: relocation type invalid for the file type" - printf "#!/bin/sh\nexit 77" > tests/run-elflint-self.sh || die - printf "#!/bin/sh\nexit 77" > tests/run-reverse-sections-self.sh || die - - # https://sourceware.org/PR23914 - sed -i 's:-Werror::' */Makefile.in || die -} - -src_configure() { - # bug #407135 - use test && append-flags -g - - # bug 660738 - filter-flags -fno-asynchronous-unwind-tables - - use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - unset LEX YACC - - local myeconfargs=( - $(use_enable nls) - $(multilib_native_use_enable debuginfod) - # Could do dummy if needed? - $(multilib_native_use_enable debuginfod libdebuginfod) - $(multilib_native_use_enable stacktrace) - $(use_enable valgrind valgrind-annotations) - - # explicitly disable thread safety, it's not recommended by upstream - # doesn't build either on musl. - --disable-thread-safety - - # Valgrind option is just for running tests under it; dodgy under sandbox - # and indeed even w/ glibc with newer instructions. - --disable-valgrind - --program-prefix="eu-" - --with-zlib - $(use_with bzip2 bzlib) - $(use_with lzma) - $(use_with zstd) - ) - - [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) - - # Needed because sets alignment macro - is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) - is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ - LC_ALL="C" \ - emake check VERBOSE=1 -} - -multilib_src_install_all() { - einstalldocs - - dodoc NOTES - - # These build quick, and are needed for most tests, so we don't - # disable building them when the USE flag is disabled. - if ! use utils; then - rm -rf "${ED}"/usr/bin || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild deleted file mode 100644 index f1f53fe5501..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2003-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/elfutils.gpg -inherit autotools flag-o-matic multilib-minimal - -DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" -HOMEPAGE="https://sourceware.org/elfutils/" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://sourceware.org/git/elfutils.git" - inherit git-r3 - - BDEPEND=" - sys-devel/bison - sys-devel/flex - " -else - inherit verify-sig - SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" - SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - - BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" -fi - -LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" -SLOT="0" -IUSE="bzip2 +debuginfod +libarchive +lzma nls static-libs stacktrace test +utils valgrind zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE="debuginfod? ( libarchive )" - -RDEPEND=" - !dev-libs/libelf - >=virtual/zlib-1.2.8-r1:=[static-libs?,${MULTILIB_USEDEP}] - bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) - debuginfod? ( - dev-db/sqlite:3= - >=dev-libs/json-c-0.11:= - >=net-libs/libmicrohttpd-0.9.33:= - >=net-misc/curl-7.29.0[static-libs?] - ) - libarchive? ( >=app-arch/libarchive-3.1.2:= ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) - stacktrace? ( dev-util/sysprof ) - zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) - elibc_musl? ( - dev-libs/libbsd - sys-libs/argp-standalone - sys-libs/fts-standalone - sys-libs/obstack-standalone - ) -" -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" -BDEPEND+=" - sys-devel/m4 - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch - "${FILESDIR}"/${PN}-0.191-musl-macros.patch - "${FILESDIR}"/${P}-tests.patch -) - -src_prepare() { - default - - eautoreconf - - if ! use static-libs; then - sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die - fi - - # TODO: Fails with some CFLAGS - # " __divhc3: /var/tmp/portage/dev-libs/elfutils-0.193/work/elfutils-0.193-abi_x86_32.x86/tests/funcretval: - # dwfl_module_return_value_location: cannot handle DWARF type description" - printf "#!/bin/sh\nexit 77" > tests/run-native-test.sh || die - # TODO: Fails for abi_x86_32 w/ DT_RELR - # "section [14] '.rel.plt': relocation 55: relocation type invalid for the file type" - printf "#!/bin/sh\nexit 77" > tests/run-elflint-self.sh || die - printf "#!/bin/sh\nexit 77" > tests/run-reverse-sections-self.sh || die - # TODO: Fails with SFrames - printf "#!/bin/sh\nexit 77" > tests/run-strip-strmerge.sh || die - - # https://sourceware.org/PR23914 - sed -i 's:-Werror::' */Makefile.in || die -} - -src_configure() { - # bug #407135 - use test && append-flags -g - - # bug 660738 - filter-flags -fno-asynchronous-unwind-tables - - use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - unset LEX YACC - - local myeconfargs=( - $(use_enable nls) - $(multilib_native_use_enable debuginfod) - # Could do dummy if needed? We could also split libdebuginfod - # (client support) into its own USE if required. - $(multilib_native_use_enable debuginfod libdebuginfod) - $(multilib_native_use_enable stacktrace) - $(use_enable valgrind valgrind-annotations) - - # Explicitly disable thread safety, it's not recommended by upstream - # (marked experimental in configure) and doesn't build either on musl. - --disable-thread-safety - - # Valgrind option is just for running tests under it; dodgy under sandbox - # and indeed even w/ glibc with newer instructions. - --disable-valgrind - --program-prefix="eu-" - --with-zlib - $(use_with bzip2 bzlib) - $(multilib_native_use_with libarchive) - $(use_with lzma) - $(use_with zstd) - ) - - [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) - - # Needed because sets alignment macro - is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) - is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ - LC_ALL="C" \ - emake check VERBOSE=1 -} - -multilib_src_install_all() { - einstalldocs - - dodoc NOTES - - # These build quick, and are needed for most tests, so we don't - # disable building them when the USE flag is disabled. - if ! use utils; then - rm -rf "${ED}"/usr/bin || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r3.ebuild deleted file mode 100644 index 3790c0e3521..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r3.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 2003-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/elfutils.gpg -inherit autotools flag-o-matic multilib-minimal - -DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" -HOMEPAGE="https://sourceware.org/elfutils/" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://sourceware.org/git/elfutils.git" - inherit git-r3 - - BDEPEND=" - sys-devel/bison - sys-devel/flex - " -else - inherit verify-sig - SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" - SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - - BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" -fi - -LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" -SLOT="0" -IUSE="bzip2 +debuginfod +libarchive +lzma nls static-libs stacktrace test +utils valgrind zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE="debuginfod? ( libarchive )" - -RDEPEND=" - !dev-libs/libelf - >=virtual/zlib-1.2.8-r1:=[static-libs?,${MULTILIB_USEDEP}] - bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) - debuginfod? ( - dev-db/sqlite:3= - >=dev-libs/json-c-0.11:= - >=net-libs/libmicrohttpd-0.9.33:= - >=net-misc/curl-7.29.0[static-libs?] - ) - libarchive? ( >=app-arch/libarchive-3.1.2:= ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) - stacktrace? ( dev-util/sysprof ) - zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) - elibc_musl? ( - dev-libs/libbsd - sys-libs/argp-standalone - sys-libs/fts-standalone - sys-libs/obstack-standalone - ) -" -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" -BDEPEND+=" - sys-devel/m4 - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch - "${FILESDIR}"/${PN}-0.191-musl-macros.patch - "${FILESDIR}"/${P}-tests.patch - "${FILESDIR}"/${PN}-0.194-hurd.patch -) - -src_prepare() { - default - - eautoreconf - - if ! use static-libs; then - sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die - fi - - # TODO: Fails with some CFLAGS - # " __divhc3: /var/tmp/portage/dev-libs/elfutils-0.193/work/elfutils-0.193-abi_x86_32.x86/tests/funcretval: - # dwfl_module_return_value_location: cannot handle DWARF type description" - printf "#!/bin/sh\nexit 77" > tests/run-native-test.sh || die - # TODO: Fails for abi_x86_32 w/ DT_RELR - # "section [14] '.rel.plt': relocation 55: relocation type invalid for the file type" - printf "#!/bin/sh\nexit 77" > tests/run-elflint-self.sh || die - printf "#!/bin/sh\nexit 77" > tests/run-reverse-sections-self.sh || die - # TODO: Fails with SFrames - printf "#!/bin/sh\nexit 77" > tests/run-strip-strmerge.sh || die - - # https://sourceware.org/PR23914 - sed -i 's:-Werror::' */Makefile.in || die -} - -src_configure() { - # bug #407135 - use test && append-flags -g - - # bug 660738 - filter-flags -fno-asynchronous-unwind-tables - - use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - unset LEX YACC - - # Only for IMA verification of RPMs - export ac_cv_lib_rpm_headerGet=no - - local myeconfargs=( - $(use_enable nls) - $(multilib_native_use_enable debuginfod) - # Could do dummy if needed? We could also split libdebuginfod - # (client support) into its own USE if required. - $(multilib_native_use_enable debuginfod libdebuginfod) - $(multilib_native_use_enable stacktrace) - $(use_enable valgrind valgrind-annotations) - - # Explicitly disable thread safety, it's not recommended by upstream - # (marked experimental in configure) and doesn't build either on musl. - --disable-thread-safety - - # Valgrind option is just for running tests under it; dodgy under sandbox - # and indeed even w/ glibc with newer instructions. - --disable-valgrind - --program-prefix="eu-" - --with-zlib - $(use_with bzip2 bzlib) - $(multilib_native_use_with libarchive) - $(use_with lzma) - $(use_with zstd) - ) - - [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) - - # Needed because sets alignment macro - is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) - is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ - LC_ALL="C" \ - emake check VERBOSE=1 -} - -multilib_src_install_all() { - einstalldocs - - dodoc NOTES - - # These build quick, and are needed for most tests, so we don't - # disable building them when the USE flag is disabled. - if ! use utils; then - rm -rf "${ED}"/usr/bin || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch deleted file mode 100644 index d256d258650..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://sourceware.org/git/?p=elfutils.git;a=commit;h=d05241ce690018548857199bd34d7734c7164679 -https://bugs.gentoo.org/955065 - -From d05241ce690018548857199bd34d7734c7164679 Mon Sep 17 00:00:00 2001 -From: Serhei Makarov -Date: Mon, 5 May 2025 12:08:55 -0400 -Subject: [PATCH] PR32930 backends/: guard asm/perf_regs.h include - -asm/perf_regs.h is an arch-specific linux include, not present on -architectures like hppa and m68k that lack perf_events support. - -Only one place we need to fix; others already guard the include by -architecture, or use architecture-independent headers (e.g. -linux/perf_events.h). - -* backends/libebl_PERF_FLAGS.h: Only include asm/perf_regs.h on - architectures where we use it. - -Signed-off-by: Serhei Makarov ---- - backends/libebl_PERF_FLAGS.h | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/backends/libebl_PERF_FLAGS.h b/backends/libebl_PERF_FLAGS.h -index 2ed45f0f..51c20ea6 100644 ---- a/backends/libebl_PERF_FLAGS.h -+++ b/backends/libebl_PERF_FLAGS.h -@@ -32,8 +32,12 @@ - #define _LIBEBL_PERF_FLAGS_H 1 - - #if defined(__linux__) -+/* XXX Need to exclude __linux__ arches without perf_regs.h. */ -+#if defined(__x86_64__) || defined(__i386__) -+/* || defined(other_architecture)... */ - # include - #endif -+#endif - - #if defined(_ASM_X86_PERF_REGS_H) - /* See the code in x86_initreg_sample.c for list of required regs and -@@ -49,8 +53,8 @@ - see the code in tools/perf/util/intel-pt.c intel_pt_add_gp_regs() - and note how regs are added in the same order as the perf_regs.h enum. */ - #else --/* Since asm/perf_regs.h gives the register layout for a different arch, -- we can't unwind x86_64 frames. */ -+/* Since asm/perf_regs.h is absent, or gives the register layout for a -+ different arch, we can't unwind i386 and x86_64 frames. */ - #define PERF_FRAME_REGISTERS_I386 0 - #define PERF_FRAME_REGISTERS_X86_64 0 - #endif --- -2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch deleted file mode 100644 index 9c90380be65..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch +++ /dev/null @@ -1,101 +0,0 @@ -https://inbox.sourceware.org/elfutils-devel/20260316144817.1722419-1-serhei@serhei.io/ - -From: Serhei Makarov -To: elfutils-devel@sourceware.org -Cc: Serhei Makarov -Subject: [PATCH v3] libdwfl/linux-pid-attach.c PR33974: __libdwfl_set_initial_registers_thread on non-Linux -Date: Mon, 16 Mar 2026 10:48:17 -0400 -Message-ID: <20260316144817.1722419-1-serhei@serhei.io> -X-Mailer: git-send-email 2.52.0 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS,SPF_PASS,TXREP,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 -X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org -List-Id: - -libdwfl_stacktrace uses __libdwfl_set_initial_registers_thread but it -is wrapped by #ifdef __linux__, causing build errors on non-Linux -platforms. - -* linux-pid-attach.c (__libdwfl_set_initial_registers_thread): - Remove from inside the '#ifdef __linux__'. -* dwfl_frame_regs.c (__libdwfl_set_initial_registers_thread): - Move here. ---- - libdwfl/dwfl_frame_regs.c | 27 +++++++++++++++++++++++++++ - libdwfl/linux-pid-attach.c | 25 ------------------------- - 2 files changed, 27 insertions(+), 25 deletions(-) - -diff --git a/libdwfl/dwfl_frame_regs.c b/libdwfl/dwfl_frame_regs.c -index 572ac676..99de3c22 100644 ---- a/libdwfl/dwfl_frame_regs.c -+++ b/libdwfl/dwfl_frame_regs.c -@@ -77,3 +77,30 @@ dwfl_frame_reg (Dwfl_Frame *state, unsigned regno, Dwarf_Word *val) - return res; - } - INTDEF(dwfl_frame_reg) -+ -+/* Implement the ebl_set_initial_registers_tid setfunc callback. */ -+ -+bool -+/* Not internal_function, since that allows calling-convention changes -+ e.g. on i386, and stable ABI is needed to use this as an -+ ebl_tid_registers_t * callback in linux-pid-attach.c and -+ libdwfl_stacktrace. */ -+__libdwfl_set_initial_registers_thread (int firstreg, unsigned nregs, -+ const Dwarf_Word *regs, void *arg) -+{ -+ Dwfl_Thread *thread = (Dwfl_Thread *) arg; -+ if (firstreg == -1) -+ { -+ assert (nregs == 1); -+ INTUSE(dwfl_thread_state_register_pc) (thread, *regs); -+ return true; -+ } -+ else if (firstreg == -2) -+ { -+ assert (nregs == 1); -+ INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); -+ return true; -+ } -+ assert (nregs > 0); -+ return INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); -+} -diff --git a/libdwfl/linux-pid-attach.c b/libdwfl/linux-pid-attach.c -index a6e4e41a..9472b041 100644 ---- a/libdwfl/linux-pid-attach.c -+++ b/libdwfl/linux-pid-attach.c -@@ -302,31 +302,6 @@ pid_getthread (Dwfl *dwfl __attribute__ ((unused)), pid_t tid, - return true; - } - --/* Implement the ebl_set_initial_registers_tid setfunc callback. */ -- --bool --/* XXX No internal_function annotation, -- as this function gets passed as ebl_tid_registers_t *. */ --__libdwfl_set_initial_registers_thread (int firstreg, unsigned nregs, -- const Dwarf_Word *regs, void *arg) --{ -- Dwfl_Thread *thread = (Dwfl_Thread *) arg; -- if (firstreg == -1) -- { -- assert (nregs == 1); -- INTUSE(dwfl_thread_state_register_pc) (thread, *regs); -- return true; -- } -- else if (firstreg == -2) -- { -- assert (nregs == 1); -- INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); -- return true; -- } -- assert (nregs > 0); -- return INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); --} -- - static bool - pid_set_initial_registers (Dwfl_Thread *thread, void *thread_arg) - { --- -2.52.0 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-tests.patch deleted file mode 100644 index 14c4a46613a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-tests.patch +++ /dev/null @@ -1,136 +0,0 @@ -https://sourceware.org/git/?p=elfutils.git;a=commit;h=f66135f16fe44182a3fc5b651d7e5071c936217d - -From f66135f16fe44182a3fc5b651d7e5071c936217d Mon Sep 17 00:00:00 2001 -From: Aaron Merey -Date: Mon, 27 Oct 2025 22:00:12 -0400 -Subject: [PATCH] readelf: Allocate job_data one-by-one as needed - -Currently, job_data is stored in an array whose size is equal to the -number of debug sections (.debug_*, .eh_frame, .gdb_index, etc.). - -This size may be too small if a binary contains multiple debug sections -with the same name. For example an ET_REL binary compiled with -ggdb3 -can contain multiple .debug_macro sections. - -Fix this by allocating job_data on the fly when preparing to read a -debug section. This supports an arbitrary number of debug sections -while also avoiding unnecessary memory allocation. - -https://sourceware.org/bugzilla/show_bug.cgi?id=33580 - -Signed-off-by: Aaron Merey ---- - src/readelf.c | 49 +++++++++++++++++++++++++------------------------ - 1 file changed, 25 insertions(+), 24 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index ee6c203d..a2d17358 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -12200,7 +12200,8 @@ getone_dwflmod (Dwfl_Module *dwflmod, - return DWARF_CB_OK; - } - --typedef struct { -+typedef struct Job_Data { -+ struct Job_Data *next; - Dwfl_Module *dwflmod; - Ebl *ebl; - GElf_Ehdr *ehdr; -@@ -12230,7 +12231,7 @@ do_job (void *data, FILE *out) - If thread safety is not supported or the maximum number of threads is set - to 1, then immediately call START_ROUTINE with the given arguments. */ - static void --schedule_job (job_data jdata[], size_t idx, -+schedule_job (job_data **jdatalist, - void (*start_routine) (Dwfl_Module *, Ebl *, GElf_Ehdr *, - Elf_Scn *, GElf_Shdr *, Dwarf *, FILE *), - Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, -@@ -12239,21 +12240,24 @@ schedule_job (job_data jdata[], size_t idx, - #ifdef USE_LOCKS - if (max_threads > 1) - { -- /* Add to the job queue. */ -- jdata[idx].dwflmod = dwflmod; -- jdata[idx].ebl = ebl; -- jdata[idx].ehdr = ehdr; -- jdata[idx].scn = *scn; -- jdata[idx].shdr = *shdr; -- jdata[idx].dbg = dbg; -- jdata[idx].fp = start_routine; -+ job_data *jdata = xmalloc (sizeof (job_data)); -+ -+ jdata->dwflmod = dwflmod; -+ jdata->ebl = ebl; -+ jdata->ehdr = ehdr; -+ jdata->scn = *scn; -+ jdata->shdr = *shdr; -+ jdata->dbg = dbg; -+ jdata->fp = start_routine; -+ jdata->next = *jdatalist; -+ *jdatalist = jdata; - -- add_job (do_job, (void *) &jdata[idx]); -+ add_job (do_job, (void *) jdata); - } - else - start_routine (dwflmod, ebl, ehdr, scn, shdr, dbg, stdout); - #else -- (void) jdata; (void) idx; -+ (void) jdatalist; - - start_routine (dwflmod, ebl, ehdr, scn, shdr, dbg, stdout); - #endif -@@ -12431,8 +12435,7 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) - if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)) - error_exit (0, _("cannot get section header string table index")); - -- ssize_t num_jobs = 0; -- job_data *jdata = NULL; -+ job_data *jdatalist = NULL; - - /* If the .debug_info section is listed as implicitly required then - we must make sure to handle it before handling any other debug -@@ -12531,13 +12534,6 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) - if (name == NULL) - continue; - -- if (jdata == NULL) -- { -- jdata = calloc (ndebug_sections, sizeof (*jdata)); -- if (jdata == NULL) -- error_exit (0, _("failed to allocate job data")); -- } -- - int n; - for (n = 0; n < ndebug_sections; ++n) - { -@@ -12561,10 +12557,9 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) - { - if (((print_debug_sections | implicit_debug_sections) - & debug_sections[n].bitmask)) -- schedule_job (jdata, num_jobs++, debug_sections[n].fp, -+ schedule_job (&jdatalist, debug_sections[n].fp, - dwflmod, ebl, ehdr, scn, shdr, dbg); - -- assert (num_jobs <= ndebug_sections); - break; - } - } -@@ -12579,7 +12574,13 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) - - dwfl_end (skel_dwfl); - free (skel_name); -- free (jdata); -+ -+ while (jdatalist != NULL) -+ { -+ job_data *jdata = jdatalist; -+ jdatalist = jdatalist->next; -+ free (jdata); -+ } - - /* Turn implicit and/or explicit back on in case we go over another file. */ - if (implicit_info) --- -2.43.7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild index 245527f3b29..b119a055499 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.88.3.ebuild @@ -23,7 +23,7 @@ INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build" LICENSE="LGPL-2.1+" SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~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="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/files/libassuan-3.0.0-remove-putc.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/files/libassuan-3.0.0-remove-putc.patch new file mode 100644 index 00000000000..191d0a9fbe8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/files/libassuan-3.0.0-remove-putc.patch @@ -0,0 +1,28 @@ +From 69069bc63e6b1152e34e39bc322132fd4fd7284d Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Tue, 25 Jun 2024 09:06:04 +0200 +Subject: [PATCH] Remove an declaration for an unused function + +* src/assuan-defs.h (putc_unlocked): Remove declaration. +-- + +It seems the test for putc_unlocked was remove a long time ago. +GnuPG-bug-id: 7111 +--- + src/assuan-defs.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/assuan-defs.h b/src/assuan-defs.h +index faf9aae..5052e8e 100644 +--- a/src/assuan-defs.h ++++ b/src/assuan-defs.h +@@ -431,9 +431,6 @@ char *stpcpy (char *dest, const char *src); + #define clearenv _assuan_clearenv + int setenv (const char *name, const char *value, int replace); + #endif +-#ifndef HAVE_PUTC_UNLOCKED +-int putc_unlocked (int c, FILE *stream); +-#endif + + + #define DIM(v) (sizeof(v)/sizeof((v)[0])) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild index 44c1d4ef25c..d50dba5a335 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0-r1.ebuild @@ -27,6 +27,7 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )" PATCHES=( "${FILESDIR}"/${PN}-3.0.0-fix-typo.patch + "${FILESDIR}"/${PN}-3.0.0-remove-putc.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild index f3ce959fd79..f94fe8652cd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1-r1.ebuild @@ -27,6 +27,7 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )" PATCHES=( "${FILESDIR}"/${PN}-3.0.0-fix-typo.patch + "${FILESDIR}"/${PN}-3.0.0-remove-putc.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest index b71dc11ecc0..a57a2459109 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest @@ -2,3 +2,5 @@ DIST libgcrypt-1.12.2.tar.bz2 4441855 BLAKE2B f52a10acdbf56a5adc927e22508a30d131 DIST libgcrypt-1.12.2.tar.bz2.sig 147 BLAKE2B 74adf984bda98e413f5f31aa3b2a60043773b387758caf3ec5e603ddd358bffdd58ec021c5828d1e45f2747f1766f0d63380ed4a5938565b829851e048b6279d SHA512 5991d26f0d59d646ba29c491e6952f31c970fb80b7928f999095d9f7d1435026c9304614558415c06254a81650ce08376ea09f7d93c657dfdb7ef014e58dbf28 DIST libgcrypt-1.12.3.tar.bz2 4472486 BLAKE2B 52043c1defdbaf3ed0618bfbac13f4186dd28a4b2507a93bc24f08a7b2e66bb77014ff875801a3e39fcfbc905224f6ff1bcee43dcd53c555c32940305cfa92fe SHA512 84c150730af55669e35d3d9109250ae28175da1b506de84117701464ac5c7e542163977a1eb2e5df4cdaa8c723ea759aa8c004cccc98251902482aff7f847cad DIST libgcrypt-1.12.3.tar.bz2.sig 147 BLAKE2B 48fbd27b81535caac67f56f71cff08bffcd689963bc7335d807393eb718a14f18e5fede6113a2a582d23ec820d1ef01ad2b6dde00d2163cc905e4710ca934687 SHA512 1a621c62ebe15a706d65b69709d1f415d7c73b68c48f4cf0fed1730e458f49e5e88ef4583514218a76f8c5fb6bb1fd98f2348e12978772af14f8fff7fee04fff +DIST libgcrypt-1.12.4.tar.bz2 4473329 BLAKE2B c30aed945b7050c38094258f5d4cad480e9b1fdf018378f07058542e129275d7be41cc7b512cda474d96c12c9920e0256e89242b2c2ee5dd4243e1f4bd178cb9 SHA512 632bac4146ba6b3d5e4672e28b1a8b276fcc8bf17961021240b080c6ea4470e46016968a39ee943d3dcd496bda5c9617bf7704bdec75be55847b738809053d8d +DIST libgcrypt-1.12.4.tar.bz2.sig 147 BLAKE2B 6f63c82e5e3a09edc667fc08d001cafdb0f786a10a0b341821535966b17d3a5cfbf4f9ab09c4a807cfd5b25807e52b62e9dec3c1e8f4df6dbe3e3bf9055db727 SHA512 ea1b0648bb88784049de0b0b323e0be8ad6c2d0f33541bb861ff02939847a7c23ced0815b5887b7ec0d1cde8d714d99e745be5adaa3040179c5ae4c6021cceb1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.4.ebuild new file mode 100644 index 00000000000..75d319333aa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.4.ebuild @@ -0,0 +1,185 @@ +# 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/gnupg.asc +inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="General purpose crypto library based on the code used in GnuPG" +HOMEPAGE="https://www.gnupg.org/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="LGPL-2.1+ GPL-2+ MIT" +SLOT="0/20" # subslot = soname major version +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="+asm doc +getentropy static-libs" +IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" +IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" +IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" + +# Build system only has --disable-arm-crypto-support right now +# If changing this, update src_configure logic too. +# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, +# but this looks like it might change in future. This is just a safety check +# in case people somehow do have a CPU which only supports some. They must +# for now disable them all if that's the case. +REQUIRED_USE=" + cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) + cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) + cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) + cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) +" + +RDEPEND=" + >=dev-libs/libgpg-error-1.56[${MULTILIB_USEDEP}] + getentropy? ( + kernel_linux? ( + elibc_glibc? ( >=sys-libs/glibc-2.25 ) + elibc_musl? ( >=sys-libs/musl-1.1.20 ) + ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( virtual/texi2dvi ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.12.0-multilib-syspath.patch + "${FILESDIR}"/${PN}-powerpc-darwin.patch +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/libgcrypt-config +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} == buildonly ]]; then + return + fi + if use kernel_linux && use getentropy; then + unset KV_FULL + get_running_version + if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then + eerror "The getentropy function requires the getrandom syscall." + eerror "This was introduced in Linux 3.17." + eerror "Your system is currently running Linux ${KV_FULL}." + eerror "Disable the 'getentropy' USE flag or upgrade your kernel." + die "Kernel is too old for getentropy" + fi + fi +} + +pkg_setup() { + : +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Temporary workaround for a build failure (known gcc issue): + # * https://bugs.gentoo.org/956605 + # * https://gcc.gnu.org/PR110812 + use riscv && filter-lto + + # Temporary workaround for mfpmath=sse on x86 causing issues when -msse is + # stripped as it's not clear cut on how to handle in flag-o-matic we can at + # least solve it the ebuild see https://bugs.gentoo.org/959349 + use x86 && filter-flags -mfpmath=sse + + # Hardcodes the path to FGREP in libgcrypt-config + export ac_cv_path_SED="sed" + export ac_cv_path_EGREP="grep -E" + export ac_cv_path_EGREP_TRADITIONAL="grep -E" + export ac_cv_path_FGREP="grep -F" + export ac_cv_path_GREP="grep" + + multilib-minimal_src_configure +} + +multilib_src_configure() { + if [[ ${CHOST} == powerpc* ]] ; then + # ./configure does a lot of automagic, prevent that + # generic ppc32+ppc64 altivec + use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no + use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no + # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support + use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no + # power9 vector extension, aka arch 3.00 ISA + use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local myeconfargs=( + CC_FOR_BUILD="$(tc-getBUILD_CC)" + + --enable-noexecstack + $(use_enable cpu_flags_arm_neon neon-support) + # See REQUIRED_USE comment above + $(use_enable cpu_flags_arm_aes arm-crypto-support) + $(use_enable cpu_flags_arm_sve sve-support) + $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) + $(use_enable cpu_flags_x86_aes aesni-support) + $(use_enable cpu_flags_x86_avx avx-support) + $(use_enable cpu_flags_x86_avx2 avx2-support) + $(use_enable cpu_flags_x86_avx512f avx512-support) + $(use_enable cpu_flags_x86_padlock padlock-support) + $(use_enable cpu_flags_x86_sha shaext-support) + $(use_enable cpu_flags_x86_sse4_1 sse41-support) + # required for sys-power/suspend[crypt], bug 751568 + $(use_enable static-libs static) + + # disabled due to various applications requiring privileges + # after libgcrypt drops them (bug #468616) + --without-capabilities + + $(use asm || echo "--disable-asm") + + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + ) + + if use kernel_linux; then + # --enable-random=getentropy requires getentropy/getrandom. + # --enable-random=linux enables legacy code that tries getrandom + # and falls back to reading /dev/random. + myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') +} + +multilib_src_compile() { + default + multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf +} + +multilib_src_test() { + # t-secmem and t-sexp need mlock which requires extra privileges; nspawn + # at least disallows that by default. + local -x GCRYPT_IN_ASAN_TEST=1 + # Avoid running (very) expensive bench-slope test. On hppa, it + # takes at least 7 hours. + local -x GCRYPT_NO_BENCHMARKS=1 + + default +} + +multilib_src_install() { + emake DESTDIR="${D}" install + multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf +} + +multilib_src_install_all() { + default + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest index 003295fb28a..6902dbc7f84 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 @@ -4,8 +4,10 @@ DIST tree-sitter-0.25.6.tar.gz 857070 BLAKE2B 3bb6b6130e1a96c96b5af4608bf60f8bbd 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.13.tar.gz 929207 BLAKE2B 3f2350daf8c9378990c9bad6a65beb53665357e3183c059cf7424a4b00d3c70a7e587c1eb29f70902eeaf03b4943e1dbfd20217e0487f49e6294a55d30f456a5 SHA512 3278ae1f65bc2cf4861f9fec1082089c155a59cc6fb96940cc56630518338327f9069ca144157e4e4d810fd437c45d46db8ce4974c66ffc63672b105b1e6aa72 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 DIST tree-sitter-0.26.7.tar.gz 907267 BLAKE2B 7e734913ab81e700192c8d829b136300d5507da2f0cd1e3b059df81202fcd8da76884e605bda48a13d4f4317f335d1cb2cdb1aa60fbcfcce021280106512e3ff SHA512 0060809339744be4b3b24bae8115d2793dc113618ab1a79c347456f5b8341b15d2026e7b62d2e4e3c5226c8bf85a089221133457a80bfdd0413cd82bf7c4a172 DIST tree-sitter-0.26.8.tar.gz 908286 BLAKE2B 92da23e47a25b618cf1645204455377f0cc16f5070f59356b53b088e41a0e7175f79ba3ee582388c462a188d2084b47ab21f40b0ae8ec4872c4098a2c8b4f6f3 SHA512 a5786e8235bceec2b4e8ed5ba035f143a3eabb587d33fa5d97c5e9e7a16c52b57dda72201b56c737ce3819b2d7cf53bef8852944d7a6a6ff85ea24a84fcb0042 +DIST tree-sitter-0.27.0.tar.gz 1020259 BLAKE2B 854ce5ad52d4de0d0b48187ade680f7e599bc9612e31058820fa2b79c6cd1d93e149bd2cfbef81809fa119c7e158715f707ebd1aaddc305ea4ed8bed35a4ee98 SHA512 80b29a718fa58909c57537e2ecf8e4df52384bf86ef60c15671f87d10292dfb4a2115243a505e809f02d6370f4ba0e74da0993bbc201d58593abf4819d1373ce diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.13.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.13.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-libs/tree-sitter/tree-sitter-0.27.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.27.0.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.27.0.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/ensurepip-pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest index cc088c7b0cc..6a96866423b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest @@ -1,2 +1,3 @@ DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0 DIST pip-26.1.2.gh.tar.gz 9268753 BLAKE2B 8cbf0ecf25a2bdd148506ca0e2e778b9053759cf5fed3914b915454bd8810b1d7a27e3b2efb5fd29c4e6b189c7e8050f0da15ae6c259712446b5a35f44018ee0 SHA512 e29c98a7da5e329183b7eef86a66f9d6c3473051f64aa6e762714306148547eb0de4220824484071822a9a62bd01a62a09ab16bba4c26e4b847bfc2609728608 +DIST pip-26.2.1.gh.tar.gz 9301563 BLAKE2B eb7b929de0e99c84c9b1257f1bf737f524eb6de01075d40b36519b082d8a49e107dbd0eded9a8bf737ce8f7d452c5e5cffb853b000d6ac2936b5b84dd607c770 SHA512 03a00bdc4387a4e7e4e54672e9198893500d279912ece4cd144f015c568c974ecc2c3c7bd6abf108df852302ddd49468ef0bc514ca4323ee037d754e2fbfaee0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.2.1.ebuild new file mode 100644 index 00000000000..bf2dc4f0212 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.2.1.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +# PYTHON_COMPAT is used only for testing +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 pypi + +FLIT_CORE_PV=3.12.0 + +MY_P=${P#ensurepip-} +DESCRIPTION="Shared pip wheel for ensurepip Python module" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/ +" +SRC_URI=" + https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz + test? ( + $(pypi_wheel_url flit-core "${FLIT_CORE_PV}") + ) +" +S=${WORKDIR}/${MY_P} + +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 test-rust" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${RDEPEND} + test? ( + tuple[str, list[str]]: + + # --python + if general_options.python and "_PIP_RUNNING_IN_SUBPROCESS" not in os.environ: ++ raise CommandError( ++ "--python option is not supported on Gentoo, as it requires bundled " ++ "dependencies that have been removed to improve security" ++ ) ++ + # Re-invoke pip using the specified Python interpreter + interpreter = identify_python_interpreter(general_options.python) + if interpreter is None: +diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py +index 4e8178d0a..b42a12064 100644 +--- a/src/pip/_internal/commands/debug.py ++++ b/src/pip/_internal/commands/debug.py +@@ -7,7 +7,6 @@ from optparse import Values + from types import ModuleType + from typing import Any + +-import pip._vendor + from pip._vendor.certifi import where + from pip._vendor.packaging.version import parse as parse_version + +@@ -186,9 +185,7 @@ class DebugCommand(Command): + show_value("REQUESTS_CA_BUNDLE", os.environ.get("REQUESTS_CA_BUNDLE")) + show_value("CURL_CA_BUNDLE", os.environ.get("CURL_CA_BUNDLE")) + show_value("pip._vendor.certifi.where()", where()) +- show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED) +- +- show_vendor_versions() ++ show_value("pip._vendor.DEBUNDLED", True) + + show_tags(options) + +diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py +index e1482b9cd..cc5758c1f 100644 +--- a/src/pip/_internal/commands/install.py ++++ b/src/pip/_internal/commands/install.py +@@ -546,13 +546,6 @@ class InstallCommand(RequirementCommand): + if options.target_dir or options.prefix_path: + warn_script_location = False + +- # Warn on late imports so we don't silently pick up a module +- # from a distribution pip is about to install. +- try: +- _eagerly_import_modules() +- finally: +- _prevent_further_imports() +- + installed = install_given_reqs( + to_install, + root=options.root_path, +diff --git a/tests/conftest.py b/tests/conftest.py +index c1a3d60ce..0b2b5fd98 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -532,9 +532,6 @@ def virtualenv_template( + tmpdir_factory: pytest.TempPathFactory, + pip_src: Path, + pip_editable_parts: tuple[Path, ...], +- setuptools_install: Path, +- coverage_install: Path, +- socket_install: Path, + ) -> VirtualEnvironment: + venv_type: VirtualEnvironmentType + if request.config.getoption("--use-venv"): +@@ -546,13 +543,6 @@ def virtualenv_template( + tmpdir = tmpdir_factory.mktemp("virtualenv") + venv = VirtualEnvironment(tmpdir.joinpath("venv_orig"), venv_type=venv_type) + +- # Install setuptools, pytest-subket, and pip. +- install_pth_link(venv, "setuptools", setuptools_install) +- install_pth_link(venv, "pytest_subket", socket_install) +- # Also copy pytest-subket's .pth file so it can intercept socket calls. +- with open(venv.site / "pytest_socket.pth", "w") as f: +- f.write(socket_install.joinpath("pytest_socket.pth").read_text()) +- + pth, dist_info = pip_editable_parts + + shutil.copy(pth, venv.site) +@@ -564,14 +554,6 @@ def virtualenv_template( + # detects changed files. + venv.site.joinpath("easy-install.pth").touch() + +- if request.config.getoption("--cov"): +- # Install coverage and pth file for executing it in any spawned processes +- # in this virtual environment. +- install_pth_link(venv, "coverage", coverage_install) +- # zz prefix ensures the file is after easy-install.pth. +- with open(venv.site / "zz-coverage-helper.pth", "a") as f: +- f.write("import coverage; coverage.process_startup()") +- + # Drop (non-relocatable) launchers. + for exe in os.listdir(venv.bin): + if not exe.startswith(("python", "libpy")): # Don't remove libpypy-c.so... +diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py +index acf99bc13..5425002e7 100644 +--- a/tests/functional/test_check.py ++++ b/tests/functional/test_check.py +@@ -10,10 +10,8 @@ from tests.lib import ( + def matches_expected_lines(string: str, expected_lines: Collection[str]) -> bool: + # Ignore empty lines + output_lines = list(filter(None, string.splitlines())) +- # We'll match the last n lines, given n lines to match. +- last_few_output_lines = output_lines[-len(expected_lines) :] + # And order does not matter +- return set(last_few_output_lines) == set(expected_lines) ++ return set(expected_lines).issubset(set(output_lines)) + + + def test_basic_check_clean(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py +index 92e55aca6..e6d5f6d51 100644 +--- a/tests/functional/test_freeze.py ++++ b/tests/functional/test_freeze.py +@@ -75,8 +75,8 @@ def test_basic_freeze(script: PipTestEnvironment) -> None: + ) + result = script.pip("freeze", expect_stderr=True) + expected = textwrap.dedent("""\ +- ...simple==2.0 +- simple2==3.0... ++ ...simple==2.0... ++ ...simple2==3.0... + """) + _check_output(result.stdout, expected) + +@@ -881,7 +881,7 @@ def test_freeze_skip_work_dir_pkg(script: PipTestEnvironment) -> None: + + # Freeze should not include package simple when run from package directory + result = script.pip("freeze", cwd=pkg_path) +- assert "simple" not in result.stdout ++ assert "\nsimple==" not in result.stdout + + + def test_freeze_include_work_dir_pkg(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_install_check.py b/tests/functional/test_install_check.py +index cb8312b53..174bb8f66 100644 +--- a/tests/functional/test_install_check.py ++++ b/tests/functional/test_install_check.py +@@ -61,6 +61,7 @@ def test_check_install_canonicalization(script: PipTestEnvironment) -> None: + ) + assert "requires" not in result.stderr + assert result.returncode == 0 ++ return + + # Double check that all errors are resolved in the end + result = script.pip("check") +diff --git a/tests/functional/test_list.py b/tests/functional/test_list.py +index 1acc28254..c10dd70ed 100644 +--- a/tests/functional/test_list.py ++++ b/tests/functional/test_list.py +@@ -1,5 +1,6 @@ + import json + import os ++import re + from pathlib import Path + + import pytest +@@ -43,8 +44,8 @@ def test_basic_list(simple_script: PipTestEnvironment) -> None: + + """ + result = simple_script.pip("list") +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_verbose_flag(simple_script: PipTestEnvironment) -> None: +@@ -56,8 +57,8 @@ def test_verbose_flag(simple_script: PipTestEnvironment) -> None: + assert "Version" in result.stdout, str(result) + assert "Location" in result.stdout, str(result) + assert "Installer" in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_columns_flag(simple_script: PipTestEnvironment) -> None: +@@ -68,8 +69,8 @@ def test_columns_flag(simple_script: PipTestEnvironment) -> None: + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple (1.0)" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_format_priority(simple_script: PipTestEnvironment) -> None: +@@ -81,16 +82,16 @@ def test_format_priority(simple_script: PipTestEnvironment) -> None: + ) + assert "simple==1.0" in result.stdout, str(result) + assert "simple2==3.0" in result.stdout, str(result) +- assert "simple 1.0" not in result.stdout, str(result) +- assert "simple2 3.0" not in result.stdout, str(result) ++ assert not re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert not re.search(r"simple2\s+3\.0", result.stdout), str(result) + + result = simple_script.pip("list", "--format=freeze", "--format=columns") + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple==1.0" not in result.stdout, str(result) + assert "simple2==3.0" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_local_flag(simple_script: PipTestEnvironment) -> None: +@@ -126,8 +127,8 @@ def test_multiple_exclude_and_normalization( + assert "Normalizable_Name" in result.stdout + assert "pip" in result.stdout + result = script.pip("list", "--exclude", "normalizablE-namE", "--exclude", "pIp") +- assert "Normalizable_Name" not in result.stdout +- assert "pip" not in result.stdout ++ assert "Normalizable_Name " not in result.stdout ++ assert "pip " not in result.stdout + + + @pytest.mark.usefixtures("enable_user_site") +diff --git a/tests/lib/venv.py b/tests/lib/venv.py +index a5d8704b2..81438f12e 100644 +--- a/tests/lib/venv.py ++++ b/tests/lib/venv.py +@@ -9,6 +9,7 @@ import venv as _venv + from pathlib import Path + from typing import Literal + ++import pytest + import virtualenv as _virtualenv + + VirtualEnvironmentType = Literal["virtualenv", "venv"] +@@ -35,7 +36,7 @@ class VirtualEnvironment: + self._venv_type = venv_type + else: + self._venv_type = "virtualenv" +- self._user_site_packages = False ++ self._user_site_packages = True + self._template = template + self._sitecustomize: str | None = None + self._update_paths() +@@ -155,6 +156,8 @@ class VirtualEnvironment: + + @user_site_packages.setter + def user_site_packages(self, value: bool) -> None: ++ if not value: ++ pytest.skip("Gentoo: skipping due to lack of system site-packages") + self._user_site_packages = value + self._rewrite_pyvenv_cfg( + {"include-system-site-packages": str(bool(value)).lower()} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.2.1.ebuild new file mode 100644 index 00000000000..5202b87527d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.2.1.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# please bump dev-python/ensurepip-pip along with this package! + +DISTUTILS_USE_PEP517=flit-core +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 pypi shell-completion +FLIT_CORE_PV=3.12.0 + +DESCRIPTION="The PyPA recommended tool for installing Python packages" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/ +" +SRC_URI=" + https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz + test? ( + $(pypi_wheel_url flit-core "${FLIT_CORE_PV}") + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test test-rust" +RESTRICT="!test? ( test )" + +# see src/pip/_vendor/vendor.txt +RDEPEND=" + >=dev-python/cachecontrol-0.14.3[${PYTHON_USEDEP}] + >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}] + >=dev-python/distlib-0.4.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.1.1[${PYTHON_USEDEP}] + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.3.8[${PYTHON_USEDEP}] + >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.33.1[${PYTHON_USEDEP}] + >=dev-python/rich-14.1.0[${PYTHON_USEDEP}] + >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}] + >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}] + >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/ensurepip-setuptools + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/scripttest[${PYTHON_USEDEP}] + completion.bash || die + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + tests/functional/test_lock.py::test_lock_archive + tests/functional/test_lock.py::test_lock_vcs + # broken by system site-packages use + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_install.py::test_install_subprocess_output_handling + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # broken by unbundling + "tests/functional/test_debug.py::test_debug[vendored library versions:]" + tests/functional/test_debug.py::test_debug__library_versions + tests/functional/test_freeze.py::test_freeze_multiple_exclude_with_all + tests/functional/test_install.py::test_install_package_with_same_name_in_curdir + tests/functional/test_pep517.py::test_nested_builds + tests/functional/test_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_basic_uninstall + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + tests/functional/test_install.py::test_install_warns_on_unexpected_post_install_import + # TODO + tests/functional/test_build_env.py::test_build_env_can_still_access_python_tools_on_system_path + tests/functional/test_build_env.py::test_build_env_console_scripts_use_venv_python[subprocess] + tests/functional/test_build_env.py::test_build_env_isolation[venv-inprocess] + tests/functional/test_build_env.py::test_build_env_isolation[venv-subprocess] + tests/functional/test_build_env.py::test_build_env_requirements_check[venv] + tests/functional/test_self_update.py::test_self_update_editable + ) + local EPYTEST_IGNORE=( + # from upstream options + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + local EPYTEST_PLUGINS=() + # rerunfailures because test suite breaks if packages are installed + # to system site-packages while it's running + local EPYTEST_RERUNS=5 + local EPYTEST_XDIST=1 + epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \ + --use-venv +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + newzshcomp completion.zsh _pip +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest index 8e96f9240dc..eda9b9a4b41 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 @@ -8,3 +8,5 @@ DIST platformdirs-4.11.5.tar.gz 34823 BLAKE2B f293190f29e9fa5417bd2eb4ce0f103948 DIST platformdirs-4.11.5.tar.gz.provenance 9871 BLAKE2B 026412ddd8cf20de7dc7b43c2cb02cb4812a537bcba18dcec5680d70ac8bb2deae31798fab48f288009dbf0360f94c72fe04332a38d415bc1cb59353c7de0293 SHA512 69e8fcfb25ac561c65562fa08205876fe47ea59d98f8fa53378871af81a0b213d6f3d13df883b54823687d8e91c031a666fda7588b280aa644ea1c4352c9c812 DIST platformdirs-4.11.7.tar.gz 35127 BLAKE2B 1cd3f4461c0f1c2c1c7ac62491d23a7d57ad14fb4f1a58f0ce78f72ea6fd9cc7ac2428dad2129a3ca70335377085a7854cd4d45ec229b178c65339377d3f439d SHA512 717cfe7407e3afcbd9a115d4a7758d8e70c96f7b26479c8d3144bc41aebe87852197b534a86c11c0c3ed01687955aacd049c656062fb3ca4e802476872a65197 DIST platformdirs-4.11.7.tar.gz.provenance 9640 BLAKE2B 2cbc679cbcabea84ba9533d4aedd50a9339f2c727823dab79726aa8d005fb8a4e65995b65b6df3d9924290d4c8f9e3266a459353eb713509af967d4536fe0acd SHA512 814547814683965b3285c82b66747b7c712ef01ec92e90be5ef4b50d9bb0e103cbcdc848dd7b27c2aa95dccbb4f813c64bc3dd76cb51bc9ce69b518cf3540f18 +DIST platformdirs-4.11.8.tar.gz 37182 BLAKE2B 223120ca204637bfa8b1f13182ea73aaf03d9d0abd6cba6a190e587fb9c3a7c27678ebe2893a662ada540e2de1fcd35e8bcd1b6caf52c0e8b0d696aeb522d6fd SHA512 eaca02bb4fd5526b68cd820cdddfbb2fc9a837d8a7c0f18afd2871b134738ec180406e9f886ad318b7c1812a751055f958756ccdd8942681fe78b0976c2f6eb5 +DIST platformdirs-4.11.8.tar.gz.provenance 9930 BLAKE2B 3039cea46b90560c85320e0f6dfc5d851efb047df90b3596ea1144bc3e1f09355a355b992885571459d18d7bfd9035f30092efed476f2c1c11e0d3c5a109ac3b SHA512 ec6d06cdf399f660f639fc741839244094cc6028c037b9ab24e66cdda1e91aa2ee7819d5b02c4e3adfa651d4cd0cd37374da580bbf5424ef973719e2cfa48606 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.ebuild index 42ae74868d3..b254fda552f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.3.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.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.8.ebuild new file mode 100644 index 00000000000..42ae74868d3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.8.ebuild @@ -0,0 +1,50 @@ +# Copyright 2021-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/tox-dev/platformdirs +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="A small Python module for determining appropriate platform-specific dirs" +HOMEPAGE=" + https://pypi.org/project/platformdirs/ + https://github.com/tox-dev/platformdirs/ +" + +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" + +BDEPEND=" + test? ( + dev-python/appdirs[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "hatchling' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "${PN}" + version = "${PV}" + description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".' + EOF + # sigh + cat > src/platformdirs/version.py <<-EOF || die + __version__ = version = '${PV}' + __version_tuple__ = version_tuple = (${PV//./, }) + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/Manifest new file mode 100644 index 00000000000..c15a1bb7a9f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/Manifest @@ -0,0 +1 @@ +DIST py-landlock-0.1.1.gh.tar.gz 33866 BLAKE2B 5322edc645818aabe14970f90994f98bb2c5b79f74f52a95af90a07ed32986e22efc8ea91e68f6b0a8c1b928c89bfc8fe5c3ea1192aee3f2d836c271ea5106f6 SHA512 b6504203b91f162b6e0a60ccdc651484a0296e26b6fb7a5fe3308d3da49cd17023bf27a8031ea12a10eb3622b96758e5073856579e6b94d845fa4ae5af059600 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/metadata.xml new file mode 100644 index 00000000000..77b8f8410ee --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/metadata.xml @@ -0,0 +1,13 @@ + + + + + python@gentoo.org + Python + + + + py-landlock + SebastienWae/py-landlock + + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/py-landlock-0.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/py-landlock-0.1.1.ebuild new file mode 100644 index 00000000000..9b39eb83130 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/py-landlock/py-landlock-0.1.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{12..15} ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for the Linux Landlock security module" +HOMEPAGE=" + https://pypi.org/project/py-landlock/ + https://github.com/SebastienWae/py-landlock +" +SRC_URI="https://github.com/SebastienWae/py-landlock/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64" + +EPYTEST_DESELECT=( + # tries to load an executable, with rule not aloowing libgcc.so.1 + "tests/e2e/test_filesystem_sandbox.py::TestFilesystemSandboxE2E::test_execute_allowed_succeeds" +) +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + default + + cat <<-EOF >> "${S}/pyproject.toml" + [build-system] + requires = ["hatchling"] + build-backend = "hatchling.build" + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest index 3f3c1004ea1..955ba47ffdf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest @@ -1,8 +1,8 @@ DIST setuptools_scm-10.2.1.tar.gz 154237 BLAKE2B 250978fc39815dc05f79aa5da3a688330c5a0a553e62e631f6781dda9551d5b077bb9bd07c70dec0fe340296f66d247a287bfe04dae60051212cd0b11bee1f65 SHA512 9ca752d7b6f56e4ba8d84d619099be04b0711719926e9e0fcbe9776bf42cb9485c78014532d0b787cf625820f664863a086dd7b600e8d1c54ae58ab6725187c0 DIST setuptools_scm-10.2.1.tar.gz.provenance 10217 BLAKE2B 305ce26746d8239bca467956131f6d61b10084218e72e668cdee2108af9c03da6597d663d7bbc8309e056c3865d4808538ac7187c31dcfdeb9f659571754ef4c SHA512 e1620b0da56d77d6ca658e993d7663a86ac3cd5eb7d4e31ce147d156ad3365d922aa28ab42cf61c8c85f0f8e2cc350590d1f5cf4b2a63def8517d963125f870f -DIST setuptools_scm-10.2.2.tar.gz 67111 BLAKE2B ce2f0eb600dbe7c6622bacb7307e8cc49273b516f9b907cb6cc93332c53e1ebdb5eab2e75312632931e7e81d519596dc38a40fb207341882c4aa98a05df3f347 SHA512 6b790910b6658c0843e8dd74ed21a2aa50eee67dbf20648ab7a466f020f871037f7826a0392c6398f515df5e7e57ed7c92bf855245d2e8b6275c73a5147e4dfe -DIST setuptools_scm-10.2.2.tar.gz.provenance 10207 BLAKE2B 4d2aed3ed9bfb79eceeb1ab5dd138afd11452beca54062c7a20523eaef910225e839c3548ef268ff1533697284ccda84fd902641e7c602bb79b5ab49b2103d36 SHA512 93502cdff448756fda9ff9ca45de0480a2250745a5fd63cc57b369d4378baf42755cf942925eb03fff90433b95c603293dd6014c032ccc16fba1edabfbc1bdb7 DIST setuptools_scm-10.2.3.tar.gz 67696 BLAKE2B 43d36a0ef3221f96d980311b5c4ac884320b7f54665fefe4f56e03ae3172954bd95f29bb881074bbb04f3c248c6140e7281b2ae5232f9fa09770449a5c7e5fcb SHA512 845403e925247c70f9399dc98da08e13fd5bbdbabb339ed380abccc07590eaf35efc592c04f5b8b44e55bbbf63d5c92e423fc12cf06534efafff20fb70c53f57 DIST setuptools_scm-10.2.3.tar.gz.provenance 10125 BLAKE2B 581394d2844a82bd6f4eabc86a6c77d355a573573140e151a4b0d99525e51ea0df8fec8cbae2c331764f4377b3c4283620d8f1336251218f1c14b58318a2e31a SHA512 304b057feab4715373caff13d24b4599e73711a9de0833b4f0e6422914be997ad63fbb4fb15b14329c03e772c89493c5b68d97d6b0a37e6d99c5907db77c4298 +DIST setuptools_scm-10.3.0.tar.gz 71052 BLAKE2B a9b5917a7829ae994a2db34d263e8f9e062bbc1afad9114c791cba5804f92b11d280a734fbe3ef3fc03e0563b7364b3a0d2e481ebac01001daddb3c841ce20c4 SHA512 aa4c078f087eaf5d4bc2e8a05df52967bb80b87f549b80a8f48985e9a000e46d263c0345deb31da37b697e946266007b4a08d3c9d94267315406218e19126694 +DIST setuptools_scm-10.3.0.tar.gz.provenance 10262 BLAKE2B 8683cf524082d4b651ca668434e99c9330cbaff39ffd9afbd5b18f14349524c3aef785073f17ff8730a9777a5e9acf2cd153a0db833095c82c29c8781f3be353 SHA512 4d53231f8f07eee46cdda8ff227b6acdd20a77886be31fdb399318c25433e47ac35f863f6cac8489064bfc176fb1ac421f9d1e3be5d1273acd82ce78919ab773 DIST setuptools_scm-9.2.2.tar.gz 203385 BLAKE2B 8577c4c6265ae851212be04b245b3da8b49d541174f5e675dea916c76b3cba5b5ab9f6264a97904e2d5ca02dee4e3f8eb88c9e8badbba2ed53bed531fe9f6b6c SHA512 757ca11a3d13601606b6914ea70e3d271d287f26ada976ec77334fc0f611208669585d2580994f1ddff830cd698a837d3e882dd5cdccdaf9f8eba34fdd8cb708 DIST setuptools_scm-9.2.2.tar.gz.provenance 9705 BLAKE2B b710df7f8cbb324aa2927243ab0416869319813016d64f589b7a9f565576fff58c1aee18da4ea9bc3fb5a969cf74c1fcaa1332812bf88267ec9f2bf437876e53 SHA512 6ac563d0ab5f1afce28976eb030364a451508ec7d47b6e99668c37b8ba09e3b56500b104d62ad6047fad9f6be0b2b6ebea66b561041485b9d15b84c39fe92313 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.3.0.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.3.0.ebuild index b131085f381..7fbf24dcbd0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.3.0.ebuild @@ -25,11 +25,11 @@ RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] >=dev-python/setuptools-64[${PYTHON_USEDEP}] =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}] - >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}] + >=dev-python/vcs-versioning-2.4.0[${PYTHON_USEDEP}] " BDEPEND=" =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}] - >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}] + >=dev-python/vcs-versioning-2.4.0[${PYTHON_USEDEP}] test? ( dev-python/build[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] 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 48f7bc5e691..ad37c033376 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest @@ -1,4 +1,3 @@ DIST setuptools-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-82.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-82.0.1.ebuild deleted file mode 100644 index 6a5b50a296e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-82.0.1.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# 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_{11..14} pypy3_11 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{13..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]' - ) - - 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 \ - -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 index 9a1c082bc45..65aa65470e0 100644 --- 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 @@ -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 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.6.ebuild index 44841966311..d5c3f774f53 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.6.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/snakeoil.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/Manifest new file mode 100644 index 00000000000..6e6087e62d6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/Manifest @@ -0,0 +1,2 @@ +DIST tomlkit-0.15.0.tar.gz 161875 BLAKE2B b3a6086665fd7ba5edc29c910ff762c2bf516a5604ba7efedfff9b886a5122d2dc9bb5c7aa9832f40fa3e98be32ce85d4d92ef2a15f7cc6193ce491286e859b8 SHA512 dfb7dbb44243f13e01c0b66aa9e0a49edba8c4d8cf720bc81b2faa30877599f465ba38e9235a0b4323100c4efd82d78659b25cf15b345ce5fc5376c3695b73e4 +DIST tomlkit-0.15.1.tar.gz 180129 BLAKE2B 4d1b00b7ef2a69ad412f16caac2f06febb3fbbc3f73d231f63b55612b66754b96565920cd01383251def682f4f93c4f393f620890d64d210c4c6edeefb503b06 SHA512 f47fec4f550167e5d95d19fe6d6bf1ee4f1587f852d12dd17c2d5b83410b510f891ee1235e70c8825ce4c1ac5b35126d4136f7dc02a07809c2642173be55bef1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/metadata.xml new file mode 100644 index 00000000000..0464c4b9533 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/metadata.xml @@ -0,0 +1,17 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + python@gentoo.org + Python + + + + tomlkit + python-poetry/tomlkit + + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.0.ebuild new file mode 100644 index 00000000000..b1ef93e8055 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Style preserving TOML library" +HOMEPAGE=" + https://github.com/python-poetry/tomlkit/ + https://pypi.org/project/tomlkit/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +BDEPEND=" + test? ( + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "poetry' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "tomlkit" + version = "${PV}" + description = "Style preserving TOML library" + EOF + + # some brilliant idea about forcing 1970 dates in sdist + # which are older than what zip can handle... + find -exec touch {} + || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.1.ebuild new file mode 100644 index 00000000000..8be2506a2f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomlkit/tomlkit-0.15.1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Style preserving TOML library" +HOMEPAGE=" + https://github.com/python-poetry/tomlkit/ + https://pypi.org/project/tomlkit/ +" + +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" + +BDEPEND=" + test? ( + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "poetry' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "tomlkit" + version = "${PV}" + description = "Style preserving TOML library" + EOF + + # some brilliant idea about forcing 1970 dates in sdist + # which are older than what zip can handle... + find -exec touch {} + || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest index 089dafe1be9..518c5a6cd63 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest @@ -1,2 +1,3 @@ DIST tree-sitter-0.25.2.gh.tar.gz 174357 BLAKE2B c136098245beff521e7bf26b58b0cb4adfcfbec05ad59f62949c422c414cd879a973390875c285b014593790a5fb243863cc2b82dbecbf3297f24b394b06350a SHA512 ee0ee294cd3380442bb6f4f62413590818bfa4afbde1601bb89c777e97dcee885a22a06e529913c2fb08d082f5de775ced9403ffd5d2ca35dcfd0b19072ee452 DIST tree-sitter-0.26.0.gh.tar.gz 174361 BLAKE2B 450b47a6b74abb445fdf88c75407d3a9b7273e644b9914179ec06bb4736c9c35a22efcbe50bfbae7a80d53160ee86d96ff9a4ed2b4250183969ab1236ebbe7f8 SHA512 595936f82d561bcd6aea83164b68d47336da06bd902f4c2756439df9f3282bbd4bca858849fda946b3ad3ea7b8d710f004096d1e989f331b3b7f13239b645de7 +DIST tree-sitter-0.26.0_p20260816.gh.tar.gz 174490 BLAKE2B e5dc3e908d5191db3d4376bbbbbbc8c23e7364d79e565fa53864e29dd9e9fa7d6ae2f6d951e8accf930b1bf11096bcdafc33b36f4178adfc245ff92c03f21711 SHA512 390932534f993264ac79d4bc44555f52d7180978294e46323f79498581b4a78569b34014ab45bad508c2a2d08dcade0c944861dc5b1363d9a764f5dbf2fc41f0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0_p20260816.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0_p20260816.ebuild new file mode 100644 index 00000000000..499b1a9c6d8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.26.0_p20260816.ebuild @@ -0,0 +1,60 @@ +# 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} ) + +COMMIT=2e556e540dd4ccce0e24c92d4413ef9ac85284a5 + +inherit distutils-r1 + +DESCRIPTION="Python bindings to the Tree-sitter parsing library" +HOMEPAGE=" + https://github.com/tree-sitter/py-tree-sitter/ + https://pypi.org/project/tree-sitter/ +" +SRC_URI=" + https://github.com/tree-sitter/py-tree-sitter/archive/${COMMIT}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/py-${PN}-${COMMIT} + +LICENSE="MIT" +SLOT="0" +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*:=" +RDEPEND=" + ${DEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-libs/tree-sitter-html-0.23.2[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-javascript-0.23.1[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-json-0.24.8[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-python-0.23.6[python,${PYTHON_USEDEP}] + >=dev-libs/tree-sitter-rust-0.23.2[python,${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-0.22.2-unbundle.patch +) + +src_unpack() { + default + rmdir "${S}/tree_sitter/core" || die +} + +src_test() { + rm -r tree_sitter || die + distutils-r1_src_test +} 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 ab01c2b4bd5..c8d210706d4 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,10 +1,8 @@ -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.1.tar.gz 156292 BLAKE2B 5d8ceee494d3d048e6e6102455123ff7b41a9ee6237d9788133189f90c77b55995f27a10a4209a87ff6f6e919ed57078b7e05bce3e271b2452d1eabf88bfe527 SHA512 31ea5d94b881eb19c709873086110498c64da4a3525f6eace82fe693ea7243b812f1434c20e08ad8c6ad9c3cb013831ecfe88834739dc60a9c1b78fb746c5dee DIST vcs_versioning-2.3.1.tar.gz.provenance 10199 BLAKE2B 3e9f7ba44894c8a28eadd9cf6d5398dd56ed53a60776e89d0f6eadbe379e0c0f6d973ebaa4580c96e1f7862bf711ab6e1db26f196c5bdff42f8e271ed2c053e5 SHA512 cbafe022dbcf0bc28db3d4e17a272f052ff2ab17c44a155a8e63b11fe640bdbdbec8ab4b9ba3fe8ed9028de3a756190e0b76eed1be692d7234a5086046839a3c -DIST vcs_versioning-2.3.2.tar.gz 149377 BLAKE2B 59ef750eef0f2bfe8a23697830bd1b30aaf262a875f4926d362a71390cec5ef38e7d741587751432ae02df563ec457aff1a72ec385887dce0927bb705197d7d5 SHA512 d50d809d2062e828181180d74f983aa68bb35e3cc985e5a14cad785da47a99c390b44da66ab473bcff22b49d340338ae2027efbb70087938ba23743550eaead0 -DIST vcs_versioning-2.3.2.tar.gz.provenance 10156 BLAKE2B a4ff73c5f12f0da7c2cbd20f9eff44a60fe9e9157a040439059f0e577744b0505b4fb870ad2c9c937dce791e06a366950db382b89e4dc5930fefb91d9e78bd96 SHA512 4f0de3cf863dc730cd5d2ac0e4802fbdd0803749254c4ec0e30095d2619ebcab52bcef284c46d95c6a9c4c679150c370bcd328b611b51e81c1bf8cc28db90195 DIST vcs_versioning-2.3.4.tar.gz 149647 BLAKE2B 1ca6aea0effd2d743140e23828ed025be1cb22190be1a971f31de912de539f70e1c6316472ed4d0535bee1dfd647771884e4297f6d58fc5f5362cfa932064c7f SHA512 6eebdf57d70f994e9f760c736fd66613eb639d72ee71737d9a8e9fb05edcc07a6532f0ee16dc4f6296f502f903300b86042892f57fe14ee4ab50fe10bc54dd8a DIST vcs_versioning-2.3.4.tar.gz.provenance 10246 BLAKE2B 562e356ece3ee4061fe5b55ffc9c7f67d621aa903c8cc8ac724789f4e8bae4f7a5044d49fed38130ac74afdaedc4f456af31aa9b9a24759e6580773c0d17d1fa SHA512 48e6903166bce3c2157f5c8622c07d254e3daa9ef14a404780fdc25d7d7bb9eea3a37a8c183c51df9fc1f0ee5d37cbaf8a2fb8454c4ea24f3b0b966f4651e02c +DIST vcs_versioning-2.4.0.tar.gz 160078 BLAKE2B ed7620ec9275d1f0e98699e37792de872b0e11b8ba5776efcab8903af45e2c0507cc2bd8b4f86d8df30d8271f4d7748f04674e231ef5e343af5c1da5d9a44c57 SHA512 4749ad4e6fd2ca3112b95f35c2f2dc1da9b29a3ae4eccc654a1838c2ac5329ad34058c52c0f32cb001eafac063d0dcc594f0d644a39875f62b084b9b9157ecf4 +DIST vcs_versioning-2.4.0.tar.gz.provenance 10246 BLAKE2B 2f628fcbd6094f3b3b75bbd665854abb17cd09fa0d7f8939e7fa360ac9be5de25b8ae65a54a601790fd92fa0d2fe6b0244908f7220004a13276bc725c0343435 SHA512 939467cf501b461fa34a79c399ee14e7b49d8ae657a3c6ebc80303bc9104dd51a01b086029b43ddee9a957172dae70bada7b31240ce0a48857b2365420fdbd7b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild deleted file mode 100644 index 2e9b08947fc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# 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 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.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.4.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.3.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.4.0.ebuild 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 index 1e3175ee5a5..7a96d6ad2d7 100644 --- 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 @@ -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/packaging-26.0[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0-r1.ebuild index 9d1f4259e7a..40c3e7a3714 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0-r1.ebuild @@ -3,11 +3,11 @@ EAPI=8 -LLVM_COMPAT=( {15..22} ) +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) -inherit bash-completion-r1 flag-o-matic linux-info llvm-r1 python-any-r1 toolchain-funcs +inherit flag-o-matic linux-info llvm-r2 python-any-r1 shell-completion toolchain-funcs DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" HOMEPAGE="https://github.com/libbpf/bpftool" @@ -68,7 +68,7 @@ CONFIG_CHECK="~DEBUG_INFO_BTF" pkg_setup() { linux-info_pkg_setup python-any-r1_pkg_setup - use llvm && llvm-r1_pkg_setup + use llvm && llvm-r2_pkg_setup } src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild index 9cd7b53c5d5..9df06e6fe7b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild @@ -3,11 +3,11 @@ EAPI=8 -LLVM_COMPAT=( {15..22} ) +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) -inherit bash-completion-r1 flag-o-matic linux-info llvm-r1 python-any-r1 toolchain-funcs +inherit flag-o-matic linux-info llvm-r2 python-any-r1 shell-completion toolchain-funcs DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" HOMEPAGE="https://github.com/libbpf/bpftool" @@ -68,7 +68,7 @@ CONFIG_CHECK="~DEBUG_INFO_BTF" pkg_setup() { linux-info_pkg_setup python-any-r1_pkg_setup - use llvm && llvm-r1_pkg_setup + use llvm && llvm-r2_pkg_setup } src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild index 2ae6aeae9be..22514e9243a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.88.3.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" RDEPEND=" ${PYTHON_DEPS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild index 98e4db1b59c..a4b22dbb102 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.88.3.ebuild @@ -14,7 +14,7 @@ LICENSE="LGPL-2.1+" SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature REQUIRED_USE="${PYTHON_REQUIRED_USE}" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~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="${PYTHON_DEPS}" DEPEND="${RDEPEND}" 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 8cdcc5e5fb7..06daf712c7e 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,2 +1,3 @@ DIST pkgcheck-0.10.42.tar.gz 422183 BLAKE2B 88afbf4b4a9ea9accb447e17eb4b16ae5960fadef8d14f4c30478e06df43aaa226066e5bf9ea90122f21b0a21caf4908e44069d41254726de8c90b302dacc60b SHA512 a2a30fd2757216a865dce76dd05190706e15ccd2682337e757461184abf3ac5e4ee450d6007820248c55052c1591c534cda94ea06cc29171c876a56ac25de5f8 DIST pkgcheck-0.10.43.tar.gz 430787 BLAKE2B 4d1d1b2bd5dbd9a05c026796c4053ee3b26b98ac857978cd7820cea2d4b0ad9bbdb001baaed46e8574ebbd9b39497c9448e3381d96d748cad76560e58a094d32 SHA512 73987234d6404dfa61f7019b380e76b729200f92b168ca38de1d7f8e6c968c42d471e4090bee94d4e7abbab6dcae6888db953f075c8345eca03714e521d714d2 +DIST pkgcheck-0.10.44.tar.gz 433078 BLAKE2B 51efce2b4e1ecb76a7773e057afc844d64029ec66cef0254c0cc7c286d8e76b3252466b00b60f73de07f60067c82ff2bf06a125d62074faab9c23986d21be154 SHA512 41c9f618bd6f3cc71beece63f2cd77f9e51ab8ba66a6b668fbfc1bf2429e99b4b1819e1565ddc03245751d7cfe204c8923750e19196b70f7daf02058e1e9fac6 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.43.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.43.ebuild index 64f7547482c..0b9e535a701 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.43.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.43.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/pkgcheck/pkgcheck-0.10.44.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.44.ebuild new file mode 100644 index 00000000000..64f7547482c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.44.ebuild @@ -0,0 +1,99 @@ +# 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.6[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.42[${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/pkgconf/pkgconf-3.0.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.7.ebuild index d77151edc86..9a0f0bc4e0f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.7.ebuild @@ -12,7 +12,7 @@ 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.55.0-cargo-meson-cross.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.55.0-cargo-meson-cross.patch new file mode 100644 index 00000000000..3363f16b365 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.55.0-cargo-meson-cross.patch @@ -0,0 +1,29 @@ +From cee6efe196baed28cd6f6000aa6ac415d1210dfe Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Tue, 8 Sep 2026 16:24:13 +0100 +Subject: [PATCH] rust: respect CARGO_BUILD_TARGET when locating build output + +When cross-compiling, Cargo always writes to a target-tuple subdirectory +determined by CARGO_BUILD_TARGET, even when it matches the native tuple. +The build looked in $BUILD_DIR/$BUILD_TYPE directly, so it failed to +locate the freshly built library. + +Respect CARGO_BUILD_TARGET in the output path so the correct artifact +is located. + +Signed-off-by: James Le Cuirot +--- a/src/cargo-meson.sh ++++ b/src/cargo-meson.sh +@@ -38,7 +38,7 @@ then + exit $RET + fi + +-if ! cmp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" >/dev/null 2>&1 ++if ! cmp "$BUILD_DIR/${CARGO_BUILD_TARGET-}/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" >/dev/null 2>&1 + then +- cp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" ++ cp "$BUILD_DIR/${CARGO_BUILD_TARGET-}/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" + fi +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.55.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.55.0.ebuild index 00523906b54..5bfca3b7e8e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.55.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.55.0.ebuild @@ -51,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~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 @@ -153,6 +153,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.54.0-0001-rust-don-t-pass-quiet-to-cargo.patch "${FILESDIR}"/${PN}-2.54.0-0002-rust-respect-CARGO-environment-variable.patch + "${FILESDIR}"/${PN}-2.55.0-cargo-meson-cross.patch ) pkg_setup() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass index e938a1119b2..ab759202549 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -561,7 +561,11 @@ cmake_src_configure() { # Fix xdg collision with sandbox xdg_environment_reset - local libdir=$(get_libdir) + local has_fortran=0 libdir=$(get_libdir) + + if has fortran-2 ${INHERITED}; then + has_fortran=1 + fi # Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.) local build_rules=${BUILD_DIR}/gentoo_rules.cmake @@ -571,7 +575,9 @@ cmake_src_configure() { set(CMAKE_ASM-ATT_LINK_FLAGS "-nostdlib" CACHE STRING "ASM-ATT link flags" FORCE) set(CMAKE_C_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "C compile command" FORCE) set(CMAKE_CXX_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "C++ compile command" FORCE) - set(CMAKE_Fortran_COMPILE_OBJECT " ${FCFLAGS} -o -c " CACHE STRING "Fortran compile command" FORCE) + if(${has_fortran}) # if has fortran-2 inherited + set(CMAKE_Fortran_COMPILE_OBJECT " ${FCFLAGS} -o -c " CACHE STRING "Fortran compile command" FORCE) + endif() # in Prefix we need rpath and must ensure cmake gets our default linker path # right ... except for Darwin hosts @@ -616,7 +622,9 @@ cmake_src_configure() { set(CMAKE_ASM-ATT_COMPILER "${myCC/ /;}") set(CMAKE_C_COMPILER "${myCC/ /;}") set(CMAKE_CXX_COMPILER "${myCXX/ /;}") - set(CMAKE_Fortran_COMPILER "${myFC/ /;}") + if(${has_fortran}) # if has fortran-2 inherited + set(CMAKE_Fortran_COMPILER "${myFC/ /;}") + endif() set(CMAKE_AR $(type -P $(tc-getAR)) CACHE FILEPATH "Archive manager" FORCE) set(CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH "Archive index generator" FORCE) set(CMAKE_SYSTEM_NAME "${sysname}") 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 3a252eba7e4..79536c973a2 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,5 +1,6 @@ DIST samba-4.23.10.tar.gz 43357789 BLAKE2B 7aadcf40bb32352198871677dddeeb5d537e6dc815ec63bc987bc8a51acdede85de718d6a3d969b82b1c936eb039177c216df20b7ebe05e230b71e5c83957639 SHA512 7e0775ded3ac54996d892ba5072aa3a2c89c47c2d56ff29d715ecd09d6ec8e12efa4fd9d87a1f5c3cf9228be46cdec150e6442f8da340bca17585f9cc3a96175 DIST samba-4.23.11.tar.gz 43369240 BLAKE2B 618fc0cf119e65129549f63e6271428d71df61275f4144085a403ac207f267b5c1aedb9f9ee5ac06618da04f9ff82b91c041d9e6e9369175d347b8e1f9b333e8 SHA512 457fb2d66b0141d9ff824cc8a25c1165a25c8b0740c07cf79fd4278ef6bd4636f12aa3334745226986df0c8a541132ff7e578527d3f0b28bf57d51b43763f8bf +DIST samba-4.23.12.tar.gz 43375165 BLAKE2B 8e120f85681f325f4c6f8e74a0219d2d625f4db89e5c43aec27c14d5276e9cbc60dcc738c3164f3d2c4c349da6d5eb71b93c90026cb0ef3d34dc7d97e0586fa7 SHA512 d1233c95f28b21f3c474ba083ecf1c9cd2bee5678660cd37e0b7f8ebbb62253b14c051d5f3a8a7634dfd80946cfb11180bebbe1b45a241c4ade1b2769a9d27b1 DIST samba-4.23.9.tar.gz 43340009 BLAKE2B 106fd5170015a1175bdd8221ece532f6b18dd7deb4ccaf22504cfaf6ca1706f5204d5be7d92455f8d7cc49e368c1142d3432fe1d1272c6cf50c57e54d8b37785 SHA512 8d6cd716e36db5f6e96bcd1bc3848f51b55f3c0ed039650fc0f78c15f03ae2f5669cf106166fb7f20feacb539b5296ec47212b72f7baf519c3e20b310bd8b950 DIST samba-4.24.4.tar.gz 43431734 BLAKE2B 7d8406ed473f88a009628b64e070611dbac2b70da3d49857f5add1a8066dac93c762d6947fe3f3ed12b316e4041f0af42fa897a842ab1110dd629146848d0f5f SHA512 3f6b8a99491d82fcb90115288e547b330afd452f7ed15f288085644a0ea9ccbd45645c5a75f2d5db6d2d888ff280e87ec252b48e0c064a0ca33cac39f24f123d DIST samba-4.24.5.tar.gz 43445051 BLAKE2B 4796e3ae5e70c1d11d9326566677f0909423c5aad140309bfd9b3f8a3dedefe49660d0a0d502a681726ed7a961779587c33c9da29ecf69664b00a2ca958e64af SHA512 dadaee50c61cc8076bd5f4e6e3a8be13b6aa6aeff33991277c7f5398ba9dea32e8d966c0206dec9cad240b935768b707f9c9dd6b60c3db433dcf8ddb30134088 diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.12.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.12.ebuild new file mode 100644 index 00000000000..3a5c53ddabe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.12.ebuild @@ -0,0 +1,400 @@ +# 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="threads(+),xml(+)" +inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" + +MY_PV="${PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} == *_rc* ]]; then + SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" +else + SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0/2.11.0" +IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" +IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" +IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" +IUSE+=" systemd test unwind winbind zeroconf" + +# ldap needs ads (bug #941578) +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( json python !system-mitkrb5 winbind ) + ads? ( acl ldap python winbind ) + cluster? ( ads ) + gpg? ( addc ) + ldap? ( ads ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" + +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/samba-4.0/policy.h + /usr/include/samba-4.0/dcerpc_server.h + /usr/include/samba-4.0/ctdb.h + /usr/include/samba-4.0/ctdb_client.h + /usr/include/samba-4.0/ctdb_protocol.h + /usr/include/samba-4.0/ctdb_private.h + /usr/include/samba-4.0/ctdb_typesafe_cb.h + /usr/include/samba-4.0/ctdb_version.h +) + +TALLOC_VERSION="2.4.3" +TDB_VERSION="1.4.14" +TEVENT_VERSION="0.17.1" + +COMMON_DEPEND=" + >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] + dev-lang/perl:= + dev-libs/icu:=[${MULTILIB_USEDEP}] + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/libtasn1:=[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] + >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] + !sys-libs/ldb + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-libs/ncurses:= + sys-libs/readline:= + >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}] + virtual/zlib:=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + virtual/libiconv + $(python_gen_cond_dep ' + addc? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ads? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/dnspython:=[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + net-dns/bind[gssapi] + ) + ') + acl? ( virtual/acl ) + ceph? ( sys-cluster/ceph ) + cluster? ( net-libs/rpcsvc-proto ) + cups? ( net-print/cups ) + debug? ( dev-util/lttng-ust ) + fam? ( virtual/fam ) + gpg? ( app-crypt/gpgme:= ) + json? ( dev-libs/jansson:= ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( + sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] + ) + snapper? ( sys-apps/dbus ) + system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] ) + system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] ) + !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) + systemd? ( sys-apps/systemd:= ) + unwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) + ) + zeroconf? ( net-dns/avahi[dbus] ) +" +DEPEND="${COMMON_DEPEND} + dev-perl/JSON + net-libs/libtirpc[${MULTILIB_USEDEP}] + net-libs/rpcsvc-proto + spotlight? ( dev-libs/glib ) + test? ( + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] + $(python_gen_cond_dep "dev-python/python-subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" ) + !system-mitkrb5? ( + >=net-dns/resolv_wrapper-1.1.4 + >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 + >=sys-libs/uid_wrapper-1.2.1 + ) + )" +RDEPEND="${COMMON_DEPEND} + client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-samba ) +" +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.18.4-pam.patch + "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch +) + +CONFDIR="${FILESDIR}/4.4" +WAF_BINARY="${S}/buildtools/bin/waf" +SHAREDMODS="" + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + export PYTHONHASHSEED=1 + + python-single-r1_pkg_setup + + SHAREDMODS="$(usev !snapper '!')vfs_snapper" + if use cluster ; then + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" + elif use ads ; then + SHAREDMODS+=",idmap_ad" + fi +} + +check_samba_dep_versions() { + actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) + if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then + eerror "Source talloc version: ${TALLOC_VERSION}" + eerror "Ebuild talloc version: ${actual_talloc_version}" + die "Ebuild needs to fix TALLOC_VERSION!" + fi + + actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) + if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then + eerror "Source tdb version: ${TDB_VERSION}" + eerror "Ebuild tdb version: ${actual_tdb_version}" + die "Ebuild needs to fix TDB_VERSION!" + fi + + actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) + if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then + eerror "Source tevent version: ${TEVENT_VERSION}" + eerror "Ebuild tevent version: ${actual_tevent_version}" + die "Ebuild needs to fix TEVENT_VERSION!" + fi +} + +src_prepare() { + default + + check_samba_dep_versions + + # Unbundle dnspython + sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die + + # Unbundle iso8601 unless tests are enabled + if ! use test ; then + sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die + fi + + # Ugly hackaround for bug #592502 + #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die + + # bug #943942 + append-cflags -std=gnu17 + + # WAF + multilib_copy_sources +} + +multilib_src_configure() { + # When specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + if ! use system-heimdal && ! use system-mitkrb5 ; then + bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" + fi + + # We "use" bundled cmocka when we're not running tests as we're + # not using it anyway. Means we avoid making users install it for + # no reason. bug #802531 + if ! use test ; then + bundled_libs="cmocka,${bundled_libs}" + fi + + # bug #874633 + if use llvm-libunwind ; then + mkdir -p "${T}"/${ABI}/pkgconfig || die + + local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}" + + cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die + exec_prefix=\${prefix} + libdir=/usr/$(get_libdir) + includedir=\${prefix}/include + + Name: libunwind-generic + Description: libunwind generic library + Version: 1.70 + Libs: -L\${libdir} -lunwind + Cflags: -I\${includedir} + EOF + fi + + bundled_libs="libquic,${bundled_libs}" + + local myconf=( + --enable-fhs + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" + --with-piddir="${EPREFIX}/run/${PN}" + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + --disable-rpath + --disable-rpath-install + --nopyc + --nopyo + --without-winexe + $(multilib_native_use_with acl acl-support) + $(multilib_native_usex addc '' '--without-ad-dc') + $(multilib_native_use_enable ceph cephfs) + $(multilib_native_use_with cluster cluster-support) + $(multilib_native_use_enable cups) + --without-dmapi + $(multilib_native_use_with fam) + $(multilib_native_use_enable glusterfs) + $(multilib_native_use_with gpg gpgme) + $(multilib_native_use_with json) + $(multilib_native_use_enable iprint) + $(multilib_native_use_with pam) + $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') + $(multilib_native_use_with quota quotas) + $(multilib_native_use_with regedit) + $(multilib_native_use_enable spotlight) + $(multilib_native_use_with syslog) + $(multilib_native_use_with systemd) + --systemd-install-services + --with-systemddir="$(systemd_get_systemunitdir)" + $(multilib_native_use_with unwind libunwind) + $(multilib_native_use_with winbind) + $(multilib_native_usex python '' '--disable-python') + $(multilib_native_use_enable zeroconf avahi) + $(multilib_native_usex test '--enable-selftest' '') + $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(use_with ads) + $(use_with debug lttng) + $(use_with ldap) + $(use_with profiling-data) + --private-libraries='!ldb' + $(usex lmdb '' --without-ldb-lmdb) + # bug #683148 + --jobs 1 + ) + + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 + + append-cppflags "-I${ESYSROOT}/usr/include/et" + + waf-utils_src_configure ${myconf[@]} +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_test() { + if multilib_is_native_abi ; then + "${WAF_BINARY}" test || die "Test failed" + fi +} + +multilib_src_install() { + waf-utils_src_install + + # Make all .so files executable + find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die + # smbspool_krb5_wrapper must only be accessible to root, bug #880739 + find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die + + # Remove empty runtime dirs created by build system (bug #892341) + find "${ED}"/{run,var} -type d -empty -delete || die + + if multilib_is_native_abi ; then + # Install ldap schema for server (bug #491002) + if use ldap ; then + insinto /etc/openldap/schema + doins examples/LDAP/samba.schema + fi + + # Create symlink for cups (bug #552310) + if use cups ; then + dosym ../../../bin/smbspool \ + /usr/libexec/cups/backend/smb + fi + + # Install example config file + insinto /etc/samba + doins examples/smb.conf.default + + # Fix paths in example file (bug #603964) + sed \ + -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ + -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ + -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ + -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ + -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ + -i "${ED}"/etc/samba/smb.conf.default || die + + # Install init script and conf.d file + newinitd "${CONFDIR}/samba4.initd-r1" samba + newconfd "${CONFDIR}/samba4.confd" samba + + dotmpfiles "${FILESDIR}"/samba.conf + if ! use addc ; then + rm "${D}/$(systemd_get_systemunitdir)/samba.service" \ + || die + fi + + # Preserve functionality for old gentoo-specific unit names + dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service" + dosym smb.service "$(systemd_get_systemunitdir)/smbd.service" + dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service" + + use python && python_optimize + fi + + if use pam && use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + # bugs #376853 and #590374 + insinto /etc/security + doins examples/pam_winbind/pam_winbind.conf + fi +} + +pkg_postinst() { + tmpfiles_process samba.conf + + if use addc || use ads ; then + optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild index 8c3bbd8837f..47f74ffc710 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -64,6 +64,12 @@ multilib_src_configure() { else itc_type="pipe" fi + + local -x mhd_cv_eventfd_usable + if use kernel_linux && tc-is-cross-compiler; then + mhd_cv_eventfd_usable=yes + fi + ECONF_SOURCE="${S}" \ econf \ --enable-shared \ diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/metadata.xml b/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/metadata.xml index f11e3023368..5b500a37da9 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-libs/libmicrohttpd/metadata.xml @@ -2,7 +2,7 @@ - k2k@narod.ru + k2k@drgrin.dev Evgeny Grin diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest index be336b78dd2..e753e03cf95 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest @@ -1,2 +1,6 @@ DIST libpcap-1.10.6.tar.gz 987897 BLAKE2B 1da8f60ffa572ad175f25723942e73d30caad7e0c412e5924881e117809da57ac5aec0bd7cebb083c3dcbc8bd47b75f183ec2458cb2a90843845d9f7069a1784 SHA512 69e530bc5b470875fba9d82e3b40f36c84cbab21354edb228679c590d3b519363e62611b10fdc4ec84f19159a0dba14330c72edb2d476417695f6500026fb079 DIST libpcap-1.10.6.tar.gz.sig 442 BLAKE2B cc87921fcab895a3ab242d11cad637bd8a523f28e1a39b4c752435ba25cfb375fbba93ddaa4098ae2e9f42026b28a98a0e44ddde72adae86a6264e1773252f67 SHA512 59bd2fdeae1702bbf39ba60adabd594a2caae354ccd6fa4e6f79472eb25b26c805048ee206551fb4264e522c8d83bfcba2930db56e8fb1e5526c3099b9d7aa87 +DIST libpcap-1.10.7.tar.gz 994575 BLAKE2B 4bf6938b602f9933846b23a90fae8e4b3354bda04cbd0ebaca6aee5b1463e0267e5f47ca77fa4286c18d50ba1ca0d36ad4a5b177a8589e6ffe9dd348fa0a4546 SHA512 905ad8bacb4aa820f55bc88017130f7bf2dc15ff4917f20fe603fc6e4f637f21d56909fe921065ccc615448af0537726a4df6d7fade82083603c94239ea947bc +DIST libpcap-1.10.7.tar.gz.sig 442 BLAKE2B 6a887322dcf11e485ec53e72000229a7cd4a28f102ff6bcbe0c16d174d8056126cb98afa4f47b503062938a7a5499a76b40e1908aa4093b10035735ad2edbf5a SHA512 5f33af9c2310ed34b548ad299ff832c16c0f888795c437c32dc9443f16668b324bf963713d872e573788f077ce552de774cf7b76247fd7780495b88da03669e1 +DIST libpcap-1.11.0.tar.gz 1052416 BLAKE2B 3a78632f7deb15611b681224562f76ba890fb760e1c681c418dd73999ed7b06cff52c678aa2f3f1d3299958f2676d3fe5ea33262e872254aad1dbfd40ba874b9 SHA512 6a29b24afe8fc5fe7761871b2067dba1df69624c4eb263765e4da0c6a5a8915e0b32ec6767e190b2459f8b2a691b1ac5d9867c3a2a9c8234ff9b623b5a84414b +DIST libpcap-1.11.0.tar.gz.sig 442 BLAKE2B 4e9cc8aaf4bf88a8b9c2e46c44d1dba2468034ca4b2f378ec977d010fedc20772ef9420a972443b8a82cd8c35932c89ee06a2aee8be015f022c4350a19a6eb77 SHA512 568f48b2cb15e2942e7adb3636a75ed7eacaf4aaa94c6c1efd6bc9a9296ecb7e7dedc3be64b4718493e0a23db4e6020981e012b0c7dd0c1a323101abce13b683 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.7.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.7.ebuild new file mode 100644 index 00000000000..22d4ca58f27 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.7.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multilib-minimal + +DESCRIPTION="A system-independent library for user-level network packet capture" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/libpcap" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/the-tcpdump-group/libpcap" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +# The project itself has COPYING with BSD, but the files used for +# the libpcap library itself seem to be a mix of BSD-with-attribution +# and BSD-4. +LICENSE="BSD BSD-with-attribution BSD-4" +SLOT="0" +IUSE="bluetooth dbus netlink rdma remote static-libs test usb yydebug" +RESTRICT="!test? ( test )" + +RDEPEND=" + bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) + remote? ( virtual/libcrypt:=[${MULTILIB_USEDEP}] ) + rdma? ( sys-cluster/rdma-core ) + usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + sys-devel/flex + dbus? ( virtual/pkgconfig ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260908 )" +fi + +src_prepare() { + default + + if ! [[ -f VERSION ]]; then + echo ${PV} > VERSION || die + fi + + eautoreconf +} + +multilib_src_configure() { + # bug #884275 + export LEX=flex + + local myeconfargs=( + $(use_enable bluetooth) + $(use_enable dbus) + $(use_enable rdma) + $(use_enable remote) + $(use_enable usb) + $(use_enable yydebug) + $(use_with netlink libnl) + --enable-ipv6 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake all shared + use test && emake testprogs +} + +multilib_src_test() { + testprogs/findalldevstest || die +} + +multilib_src_install_all() { + dodoc CREDITS CHANGES VERSION TODO README.* doc/README.* + + # remove static libraries (--disable-static does not work) + if ! use static-libs; then + find "${ED}" -name '*.a' -exec rm {} + || die + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.11.0.ebuild new file mode 100644 index 00000000000..1cea764e9dd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.11.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edo multilib-minimal multiprocessing + +DESCRIPTION="System-independent library for user-level network packet capture" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/libpcap" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/the-tcpdump-group/libpcap" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +# The project itself has COPYING with BSD, but the files used for +# the libpcap library itself seem to be a mix of BSD-with-attribution +# and BSD-4. +LICENSE="BSD BSD-with-attribution BSD-4" +SLOT="0" +IUSE="bluetooth dbus netlink rdma remote static-libs test usb yydebug" +RESTRICT="!test? ( test )" + +RDEPEND=" + bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) + remote? ( virtual/libcrypt:=[${MULTILIB_USEDEP}] ) + rdma? ( sys-cluster/rdma-core ) + usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + sys-devel/flex + dbus? ( virtual/pkgconfig ) + test? ( dev-lang/perl ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260908 )" +fi + +src_prepare() { + default + + if ! [[ -f VERSION ]]; then + echo ${PV} > VERSION || die + fi + + eautoreconf +} + +multilib_src_configure() { + # bug #884275 + export LEX=flex + + local myeconfargs=( + $(use_enable bluetooth) + $(use_enable dbus) + $(use_enable rdma) + $(use_enable remote) + $(use_enable usb) + $(use_enable yydebug) + $(use_with netlink libnl) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake all shared +} + +multilib_src_test() { + if has_version -b "dev-lang/perl[perl_features_ithreads]" ; then + # errors out if this is set w/o ithreads + local -x TESTRUN_JOBS=$(get_makeopts_jobs) + else + ewarn "Running tests serially without dev-lang/perl[perl_features_ithreads]" + fi + + emake -Onone check + edo testprogs/findalldevstest +} + +multilib_src_install_all() { + dodoc CREDITS CHANGES VERSION README.* doc/README.* + + # remove static libraries (--disable-static does not work) + if ! use static-libs; then + find "${ED}" -name '*.a' -exec rm {} + || die + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild index 274e05fb4bc..1cea764e9dd 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-9999.ebuild @@ -3,9 +3,9 @@ EAPI=8 -inherit autotools multilib-minimal +inherit autotools edo multilib-minimal multiprocessing -DESCRIPTION="A system-independent library for user-level network packet capture" +DESCRIPTION="System-independent library for user-level network packet capture" HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/libpcap" if [[ ${PV} == *9999* ]] ; then @@ -42,10 +42,11 @@ BDEPEND=" app-alternatives/yacc sys-devel/flex dbus? ( virtual/pkgconfig ) + test? ( dev-lang/perl ) " if [[ ${PV} != *9999* ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260908 )" fi src_prepare() { @@ -70,7 +71,6 @@ multilib_src_configure() { $(use_enable usb) $(use_enable yydebug) $(use_with netlink libnl) - --enable-ipv6 ) ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" @@ -78,15 +78,22 @@ multilib_src_configure() { multilib_src_compile() { emake all shared - use test && emake testprogs } multilib_src_test() { - testprogs/findalldevstest || die + if has_version -b "dev-lang/perl[perl_features_ithreads]" ; then + # errors out if this is set w/o ithreads + local -x TESTRUN_JOBS=$(get_makeopts_jobs) + else + ewarn "Running tests serially without dev-lang/perl[perl_features_ithreads]" + fi + + emake -Onone check + edo testprogs/findalldevstest } multilib_src_install_all() { - dodoc CREDITS CHANGES VERSION TODO README.* doc/README.* + dodoc CREDITS CHANGES VERSION README.* doc/README.* # remove static libraries (--disable-static does not work) if ! use static-libs; then diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/chrony/Manifest index fdc9e493a85..3bf2d9871f0 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/Manifest @@ -1,2 +1,4 @@ DIST chrony-4.8.tar.gz 649368 BLAKE2B d84e9911d33b59af3022e4b01e46ad26c33b0feb5b99975dba9b88d15b4e0f51c6fecbc44bb77b3027008d203d5cee7e6a4afe0d4ab97a9f6fc1609742972dfe SHA512 949b796bb34db32a5c1b9e6b53be6a22e51c59f24a316d585b8a52a52ab1f61bdf0378dc58b282bb0ba4fac1f05e1e99fbe37cb4259aa2b359e7bf679c176aab DIST chrony-4.8.tar.gz.asc 833 BLAKE2B b4bf02e67294ebdcba875787fdca5dfcae890d6e1b464c6f351d05f29ef403541bc90c120e446a2c270d968a2de0092f362229ae7c436297bc481b7aed606ae6 SHA512 df7f4e06f74a4b8c9a49e8fe57ea02e0324c5683d036412c32192a09f08e08f33537609cef8df0b4302bfcd63332b3092f33f40c8d02857c93ecea13822b5b47 +DIST chrony-4.9.tar.gz 663809 BLAKE2B e1bcfa05c040d0f04aa39f2c01d7877ba2bcd87829d09b3a72079fd5e6930a17d3f022d0c4795488c6f9a9cb77020cb10845dbfba05dc59f0f2297d500fc8e1a SHA512 9eeee9738727e86562d75e4aee60916957e0626b767d9fea325918d3973e02b3f252c32fd1c4b4cf8461406acccbc8196d6f7d2e9d2d3ce205bc3245b83924b5 +DIST chrony-4.9.tar.gz.asc 833 BLAKE2B 19b9ff067b1c301fd3c5219651608e907794c646802c2136cd7dfc7cc621e80eacaa809446f2ed77437e532ef37f31d677e3d617b72aa5f667e2cae219e6ae92 SHA512 35569a877a633e64d3d85e36c8f4af330e2bcadcb0e8dc785f2766b3b33bfebcf1d66982fa2af44537d58dcfd16d8613a50da7d71f53e96b3fcdb5bf215f0464 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.9.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.9.ebuild new file mode 100644 index 00000000000..bfaa748c3ae --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.9.ebuild @@ -0,0 +1,293 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo systemd tmpfiles toolchain-funcs + +DESCRIPTION="NTP client and server programs" +HOMEPAGE="https://chrony-project.org/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.com/chrony/chrony.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/mlichvar.asc + inherit verify-sig + + SRC_URI="https://chrony-project.org/releases/${P/_/-}.tar.gz" + SRC_URI+=" verify-sig? ( https://chrony-project.org/releases/${P/_/-}-tar-gz-asc.txt -> ${P/_/-}.tar.gz.asc )" + + if [[ ${PV} != *_pre* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +S="${WORKDIR}/${P/_/-}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+caps +cmdmon debug html libtomcrypt +nettle nss +nts +phc pps +readline +refclock +rtc samba +seccomp +sechash selinux" +# nettle > nss > libtomcrypt in configure +REQUIRED_USE=" + sechash? ( || ( nettle nss libtomcrypt ) ) + nettle? ( !nss ) + nss? ( !nettle ) + libtomcrypt? ( !nettle !nss ) + !sechash? ( !nss ) + !sechash? ( !nts? ( !nettle ) ) +" + +DEPEND=" + caps? ( + sys-libs/libcap + ) + libtomcrypt? ( dev-libs/libtomcrypt:= ) + nettle? ( dev-libs/nettle:= ) + nss? ( dev-libs/nss:= ) + nts? ( net-libs/gnutls:= ) + pps? ( net-misc/pps-tools ) + readline? ( dev-libs/libedit ) + seccomp? ( sys-libs/libseccomp ) +" +RDEPEND=" + ${DEPEND} + caps? ( + acct-group/ntp + acct-user/ntp + ) + selinux? ( sec-policy/selinux-chronyd ) +" +BDEPEND=" + caps? ( + acct-group/ntp + acct-user/ntp + ) + html? ( dev-ruby/asciidoctor ) + nts? ( virtual/pkgconfig ) + sechash? ( + nettle? ( virtual/pkgconfig ) + nss? ( virtual/pkgconfig ) + ) +" + +if [[ ${PV} == 9999 ]] ; then + # Needed for doc generation in 9999 + REQUIRED_USE+=" html" + BDEPEND+=" + app-alternatives/yacc + virtual/w3m + " +else + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-mlichvar-20210513 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.8-pool-vendor-gentoo.patch + "${FILESDIR}"/${PN}-4.7-systemd-gentoo.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + # FP, checks with macro afterwards (bug #907877) + recvmmsg +) + +src_prepare() { + default + + sed -i \ + -e 's:/etc/chrony\.conf:/etc/chrony/chrony.conf:g' \ + doc/* examples/* || die + + cp "${FILESDIR}"/chronyd.conf-r3 "${T}"/chronyd.conf || die +} + +src_configure() { + if ! use caps ; then + sed -i \ + -e 's/ -u ntp//' \ + "${T}"/chronyd.conf examples/chronyd.service || die + fi + + if ! use seccomp ; then + sed -i \ + -e 's/ -F 2//' \ + "${T}"/chronyd.conf examples/chronyd.service || die + fi + + tc-export CC PKG_CONFIG + + # Update from time to time with output from "date +%s" + # on a system that is time-synced. + export SOURCE_DATE_EPOCH=1607976314 + + # Not an autotools generated script + local myconf=( + # TODO: Do we want to wire up --with-user= and --with-chronyc-user? + # Need to check how it interacts with the init script & systemd unit. + $(use_enable seccomp scfilter) + + $(usev !caps '--disable-linuxcaps') + $(usev !cmdmon '--disable-cmdmon') + $(usev debug '--enable-debug') + + # USE=readline here means "readline-like functionality" + # chrony only supports libedit in terms of the library providing + # it. + $(usev !readline '--without-editline --disable-readline') + + $(usev !libtomcrypt '--without-tomcrypt') + $(usev !nettle '--without-nettle') + $(usev !nss '--without-nss') + $(usev !nts '--disable-nts') + $(usev !nts '--without-gnutls') + $(usev !phc '--disable-phc') + $(usev !pps '--disable-pps') + $(usev !refclock '--disable-refclock') + $(usev !rtc '--disable-rtc') + $(usev samba '--enable-ntp-signd') + $(usev !sechash '--disable-sechash') + + --chronysockdir="${EPREFIX}/run/chrony" + --docdir="${EPREFIX}/usr/share/doc/${PF}" + --mandir="${EPREFIX}/usr/share/man" + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc/chrony" + --with-hwclockfile="${EPREFIX}/etc/adjtime" + --with-pidfile="${EPREFIX}/run/chrony/chronyd.pid" + + ${EXTRA_ECONF} + ) + + # OPERATINGSYSTEM=`uname -s` (--host-system=) + # VERSION=`uname -r` (--host-release=) + # MACHINE=`uname -m` (--host-machine=) + if tc-is-cross-compiler ; then + case "${KERNEL}" in + linux) + myconf+=( + --host-system=Linux + --host-machine=$(tc-arch-kernel) + ) + ;; + *) + # The build system hardcodes uname output for comparison, + # so require the ebuild to be explicitly updated when cross-compilation + # to another target is tested. + die "Unknown target for cross-compiling Chrony: please adjust ebuild." + ;; + esac + fi + + # Print the ./configure call + edo ./configure "${myconf[@]}" || die +} + +src_compile() { + if [[ ${PV} == 9999 ]] ; then + # Uses w3m + emake -C doc man txt + fi + + emake all docs $(usev !html 'ADOC=true') +} + +src_install() { + default + + # Compatibility with other distributions who install to /etc/chrony.conf (bug #835461) + dosym -r /etc/chrony/chrony.conf /etc/chrony.conf + + newinitd "${FILESDIR}"/chronyd.init-r2 chronyd + newconfd "${T}"/chronyd.conf chronyd + + insinto /etc/${PN} + newins examples/chrony.conf.example1 chrony.conf + + docinto examples + dodoc examples/*.example* + + newtmpfiles - chronyd.conf <<<"d /run/chrony 0750 $(usex caps 'ntp ntp' 'root root')" + + if use html ; then + docinto html + dodoc doc/*.html + fi + + keepdir /var/{lib,log}/chrony + + if use caps ; then + # Prepare a directory for the chrony.drift file (a la ntpsec) + # Ensures the environment is sane on new installs + # bug #711058 + fowners ntp:ntp /var/{lib,log}/chrony + fperms 770 /var/lib/chrony + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}"/chrony-2.4-r1.logrotate chrony + + systemd_dounit examples/chronyd.service + systemd_dounit examples/chrony-wait.service + systemd_enable_ntpunit 50-chrony chronyd.service +} + +pkg_preinst() { + HAD_CAPS=0 + HAD_SECCOMP=0 + HAD_PRE_NEW_SECCOMP_LEVEL=0 + + # See https://dev.gentoo.org/~zmedico/portage/doc/portage.html#package-ebuild-phases-after-2.1.5 + # in "Ebuild Phases" for an explanation of why we need to save the variable beforehand + if has_version 'net-misc/chrony[caps]' ; then + HAD_CAPS=1 + fi + + if has_version 'net-misc/chrony[seccomp]' ; then + HAD_SECCOMP=1 + fi + + if has_version '>=net-misc/chrony-4.1[seccomp]' ; then + # This version introduced a new filter level: -F 2 + # It's a limited set of seccomp filters designed to be 'bare minimum' + HAD_PRE_NEW_SECCOMP_LEVEL=1 + fi +} + +pkg_postinst() { + tmpfiles_process chronyd.conf + + if [[ -n "${REPLACING_VERSIONS}" ]] ; then + if use caps && ! [[ ${HAD_CAPS} -eq 1 ]] ; then + # bug #719876 + ewarn "Please adjust permissions on ${EROOT}/var/{lib,log}/chrony to be owned by ntp:ntp" + ewarn "e.g. chown -R ntp:ntp ${EROOT}/var/{lib,log}/chrony" + ewarn "This is necessary for chrony to drop privileges" + elif ! use caps && [[ ${HAD_CAPS} -eq 0 ]] ; then + ewarn "Please adjust permissions on ${EROOT}/var/{lib,log}/chrony to be owned by root:root" + fi + fi + + # See bug #783915 for general discussion on enabling seccomp filtering + # by default. + local show_seccomp_enable_msg=0 + + # Was seccomp disabled before and now enabled? + if [[ ${HAD_SECCOMP} -eq 0 ]] && use seccomp ; then + show_seccomp_enable_msg=1 + fi + + # Are we coming from an old version without the new 'minimal' filter? + # (-F 2) + if [[ ${HAD_PRE_NEW_SECCOMP_LEVEL} -eq 0 ]] ; then + show_seccomp_enable_msg=1 + fi + + if [[ ${show_seccomp_enable_msg} -eq 1 ]] ; then + elog "To enable seccomp in a stricter mode, please modify:" + elog "- ${EROOT}/etc/conf.d/chronyd for OpenRC" + elog "- systemctl edit chronyd for systemd" + elog "to use -F 1 or -F -1 instead of -F 2 (see man chronyd)" + elog "By default, we now use -F 2 which is a baseline/minimal filter." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest index b2d5740401c..f23ba876934 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest @@ -1,7 +1,5 @@ -DIST curl-8.19.0.tar.xz 2787584 BLAKE2B d4a943af9a109893112876784dbe106276317e6cd5a2663f4de143c93abb4e266945fa65b4a5fa842f99240c961b027a1b2492e3e32f5247a91c394895e2b8b0 SHA512 ee97faaf588b255428000599293c47a2f648af11d1a0b7b823db6aec151e2090f5c7b921745ddb2c3818d92b16e0a4c15d7a9b3d1ff45df1f35438504bd16574 -DIST curl-8.19.0.tar.xz.asc 488 BLAKE2B 0031029301586546bf2a50e00fdf16042da14ac26c2294d033274ed9cd9303c81c3997935b17b3b4202356c972eeed2b354cb623c790fa3983481587ed2ecf35 SHA512 ea3d4f2f42ec6571340e982868c5a35836eed2b76109b08b90b98023474293ad33a7218da511f153d01de607b735fc039a0733fa09fddd984fd7e2c61ee0446a -DIST curl-8.20.0.tar.xz 2834456 BLAKE2B 5b61a1099212af9b3c18629fd0b6c93881014e7b02ed5171021a2a074a87786ff8f8e94a47c53c3ca83354cfbe74f7d917cae819c97011c0ff9e4ace014e01c2 SHA512 edfa5882aaeefcf2226fe03b19246151c0377c3656f9c8cc385bdaf34565e1354e762005b58780917a6d98039ae34085e4a4bcb44255c77e3b0e1d94090c010b -DIST curl-8.20.0.tar.xz.asc 488 BLAKE2B 918959b650c41f7f938e18a71fe24682d94984b74b0726de822ea84b7202734096350eccc69ce1cf624c97c8ec86a5ba753866c572db4ca4d5f9472b591f860b SHA512 188b7f664ed0cd4b1b0a8eb743a9b05e54fca38dbfe56c38a1591942c64c1c79dc29466745d8ec824513809708b13d9c7ced52b15eb71522da32e8a633a66488 DIST curl-8.21.0-hang.patch.xz 7996 BLAKE2B d14f862bce661b8ff8218ea5504abef9cebaff20be05026c226e50d19e176d8a2633949e39fec2abe006a7a63e94a31318cf37a6e15995a72e12fb352367947b SHA512 6c3c451685d159b79cc42602298a5a0b851019585a8c0ee7f53722b339a3b93abb2ef2aa1693b322a95ea4066d4cb907d80fbeda1ca0fa62a9d9e91d5eb4f39c DIST curl-8.21.0.tar.xz 2882336 BLAKE2B 230989e586a592b2aee768a1a6d48f1c8247e4d26afd0787a94f45faa9fbebcda5c9a8e2b739fb5a2ada151c13b09a8e2319825e9314fcc894377f24e92d338f SHA512 5f7c646e5a3d4d3d8b8a3675adfa29c266a3148599d510d24f91c82d6ff064bfafce420af01522f8be973019619f3eee5e970398fa79be168b77f697c52bf8e5 DIST curl-8.21.0.tar.xz.asc 488 BLAKE2B 6b61b1e55ff198f2c614dd7c099ffde84e0b22f469c6bd688797333af3b7c83f38da1a819d3acdd5b6a8c24c2d6c4175daabbe20c826d5d112d0258aa30b86bc SHA512 bb860d59a7117b0a484c06be80f305897af2b2f6d6c64b763b20e71073d8c36f74c3de85c1e449e65ead832903369b76ee0afc382932e3d9a1cc7253f00afb69 +DIST curl-8.22.0.tar.xz 2953092 BLAKE2B 1efe036ae4ba6bc1e2bcf7bae2229e2c3be8e9d72a0f32f6c1f192d277f625f77786cf538593ad59a7873b477ff3566412d3404d6ccd202c0f7055b6d3a45d25 SHA512 d6badf794e7a72760a353db73adb8b671804ce41619b401265b22dc8f6770ebeaa5adb3c4d1312722082c56013612a382884e025cca49397a8ab47577dd659f7 +DIST curl-8.22.0.tar.xz.asc 488 BLAKE2B fd59df965c8802f6a0a7d8f12fac011e169022a709ce03393b2e3c585131e58dbcee649139bc8448b88641535b641a847a8b293dd230f75971fb518afa79553c SHA512 8db55bc5d9464572f2de38a0d5bb69f2ea843bfd5b83998ab3bb4f5a818ab8a61526ccc3c589204035a8d37376414096f88206bec7ac4661b7e7bd5049f82914 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild deleted file mode 100644 index 8b90ba86adc..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild +++ /dev/null @@ -1,427 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should subscribe to the 'curl-distros' ML for backports etc -# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ -# https://lists.haxx.se/listinfo/curl-distros - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc -inherit dot-a autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.se/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/curl/curl.git" -else - if [[ ${P} == *rc* ]]; then - CURL_URI="https://curl.se/rc/" - S="${WORKDIR}/${P//_/-}" - else - CURL_URI="https://curl.se/download/" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - fi - SRC_URI=" - ${CURL_URI}${P//_/-}.tar.xz - verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) - " -fi - -LICENSE="BSD curl ISC test? ( BSD-4 )" -SLOT="0" -IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" -IUSE+=" mbedtls +openssl +pop3 +psl +quic rtmp rustls samba sasl-scram +smtp ssh ssl static-libs test" -IUSE+=" telnet +tftp +websockets zstd" -# These select the default tls implementation / which quic impl to use -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" -RESTRICT="!test? ( test )" - -# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to -# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested -# in addition to A and AAAA records. - -# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). -# HTTPS RR in cURL is a dependency for: -# - ECH (requires patched openssl or gnutls currently, enabled with rustls) -# - Fetching the ALPN list which should provide a better HTTP/3 experience. - -# Only one default ssl / quic provider can be enabled -# The default provider needs its USE satisfied -# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. -# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e -REQUIRED_USE=" - ech? ( rustls ) - httpsrr? ( adns ) - quic? ( - ^^ ( - openssl - gnutls - ) - !mbedtls - !rustls - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_ssl_gnutls? ( gnutls ) - curl_ssl_mbedtls? ( mbedtls ) - curl_ssl_openssl? ( openssl ) - curl_ssl_rustls? ( rustls ) - http3? ( alt-svc httpsrr quic ) -" - -# cURL's docs and CI/CD are great resources for confirming supported versions -# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: -# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) -# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) -# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) -# However 'supported' vs 'works' are two entirely different things; be sane but -# don't be afraid to require a later version. -# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. -RDEPEND=" - >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] - adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) - http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) - idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) - quic? ( - gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] ) - openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] ) - ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] ) - sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) - ssl? ( - gnutls? ( - app-misc/ca-certificates - >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:=[${MULTILIB_USEDEP}] - ) - mbedtls? ( - app-misc/ca-certificates - net-libs/mbedtls:3=[${MULTILIB_USEDEP}] - ) - openssl? ( - >=dev-libs/openssl-1.0.2:=[static-libs?,${MULTILIB_USEDEP}] - ) - rustls? ( - >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] - ) - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" - -DEPEND="${RDEPEND}" - -BDEPEND=" - dev-lang/perl - virtual/pkgconfig - test? ( - sys-apps/diffutils - http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) - http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) - ) - verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) -" - -DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -QA_CONFIG_IMPL_DECL_SKIP=( - __builtin_available - closesocket - CloseSocket - getpass_r - ioctlsocket - IoctlSocket - mach_absolute_time - setmode - _fseeki64 - # custom AC_LINK_IFELSE code fails to link even without -Werror - OSSL_QUIC_client_method -) - -PATCHES=( - "${FILESDIR}/${PN}-prefix-6.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" - "${FILESDIR}/${PN}-8.18.0-restore-heimdal.patch" -) - -src_prepare() { - default - - eprefixify curl-config.in - eautoreconf -} - -# Generates TLS-related configure options based on USE flags. -# Outputs options suitable for appending to a configure options array. -_get_curl_tls_configure_opts() { - local tls_opts=() - - local backend flag_name - for backend in gnutls mbedtls openssl rustls; do - if [[ "$backend" == "openssl" ]]; then - flag_name="ssl" - tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") - else - flag_name="$backend" - fi - - if use "$backend"; then - tls_opts+=( "--with-${flag_name}" ) - else - # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback - if ! [[ "$backend" == "openssl" ]]; then - tls_opts+=( "--without-${flag_name}" ) - fi - fi - done - - if use curl_ssl_gnutls; then - multilib_is_native_abi && einfo "Default TLS backend: gnutls" - tls_opts+=( "--with-default-ssl-backend=gnutls" ) - elif use curl_ssl_mbedtls; then - multilib_is_native_abi && einfo "Default TLS backend: mbedtls" - tls_opts+=( "--with-default-ssl-backend=mbedtls" ) - elif use curl_ssl_openssl; then - multilib_is_native_abi && einfo "Default TLS backend: openssl" - tls_opts+=( "--with-default-ssl-backend=openssl" ) - elif use curl_ssl_rustls; then - multilib_is_native_abi && einfo "Default TLS backend: rustls" - tls_opts+=( "--with-default-ssl-backend=rustls" ) - else - eerror "We can't be here because of REQUIRED_USE." - die "Please file a bug, hit impossible condition w/ USE=ssl handling." - fi - - # Explicitly Disable unimplemented backends - tls_opts+=( - --without-amissl - --without-wolfssl - ) - - printf "%s\n" "${tls_opts[@]}" -} - -multilib_src_configure() { - use static-libs && lto-guarantee-fat - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl; then - local -a tls_backend_opts - readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) - myconf+=( - "${tls_backend_opts[@]}" - $(use_with quic ngtcp2) - ) - else - myconf+=( --without-ssl ) - einfo "SSL disabled" - fi - - # These configuration options are organised alphabetically by category/type - - # Protocols - # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` - # Assume that anything omitted (that is not new!) is enabled by default with no deps - myconf+=( - --enable-file - $(use_enable ftp) - $(use_enable gopher) - --enable-http - $(use_enable imap) # Automatic IMAPS if TLS is enabled - $(use_enable ldap ldaps) - $(use_enable ldap) - $(use_enable pop3) - $(use_enable samba smb) - $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) - --enable-rtsp - $(use_enable smtp) - $(use_enable telnet) - $(use_enable tftp) - $(use_enable websockets) - ) - - # Keep various 'HTTP-flavoured' options together - myconf+=( - $(use_enable alt-svc) - $(use_enable hsts) - $(use_enable httpsrr) - $(use_with http2 nghttp2) - $(use_with http3 nghttp3) - ) - - # --enable/disable options - # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_enable adns ares) - --enable-aws - --enable-basic-auth - --enable-bearer-auth - --enable-cookies - --enable-dateparse - --enable-dict - --enable-digest-auth - --enable-dnsshuffle - --enable-doh - $(use_enable ech) - --enable-http-auth - --enable-ipv6 - --enable-kerberos-auth - --enable-largefile - --enable-manual - --enable-mime - --enable-negotiate-auth - --enable-netrc - --enable-ntlm - --enable-progress-meter - --enable-proxy - --enable-rt - --enable-socketpair - --disable-sspi - $(use_enable static-libs static) - --enable-symbol-hiding - --enable-tls-srp - --disable-versioned-symbols - ) - - # --with/without options - # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_with brotli) - --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d - $(use_with idn libidn2) - $(use_with kerberos gssapi "${EPREFIX}"/usr) - $(use_with sasl-scram libgsasl) - $(use_with psl libpsl) - --without-quiche - --without-schannel - --without-winidn - --with-zlib - --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions - $(use_with zstd) - ) - - # Test deps (disabled) - myconf+=( - --without-test-caddy - --without-test-httpd - --without-test-nghttpx - ) - - if use debug; then - myconf+=( - --enable-debug - ) - fi - - if use test && multilib_is_native_abi && ( use http2 || use http3 ); then - myconf+=( - --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" - ) - fi - - # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive - # This is in support of some work to enable `httpsrr` to use adns and the rest - # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. - if use adns; then - myconf+=( - --disable-threaded-resolver - ) - else - myconf+=( - --enable-threaded-resolver - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - if ! multilib_is_native_abi; then - # Avoid building the client (we just want libcurl for multilib) - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - -} - -multilib_src_compile() { - default - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts - fi -} - -# There is also a pytest harness that tests for bugs in some very specific -# situations; we can rely on upstream for this rather than adding additional test deps. -multilib_src_test() { - # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 - # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) - # -v: verbose - # -a: keep going on failure (so we see everything that breaks, not just 1st test) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging - # or just read https://github.com/curl/curl/tree/master/tests#run. - # Note: we don't run the testsuite for cross-compilation. - # Upstream recommend 7*nproc as a starting point for parallel tests, but - # this ends up breaking when nproc is huge (like -j80). - # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped - # as most gentoo users don't have an 'ip6-localhost' - multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p -j$((2*$(get_makeopts_jobs))) !241 !1083" -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install - fi -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die - - use static-libs && strip-lto-bytecode - - rm -rf "${ED}"/etc/ || die -} - -pkg_postinst() { - if use debug; then - ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." - ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." - ewarn "hic sunt dracones; you have been warned." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0-r1.ebuild deleted file mode 100644 index bea636500c9..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0-r1.ebuild +++ /dev/null @@ -1,433 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should subscribe to the 'curl-distros' ML for backports etc -# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ -# https://lists.haxx.se/listinfo/curl-distros - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc -inherit dot-a autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.se/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/curl/curl.git" -else - if [[ ${P} == *rc* ]]; then - CURL_URI="https://curl.se/rc/" - S="${WORKDIR}/${P//_/-}" - else - CURL_URI="https://curl.se/download/" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - fi - SRC_URI=" - ${CURL_URI}${P//_/-}.tar.xz - verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) - " -fi - -LICENSE="BSD curl ISC test? ( BSD-4 )" -SLOT="0" -IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" -IUSE+=" mbedtls +openssl +pop3 +psl +quic rustls sasl-scram +smtp ssh ssl static-libs test" -IUSE+=" telnet +tftp +websockets zstd" -# These select the default tls implementation / which quic impl to use -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" -RESTRICT="!test? ( test )" - -# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to -# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested -# in addition to A and AAAA records. - -# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). -# HTTPS RR in cURL is a dependency for: -# - ECH (enabled with rustls, ossl 4.0+) -# - Fetching the ALPN list which should provide a better HTTP/3 experience. -# Only one default ssl / quic provider can be enabled -# The default provider needs its USE satisfied -# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. -# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e -REQUIRED_USE=" - ech? ( - || ( - openssl - rustls - ) - ) - httpsrr? ( adns ) - quic? ( - ^^ ( - openssl - gnutls - ) - !mbedtls - !rustls - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_ssl_gnutls? ( gnutls ) - curl_ssl_mbedtls? ( mbedtls ) - curl_ssl_openssl? ( openssl ) - curl_ssl_rustls? ( rustls ) - http3? ( alt-svc httpsrr quic ) -" - -# cURL's docs and CI/CD are great resources for confirming supported versions -# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: -# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) -# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) -# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) -# - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1 -# However 'supported' vs 'works' are two entirely different things; be sane but -# don't be afraid to require a later version. -# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. -RDEPEND=" - >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] - adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) - http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) - idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) - quic? ( - 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}] ) - sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) - ssl? ( - gnutls? ( - app-misc/ca-certificates - >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:=[${MULTILIB_USEDEP}] - ) - mbedtls? ( - app-misc/ca-certificates - net-libs/mbedtls:3=[${MULTILIB_USEDEP}] - ) - openssl? ( - ech? ( >=dev-libs/openssl-4.0.0_beta1:=[static-libs?,${MULTILIB_USEDEP}] ) - >=dev-libs/openssl-3.0.0:=[static-libs?,${MULTILIB_USEDEP}] - ) - rustls? ( - >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] - ) - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" - -DEPEND="${RDEPEND}" - -BDEPEND=" - dev-lang/perl - virtual/pkgconfig - test? ( - sys-apps/diffutils - http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) - http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) - ) - verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) -" - -DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -QA_CONFIG_IMPL_DECL_SKIP=( - __builtin_available - closesocket - CloseSocket - getpass_r - ioctlsocket - IoctlSocket - mach_absolute_time - setmode - _fseeki64 - # custom AC_LINK_IFELSE code fails to link even without -Werror - OSSL_QUIC_client_method -) - -PATCHES=( - "${FILESDIR}/${PN}-prefix-6.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" - "${FILESDIR}/${P}-cpu-use.patch" -) - -src_prepare() { - default - - eprefixify curl-config.in - eautoreconf -} - -# Generates TLS-related configure options based on USE flags. -# Outputs options suitable for appending to a configure options array. -_get_curl_tls_configure_opts() { - local tls_opts=() - - local backend flag_name - for backend in gnutls mbedtls openssl rustls; do - if [[ "$backend" == "openssl" ]]; then - flag_name="ssl" - tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") - else - flag_name="$backend" - fi - - if use "$backend"; then - tls_opts+=( "--with-${flag_name}" ) - else - # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback - if ! [[ "$backend" == "openssl" ]]; then - tls_opts+=( "--without-${flag_name}" ) - fi - fi - done - - if use curl_ssl_gnutls; then - multilib_is_native_abi && einfo "Default TLS backend: gnutls" - tls_opts+=( "--with-default-ssl-backend=gnutls" ) - elif use curl_ssl_mbedtls; then - multilib_is_native_abi && einfo "Default TLS backend: mbedtls" - tls_opts+=( "--with-default-ssl-backend=mbedtls" ) - elif use curl_ssl_openssl; then - multilib_is_native_abi && einfo "Default TLS backend: openssl" - tls_opts+=( "--with-default-ssl-backend=openssl" ) - elif use curl_ssl_rustls; then - multilib_is_native_abi && einfo "Default TLS backend: rustls" - tls_opts+=( "--with-default-ssl-backend=rustls" ) - else - eerror "We can't be here because of REQUIRED_USE." - die "Please file a bug, hit impossible condition w/ USE=ssl handling." - fi - - # Explicitly Disable unimplemented backends - tls_opts+=( - --without-amissl - --without-wolfssl - ) - - printf "%s\n" "${tls_opts[@]}" -} - -multilib_src_configure() { - use static-libs && lto-guarantee-fat - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl; then - local -a tls_backend_opts - readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) - myconf+=( - "${tls_backend_opts[@]}" - $(use_with quic ngtcp2) - ) - else - myconf+=( --without-ssl ) - einfo "SSL disabled" - fi - - # These configuration options are organised alphabetically by category/type - - # Protocols - # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` - # Assume that anything omitted (that is not new!) is enabled by default with no deps - myconf+=( - --enable-file - $(use_enable ftp) - $(use_enable gopher) - --enable-http - $(use_enable imap) # Automatic IMAPS if TLS is enabled - $(use_enable ldap ldaps) - $(use_enable ldap) - $(use_enable pop3) - --disable-smb # Removed upstream in late 2026 - $(use_with ssh libssh2) # enables scp/sftp - --enable-rtsp - $(use_enable smtp) - $(use_enable telnet) - $(use_enable tftp) - $(use_enable websockets) - ) - - # Keep various 'HTTP-flavoured' options together - myconf+=( - $(use_enable alt-svc) - $(use_enable hsts) - $(use_enable httpsrr) - $(use_with http2 nghttp2) - $(use_with http3 nghttp3) - ) - - # --enable/disable options - # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_enable adns ares) - --enable-aws - --enable-basic-auth - --enable-bearer-auth - --enable-cookies - --enable-dateparse - --enable-dict - --enable-digest-auth - --enable-dnsshuffle - --enable-doh - $(use_enable ech) - --enable-http-auth - --enable-ipv6 - --enable-kerberos-auth - --enable-largefile - --enable-manual - --enable-mime - --enable-negotiate-auth - --enable-netrc - --disable-ntlm # To be removed late 2026 - --enable-progress-meter - --enable-proxy - --enable-rt - --enable-socketpair - --disable-sspi - $(use_enable static-libs static) - --enable-symbol-hiding - --enable-tls-srp - --disable-versioned-symbols - ) - - # --with/without options - # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_with brotli) - --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d - $(use_with idn libidn2) - $(use_with kerberos gssapi "${EPREFIX}"/usr) - $(use_with sasl-scram libgsasl) - $(use_with psl libpsl) - --without-quiche - --without-schannel - --without-winidn - --with-zlib - --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions - $(use_with zstd) - ) - - # Test deps (disabled) - myconf+=( - --without-test-caddy - --without-test-httpd - --without-test-nghttpx - ) - - if use debug; then - myconf+=( - --enable-debug - ) - fi - - if use test && multilib_is_native_abi && ( use http2 || use http3 ); then - myconf+=( - --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" - ) - fi - - # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive - # This is in support of some work to enable `httpsrr` to use adns and the rest - # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. - if use adns; then - myconf+=( - --disable-threaded-resolver - ) - else - myconf+=( - --enable-threaded-resolver - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - if ! multilib_is_native_abi; then - # Avoid building the client (we just want libcurl for multilib) - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - -} - -multilib_src_compile() { - default - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts - fi -} - -# There is also a pytest harness that tests for bugs in some very specific -# situations; we can rely on upstream for this rather than adding additional test deps. -multilib_src_test() { - # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 - # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) - # -v: verbose - # -a: keep going on failure (so we see everything that breaks, not just 1st test) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # --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 -k -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" - # TODO: enable python tests (make pytest). -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install - fi -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die - - use static-libs && strip-lto-bytecode - - rm -rf "${ED}"/etc/ || die -} - -pkg_postinst() { - if use debug; then - ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." - ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." - ewarn "hic sunt dracones; you have been warned." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0.ebuild deleted file mode 100644 index 02a08edae34..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.20.0.ebuild +++ /dev/null @@ -1,432 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Maintainers should subscribe to the 'curl-distros' ML for backports etc -# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ -# https://lists.haxx.se/listinfo/curl-distros - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc -inherit dot-a autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.se/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/curl/curl.git" -else - if [[ ${P} == *rc* ]]; then - CURL_URI="https://curl.se/rc/" - S="${WORKDIR}/${P//_/-}" - else - CURL_URI="https://curl.se/download/" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" - fi - SRC_URI=" - ${CURL_URI}${P//_/-}.tar.xz - verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) - " -fi - -LICENSE="BSD curl ISC test? ( BSD-4 )" -SLOT="0" -IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" -IUSE+=" mbedtls +openssl +pop3 +psl +quic rustls sasl-scram +smtp ssh ssl static-libs test" -IUSE+=" telnet +tftp +websockets zstd" -# These select the default tls implementation / which quic impl to use -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" -RESTRICT="!test? ( test )" - -# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to -# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested -# in addition to A and AAAA records. - -# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). -# HTTPS RR in cURL is a dependency for: -# - ECH (enabled with rustls, ossl 4.0+) -# - Fetching the ALPN list which should provide a better HTTP/3 experience. -# Only one default ssl / quic provider can be enabled -# The default provider needs its USE satisfied -# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. -# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e -REQUIRED_USE=" - ech? ( - || ( - openssl - rustls - ) - ) - httpsrr? ( adns ) - quic? ( - ^^ ( - openssl - gnutls - ) - !mbedtls - !rustls - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_ssl_gnutls? ( gnutls ) - curl_ssl_mbedtls? ( mbedtls ) - curl_ssl_openssl? ( openssl ) - curl_ssl_rustls? ( rustls ) - http3? ( alt-svc httpsrr quic ) -" - -# cURL's docs and CI/CD are great resources for confirming supported versions -# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: -# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) -# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) -# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) -# - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1 -# However 'supported' vs 'works' are two entirely different things; be sane but -# don't be afraid to require a later version. -# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. -RDEPEND=" - >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] - adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) - http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) - idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) - psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) - quic? ( - 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}] ) - sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) - ssl? ( - gnutls? ( - app-misc/ca-certificates - >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:=[${MULTILIB_USEDEP}] - ) - mbedtls? ( - app-misc/ca-certificates - net-libs/mbedtls:3=[${MULTILIB_USEDEP}] - ) - openssl? ( - ech? ( >=dev-libs/openssl-4.0.0_beta1:=[static-libs?,${MULTILIB_USEDEP}] ) - >=dev-libs/openssl-3.0.0:=[static-libs?,${MULTILIB_USEDEP}] - ) - rustls? ( - >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] - ) - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" - -DEPEND="${RDEPEND}" - -BDEPEND=" - dev-lang/perl - virtual/pkgconfig - test? ( - sys-apps/diffutils - http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) - http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) - ) - verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) -" - -DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/curl/curlbuild.h -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/curl-config -) - -QA_CONFIG_IMPL_DECL_SKIP=( - __builtin_available - closesocket - CloseSocket - getpass_r - ioctlsocket - IoctlSocket - mach_absolute_time - setmode - _fseeki64 - # custom AC_LINK_IFELSE code fails to link even without -Werror - OSSL_QUIC_client_method -) - -PATCHES=( - "${FILESDIR}/${PN}-prefix-6.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" -) - -src_prepare() { - default - - eprefixify curl-config.in - eautoreconf -} - -# Generates TLS-related configure options based on USE flags. -# Outputs options suitable for appending to a configure options array. -_get_curl_tls_configure_opts() { - local tls_opts=() - - local backend flag_name - for backend in gnutls mbedtls openssl rustls; do - if [[ "$backend" == "openssl" ]]; then - flag_name="ssl" - tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") - else - flag_name="$backend" - fi - - if use "$backend"; then - tls_opts+=( "--with-${flag_name}" ) - else - # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback - if ! [[ "$backend" == "openssl" ]]; then - tls_opts+=( "--without-${flag_name}" ) - fi - fi - done - - if use curl_ssl_gnutls; then - multilib_is_native_abi && einfo "Default TLS backend: gnutls" - tls_opts+=( "--with-default-ssl-backend=gnutls" ) - elif use curl_ssl_mbedtls; then - multilib_is_native_abi && einfo "Default TLS backend: mbedtls" - tls_opts+=( "--with-default-ssl-backend=mbedtls" ) - elif use curl_ssl_openssl; then - multilib_is_native_abi && einfo "Default TLS backend: openssl" - tls_opts+=( "--with-default-ssl-backend=openssl" ) - elif use curl_ssl_rustls; then - multilib_is_native_abi && einfo "Default TLS backend: rustls" - tls_opts+=( "--with-default-ssl-backend=rustls" ) - else - eerror "We can't be here because of REQUIRED_USE." - die "Please file a bug, hit impossible condition w/ USE=ssl handling." - fi - - # Explicitly Disable unimplemented backends - tls_opts+=( - --without-amissl - --without-wolfssl - ) - - printf "%s\n" "${tls_opts[@]}" -} - -multilib_src_configure() { - use static-libs && lto-guarantee-fat - # We make use of the fact that later flags override earlier ones - # So start with all ssl providers off until proven otherwise - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) - local myconf=() - - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) - if use ssl; then - local -a tls_backend_opts - readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) - myconf+=( - "${tls_backend_opts[@]}" - $(use_with quic ngtcp2) - ) - else - myconf+=( --without-ssl ) - einfo "SSL disabled" - fi - - # These configuration options are organised alphabetically by category/type - - # Protocols - # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` - # Assume that anything omitted (that is not new!) is enabled by default with no deps - myconf+=( - --enable-file - $(use_enable ftp) - $(use_enable gopher) - --enable-http - $(use_enable imap) # Automatic IMAPS if TLS is enabled - $(use_enable ldap ldaps) - $(use_enable ldap) - $(use_enable pop3) - --disable-smb # Removed upstream in late 2026 - $(use_with ssh libssh2) # enables scp/sftp - --enable-rtsp - $(use_enable smtp) - $(use_enable telnet) - $(use_enable tftp) - $(use_enable websockets) - ) - - # Keep various 'HTTP-flavoured' options together - myconf+=( - $(use_enable alt-svc) - $(use_enable hsts) - $(use_enable httpsrr) - $(use_with http2 nghttp2) - $(use_with http3 nghttp3) - ) - - # --enable/disable options - # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_enable adns ares) - --enable-aws - --enable-basic-auth - --enable-bearer-auth - --enable-cookies - --enable-dateparse - --enable-dict - --enable-digest-auth - --enable-dnsshuffle - --enable-doh - $(use_enable ech) - --enable-http-auth - --enable-ipv6 - --enable-kerberos-auth - --enable-largefile - --enable-manual - --enable-mime - --enable-negotiate-auth - --enable-netrc - --disable-ntlm # To be removed late 2026 - --enable-progress-meter - --enable-proxy - --enable-rt - --enable-socketpair - --disable-sspi - $(use_enable static-libs static) - --enable-symbol-hiding - --enable-tls-srp - --disable-versioned-symbols - ) - - # --with/without options - # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` - myconf+=( - $(use_with brotli) - --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d - $(use_with idn libidn2) - $(use_with kerberos gssapi "${EPREFIX}"/usr) - $(use_with sasl-scram libgsasl) - $(use_with psl libpsl) - --without-quiche - --without-schannel - --without-winidn - --with-zlib - --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions - $(use_with zstd) - ) - - # Test deps (disabled) - myconf+=( - --without-test-caddy - --without-test-httpd - --without-test-nghttpx - ) - - if use debug; then - myconf+=( - --enable-debug - ) - fi - - if use test && multilib_is_native_abi && ( use http2 || use http3 ); then - myconf+=( - --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" - ) - fi - - # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive - # This is in support of some work to enable `httpsrr` to use adns and the rest - # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. - if use adns; then - myconf+=( - --disable-threaded-resolver - ) - else - myconf+=( - --enable-threaded-resolver - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - if ! multilib_is_native_abi; then - # Avoid building the client (we just want libcurl for multilib) - sed -i -e '/SUBDIRS/s:src::' Makefile || die - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die - fi - -} - -multilib_src_compile() { - default - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts - fi -} - -# There is also a pytest harness that tests for bugs in some very specific -# situations; we can rely on upstream for this rather than adding additional test deps. -multilib_src_test() { - # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 - # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) - # -v: verbose - # -a: keep going on failure (so we see everything that breaks, not just 1st test) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # --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 -k -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" - # TODO: enable python tests (make pytest). -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - if multilib_is_native_abi; then - # Shell completions - ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install - fi -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die - - use static-libs && strip-lto-bytecode - - rm -rf "${ED}"/etc/ || die -} - -pkg_postinst() { - if use debug; then - ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." - ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." - ewarn "hic sunt dracones; you have been warned." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.22.0.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.22.0.ebuild index 80eb857a98a..64acff5c01e 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.22.0.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~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 SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz @@ -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,12 +138,12 @@ 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 ) " -DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) +DOCS=( README docs/{FEATURES.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) MULTILIB_WRAPPED_HEADERS=( /usr/include/curl/curlbuild.h @@ -313,7 +313,6 @@ multilib_src_configure() { --disable-sspi $(use_enable static-libs static) --enable-symbol-hiding - --enable-tls-srp --disable-versioned-symbols ) @@ -396,11 +395,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/curl/curl-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild index 0e23c6df005..64acff5c01e 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 @@ -143,7 +143,7 @@ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) " -DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) +DOCS=( README docs/{FEATURES.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) MULTILIB_WRAPPED_HEADERS=( /usr/include/curl/curlbuild.h @@ -313,7 +313,6 @@ multilib_src_configure() { --disable-sspi $(use_enable static-libs static) --enable-symbol-hiding - --enable-tls-srp --disable-versioned-symbols ) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch deleted file mode 100644 index 509049644cd..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch +++ /dev/null @@ -1,191 +0,0 @@ -diff -Naurp curl-8.16.0/CMake/FindGSS.cmake curl-8.16.0_orig/CMake/FindGSS.cmake ---- curl-8.16.0/CMake/FindGSS.cmake 2025-11-11 10:04:08.786293188 +0000 -+++ curl-8.16.0/CMake/FindGSS.cmake 2025-11-11 09:54:12.223957480 +0000 -@@ -37,6 +37,7 @@ - - set(_gnu_modname "gss") - set(_mit_modname "mit-krb5-gssapi") -+set(_heimdal_modname "heimdal-gssapi") - - include(CheckIncludeFile) - include(CheckIncludeFiles) -@@ -51,7 +52,7 @@ set(_gss_LIBRARY_DIRS "") - if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}") - if(CURL_USE_PKGCONFIG) - find_package(PkgConfig QUIET) -- pkg_search_module(_gss ${_gnu_modname} ${_mit_modname}) -+ pkg_search_module(_gss ${_gnu_modname} ${_mit_modname} ${_heimdal_modname}) - list(APPEND _gss_root_hints "${_gss_PREFIX}") - set(_gss_version "${_gss_VERSION}") - endif() -@@ -139,8 +140,14 @@ if(NOT _gss_FOUND) # Not found by pkg-c - OUTPUT_STRIP_TRAILING_WHITESPACE) - - # Older versions may not have the "--vendor" parameter. In this case we just do not care. -- if(NOT _gss_configure_failed AND NOT _gss_vendor MATCHES "Heimdal|heimdal") -- set(_gss_flavour "MIT") # assume a default, should not really matter -+ if(_gss_configure_failed) -+ set(_gss_flavour "Heimdal") # most probably, should not really matter -+ else() -+ if(_gss_vendor MATCHES "Heimdal|heimdal") -+ set(_gss_flavour "Heimdal") -+ else() -+ set(_gss_flavour "MIT") -+ endif() - endif() - - else() # Either there is no config script or we are on a platform that does not provide one (Windows?) -@@ -149,30 +156,46 @@ if(NOT _gss_FOUND) # Not found by pkg-c - cmake_push_check_state() - list(APPEND CMAKE_REQUIRED_INCLUDES "${_gss_INCLUDE_DIRS}") - check_include_files("gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _gss_have_mit_headers) -- cmake_pop_check_state() - - if(_gss_have_mit_headers) - set(_gss_flavour "MIT") - if(WIN32) - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - list(APPEND _gss_libdir_suffixes "lib/AMD64") - set(_gss_libname "gssapi64") - else() - list(APPEND _gss_libdir_suffixes "lib/i386") - set(_gss_libname "gssapi32") - endif() - else() - list(APPEND _gss_libdir_suffixes "lib" "lib64") # those suffixes are not checked for HINTS - set(_gss_libname "gssapi_krb5") - endif() -+ else() -+ # Prevent compiling the header - just check if we can include it -+ list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D__ROKEN_H__") -+ check_include_file("roken.h" _gss_have_roken_h) -+ -+ check_include_file("heimdal/roken.h" _gss_have_heimdal_roken_h) -+ if(_gss_have_roken_h OR _gss_have_heimdal_roken_h) -+ set(_gss_flavour "Heimdal") -+ endif() - endif() -+ cmake_pop_check_state() - else() -- find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include") - - if(_gss_INCLUDE_DIRS) -- set(_gss_flavour "GNU") -- set(_gss_pc_requires ${_gnu_modname}) -- set(_gss_libname "gss") -+ set(_gss_flavour "Heimdal") -+ set(_gss_pc_requires ${_heimdal_modname}) -+ set(_gss_libname "libgssapi") -+ else() -+ find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include") -+ -+ if(_gss_INCLUDE_DIRS) -+ set(_gss_flavour "GNU") -+ set(_gss_pc_requires ${_gnu_modname}) -+ set(_gss_libname "gss") -+ endif() - endif() - endif() - -@@ -189,9 +210,6 @@ if(NOT _gss_FOUND) # Not found by pkg-c - find_library(_gss_LIBRARIES NAMES ${_gss_libname} HINTS ${_gss_libdir_hints} PATH_SUFFIXES ${_gss_libdir_suffixes}) - endif() - endif() -- if(NOT _gss_flavour) -- message(FATAL_ERROR "GNU or MIT GSS is required") -- endif() - else() - # _gss_MODULE_NAME set since CMake 3.16. - # _pkg_check_modules_pkg_name is undocumented and used as a fallback for CMake <3.16 versions. -@@ -202,15 +226,33 @@ else() - set(_gss_flavour "MIT") - set(_gss_pc_requires ${_mit_modname}) - else() -- message(FATAL_ERROR "GNU or MIT GSS is required") -+ set(_gss_flavour "Heimdal") -+ set(_gss_pc_requires ${_heimdal_modname}) - endif() - message(STATUS "Found GSS/${_gss_flavour} (via pkg-config): ${_gss_INCLUDE_DIRS} (found version \"${_gss_version}\")") - endif() - - set(GSS_VERSION ${_gss_version}) - --if(NOT GSS_VERSION) -- if(_gss_flavour STREQUAL "MIT") -+if(_gss_flavour) -+ if(NOT GSS_VERSION AND _gss_flavour STREQUAL "Heimdal") -+ if(CMAKE_SIZEOF_VOID_P EQUAL 8) -+ set(_heimdal_manifest_file "Heimdal.Application.amd64.manifest") -+ else() -+ set(_heimdal_manifest_file "Heimdal.Application.x86.manifest") -+ endif() -+ -+ if(EXISTS "${_gss_INCLUDE_DIRS}/${_heimdal_manifest_file}") -+ file(STRINGS "${_gss_INCLUDE_DIRS}/${_heimdal_manifest_file}" _heimdal_version_str -+ REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$") -+ -+ string(REGEX MATCH "[0-9]\\.[^\"]+" GSS_VERSION "${_heimdal_version_str}") -+ endif() -+ -+ if(NOT GSS_VERSION) -+ set(GSS_VERSION "Heimdal Unknown") -+ endif() -+ elseif(NOT GSS_VERSION AND _gss_flavour STREQUAL "MIT") - if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24) - cmake_host_system_information(RESULT _mit_version QUERY WINDOWS_REGISTRY - "HKLM/SOFTWARE/MIT/Kerberos/SDK/CurrentVersion" VALUE "VersionString") -@@ -223,7 +339,7 @@ if(NOT GSS_VERSION) - else() - set(GSS_VERSION "MIT Unknown") - endif() -- else() # GNU -+ elseif(NOT GSS_VERSION AND _gss_flavour STREQUAL "GNU") - if(_gss_INCLUDE_DIRS AND EXISTS "${_gss_INCLUDE_DIRS}/gss.h") - set(_version_regex "#[\t ]*define[\t ]+GSS_VERSION[\t ]+\"([^\"]*)\"") - file(STRINGS "${_gss_INCLUDE_DIRS}/gss.h" _version_str REGEX "${_version_regex}") -diff -Naurp curl-8.16.0/configure.ac curl-8.16.0_orig/configure.ac ---- curl-8.16.0/configure.ac 2025-11-11 08:59:46.795915379 +0000 -+++ curl-8.16.0/configure.ac 2025-11-11 08:57:58.852575571 +0000 -@@ -1860,14 +1860,21 @@ if test x"$want_gss" = xyes; then - gnu_gss=yes - ], - [ -- dnl not found, check for MIT -+ dnl not found, check Heimdal or MIT - AC_CHECK_HEADERS( - [gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h], - [], - [not_mit=1]) - if test "$not_mit" = "1"; then -- dnl MIT not found -- AC_MSG_ERROR([MIT or GNU GSS library required, but not found]) -+ dnl MIT not found, check for Heimdal -+ AC_CHECK_HEADER(gssapi.h, -+ [], -+ [ -+ dnl no header found, disabling GSS -+ want_gss=no -+ AC_MSG_WARN(disabling GSS-API support since no header files were found) -+ ] -+ ) - fi - ] - ) -@@ -1877,7 +1884,7 @@ fi - if test "$want_gss" = "yes"; then - AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries]) - HAVE_GSSAPI=1 -- curl_gss_msg="enabled (MIT Kerberos)" -+ curl_gss_msg="enabled (MIT Kerberos/Heimdal)" - link_pkgconfig='' - - if test -n "$gnu_gss"; then -@@ -1956,6 +1963,8 @@ if test x"$want_gss" = xyes; then - if test -n "$link_pkgconfig"; then - if test -n "$gnu_gss"; then - LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE gss" -+ elif test "x$not_mit" = "x1"; then -+ LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE heimdal-gssapi" - else - LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE mit-krb5-gssapi" - fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.20.0-cpu-use.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.20.0-cpu-use.patch deleted file mode 100644 index e548ce47ca2..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.20.0-cpu-use.patch +++ /dev/null @@ -1,37 +0,0 @@ -https://bugs.debian.org/1136264 -https://curl.se/mail/distros-2026-05/0000.html -https://github.com/curl/curl/commit/2a2104f3cff44bb28bb570a093be52bbeeed8f23 - -From 2a2104f3cff44bb28bb570a093be52bbeeed8f23 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Mon, 11 May 2026 14:56:04 +0200 -Subject: [PATCH] event: fix wakeup consumption - -The events on a multi wakeup socketpair were only consumed via -curl_multi_poll()/curl_multi_wait() but not in event based processing on -a curl_multi_socket() call. That led to busy loops as reported in - -Fixes #21547 -Reported-by: Earnestly on github -Closes #21549 ---- - lib/multi.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/lib/multi.c b/lib/multi.c -index be32740a7097..5e84133f13fd 100644 ---- a/lib/multi.c -+++ b/lib/multi.c -@@ -2703,6 +2703,11 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, - Curl_uint32_bset_remove(&multi->dirty, data->mid); - - if(data == multi->admin) { -+#ifdef ENABLE_WAKEUP -+ /* Consume any pending wakeup signals before processing. -+ * This is necessary for event based processing. See #21547 */ -+ (void)Curl_wakeup_consume(multi->wakeup_pair, TRUE); -+#endif - #ifdef USE_RESOLV_THREADED - Curl_async_thrdd_multi_process(multi); - #endif - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/metadata.xml b/sdk_container/src/third_party/portage-stable/net-misc/curl/metadata.xml index 48bc5a58dd0..5c17a9bdff6 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/metadata.xml @@ -24,7 +24,6 @@ Enable Post Office Protocol 3 support Enable Public Suffix List (PSL) support. See https://daniel.haxx.se/blog/2024/01/10/psl-in-curl/. Enable support for QUIC (RFC 9000); a UDP-based protocol intended to replace TCP - Enable RTMP Streaming Media support Enable Rustls ssl backend Enable snupport for additional SASL SCRAM-SHA authentication methods via net-misc/gsasl Enable Simple Mail Transfer Protocol support 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 c1c53712191..dfcf0b438c3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask @@ -1,6 +1,15 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Lukas Schmelting (2026-09-10) +# dev-util/bpftool not keyworded here +net-misc/networkmanager clat + +# David Seifert (2026-09-07) +# sci-libs/libaec is not keyworded here, and >=sci-libs/hdf5-2.2.0 +# requires it directly instead of via virtual/szip +>=sci-libs/hdf5-2.2.0 szip + # Sam James (2026-09-04) # sys-apps/xdg-desktop-portal not keyworded here x11-base/xwayland libei 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 f3f3cc61d26..07a1ffdf464 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 @@ -2,10 +2,13 @@ # 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 +# arm64 is only supported in >=wine-mono-11.3.0 which is only used by +# >=wine-11.16 (-mono is to override global use.mask, keeping duplicate +# mask in case it's ever unmasked given using a different package here) =app-emulation/wine-staging-11.16 -mono +>=app-emulation/wine-vanilla-11.16 -mono # Alfredo Tupone (2026-07-09) # dependencies not arm64 ready @@ -465,10 +468,6 @@ net-misc/sunshine -cpu_flags_arm_neon # dev-libs/criterion is not keyworded yet app-admin/syslog-ng test -# Andreas Sturmlechner (2019-10-29) -# Neither sys-apps/bolt nor kde-plasma/plasma-thunderbolt are keyworded -kde-plasma/plasma-meta thunderbolt - # Georgy Yakovlev (2019-09-27) # some testsuite deps are not keyworded sys-fs/zfs test-suite 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 bc2f44e1360..785438340e4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.stable.mask @@ -1,6 +1,11 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2026-09-11) +# Neither sys-apps/bolt nor kde-plasma/plasma-thunderbolt are marked stable +# here yet. +kde-plasma/plasma-meta thunderbolt + # Ionen Wolkens (2026-04-16) # media-libs/opencolorio is not stable here and has many dependencies. # Not overly worth extra stabilizations over new still scarcely used 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 01064f6b1ab..2f02e060718 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 @@ -175,10 +175,6 @@ dev-qt/qttools:6 qmlls dev-python/pyside tools dev-python/pyqtgraph pyside6 -# Mike Gilbert (2024-04-13) -# Missing keywords on dev-python/looseversion. -sys-fs/fuse:3 test - # Nowa Ammerlaan (2024-03-17) # Experimental, only keyworded for amd64 currently sys-kernel/installkernel efistub 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 0df5da87183..ef4d5f37737 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask @@ -4,6 +4,15 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Lukas Schmelting (2026-09-10) +# dev-util/bpftool not keyworded here +net-misc/networkmanager clat + +# David Seifert (2026-09-07) +# sci-libs/libaec is not keyworded here, and >=sci-libs/hdf5-2.2.0 +# requires it directly instead of via virtual/szip +>=sci-libs/hdf5-2.2.0 szip + # Sam James (2026-09-04) # sys-apps/xdg-desktop-portal not keyworded here x11-base/xwayland libei diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask index 5aaf89853a5..23ba138911c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask @@ -1,6 +1,11 @@ # Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# David Seifert (2026-09-07) +# sci-libs/libaec is not keyworded here (bug #966099), and >=sci-libs/hdf5-2.2.0 +# requires it directly instead of via virtual/szip +>=sci-libs/hdf5-2.2.0 szip + # Nicolas PARLANT (2026-07-30) # dev-python/qtpy is not keyworded here media-libs/libffado gui 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 c88c0b88b45..fa3f74236c1 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask @@ -1,6 +1,15 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Lukas Schmelting (2026-09-10) +# dev-util/bpftool not keyworded here +net-misc/networkmanager clat + +# David Seifert (2026-09-07) +# sci-libs/libaec is not keyworded here, and >=sci-libs/hdf5-2.2.0 +# requires it directly instead of via virtual/szip +>=sci-libs/hdf5-2.2.0 szip + # James Le Cuirot (2026-09-05) # VIS is a sparc-specific SIMD optimisation. media-libs/libggi -vis 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 e368d9974ae..bfb3254f204 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 @@ -101,7 +101,6 @@ media-gfx/alembic games-fps/freedoom games-engines/odamex games-engines/uzdoom -games-fps/chocolate-doom games-fps/crispy-doom games-fps/freedoom-data media-libs/zmusic 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 bdf92bb3330..cca58cbce06 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 @@ -503,6 +503,7 @@ gnome-extra/gnome-browser-connector gnome-extra/gnome-tweaks gnome-extra/sushi >=gnome-extra/yelp-49 +mate-extra/mate-user-guide >=media-gfx/libimagequant-4 media-gfx/loupe (2026-08-10) # Needs gnome-control-center and other rust reverse deps app-emulation/winetricks gui +app-office/gnucash doc dev-perl/Panotools-Script gui gnome-base/gvfs google onedrive test +gnome-extra/gnome-commander doc +mate-base/mate help +media-sound/pulseeffects doc x11-misc/mugshot gnome x11-misc/xscreensaver gdm 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 6393314f65c..295306acaf9 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,40 @@ #--- END OF EXAMPLES --- +# Lukas Schmelting (2026-09-06) +# Most revdeps still need gexiv2-0.16 compatibility fixes +# See: https://bugs.gentoo.org/982084 +=media-libs/gexiv2-0.16* + +# Arthur Zamarin (2026-09-11) +# EAPI=7, old PYTHON_COMPAT, doesn't work with spotify for a long time, +# upstream inactive for a decade. +# Removal on 2026-10-11. Bugs #982278, #952501. +gnome-extra/gnome-integration-spotify + +# Arthur Zamarin (2026-09-11) +# EAPI=7, uses deprecated golang eclass, fails to compile. +# Removal on 2026-10-11. Bugs #982277, #657284, #739422, #844712, #926030. +net-analyzer/kapacitor + +# Alexey Sokolov (2026-09-09) +# Upstream abandoned the project, suggests www-servers/gatling +# by the same upstream instead. +# Removal on 2026-10-09. Bugs #783666, #944275. +www-servers/fnord +acct-user/fnord +acct-user/fnordlog + +# Sam James (2026-09-08) +# Changes ctest(1) behaviour to exit non-zero if no tests, which +# may break many ebuilds. Needs some assessment. +>=dev-build/cmake-4.4.0 + +# David Seifert (2026-09-07) +# Unmaintained, lots of FetchContent_* hacks. +# Removal on 2026-10-07. Bug #927149. +sci-physics/espresso + # Michał Górny (2026-09-05) # Broken with current dev-python/pywayland version. Stuck on old # gui-libs/wlroots. Used only by old versions of x11-wm/qtile. @@ -82,11 +116,6 @@ dev-python/pyproject-fmt # Snapshot versions, masked for testing. (2026-08-28) -# Parallel-build issue. While "emake -j1" works, have some time to -# figure it out for now. Bug #981581 -=dev-libs/nss-3.128 - # Bernard Cafarelli (2026-08-24) # Abandoned (last release in 2008), and uncertain useful value with modern # filesystems. Also collides with dev-util/shake diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2026 b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2026 new file mode 100644 index 00000000000..4c20c789de2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2026 @@ -0,0 +1 @@ +move app-portage/pram dev-vcs/pram diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild index 54489f91013..701452b3d8a 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild @@ -16,7 +16,7 @@ else MY_PV=$(ver_cut 1-2) SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${MY_PV/./_}/refpolicy-${MY_PV}.tar.bz2 https://dev.gentoo.org/~perfinion/patches/${PN}/patchbundle-${P}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi S="${WORKDIR}/refpolicy" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild index f5b6ecb5e63..c65fe103731 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild @@ -21,7 +21,7 @@ else MY_PV=$(ver_cut 1-2) SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${MY_PV/./_}/refpolicy-${MY_PV}.tar.bz2 https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${PV}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi S="${WORKDIR}/refpolicy" diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild index 597fe6a587f..70a0ae4a4db 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for container" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild index 2f021f2fc55..ba322b865ac 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for dbus" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild index 616b3d55b31..e31968feb33 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for policykit" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild index 1489826b6aa..28958a94426 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for sssd" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild index 581d624a16b..0957c8cad32 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild @@ -10,5 +10,5 @@ inherit selinux-policy-2 DESCRIPTION="SELinux policy for unconfined" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~riscv x86" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild index c45c9253c76..f0210d60b5f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild @@ -36,6 +36,8 @@ RDEPEND+=" selinux? ( sec-policy/selinux-bubblewrap )" PATCHES=( "${FILESDIR}"/${PN}-0.11.2-no-werror.patch + "${FILESDIR}"/${PN}-0.12.0-musl.patch + "${FILESDIR}"/${PN}-0.12.0-tests-run.patch ) python_check_deps() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-musl.patch b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-musl.patch new file mode 100644 index 00000000000..5f80458e538 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-musl.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/981698 +https://github.com/containers/bubblewrap/commit/bb3ff51ec60b40ebf0f51b33521967213f5d857e + +From bb3ff51ec60b40ebf0f51b33521967213f5d857e Mon Sep 17 00:00:00 2001 +From: Duncan Overbruck +Date: Sun, 30 Aug 2026 04:08:53 +0200 +Subject: [PATCH] Add limits.h include for PATH_MAX + +This is required for musl libc, where limits.h is not implicitly included +by the other includes. + +Signed-off-by: Duncan Overbruck +--- + bubblewrap.c | 1 + + safe_openat.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/bubblewrap.c b/bubblewrap.c +index c35e7c58..62227014 100644 +--- a/bubblewrap.c ++++ b/bubblewrap.c +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/safe_openat.c b/safe_openat.c +index a4166e6d..634f0861 100644 +--- a/safe_openat.c ++++ b/safe_openat.c +@@ -21,6 +21,7 @@ + + #include "utils.h" + #include ++#include + #include + #include + #include diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-tests-run.patch b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-tests-run.patch new file mode 100644 index 00000000000..e0b260d7c71 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/files/bubblewrap-0.12.0-tests-run.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/982101 +--- a/tests/test-sandbox.py ++++ b/tests/test-sandbox.py +@@ -309,7 +309,7 @@ class TestSandbox(unittest.TestCase): + @in_sandbox() + def test_ro_bind_root_is_recursive(self): + """The base --ro-bind / / should apply read-only to sub-mounts.""" +- skip_prefixes = ('/dev', '/proc', '/sys', '/tmp') ++ skip_prefixes = ('/dev', '/proc', '/sys', '/tmp', '/run') + for mountpoint in list_mounts(): + if any(mountpoint == p or mountpoint.startswith(p + '/') + for p in skip_prefixes): diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.11.ebuild index 174cd95b283..e26174120f1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.11.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]] ; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.11-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.11-r1.ebuild index 567c7b4ec66..9d69c1c7f8e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.11-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.11-r1.ebuild @@ -249,7 +249,7 @@ src_test() { ) fi - [[ ${enable_year2038} == "no" ]] && xfail_tests+=( test-year2038 )+ + [[ ${enable_year2038} == "no" ]] && xfail_tests+=( test-year2038 ) # This test is flaky (bug #910640). cat > tests/tty/tty-eof.pl <<-EOF || die diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest index 4ee9d577802..60318f51e80 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest @@ -3,3 +3,4 @@ DIST iproute2-6.17.0.tar.xz 940952 BLAKE2B 49b88fd1eaea34376b086be02e72505ca62f5 DIST iproute2-6.18.0.tar.xz 945200 BLAKE2B 03af6c56beb8717f1d2ce77d91db1293188a45ed6b491924c37a6d7956da1b92106198503fc27dc12301648c2c0c5358883ce0fff046fb53e6e8be004696d6fd SHA512 c4a0852fbf0143b51a65adb6a29cbc838ecaed88b827574ea33ddd2e3f90c00732eaea06ff702a7122d82f7e4d926282f9fbb59b87e41be7da04403c73258fc2 DIST iproute2-6.19.0.tar.xz 958920 BLAKE2B 779818bb5f790edc6d594155e96ade6092744d4c035281291bc34a987d2bee8a566aad3fa6091c736fe27f79f75baeb975abbeee0e3dce45af7e81019097e512 SHA512 0ca41b0ccfc253ab80cc5f9c687c92ec685d4e25cfbbb7cc512b919784c3248e20cc7c928420e271f8b24a4f56d6a4282f3ba394e27267552004701662e56494 DIST iproute2-7.0.0.tar.xz 961968 BLAKE2B 1edec3088a16657ee85c1799bf911c6cd75a359efc75fc23ac922474b1e10e9410454d6e6930b58ebe047a8b5fa4f522e9fb7f53a4d9a4e3b84b8979c5aaa926 SHA512 3c482b4d162d27ef69ec4773465e9687c79b96559ca17e9be2e3d507a2cfb20dbd7a67e6c8f6d7bbd3c82475a9772173633223563d0949ccdf3677091645bf9a +DIST iproute2-7.2.0.tar.xz 971084 BLAKE2B e03cb92aa6c1f092b144614a44b013b91573099a08f32a25b3fa894470d5940fd7737a5bb0add58c1227ad53a4db159574f4fcded128d2ef219aa55a213bc6c7 SHA512 9d66cba22d243e20974281d71cd8cfb44d269807cc220d9aded6c6054b2d7fd36c5effe3c81b76917753c68750667c01811c4a4d676b55b64d25f5fdf61ea25a diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-7.2.0-configure-nomagic-nolibbsd.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-7.2.0-configure-nomagic-nolibbsd.patch new file mode 100644 index 00000000000..79ffd173c57 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-7.2.0-configure-nomagic-nolibbsd.patch @@ -0,0 +1,290 @@ +The hand-rolled configure script, for multiple options (selinux,mnl,elf), sets +a variable as well as modifying CFLAGS & LDLIBS. + +If config.mk is later amended to disable a feature, the CFLAGS/LDLIBS tweaks +are still in place. + +Push the CFLAGS/LDLIBS changes into new conditional Makefile code, so that they +are only passed when correctly needed. + +Prior Gentoo testcase for reproduction: +USE=minimal ebuild ... compile. +- Linking with libbsd, libelf, libmnl & libcap based only on presence. +- Links based on libselinux based only on presence. + +Closes: https://bugs.gentoo.org/643722 +Signed-off-by: Robin H. Johnson + +Forward-ported from v4.14.1 to v4.16.0 by Lars Wendler +Added libcap to v4.17.0 by Lars Wendler +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler +Forward-ported from v5.11.0 to v5.12.0 by Lars Wendler +Forward-ported from v6.8.0 to v7.2.0 by Patrick McLean + +Update 2023-09-05: Removed libbsd enforcement from config.include for bug #911727 +by Holger Hoffstätte + +--- a/config.include ++++ b/config.include +@@ -0,0 +1,26 @@ ++# We can only modify CFLAGS/LDLIBS after all the config options are known. ++ifeq ($(IP_CONFIG_SETNS),y) ++ CFLAGS += $(IP_CONFIG_SETNS_CFLAGS) ++endif ++ifeq ($(HAVE_ELF),y) ++ CFLAGS += $(HAVE_ELF_CFLAGS) ++ LDLIBS += $(HAVE_ELF_LDLIBS) ++endif ++ifeq ($(HAVE_SELINUX),y) ++ CFLAGS += $(HAVE_SELINUX_CFLAGS) ++ LDLIBS += $(HAVE_SELINUX_LDLIBS) ++endif ++ifeq ($(HAVE_MNL),y) ++ CFLAGS += $(HAVE_MNL_CFLAGS) ++ LDLIBS += $(HAVE_MNL_LDLIBS) ++endif ++ifeq ($(HAVE_CAP),y) ++ CFLAGS += $(HAVE_CAP_CFLAGS) ++ LDLIBS += $(HAVE_CAP_LDLIBS) ++endif ++ ++# Rules can only be declared after all variables in them are known. ++%.o: %.c ++ $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $< ++ ++# vim: ft=make: + +--- a/bridge/Makefile ++++ b/bridge/Makefile +@@ -2,6 +2,7 @@ + BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o vni.o + + include ../config.mk ++include ../config.include + + all: bridge + +diff --git a/configure b/configure +index ebc0d97a..a3da8853 100755 +--- a/configure ++++ b/configure +@@ -154,7 +154,7 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; then + echo "IP_CONFIG_SETNS:=y" >>$CONFIG + echo "yes" +- echo "CFLAGS += -DHAVE_SETNS" >>$CONFIG ++ echo "IP_CONFIG_SETNS_CFLAGS += -DHAVE_SETNS" >>$CONFIG + else + echo "no" + fi +@@ -221,8 +221,8 @@ check_elf() + echo "HAVE_ELF:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_ELF' "$(${PKG_CONFIG} libelf --cflags)" >> $CONFIG +- echo 'LDLIBS += ' "$(${PKG_CONFIG} libelf --libs)" >>$CONFIG ++ echo 'HAVE_ELF_CFLAGS += -DHAVE_ELF' "$(${PKG_CONFIG} libelf --cflags)" >> $CONFIG ++ echo 'HAVE_ELF_LDLIBS += ' "$(${PKG_CONFIG} libelf --libs)" >>$CONFIG + else + echo "no" + fi +@@ -346,8 +346,8 @@ check_selinux() + echo "HAVE_SELINUX:=y" >>$CONFIG + echo "yes" + +- echo 'LDLIBS +=' "$(${PKG_CONFIG} --libs libselinux)" >>$CONFIG +- echo 'CFLAGS += -DHAVE_SELINUX' "$(${PKG_CONFIG} --cflags libselinux)" >>$CONFIG ++ echo 'HAVE_SELINUX_LDLIBS +=' "$(${PKG_CONFIG} --libs libselinux)" >>$CONFIG ++ echo 'HAVE_SELINUX_CFLAGS += -DHAVE_SELINUX' "$(${PKG_CONFIG} --cflags libselinux)" >>$CONFIG + else + echo "no" + fi +@@ -390,8 +390,8 @@ check_mnl() + echo "HAVE_MNL:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBMNL' "$(${PKG_CONFIG} libmnl --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libmnl --libs)" >> $CONFIG ++ echo 'HAVE_MNL_CFLAGS += -DHAVE_LIBMNL' "$(${PKG_CONFIG} libmnl --cflags)" >>$CONFIG ++ echo 'HAVE_MNL_LDLIBS +=' "$(${PKG_CONFIG} libmnl --libs)" >> $CONFIG + + if have_mnl_attr_get_uint; then + echo "CFLAGS += -DHAVE_MNL_ATTR_GET_UINT" >>$CONFIG +@@ -436,8 +436,8 @@ EOF + echo "no" + else + if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' "$(${PKG_CONFIG} libbsd --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libbsd --libs)" >> $CONFIG ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' "$(${PKG_CONFIG} libbsd --cflags)" >>$CONFIG ++ echo 'HAVE_LIBBSD_LDLIBS +=' "$(${PKG_CONFIG} libbsd --libs)" >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +@@ -453,8 +453,8 @@ check_cap() + echo "HAVE_CAP:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBCAP' "$(${PKG_CONFIG} libcap --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libcap --libs)" >> $CONFIG ++ echo 'HAVE_CAP_CFLAGS += -DHAVE_LIBCAP' "$(${PKG_CONFIG} libcap --cflags)" >>$CONFIG ++ echo 'HAVE_CAP_LDLIBS +=' "$(${PKG_CONFIG} libcap --libs)" >> $CONFIG + else + echo "no" + fi +@@ -642,7 +642,3 @@ check_cap + + echo -n "color output: " + check_color +- +-echo >> $CONFIG +-echo "%.o: %.c" >> $CONFIG +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG +diff --git a/dcb/Makefile b/dcb/Makefile +index 10794c9d..0e346985 100644 +--- a/dcb/Makefile ++++ b/dcb/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DCBOBJ = dcb.o \ + dcb_app.o \ +diff --git a/devlink/Makefile b/devlink/Makefile +index ec62f0c6..f050a415 100644 +--- a/devlink/Makefile ++++ b/devlink/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DEVLINKOBJ = devlink.o + TARGETS += devlink +diff --git a/genl/Makefile b/genl/Makefile +index 0bd27ff6..880d01a3 100644 +--- a/genl/Makefile ++++ b/genl/Makefile +@@ -2,6 +2,7 @@ + GENLOBJ=genl.o + + include ../config.mk ++include ../config.include + SHARED_LIBS ?= y + + CFLAGS += -fno-strict-aliasing +diff --git a/ip/Makefile b/ip/Makefile +index 3535ba78..72ef541e 100644 +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -18,6 +18,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \ + RTMONOBJ=rtmon.o + + include ../config.mk ++include ../config.include + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel +diff --git a/lib/Makefile b/lib/Makefile +index 7035f40f..357c33f1 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -fPIC + +diff --git a/misc/Makefile b/misc/Makefile +index 50dae79c..ab559a57 100644 +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -5,6 +5,7 @@ LNSTATOBJ=lnstat.o lnstat_util.o + TARGETS=ss nstat ifstat rtacct lnstat + + include ../config.mk ++include ../config.include + + ifeq ($(HAVE_BERKELEY_DB),y) + TARGETS += arpd +diff --git a/netem/Makefile b/netem/Makefile +index ba4c5a76..e8899ee4 100644 +--- a/netem/Makefile ++++ b/netem/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DISTGEN = maketable normal pareto paretonormal + DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist +diff --git a/rdma/Makefile b/rdma/Makefile +index 66fe53f9..e59115d4 100644 +--- a/rdma/Makefile ++++ b/rdma/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + +diff --git a/tc/Makefile b/tc/Makefile +index 6264a772..374a8a42 100644 +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -4,6 +4,7 @@ TCOBJ= tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o tc_monitor.o \ + emp_ematch.tab.o emp_ematch.lex.o + + include ../config.mk ++include ../config.include + + SHARED_LIBS ?= y + +diff --git a/tipc/Makefile b/tipc/Makefile +index 4f0aba7e..9c08b854 100644 +--- a/tipc/Makefile ++++ b/tipc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TIPCOBJ=bearer.o \ + cmdl.o link.o \ +diff --git a/vdpa/Makefile b/vdpa/Makefile +index 86f7221e..5a92f218 100644 +--- a/vdpa/Makefile ++++ b/vdpa/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + VDPAOBJ = vdpa.o +diff --git a/netshaper/Makefile b/netshaper/Makefile +index 54a6a691..8dab7ec2 100644 +--- a/netshaper/Makefile ++++ b/netshaper/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + NSOBJ = netshaper.o + TARGETS += netshaper +diff --git a/dpll/Makefile b/dpll/Makefile +index 3a37184b..40dfb87b 100644 +--- a/dpll/Makefile ++++ b/dpll/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + # iproute2 libraries + LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-7.2.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-7.2.0.ebuild new file mode 100644 index 00000000000..7a33a3206a2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-7.2.0.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a edo toolchain-funcs flag-o-matic + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git-r3 +else + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux" +# Needs root +RESTRICT="test" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !minimal? ( net-libs/libmnl:= ) + atm? ( net-dialup/linux-atm ) + berkdb? ( sys-libs/db:= ) + bpf? ( >=dev-libs/libbpf-0.6:= ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf:= ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + nfs? ( net-libs/libtirpc:= ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-3.16 +" +BDEPEND=" + app-arch/xz-utils + >=sys-devel/bison-2.4 + app-alternatives/lex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.10.0-musl-2.patch # bug #926341 + "${FILESDIR}"/${PN}-6.9.0-mtu.patch # bug #291907 + "${FILESDIR}"/${PN}-7.2.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 + "${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727 +) + +src_prepare() { + default + + # Fix version if necessary + local versionfile="include/version.h" + if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then + einfo "Fixing version string" + sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ + ${versionfile} || die + fi + + # echo -n is not POSIX compliant + sed -i 's@echo -n@printf@' configure || die + + sed -i \ + -e '/^CC :\?=/d' \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ + Makefile || die + + # Build against system headers + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die + + if use minimal ; then + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die + fi +} + +src_configure() { + tc-export AR CC PKG_CONFIG + lto-guarantee-fat + + tc-export_build_env + export CBUILD_CFLAGS=${BUILD_CFLAGS} + + # This sure is ugly. Should probably move into toolchain-funcs at some point. + local setns + pushd "${T}" >/dev/null || die + printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die + if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then + setns=y + else + setns=n + fi + + echo 'int main(){return 0;}' > test.c || die + if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then + sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die + fi + popd >/dev/null || die + + # build system does not pass CFLAGS to LDFLAGS, as is recommended by GCC upstream + # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto + # https://bugs.gentoo.org/929233 + append-ldflags ${CFLAGS} + + # run "configure" script first which will create "config.mk"... + # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + edo ./configure --libbpf_force $(usex bpf on off) "${EXTRA_ECONF[@]}" + + # Remove the definitions made by configure and allow them to be overridden + # by USE flags below. + # We have to do the cheesy only-sed-if-disabled because otherwise + # the *_FLAGS etc stuff found by configure will be used but result + # in a broken build. + if ! use berkdb ; then + sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die + fi + + if ! use caps ; then + sed -i -e '/HAVE_CAP/d' config.mk || die + fi + + if use minimal ; then + sed -i -e '/HAVE_MNL/d' config.mk || die + fi + + if ! use elf ; then + sed -i -e '/HAVE_ELF/d' config.mk || die + fi + + if ! use nfs ; then + sed -i -e '/HAVE_RPC/d' config.mk || die + fi + + if ! use selinux ; then + sed -i -e '/HAVE_SELINUX/d' config.mk || die + fi + + # ...Now switch on/off requested features via USE flags + # this is only useful if the test did not set other things, per bug #643722 + # Keep in sync with ifs above, or refactor to be unified. + cat <<-EOF >> config.mk + TC_CONFIG_ATM := $(usex atm y n) + TC_CONFIG_XT := $(usex iptables y n) + TC_CONFIG_NO_XT := $(usex iptables n y) + # We've locked in recent enough kernel headers, bug #549948 + TC_CONFIG_IPSET := y + HAVE_BERKELEY_DB := $(usex berkdb y n) + HAVE_CAP := $(usex caps y n) + HAVE_MNL := $(usex minimal n y) + HAVE_ELF := $(usex elf y n) + HAVE_RPC := $(usex nfs y n) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, bug #144265, bug #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_test() { + emake check +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc + dobin ip/ip + return 0 + fi + + emake \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}"/$(get_libdir) \ + SBINDIR="${EPREFIX}"/sbin \ + CONFDIR="${EPREFIX}"/etc/iproute2 \ + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ + MANDIR="${EPREFIX}"/usr/share/man \ + ARPDDIR="${EPREFIX}"/var/lib/arpd \ + install + + dodir /bin + mv "${ED}"/{s,}bin/ip || die # bug #330115 + mv "${ED}"/{s,}bin/ss || die # bug #547264 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + + # Collides with net-analyzer/ifstat + # https://bugs.gentoo.org/868321 + mv "${ED}"/sbin/ifstat{,-iproute2} || die + + if use berkdb ; then + keepdir /var/lib/arpd + # bug #47482, arpd doesn't need to be in /sbin + dodir /usr/bin + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die + elif [[ -d "${ED}"/var/lib/arpd ]]; then + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die + fi + strip-lto-bytecode +} 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 691ba437f23..d7ab3db8ccd 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,3 +1,4 @@ DIST pkgcore-0.12.40.tar.gz 658740 BLAKE2B 417edb50f09304410baa00499f47308d3e86a936c6993e858d6a1775d580075285c8fbf3bb4ecd662c54b81f4743a08372e6416c361f13d6436ca0e6a1e1e052 SHA512 6c52e36dd2fd835859969c2d3aa10951300dc762930c76cbb7113905d58b03b2a166b43421418ad600ab5b050631691ce75b99ce1b244e85b327d1b6cef148f2 DIST pkgcore-0.12.41.tar.gz 662162 BLAKE2B 4644aeaf239518900a30a378c6986f8403eadbad44a5a6f19aaca90c587301a22639c4217bfd33851a14a7e368e4597a0cd704a1c55c108ff5624adeb46d873f SHA512 ad4912ff1e8fc18d6b4ff0c6137d0b495bdf827fcdc48adfaecb69733321b3248155b4b0651597208f2965a413bc44ce56a3a673f90963a72de30037fd318a53 DIST pkgcore-0.12.42.tar.gz 669046 BLAKE2B f341081086198a917154c602d4a204123166108969e42d9ac9b7008d4496afa7a2d1d143ce75b951ba6ddfaf4dd4cc82fd96243c389af41e424d35f2273e6f81 SHA512 e533e7276dc870d00e6f42fabf43e1be62294ed5b6a4caf6dae6556eca3ca2da5f19881773b98db18865bb92a999dc7c333ed298de1053e7a9be35e72b09412e +DIST pkgcore-0.12.43.tar.gz 672242 BLAKE2B 21cd35d496576756c969ef98537a8947183eb00c64ad304d00c96e8f47541cf65dc807178bc29ba55aa1b868a922577a49b60792cab57f78b3d929c96542c3a7 SHA512 e2150965e2f3c076420ba14def298d4e46f85bfde3e3534a8aff45fc8d833b39fa1b98f1b6bac37f8f80a6446acb297dd9d1c88f0f41d92fac3d8deb0ff9c37b diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.42.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.42.ebuild index 0a904a4d159..06511957780 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.42.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.42.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcore.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.43.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.43.ebuild new file mode 100644 index 00000000000..0a904a4d159 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.43.ebuild @@ -0,0 +1,51 @@ +# 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.6[${PYTHON_USEDEP}]" +fi + +RDEPEND+=" + >=app-shells/bash-5.3[readline] + dev-python/lxml[${PYTHON_USEDEP}] + amd64? ( dev-python/py-landlock[${PYTHON_USEDEP}] ) +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-vcs/git + >=dev-python/docutils-0.23[${PYTHON_USEDEP}] + ) +" + +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/sandbox/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest index 63f6ea36697..75248ad4ba3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest @@ -2,3 +2,4 @@ DIST sandbox-2.46.tar.xz 448188 BLAKE2B 42fcd5ff7e9592d5df4e807f7dec79510ecc03f2 DIST sandbox-2.47.tar.xz 449236 BLAKE2B 46482dcb38fbcbb44704e9ebf6ee24036114af13de998d4ef371f14f1d96e240b8c430cd9f3e4ec8478cd41e3c8e28d8fd4953752c144e3d1d720c2d83c07a9c SHA512 2a70e31d1f058e134ff7331e2657b5064959699a56c0cd8d0956e7fefe5955a85e73fd9543742c9db5bc6494ff99ec35d58c0fde2c0277bab617ba39344c26a1 DIST sandbox-2.48.tar.xz 449708 BLAKE2B bc31b7c6913379611778267d53b181675c07664ebdbc98ae1c1c17a49bb2299be3abf7f4c9ef16d4cfaeb27d9666702ac265d37fe929d26c178b5df023c5466e SHA512 3fc796430af375bd3e2f2806710d8c550b2d4546183ea020340ed978dfcdf71e6272749ed526e12afee235fa43d95866ee3161326d391ded8aa66bb3c081ba28 DIST sandbox-2.49.tar.xz 449676 BLAKE2B e7a9b70f471875cca08ce69573618405cac951b3ed09d5b1bc668e8e36b1f05d8484d9f3f6e38c4a72890336a075ee67559265f153b11401e0a1532fcaec13b4 SHA512 e4de7f30b0ae2dbb17a629d88b74473bf6992e39647fb26f4ade2c238b9a966eb249d6f21312f2143b223d66430d66f12e0ae25c6c439e34ce816cef5ab7c3ac +DIST sandbox-2.51.tar.xz 453828 BLAKE2B 984ce96b019d471626365ec4964f540b56328feb34721e0d7718e70fd0eb53473bb4fd5052eb7dfa42c3ebbfc43a76241cc1ef5dd2f35178507404f099cd7c82 SHA512 375920faf0be83e51bbb2f04ca438bf8aa0dcf2b74f1ee1c3286362827caf07d62364fb421f9ddccc1a514618bdeee5ff6b622ac1849ee1d885a39196c3c2713 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.51.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.51.ebuild new file mode 100644 index 00000000000..0a87bd26d8a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.51.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit flag-o-matic multilib-minimal multiprocessing + +if [[ ${PV} == *9999 ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/sandbox.git + https://github.com/gentoo/sandbox.git" +else + SRC_URI="https://distfiles.gentoo.org/pub/proj/sandbox/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="sandbox'd LD_PRELOAD hack" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Sandbox" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+nnp" + +# pax-utils lower bound for bug #265376 +DEPEND=">=app-misc/pax-utils-0.1.19" +# Avoid folks installing with older file, bug #889046. We still need the +# >= dep in Portage but this is a safety net if people do partial upgrades. +RDEPEND="!=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/261-gcc-bpf.patch" + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r4.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need + # to unset F_S first, then explicitly set 2, to negate any default + # and anything set by the user if they're choosing 3 (or if they've + # modified GCC to set 3). + # + # malloc_usable_size doesn't play well with _F_S=3: + # https://github.com/systemd/systemd/issues/41459 (bug #971773) + if tc-is-clang && tc-enables-fortify-source ; then + # We can't unconditionally do this b/c we fortify needs + # some level of optimisation. + filter-flags -D_FORTIFY_SOURCE=3 + append-cppflags -U_FORTIFY_SOURCE -D_GENTOO_NO_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + fi + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + -Dmode=release # default is developer, bug 918671 + -Dlibc=$(usex elibc_musl musl glibc) + -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" + -Dpamlibdir="$(getpam_mod_dir)" + -Dbashcompletiondir="$(get_bashcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" + -Dsplit-bin=false + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 + -Ddefault-user-shell="${EPREFIX}/bin/bash" + -Dbpf-compiler=gcc + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) + ) + + # workaround for bug 969103 + if [[ ${CHOST} == riscv32* ]] ; then + myconf+=( -Dtests=true ) + else + myconf+=( $(meson_use test tests) ) + fi + + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature imds) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature libarchive) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( -Dvmspawn=enabled ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi + + meson_src_configure "${myconf[@]}" +} + +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + +multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test "${args[@]}" + ) || die +} + +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + +multilib_src_install_all() { + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + xdg_mimeinfo_database_update + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + udev_hwdb_update || FAIL=1 + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + # Bug 971385, 974688 + local autovt=${EROOT}/etc/systemd/system/autovt@.service + if [[ ! -e ${autovt} && ! -L ${autovt} ]]; then + ln -s "${EPREFIX}/usr/lib/systemd/system/getty@.service" "${autovt}" || FAIL=1 + fi + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} + +pkg_postrm() { + xdg_mimeinfo_database_update +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-262_rc2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-262_rc2.ebuild new file mode 100644 index 00000000000..3d5f2760822 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-262_rc2.ebuild @@ -0,0 +1,619 @@ +# Copyright 2011-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{12..14} ) + +# Avoid QA warnings +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/systemd/systemd.git" + inherit git-r3 +else + MY_PV=${PV/_/-} + MY_P=${PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +inherit branding flag-o-matic linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot shell-completion systemd toolchain-funcs udev xdg-utils + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="https://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils fido2 + +gcrypt gnutls homed idn imds importd +kernel-install +kmod +libarchive + +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode + remote +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb + +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + boot? ( kernel-install ) + dns-over-tls? ( openssl ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + imds? ( curl ) + importd? ( curl libarchive lzma openssl ) + ?? ( passwdqc pwquality ) + passwdqc? ( homed ) + pwquality? ( homed ) + remote? ( curl ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="5.10" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.37 + acl? ( sys-apps/acl ) + apparmor? ( >=sys-libs/libapparmor-2.13 ) + audit? ( >=sys-process/audit-2 ) + bpf? ( >=dev-libs/libbpf-1.4.0 ) + cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= ) + curl? ( >=net-misc/curl-7.32.0:0= ) + elfutils? ( >=dev-libs/elfutils-0.177 ) + elibc_glibc? ( + >=sys-libs/glibc-2.34 + >=sys-libs/libxcrypt-4.4.0 + ) + elibc_musl? ( + >=sys-libs/musl-1.2.6 + sys-libs/libucontext + virtual/libcrypt + ) + fido2? ( + dev-libs/libfido2 + ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2 ) + importd? ( + app-arch/bzip2:0= + virtual/zlib:= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + libarchive? ( >=app-arch/libarchive-3.0:0= ) + lz4? ( >=app-arch/lz4-0_p131:0= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= ) + openssl? ( >=dev-libs/openssl-3.0.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + passwdqc? ( sys-auth/passwdqc ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3 ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( >=dev-libs/libpwquality-1.4.1 ) + qrcode? ( >=media-gfx/qrencode-3:0= ) + seccomp? ( >=sys-libs/libseccomp-2.4.0 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + tpm? ( app-crypt/tpm2-tss ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1 ) + zstd? ( >=app-arch/zstd-1.4.0:0= ) +" + +# Newer linux-headers needed by ia64, bug #480218 +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-${MINKV} +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +# baselayout-2.2 has /run +RDEPEND="${COMMON_DEPEND} + >=acct-group/adm-0-r1 + >=acct-group/wheel-0-r1 + >=acct-group/kmem-0-r1 + >=acct-group/tty-0-r1 + >=acct-group/utmp-0-r1 + >=acct-group/audio-0-r1 + >=acct-group/cdrom-0-r1 + acct-group/clock + >=acct-group/dialout-0-r1 + >=acct-group/disk-0-r1 + >=acct-group/input-0-r1 + >=acct-group/kvm-0-r1 + >=acct-group/lp-0-r1 + >=acct-group/render-0-r1 + acct-group/sgx + >=acct-group/tape-0-r1 + acct-group/users + >=acct-group/video-0-r1 + >=acct-group/systemd-journal-0-r1 + >=acct-user/root-0-r1 + acct-user/nobody + >=acct-user/systemd-journal-remote-0-r1 + >=acct-user/systemd-coredump-0-r1 + >=acct-user/systemd-network-0-r1 + acct-user/systemd-oom + >=acct-user/systemd-resolve-0-r1 + >=acct-user/systemd-timesync-0-r1 + >=sys-apps/baselayout-2.2 + imds? ( acct-user/systemd-imds ) + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + selinux? ( + sec-policy/selinux-base-policy[systemd] + sec-policy/selinux-ntp + ) + sysv-utils? ( + !sys-apps/openrc[sysv-utils(-)] + !sys-apps/sysvinit + ) + !sysv-utils? ( sys-apps/sysvinit ) + resolvconf? ( !net-dns/openresolv ) + !sys-auth/nss-myhostname + !sys-fs/eudev + !sys-fs/udev +" + +# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] + >=sys-fs/udev-init-scripts-34 + policykit? ( sys-auth/polkit ) + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" + +BDEPEND=" + app-arch/xz-utils:0 + dev-util/gperf + >=dev-build/meson-0.46 + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + bpf? ( + >=dev-util/bpftool-7.0.0 + sys-devel/bpf-toolchain + ) + test? ( + app-text/tree + dev-lang/perl + >=dev-libs/glib-2.22.0:2 + sys-apps/dbus + ) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + ${PYTHON_DEPS} + $(python_gen_cond_dep " + dev-python/jinja2[\${PYTHON_USEDEP}] + dev-python/lxml[\${PYTHON_USEDEP}] + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r4.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need + # to unset F_S first, then explicitly set 2, to negate any default + # and anything set by the user if they're choosing 3 (or if they've + # modified GCC to set 3). + # + # malloc_usable_size doesn't play well with _F_S=3: + # https://github.com/systemd/systemd/issues/41459 (bug #971773) + if tc-is-clang && tc-enables-fortify-source ; then + # We can't unconditionally do this b/c we fortify needs + # some level of optimisation. + filter-flags -D_FORTIFY_SOURCE=3 + append-cppflags -U_FORTIFY_SOURCE -D_GENTOO_NO_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + fi + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + -Dmode=release # default is developer, bug 918671 + -Dlibc=$(usex elibc_musl musl glibc) + -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" + -Dpamlibdir="$(getpam_mod_dir)" + -Dbashcompletiondir="$(get_bashcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" + -Dsplit-bin=false + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 + -Ddefault-user-shell="${EPREFIX}/bin/bash" + -Dbpf-compiler=gcc + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) + ) + + # workaround for bug 969103 + if [[ ${CHOST} == riscv32* ]] ; then + myconf+=( -Dtests=true ) + else + myconf+=( $(meson_use test tests) ) + fi + + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature imds) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature libarchive) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( -Dvmspawn=enabled ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi + + meson_src_configure "${myconf[@]}" +} + +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + +multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test "${args[@]}" + ) || die +} + +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + +multilib_src_install_all() { + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + xdg_mimeinfo_database_update + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + udev_hwdb_update || FAIL=1 + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + # Bug 971385, 974688 + local autovt=${EROOT}/etc/systemd/system/autovt@.service + if [[ ! -e ${autovt} && ! -L ${autovt} ]]; then + ln -s "${EPREFIX}/usr/lib/systemd/system/getty@.service" "${autovt}" || FAIL=1 + fi + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} + +pkg_postrm() { + xdg_mimeinfo_database_update +} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/files/sssd-2.12.0-dont-clobber-getpwnam-buffer.patch b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/files/sssd-2.12.0-dont-clobber-getpwnam-buffer.patch deleted file mode 100644 index f9923d96caa..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/files/sssd-2.12.0-dont-clobber-getpwnam-buffer.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 0262207f76088f6801e055b64125b2a1006de1e2 Mon Sep 17 00:00:00 2001 -From: Christopher Byrne -Date: Sun, 1 Mar 2026 20:05:21 -0600 -Subject: [PATCH] src/sss_client/common.c: Use getpwnam_r to avoid clobbering - struct passwd -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If something else uses PAM (like openrc, see -https://github.com/OpenRC/openrc/pull/984) and getpwnam, and calls -something like pam_open_session, sssd's call to getpwnam in -init_sssd_ids clobbers the cached value by the other program. - -Signed-off-by: Christopher Byrne -Reviewed-by: Alexey Tikhonov -Reviewed-by: Tomáš Halman ---- - src/sss_client/common.c | 51 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 47 insertions(+), 4 deletions(-) - -diff --git a/src/sss_client/common.c b/src/sss_client/common.c -index 094936d8f..8a2e693da 100644 ---- a/src/sss_client/common.c -+++ b/src/sss_client/common.c -@@ -148,11 +148,54 @@ static void init_sssd_ids(void) - /* 'libnss_sss' doesn't resolve SSSD_USER, - * so no need to set '_SSS_LOOPS' - */ -- struct passwd *pwd = getpwnam(SSSD_USER); -- if (pwd != NULL) { -- sss_sssd_uid = pwd->pw_uid; -- sss_sssd_gid = pwd->pw_gid; -+ struct passwd pwd; -+ struct passwd *result = NULL; -+ long sc_bufsize; -+ size_t bufsize; -+ char *buf; -+ char *newbuf; -+ int error; -+ -+ sc_bufsize = sysconf(_SC_GETPW_R_SIZE_MAX); -+ -+ if (sc_bufsize > 0) -+ bufsize = (size_t)sc_bufsize; -+ else { -+ bufsize = 16384; -+ } -+ -+ buf = malloc(bufsize); -+ -+ if (buf == NULL) { -+ return; - } -+ -+ do { -+ error = getpwnam_r(SSSD_USER, &pwd, buf, bufsize, &result); -+ if (result == NULL) { -+ if (error == ERANGE) { -+ bufsize += 4096; -+ -+ if (bufsize >= 65536) { -+ break; -+ } -+ -+ newbuf = realloc(buf, bufsize); -+ -+ if (newbuf == NULL) { -+ break; -+ } -+ -+ buf = newbuf; -+ continue; -+ } -+ } else { -+ sss_sssd_uid = result->pw_uid; -+ sss_sssd_gid = result->pw_gid; -+ } -+ } while (result == NULL && error == ERANGE); -+ -+ free(buf); - } - #endif - #endif /* SSSD_NON_ROOT_USER */ --- -2.52.0 - 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 c042b547f09..33d8fdc4a98 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 @@ -8,52 +8,34 @@ DIST gcc-12.5.0-musl-patches-1.tar.xz 4460 BLAKE2B ba9635d32e63a18a617fab823fc03 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-20260603.tar.xz 84612576 BLAKE2B 6b062015b61508359b6c29d1ccd1b5322404e18ead21aaec6acb687822147054250647c1fca6d1254f4cc27d4dd6f1a2477cc84bf66b2f4dab1aa6196d8de49e SHA512 c9da65861e766f7159624e512ab210551ef93d06b446fcc42df78ec3d31554335656a02086746ac300ec2cdf72443fd62acf49c742a760d63b6b0f88eca6f614 -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-20260826.tar.xz 84625896 BLAKE2B 87b352448a27fb69bf1ec344059398d81f853088bfad0cbf0659c378b4a25a623870eb4f64084f65b9cedc7b3e378b3c87732a686a04428c4fe417db5db69642 SHA512 58c68d84cac16cfc068bf4f9e13cbacef1dfc70bd8b50a3d9f7397894f06cebe8e23681af2b8a8f1b26c81652163f0d3b4a39647cd9ae122b49dc83523ce593b -DIST gcc-13-20260902.tar.xz 84623964 BLAKE2B 84bc20d96f9a7cfa8bd4769cca7ceadee7c5bb82349bc2f626810c5c8be63fb39d8b62a5dfa8db8fad97b8a4a0810f8616464ef305536a1dd908a43e38ebddc0 SHA512 3713f502e755dcea0340d24ae9c7da4055aefd85a8f6542d027b33e572c143b55b163f3613b71f4a4a37dca3bff3dda451ae487f9fc13eda6cdc768ac2b22dfd 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-9.tar.xz 69080 BLAKE2B 4933533a19c54972b18f91749ea6ac2f9f9963de8ebea1f16bfd7617fdea2e5f1df29b564c090c32ba6c53feee2f1f9107dfcf96e42050fc701f30bfa8a4c606 SHA512 4a8125f5021c5dff526ecd9bebeff7cfa4aa7d6dace23eacbfda54ea5bdc468d17503a0d8072f8561a72c887f8ce294c648fa802210a0d7e04aee8a585968ea3 +DIST gcc-13.5.0.tar.xz 90977816 BLAKE2B 76080f85e48559264e0e2e9794654df4750ee5c5a23e878f81490e3d5cc743430190dcaa26bad410dd709c5dbb7540eac36b4e2ed5cbf1fa3bea46a4d3eb91ab SHA512 709237ff8f10d46eb10cad53a71bdcacbd3d56f4559e9a5bb3323f743fdba78b7e505586135560b27e88320927a065ec4f5e45273d5504b542f67c7326eb683c DIST gcc-14-20260604.tar.xz 88473776 BLAKE2B 0d022d76185b04d314b05ee0e7906b030df6ca13efa254e5c64e625286af6e361659a359406bc90658b3d3e5379f0408500dda86a0af0aad3df88193ebe736dc SHA512 654e5484fe25986f51a55b12a959fa6c36d3640cbb8f62c63adda3e7222224048ddfd3cb87cac081759e1a2cd3732cdf17af9e6a3948aba227ddd3a4c0c2e72f DIST gcc-14-20260716.tar.xz 88509636 BLAKE2B 1e31c1c969a3ee7184d6e466dc9bf627e67e98f2c61fc4d34a74b02d7128718f7e8d0eb3a178b4e9734665fe93eeccf42e9bf5ba80e62b583044dab93b7939b1 SHA512 c587f5568ae6e8b9089dcb5e4753ad3ef5d807c3c30d329407e6be093e0a0ef26906c8dbc33a5aef20168371c10ded69c067e05acf42696eee45ade981ade321 -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-20260827.tar.xz 88530032 BLAKE2B b2abe50f37f5f2ab5ec893e4524d74214d98da9ce45cdecdb370ad345a7f216c5025ab9aad4f3f95dac6c117cf6909aef160b2f1bd3315754a40f821df356227 SHA512 cf7600ed78c1bffe970ed826a7d29da36235d05137bafa130d329c099b6b0faf23c38779ef837a3cec3cb8770674b7b5ddfae93af3d27e1d9077b60bd139beda DIST gcc-14-20260903.tar.xz 88538140 BLAKE2B b5fd80fd8addf04d296f12c26f4ce1feb7c223f0389534d02af0f303cded7f0380b12d64c7fb31f49b6a57fe21fa7721a604ad6448931624dddcdc69f9a87bb0 SHA512 5704a3edd2594a38f090a85675f51106a80472d375cd67f57fa3f644bfc5111ed43c45a64a3c158de68741b0c7ff90f4dc9017d27fe71378648f94232a3d4eeb DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19 DIST gcc-14.3.0-patches-6.tar.xz 28148 BLAKE2B ba80a00289da26d3b5a813a9878aae6b34640e5cf8f37431ef846894087096dc84869e120ed17f23062bd2702a8059d73ead3ba28115e9c3bad55f46e7f474ee SHA512 7ee900f327bd92484ffba03ff80827b42ffba75d7527e26e09ea07e6d61622d812e1a00f77f3d669d7bde0366bab43085552d6140b28bc319edab9eb0e9a73f5 DIST gcc-14.4.0.tar.xz 91586872 BLAKE2B 10a512f9f95fcc70a13f4eb2142927277d2e6c0a16bad76f01078dc0d7e5cb6831204f8beec22c83c1ff2d0ed1d9df8c8d0a4118ba657d1aefef2a6f15636a28 SHA512 725ed8bdd43ef1726ffe8b5e8615a13e247fac9575b7626ae013a2975d000ea213212dc414b2f2631ac4785c1c8beca85555222faf9904d3b2fa6a3807a83a15 DIST gcc-15-20260717.tar.xz 92482140 BLAKE2B ae84ad42a0f5a35a36c362340298c94c8e8a64c7695102bb3a29b394527033186bf3599323ae8b1a478e215806cee702bfa48740421c504eefbafacbe74d2086 SHA512 91aaf673637458ebf73df2b1d87c21c9cbf432211b98e6dff965ae0f073f2ea8be8921a9828711fb6c10b9b3ec2e20213d118a05c08f31b8192ab291b448375d -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-20260828.tar.xz 92507836 BLAKE2B 8542fafedf1d684064f9ca3ad77b5086121c4687071060749bbe71011f82be4bd1f5e60f97c26c37fd902ad6e1b203a25a0d57bc9f47fbd424efb82fcefecf65 SHA512 61c612f2666ec9461a1572eddd0b9c4e6575954b4abd338d1c275873c7d34e40c83a5936b5cd99ebc5d8d9016335aa9d5344aef1a97af8935cec418353b9095b DIST gcc-15-20260904.tar.xz 92498536 BLAKE2B 4cf423cc30aebbd682504b252a45499e30ee3687adfcb0f4ae83fb3b638ebbde65591c14a3a873f163b76dd8811cb600ea936e751befabc4ff0e4d9bd4fa177c SHA512 3a0af0e7700b572d5dd034528c32ee06dc82ad2e80f93a2eb8324a77c7f25c575b848161b7cd8d04a9a3ebfcea356083d2dd5b1869bb7b44da1a00f6c172690b +DIST gcc-15-20260911.tar.xz 92514232 BLAKE2B fac0cdb3c6dbab3b156c5bd406e377f685970230278e6c6eb6a060543d03b8e7289138b12f105c1423c8aa3bf849d1061a20a88b3c6f0a5ddac86f2cf2461bc6 SHA512 476e68f1e673ba0121b8383ca5c44ff94442971cee980768b3aac4444c799bc64a74886aa72ac6fdfcd2f2b083820aba7e8e4aeb48d41a13c31354755e67e438 DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871 DIST gcc-15.2.0-patches-8.tar.xz 17584 BLAKE2B e35d85b993fc2ad86924158cac893a815f70332335ed02d970bcdf89c1ceafc2972576bcd85b4912e6ada91bdd80e8f10cbc6be798c804438368bae60abe2731 SHA512 6440a792320037b746ba405469773b96c1d4272c5248ae3808e6d8a2d576564c0f52889a6f88c3271233c8c2fe7ecb974d31ced2141f16f2c5ca68b9e47ace8c DIST gcc-15.3.0.tar.xz 101253696 BLAKE2B 9e37d6560addf936b8dae6f34a2621004e888b1436c9b95d6a09c2a792f909c7ec4aa5e8d0e63baa1be742fd8dc8162b366b5c48766fc83e44b3842891af44df SHA512 0de9e296153b52c021b1c7e63c9c62151d7a0ac03f23ce6e9f772c1b0eb783f6acdd81cc4567bfe4128a6f64968c2cfc8eff40b36229cba7425349f7d637c654 -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-20260829.tar.xz 99107172 BLAKE2B d642dfa2d388fdc02ed8e71aa42a8b72ccbf3d01d9786f544982bcb75b1020411e03f1775fd88db5acae20cf43fcfb7a7660ad28e30da4c27bdbcaa1e4be730b SHA512 af0f4005c69a95ab6ff6af513541683115edd2ee498a8a9f13a008634d5e6951a11b9f4abc6bb65acff14e479758d4954b6dbc8b18c64e46822252b4ddfc8c85 DIST gcc-16-20260905.tar.xz 99118908 BLAKE2B 1a65b1fbc842e153389840274a5a3f844e3a5a9693957b1227e5361f74ce831df244570f1e5edf844fc512b62b978460ed7861b8c8856056b8c1f9763bae130c SHA512 f15b09406e3788ffc3b1c380748ed9c087bba32448c4cece7a56930417bbe1dc34a72464ecb570dff781c8bbaa4eebf880274e5b4a9139aa5137c0623e03be66 +DIST gcc-16-20260912.tar.xz 99109248 BLAKE2B 0011cbe5676a9c468762e1ccf1cf57c2fd08d4da05c9aba449a8485537a1e9ac30cbe07e6ede60adc5d63c8a3ae1060611006e93bc150c843a4eb8f48f9d9da3 SHA512 e9382e1caee349a55c4bb2de1cfd4b3e9a411f4b5a3fd70ffe98b8fe7adccc89648d39548564285e1bba9647f7bf62915928c783b160137ddc4c91b0f3a4db6b DIST gcc-16.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 348d0233c92e6b269011342a170989bb6375ff267b6ecfc00aafab2f793b925f1cccd654f438a4f88168a7999cab965aadfb6dfc9957a9b1a5bca62c326e0b84 SHA512 dc9c2d4a6e9088ad245039a962333ecba8476288844c686e7df9c867c8018451fccbd645a5690d554ee39809e6467285b3c619553edfed379c5f84c003bcb7e5 DIST gcc-16.1.0-patches-3.tar.xz 25156 BLAKE2B 874afd3239c0794082568738c837786fff71ad48c24677c11110630fc6e0c0baf17720aec53dc7cd6580102a3a3b7daa2b78c82488f758af8afcb6cd5621ee25 SHA512 dbead66ac0899e2833e88cd7a95b12d2f2dd1379ec3cc085701efd7f8e446feff4d6c00f1481026bb9c699487a143f6a429a8f95ad7228f8bbef5faf2d1b5a5e 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-20260830.tar.xz 100202104 BLAKE2B b6f1fa175e293adcbfbf8e0bb4686611293bb14c5718f5ab5ddfefbaaf640e140addc58397ff3bf6256c715f0c69e00f207b575a41f25c0410e45c218fe290c2 SHA512 d1e2b40c3b364a6df6c9d60b1f71f63bec69fe8f10545b75467761925fd879d54ae224418951b65da6f42917fdcb9bce06779d2185e0f3af670b7cad3da069c9 +DIST gcc-17-20260906.tar.xz 100281396 BLAKE2B 758c496b1ad1410479a5108c1d7f7f98b0b1b2962fe1df77e1687ef2d70e21037e422c2a6a4f8fda8b79e568b0f828e7674a7e1fde43df6f1c0ad2486a826fbb SHA512 49db076d7359bd6f08d4cfa04fd380a977e904431fc57d75ca3a06675a83046a61b103c9a48bdcb3972a15a609cb2b33d1a8dd2221540dc88f4ce0814e6b5fdc +DIST gcc-17-20260913.tar.xz 100376020 BLAKE2B 3c30df5725a8f68487f979dc6f314996dbe52fb2d8ca68c774e4033cdcf02f6011abab9bdbde389e6ca42b07c55acd0e8690d629f8e7d31c603b55006306f55a SHA512 bff2af3d632a6b10e770a567c627f3f50f5dd2406a77133f4ac3822f05ce9a9ee99979a54d3ef09635080d949e992d40fedd29f34e903db8aca6958cdec1b0e9 DIST gcc-17.0.0-musl-patches-1.tar.xz 3040 BLAKE2B cc39906facd9c395bae9f87c67124066b8081521df39857d752f1e398dca5113240d24a836ca0f793313f954d6c38ff39961bf71a8036a1d5bc62751e71eb7c9 SHA512 4e330ee1c87229ba30644ad7a6841683aba368ce00585b5a7af433f215e248534a8d81f6f95fcf7b348c7d9aeaf1eeae015d76601e3d918a0ca39d94ed7e521c -DIST gcc-17.0.0-patches-10.tar.xz 23180 BLAKE2B d0a6bcd57675fbd6090341896f0b8427f04ae1a19c1eba37109de08d474cc857283ea9a64e751710d8266e976c07e07f534b55a6c8b683fa7afb3810b2551f9f SHA512 5e7fb665b2468cd8bc68e573a3e883ed70d4f5688d416fd1c471e2441bad95b6117ebdd433b49c8fbc34c937bc291dc1bcc5f99e1913b611d8833445b2d816d1 -DIST gcc-17.0.0-patches-12.tar.xz 49824 BLAKE2B 4731763b8283fa9d503d4c67485a4e4305e8aaec564573a0db953f7f1a894c51b98855a8c2c727fe78fd3ede34dbbdc2018c431caa2a589ac810181ff72f67dc SHA512 84f696c4df21c605d92368a586b5e52cf70daa646d374405697004b7e31b5e5902c7024bbae05a24af4cdfc128764801650b72f37fd3af93afaff8305a412d6d DIST gcc-17.0.0-patches-13.tar.xz 23248 BLAKE2B e09e2a4a2e51ad7275fe7d3ac3981d5a9873ce1af1f9de60dde2aa5f3df31ef4d73f48553170333a73251614c9bf666a7a93dadcde59d9dde3a20d8b5b2e902a SHA512 3c1aac5abda361d3407ba02ca19ad24c038671254714e82ec6a96f49286a4c551346eaaa718ae340cbfde6515685e665c91f6252adbfff16322b8dfb70b92e47 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260805.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260805.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260805.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_p20260812.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260812.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260812.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_p20260819.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260819.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260819.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_p20260826.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260826.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260826.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_p20260902.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260902.ebuild deleted file mode 100644 index fea647d1997..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260902.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.5.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.5.0.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.5.9999.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.5.0.ebuild index cf886a8a221..93bcc04648d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.5.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.5.0.ebuild @@ -9,6 +9,8 @@ EAPI=8 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 @@ -40,6 +42,7 @@ if tc_is_live ; then 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260806.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260806.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260806.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_p20260813.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260813.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260813.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_p20260820.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260820.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260820.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_p20260827.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260827.ebuild deleted file mode 100644 index 4eb953d1246..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260827.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-15.3.1_p20260814.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260814.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260814.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_p20260821.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260821.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260821.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_p20260828.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260828.ebuild deleted file mode 100644 index 76e691e7f5a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260828.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_p20260731.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260911.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260731.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260911.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.ebuild deleted file mode 100644 index b0402055aa9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260815.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.2.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="16.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-16.2.1_p20260822.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260822.ebuild deleted file mode 100644 index b0402055aa9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260822.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.2.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="16.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-16.2.1_p20260829.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260829.ebuild deleted file mode 100644 index b0402055aa9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260829.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.2.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="16.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-16.2.1_p20260808.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260912.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260808.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.2.1_p20260912.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild deleted file mode 100644 index 9b9654af890..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260816.ebuild +++ /dev/null @@ -1,58 +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="10" -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 - 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_p20260823.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260823.ebuild deleted file mode 100644 index 1b9fb452822..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260823.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="12" -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_p20260830.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260906.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260830.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260906.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260809.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260913.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260809.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260913.ebuild index d8d5655c2de..614874cdf49 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260809.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260913.ebuild @@ -8,7 +8,7 @@ EAPI=8 TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="17.0.0" -PATCH_VER="10" +PATCH_VER="13" 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/gnuconfig-20260517.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20260517.ebuild index 56482daf8b2..5932ab9c9ca 100644 --- 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 @@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then 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" + 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-fs/cryptsetup/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest index 990b75d4dc6..ae96f8811ac 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest @@ -7,3 +7,5 @@ DIST cryptsetup-2.8.6.tar.sign 833 BLAKE2B 399d3ec4b5bce2abd4d4a3f81f4ca79867ecd DIST cryptsetup-2.8.6.tar.xz 11887880 BLAKE2B 1d5ac80bbd2349f727fbb4ff1c7b85e48dbf7bc5a2cb985f23f3c4a482d44043900c0ab4b5190c2cd2d8e6037346d8ed9e1eabb19123c627498fb723776cb677 SHA512 b580e0b384a590447cf21a9d50142e7f799c3dae0fc13999886db45716f95523fa47c795335a27a7282ff1ee67eedd69989c56e6a429016aa957171fe2646d5e DIST cryptsetup-2.8.7.tar.sign 833 BLAKE2B 5b2a305d3dff5117fee7fd7405ec3ed22ac0829985e24f9ceea65a35da3793b8e8c7319e30a66fe917a4c9060488a78df9bb1d0d035b0aa354c6e533c4105415 SHA512 541699ddb68175efb5fc083f4610d9a9e1129c92ae40d1d53516d8fe07cb8cd19d785e7cb739320a1c96be59a88344e71861fc913b820b25891376568157abfe DIST cryptsetup-2.8.7.tar.xz 11922004 BLAKE2B 558d0d6c1001542127210bbb748893076b32981066bd46f583973aaf8f89795c84fb86ddcb5291017084fca6f5b55e2477c85473d81cef5b2f5ed5139521ce6e SHA512 24a29d80d6cd5606e0e6535bdffb3fe652f5f67ded38e1dcc0780134f2396777123f267ef8ada76ee837848e8b503907bf38c58589cdafbc6a1515f0c665ca0f +DIST cryptsetup-2.8.8.tar.sign 833 BLAKE2B 0bc977d270c1f74c500dd3712a648c544ed6eef0aa8ae4906edd693bd995f589e0d70d8c33b4d52e7ccf02e4fcfbfaec983019d64f917c32b39e46a874f09606 SHA512 512ed52984a4547b135f11ddd2362e1ac7326cc5028c25951da5a24c9c292d5de812fc03a2e6978f6c72f61c9e241357f602bc078a33617356806857eb710fa8 +DIST cryptsetup-2.8.8.tar.xz 11951044 BLAKE2B 68dc9f9a1b8f1c08fcb261b9822e69a77d60b315e5543f13d682c1b0c510a8847e32b048a048586dd130a2660dac458b5d8478d31bcdcdcab1f6332cfa93af2d SHA512 cec6499d90540f6b7b118f12bd4f150d06d18465ca93e38d792e8e3f3c39882bb9f33c893ed92974a1dd52df4c59629c002cae045b0bfbb44ca468d346e8383f diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild new file mode 100644 index 00000000000..c8c4d8f072e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: meson (not just yet as of 2.8.0, see https://gitlab.com/cryptsetup/cryptsetup/-/issues/949#note_2585304492) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/milanbroz.asc +inherit linux-info tmpfiles verify-sig + +DESCRIPTION="Tool to setup encrypted devices with dm-crypt" +HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup" +SRC_URI=" + https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz + verify-sig? ( https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.sign ) +" +S="${WORKDIR}"/${P/_/-} + +LICENSE="GPL-2+" +SLOT="0/12" # libcryptsetup.so version +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" +# We don't support nss since it doesn't allow cryptsetup to be built statically +# and it's missing ripemd160 support so it can't provide full backward compatibility +IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality passwdqc ssh static static-libs test +udev urandom" +RESTRICT="!test? ( test )" +# bug #496612, bug #832711, bug #843863 +REQUIRED_USE=" + ?? ( pwquality passwdqc ) + ^^ ( ${CRYPTO_BACKENDS//+/} ) + static? ( !ssh !udev !fips ) + static-libs? ( !passwdqc ) + fips? ( !kernel !nettle ) +" + +LIB_DEPEND=" + dev-libs/json-c:=[static-libs(+)] + dev-libs/popt[static-libs(+)] + >=sys-apps/util-linux-2.31-r1[static-libs(+)] + argon2? ( app-crypt/argon2:=[static-libs(+)] ) + gcrypt? ( + dev-libs/libgcrypt:0=[static-libs(+)] + dev-libs/libgpg-error[static-libs(+)] + ) + nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] ) + openssl? ( dev-libs/openssl:0=[static-libs(+)] ) + pwquality? ( dev-libs/libpwquality[static-libs(+)] ) + passwdqc? ( sys-auth/passwdqc ) + ssh? ( net-libs/libssh[static-libs(+)] net-libs/libssh[sftp(+)] ) + sys-fs/lvm2[static-libs(+)] +" +# We have to always depend on ${LIB_DEPEND} rather than put behind +# !static? () because we provide a shared library which links against +# these other packages. bug #414665 +RDEPEND=" + static-libs? ( ${LIB_DEPEND} ) + ${LIB_DEPEND//\[static-libs\([+-]\)\]} + udev? ( virtual/libudev:= ) +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + virtual/pkgconfig + test? ( + app-misc/jq + dev-tcltk/expect + dev-util/xxd + ) + verify-sig? ( sec-keys/openpgp-keys-milanbroz ) +" + +pkg_setup() { + local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256" + local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n" + local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n" + + # The kernel crypto backend talks to the in-kernel crypto API via AF_ALG + if use kernel ; then + ewarn "AF_ALG support (controlled by USE=kernel) is deprecated and to-be-removed from the Linux kernel." + ewarn "Please test your usecases with USE=-kernel in preparation for removal." + + CONFIG_CHECK+=" ~CRYPTO_USER_API ~CRYPTO_USER_API_HASH ~CRYPTO_USER_API_SKCIPHER" + local WARNING_CRYPTO_USER_API="CONFIG_CRYPTO_USER_API:\tis not set (required for the kernel crypto backend)\n" + local WARNING_CRYPTO_USER_API_HASH="CONFIG_CRYPTO_USER_API_HASH:\tis not set (required for the kernel crypto backend)\n" + local WARNING_CRYPTO_USER_API_SKCIPHER="CONFIG_CRYPTO_USER_API_SKCIPHER:\tis not set (required for the kernel crypto backend)\n" + fi + check_extra_config +} + +src_unpack() { + if use verify-sig; then + verify-sig_uncompress_verify_unpack "${DISTDIR}"/${P/_/-}.tar.xz \ + "${DISTDIR}"/${P/_/-}.tar.sign + else + default + fi +} + +src_configure() { + # configure may search for libselinux but it seems to only be for + # statically linking lvm2 + local myeconfargs=( + --disable-internal-argon2 + --disable-asciidoc + --enable-shared + --sbindir="${EPREFIX}"/sbin + # for later use + --with-default-luks-format=LUKS2 + --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d" + --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done) + $(use_enable argon2 libargon2) + $(use_enable nls) + $(use_enable pwquality) + $(use_enable passwdqc) + $(use_enable !static external-tokens) + $(use_enable static static-cryptsetup) + $(use_enable static-libs static) + $(use_enable udev) + $(use_enable !urandom dev-random) + $(use_enable ssh ssh-token) + $(usev !argon2 '--with-luks2-pbkdf=pbkdf2') + $(use_enable fips) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use static ; then + mv "${ED}"/sbin/cryptsetup{.static,} || die + mv "${ED}"/sbin/veritysetup{.static,} || die + mv "${ED}"/sbin/integritysetup{.static,} || die + + if use ssh ; then + mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die + fi + fi + + find "${ED}" -type f -name "*.la" -delete || die + + dodoc docs/v*ReleaseNotes + + newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt + newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt +} + +pkg_postinst() { + tmpfiles_process cryptsetup.conf + + if use kernel ; then + ewarn "Note that kernel backend is very slow for this type of operation" + ewarn "and is provided mainly for embedded systems wanting to avoid" + ewarn "userspace crypto libraries." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest index ddf833b0b35..353ce355141 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest @@ -1,3 +1,4 @@ DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2 DIST fuse-3.18.2.tar.gz 4933779 BLAKE2B 852ac7e268cb290bcd0efec5e08f5ab09a2c1b87c168fc51e7f5a6da7d820a914106ec2cc4ec02e27b6e2adce60762f06ad299c9dea7f0295ef6331d7ecf9a85 SHA512 b2ca702b74788230981d05dc85458ee3582970dcb1526e7eda8f46e23d0373b361ef1438874a7caa46aaf02a5b84f7e5341fbe61e856cfbce849d1209b4aabbe +DIST fuse-3.18.3.tar.gz 2579900 BLAKE2B d6d1312484bce853b8ad3df2be9ddc4fb9be237948cac48f4d76c1a303d2cc7dcc2c98faf1ca51093d663512040f12cd73376ec92e3f6974eaf0206f853abea3 SHA512 dba76ea2e12ab02c7cc58363e085929177ed17f525b41e194b06149ec16ed7d76f7686f695226e399289751af6e36572b60c1d8c512fd78f4070f005b162bb64 DIST iconv.m4.bz2 3057 BLAKE2B 9d8f7637d87bfcea1b60f3ea11e162aecf391b3f4579a3b85afb01735f56bfbae363a7e781279f3b2bed0d1dd3336f7d0678d3b1d59004824d7d0ca848dceb6e SHA512 9899368b8acc06e216a7a548b83a894f780e152a02612cd52af02b5c3f2ff38e2c36e77bda300587f81c3d74c90addec8066885216fa0e74f3f3280a383d2b55 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.2.ebuild index 2fb3779dbbd..f3299ce7175 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.2.ebuild @@ -33,7 +33,6 @@ BDEPEND=" ${PYTHON_DEPS} $(python_gen_any_dep ' dev-python/pytest[${PYTHON_USEDEP}] - dev-python/looseversion[${PYTHON_USEDEP}] ') ) " @@ -41,8 +40,7 @@ BDEPEND=" DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) python_check_deps() { - python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && - python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]" + python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" } pkg_setup() { diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.3.ebuild new file mode 100644 index 00000000000..821e63ddb88 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +inherit flag-o-matic meson-multilib toolchain-funcs udev python-any-r1 + +DESCRIPTION="An interface for filesystems implemented in userspace" +HOMEPAGE="https://github.com/libfuse/libfuse" +SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="3/4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="io-uring +suid systemtap test" +RESTRICT="!test? ( test )" + +DEPEND=" + io-uring? ( + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-process/numactl + ) +" +RDEPEND=" + ${DEPEND} + >=sys-fs/fuse-common-3.3.0-r1 +" +BDEPEND=" + virtual/pkgconfig + test? ( + ${PYTHON_DEPS} + ) +" + +DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + # bug #853058 + tc-is-clang && filter-lto + + local emesonargs=( + $(meson_use test examples) + $(meson_use test tests) + $(meson_use systemtap enable-usdt) + $(meson_use io-uring enable-io-uring) + -Duseroot=false + -Dinitscriptdir= + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + ) + meson_src_configure +} + +src_test() { + # Need short unix socket paths + local -x TMPDIR=/tmp + # mount/mountpoint-validation fails + local -x SANDBOX_ON=0 + # Don't try to use systemd-run + local -x FUSE_TESTS_UNDER_SCOPE=1 + + multilib-minimal_src_test +} + +multilib_src_install_all() { + # Installed via fuse-common + rm -r "${ED}"{/etc,$(get_udevdir)} || die + + # useroot=false prevents the build system from doing this. + use suid && fperms u+s /usr/bin/fusermount3 + + # manually install man pages to respect compression + rm -r "${ED}"/usr/share/man || die + doman doc/{fusermount3.1,mount.fuse3.8} +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest index 6a936a43bcb..e385b97073b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest @@ -2,3 +2,4 @@ DIST xfsprogs-6.17.0.tar.xz 1563092 BLAKE2B e841526add6c17d036a709c1fafe879a50ba DIST xfsprogs-6.18.0.tar.xz 1563944 BLAKE2B 225cb49a39a2539e48513985d72602c0c067f73597e3fe1d9d4062989ed98c3a0b2c85bb9d465c60acefce3243a7e2320808727e6ce527fbc35216bde235144e SHA512 95fcbfdd91d9b02ec9adef50e23a39240056bf3bfed3d973e048a50dd0d0b040f80e8cf72537cca7e560718e4444ed1bbcf8b99ee4c82e044ca52d916536f7f5 DIST xfsprogs-6.19.0.tar.xz 1564764 BLAKE2B 30ef424589e96175aa38776d809c7a0e1ce2d74ba3ccfca83c00bf102836f93f131afd63e5be8d639aee4e3c8831f6d536029b4e7d6dd44b9297426d6c028d2c SHA512 9ca8ba19a3cc3a4e8a03ca4fe641ae958eb5fd9c4a8b09430a9fa4891d27f63506acd543c061887fec5ba22d2883c69f8c52a155f4f58af96206999725e25bf7 DIST xfsprogs-7.0.1.tar.xz 1591728 BLAKE2B 0834beee30b6f4d6cf16c4e34d2daff0720d1f620d75f1794eb8c8f8d822768f48e8d6d51e51ec8c1eeb73a0e3123a8baa6647cf3215f9d25254cc13d6cf02ba SHA512 21c235bb48f3b8e43a7cda3968e28ecb0333a28db9f2beac77acb9eebc476decdd5119d55230d44ac11734d9d0d7a88f66a74677cd25fe128fea7e0464083665 +DIST xfsprogs-7.1.1.tar.xz 1595568 BLAKE2B 7c3f6f4802cb32bb88cf9f439f73aeff4ebf495ff6928c0fe6da977c96256b7fa84e1f71c370ef3e1532a8534709acfc0d3c8e1d404543c6bb0f5c9a9235ba5a SHA512 5c6e2a57a8f2e04a50cf5a085509a229f7a858a5807d85d807deeef1013d6dbbc1d701da4adb010dec5e251774b6b32e28496309bd11b4e6ebcbc09999f04cd5 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-7.1.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-7.1.1.ebuild new file mode 100644 index 00000000000..96bc0f73ce7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-7.1.1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic systemd udev + +DESCRIPTION="XFS filesystem utilities" +HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" +SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="icu libedit nls selinux static-libs" + +RDEPEND=" + dev-libs/inih + dev-libs/userspace-rcu:= + >=sys-apps/util-linux-2.17.2 + icu? ( dev-libs/icu:= ) + libedit? ( dev-libs/libedit ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-6.18 +" +BDEPEND="nls? ( sys-devel/gettext )" +RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" + +src_prepare() { + default + + # Fix doc dir + sed -i \ + -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ + include/builddefs.in || die + + # Don't install compressed docs + sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die +} + +src_configure() { + # include/builddefs.in will add FCFLAGS to CFLAGS which will + # unnecessarily clutter CFLAGS (and fortran isn't used) + unset FCFLAGS + + # If set in user env, this breaks configure + unset PLATFORM + + export DEBUG=-DNDEBUG + + # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. + # However, we have to provide an empty value to avoid default + # flags. + export OPTIMIZER=" " + + # Avoid automagic on libdevmapper (bug #709694) + export ac_cv_search_dm_task_create=no + + # bug 903611 + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Upstream does NOT support --disable-static anymore, + # https://www.spinics.net/lists/linux-xfs/msg30185.html + # https://www.spinics.net/lists/linux-xfs/msg30272.html + local myconf=( + --enable-static + # Doesn't do anything beyond adding -flto (bug #930947). + --disable-lto + # The default value causes double 'lib' + --localstatedir="${EPREFIX}/var" + --with-crond-dir="${EPREFIX}/etc/cron.d" + # TODO: Write equivalent OpenRC init scripts for installed systemd units + # Possibly document timer equivalents too for cron + --with-systemd-unit-dir="$(systemd_get_systemunitdir)" + --with-udev-rule-dir="$(get_udevdir)/rules.d" + $(use_enable icu libicu) + $(use_enable nls gettext) + $(use_enable libedit editline) + ) + + econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + # XXX: There's a missing dep in the install-dev target, so split it + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev + + # Not actually used but --localstatedir causes this empty dir + # to be installed. + rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die + + if ! use static-libs; then + rm "${ED}/usr/$(get_libdir)/libhandle.a" || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-112.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-112.ebuild index 64a73dd65bb..fe6819b9b06 100644 --- 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 @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then 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" + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-ldconfig.patch b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-ldconfig.patch deleted file mode 100644 index 252fc6b7af8..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-ldconfig.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c4d83b933e688fabc0ef24c770ac04df88cebb9d Mon Sep 17 00:00:00 2001 -Message-ID: -In-Reply-To: <9fdd7c3b7c89ea240f24ad8d900639904c3064e5.1774310363.git.sam@gentoo.org> -References: <9fdd7c3b7c89ea240f24ad8d900639904c3064e5.1774310363.git.sam@gentoo.org> -From: Jeff Bailey -Date: Fri, 25 Apr 2003 03:40:46 +0000 -Subject: [PATCH 2/2] hurd: enable ldconfig - -DP: Description: Enable ldconfig and such on hurd-i386 -DP: Author: Jeff Bailey -DP: Upstream status: Not submitted -DP: Status Details: Upstream disagrees with this patch, but I'm -DP: putting it in so that we have expected Debian behaviour on the -DP: Hurd. We should review this when the ELF standard supports runpath. -DP: Date: 08 Apr 2003 -Imported-from: https://salsa.debian.org/glibc-team/glibc/-/blob/93d5069240943c4dcc950f6255028f7d1fcc2df0/debian/patches/hurd-i386/local-enable-ldconfig.diff ---- - sysdeps/mach/hurd/configure | 3 ++- - sysdeps/mach/hurd/configure.ac | 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure -index 743bad5fcb..44ba9ff0f5 100644 ---- a/sysdeps/mach/hurd/configure -+++ b/sysdeps/mach/hurd/configure -@@ -222,4 +222,5 @@ fi - pthread_in_libc=no - # Hurd already provides abort implementation for the loader - abort_in_ld=yes -- -+# We want ldconfig -+use_ldconfig=yes -diff --git a/sysdeps/mach/hurd/configure.ac b/sysdeps/mach/hurd/configure.ac -index 6d33feed0e..30fef74bed 100644 ---- a/sysdeps/mach/hurd/configure.ac -+++ b/sysdeps/mach/hurd/configure.ac -@@ -50,3 +50,5 @@ fi - pthread_in_libc=no - # Hurd already provides abort implementation for the loader - abort_in_ld=yes -+# We want ldconfig -+use_ldconfig=yes --- -2.53.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch deleted file mode 100644 index 24a3fc887df..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://salsa.debian.org/glibc-team/glibc/-/raw/sid/debian/patches/hurd-i386/tg-mach-hurd-link.diff - -From: Samuel Thibault -Subject: [PATCH] Add -lmachuser -lhurduser to libc.so on GNU/Hurd. - -http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html - -2011-03-29 Samuel Thibault - - * Makerules ($(inst_libdir)/libc.so): Add -lmachuser -lhurduser to - libc.so on GNU/Hurd. - -It's still unclear what we want to aim for. - ---- - Makerules | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Makerules b/Makerules -index 53eabfaba8..b0f5e1b3a0 100644 ---- a/Makerules -+++ b/Makerules -@@ -1066,6 +1066,9 @@ $(inst_libdir)/libc.so: $(common-objpfx)format.lds \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ - ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \ - ) > $@.new -+ifeq ($(patsubst gnu%,,$(config-os)),) -+ echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new -+endif - mv -f $@.new $@ - - endif --- -tg: (7bb5f8a836..) t/mach-hurd-link (depends on: baseline) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild index 0f5bcd19bab..d3c8e2bc4bd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild @@ -25,7 +25,7 @@ else https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz verify-sig? ( https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz.asc ) " - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" + KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-libseccomp )" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.11-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.11-r1.ebuild index 847298557fc..7c6f858d9a0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.11-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.11-r1.ebuild @@ -24,7 +24,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.11.ebuild index 182d088894f..67fb105623f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.11.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild index 29f55a7d24f..760a2f6b730 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild @@ -126,7 +126,7 @@ src_prepare() { is_release || eautoreconf - if use prefix && [[ -n ${STAGE} ]] ; then + if use prefix && ! type -P $(tc-getPKG_CONFIG) > /dev/null ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild index 3fddcda0525..c8f52140a00 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_p3.ebuild @@ -126,7 +126,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ -n ${STAGE} ]] ; then + if use prefix && ! type -P $(tc-getPKG_CONFIG) > /dev/null ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild index b6cfe4de364..2450df74c07 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.4_alpha_pre20251007.ebuild @@ -126,7 +126,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ -n ${STAGE} ]] ; then + if use prefix && ! type -P $(tc-getPKG_CONFIG) > /dev/null ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild index 236229ef6d7..24a840f7f08 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-9999.ebuild @@ -126,7 +126,7 @@ src_prepare() { #(( PLEVEL < 0 )) && eautoreconf - if use prefix && [[ -n ${STAGE} ]] ; then + if use prefix && ! type -P $(tc-getPKG_CONFIG) > /dev/null ; then # If we're bootstrapping, make a guess. We don't have pkg-config # around yet. bug #818103. # Incorrectly populating this leads to underlinked libreadline. diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest index 2dbe2d511d9..44373952355 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest @@ -1,3 +1,5 @@ DIST tzdb-2026a.tar.lz 559308 BLAKE2B aaa57fb5301dc661d39d3614493d156f9da2066bb6544c0c58e3e267d21658fdcb70412fe10bf14c3d92bdf01deee490fb2a86b6aaf902f7fec9690f863e0860 SHA512 1824fc2e198a449ebaa41e6c679a494c486b848f13fe8f18f948fde0533e99f5f01e7e7298e257c565838d24ec743e824f402887abdf525d1ce578a714c71414 DIST tzdb-2026b.tar.lz 561562 BLAKE2B d349cf4978a4b027556e6061c51f2120c2e08d31c68418b675bc973ad86a4c6b1ff885784aad6067bbc22b676f489d620f24e6abf8daf68ffa553be271bf6e85 SHA512 5ec7f74f14cd2c70a0730e3690e82bd0ba889ac26c96397c16aa08005473c2c86feb47958b52e0301810c8eb908e6d8faf998ffae75b2337a912cc9e52c0f9e9 DIST tzdb-2026c.tar.lz 563235 BLAKE2B 38ac0db314e37619139ef859415bc3fe07eaf192924fe6179b37af76e1d0c818ff944b900b12b3969f647e8eef0dea54948f0c54c67b25ea0ab15102e5d04b0c SHA512 3e5aec7d93522efc875fc8af553f78029677aaa9be8db396c862d687bdedb930379ba6246b33a15c5fb3a76d24e937dac4f4f66d6f9edf69a668bb21e9eeada7 +DIST tzdb-2026d.tar.lz 567332 BLAKE2B 7560629bd97890946ef95685630a888d421c3b295e0780a7463f62b4097d9a692818a172cc0539228e15276d097c8d266c9d8df526f9483fca6825b674662cf2 SHA512 b2f4622ef0c2a33ee4a9282c8346dc2732e044617b3b7a1288bc065910653ed8109f01b1423b4b497373f9bc2b9fefb0a75a02c6b79e266ea2fe9767ec32ee89 +DIST tzdb-2026d.tar.lz.asc 833 BLAKE2B 9d28ead57c5362f8459bbe2c48a6a881d1fdb79da27504b14b9e159bea59918ef5ab4f44dab03cae2e0428e36fc21168af0e7c143603534db5183b552126dc4b SHA512 6346378d1d69e2c8f9d1c90d0b9c6f34b37dc3fa48066861de27fa857f0ed2e636a9761b68abf12735649db2218c89eafcc076f4728b82e0c14b14367e8ae7a6 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026d.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026d.ebuild new file mode 100644 index 00000000000..9c3a1f95f05 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026d.ebuild @@ -0,0 +1,179 @@ +# 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/pauleggert.asc +inherit toolchain-funcs flag-o-matic unpacker verify-sig + +DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" +HOMEPAGE="https://www.iana.org/time-zones" +SRC_URI=" + https://data.iana.org/time-zones/releases/tzdb-${PV}.tar.lz + verify-sig? ( https://data.iana.org/time-zones/releases/tzdb-${PV}.tar.lz.asc ) +" +S="${WORKDIR}"/tzdb-${PV} + +LICENSE="BSD public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="nls leaps-timezone zic-slim" + +DEPEND="nls? ( virtual/libintl )" +RDEPEND=" + ${DEPEND} + !sys-libs/glibc[vanilla(+)] +" +BDEPEND=" + $(unpacker_src_uri_depends) + verify-sig? ( sec-keys/openpgp-keys-pauleggert ) +" + +src_unpack() { + use verify-sig && verify-sig_src_unpack + unpacker tzdb-${PV}.tar.lz +} + +src_prepare() { + default + + if tc-is-cross-compiler ; then + cp -pR "${S}" "${S}"-native || die + fi +} + +src_configure() { + tc-export CC + + # bug #471102 + append-lfs-flags + + if use elibc_Darwin ; then + # bug #138251 + append-cppflags -DSTD_INSPIRED + fi + + append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' + + # Upstream default is 'slim', but it breaks quite a few programs, + # that parse /etc/localtime directly: bug #747538. + append-cppflags -DZIC_BLOAT_DEFAULT='\"'$(usex zic-slim slim fat)'\"' + + LDLIBS="" + if use nls ; then + # See if an external libintl is available. bug #154181, bug #578424 + local c="${T}/test" + echo 'int main(){}' > "${c}.c" || die + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then + LDLIBS+=" -lintl" + fi + fi +} + +_emake() { + emake \ + REDO=$(usex leaps-timezone posix_right posix_only) \ + TOPDIR="${EPREFIX}" \ + ZICDIR='$(TOPDIR)/usr/bin' \ + "$@" +} + +src_compile() { + tc-export AR CC RANLIB + + _emake \ + CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LDLIBS="${LDLIBS}" + + if tc-is-cross-compiler ; then + _emake -C "${S}"-native \ + AR="$(tc-getBUILD_AR)" \ + CC="$(tc-getBUILD_CC)" \ + RANLIB="$(tc-getBUILD_RANLIB)" \ + CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ + LDFLAGS="${BUILD_LDFLAGS}" \ + LDLIBS="${LDLIBS}" \ + zic + fi +} + +src_test() { + # CURL is used for extended/web based tests. Punt on them. + emake check CURL=: +} + +src_install() { + local zic="" + tc-is-cross-compiler && zic="zic=${S}-native/zic" + _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" + rm -rf "${D}/nukeit" "${ED}/etc" || die + + insinto /usr/share/zoneinfo + doins "${S}"/leap-seconds.list + + # Delete man pages installed by man-pages package. + rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die + dodoc CONTRIBUTING README NEWS *.html +} + +configure_tz_data() { + # Make sure the /etc/localtime file does not get stale, bug #127899 + local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime" + + # If it's a symlink, assume the user knows what they're doing and + # they're managing it themselves, bug #511474 + if [[ -L "${etc_lt}" ]] ; then + einfo "Skipping update: ${etc_lt} is a symlink." + if [[ -e ${src} ]]; then + einfo "Removing ${src}." + rm "${src}" + fi + return 0 + fi + + if [[ ! -e ${src} ]] ; then + einfo "Skipping update: ${src} does not exist." + return 0 + fi + + tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") + + if [[ -z ${tz} ]]; then + einfo "Skipping update: ${src} is empty." + return 0 + fi + + local tzpath="${EROOT}/usr/share/zoneinfo/${tz}" + + if [[ ! -e ${tzpath} ]]; then + ewarn "The timezone specified in ${src} is not valid!" + return 1 + fi + + if [[ -f ${etc_lt} ]]; then + # If a regular file already exists, copy over it. + ewarn "Found a regular file at ${etc_lt}." + ewarn "Some software may expect a symlink instead." + ewarn "Convert it to a symlink by removing the file and running:" + ewarn " emerge --config sys-libs/timezone-data" + einfo "Copying ${tzpath} to ${etc_lt}." + cp -f "${tzpath}" "${etc_lt}" + else + # Otherwise, create a symlink and remove the timezone file. + tzpath="../usr/share/zoneinfo/${tz}" + einfo "Linking ${tzpath} at ${etc_lt}." + if ln -snf "${tzpath}" "${etc_lt}"; then + einfo "Removing ${src}." + rm -f "${src}" + fi + fi +} + +pkg_config() { + configure_tz_data +} + +pkg_postinst() { + configure_tz_data +} diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest index d54a637889c..3ee73f90613 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 @@ -5,6 +5,7 @@ DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf DIST NVIDIA-Linux-aarch64-595.91.07.run 317767285 BLAKE2B a6df095212b3a8a18a5a53f41f6b2a27035d4513765fd44a6e52e3c5d0502a0e4c12ca887565fe8ee4938023e7734ccf941ca6e303104934552bcf6fede910c3 SHA512 a71dedd6dfa00a1283442aa141419ac4213c74913367502a8a1cba2bb3c8cdc4bd1e5c4d433c5d477716bfd7dd83d9829e7ed85f3529c6bb94f44815a769bbbe DIST NVIDIA-Linux-aarch64-595.99.02.run 318089608 BLAKE2B fc71ec2bb0224b28146c4bbef4cc85d7a1759ad710e34faf71d02b6e7127e20fab6684c3269af55dd9fc8019e5143f9ddabf284885a72fe26760311eca91d8de SHA512 9b35d722928f880e2945567f33d65fc532cacdcc351fb84e0fef83aad884fc28be0661d56d59f852da6ed1320d3e9dcfd6b0603b129325fa5d46f1c47bc23930 DIST NVIDIA-Linux-aarch64-610.57.04.run 355850554 BLAKE2B b8fae1df1a54f793b272cabfbc35da68d0abd90739176ed308d7389304735688987ed847da4ad25f4fc30c93259f07b1cf8677faa6496f44f616d8fbe5399272 SHA512 cbb632182f4096e715cf28605ca93964e7ad329b7ac5eeffc1bd9d9338606f7ffaa4267ee3fa0e92cf00f4a50b177498bcb053686e869464db0e80ddbf7b4ecd +DIST NVIDIA-Linux-aarch64-615.71.09.run 394456988 BLAKE2B efd03e0c1aaa55b9b2ef7f4026c90b2c2ba97cce4955c16ddeb0c6bfaa7f927f5579f0dd84f2e339a27f7d71484d6b06c344875a2ba15105a2ab37fe6985982a SHA512 316f90d5e0ba74db3a79a91464955240aa2c14e986653067fe902c132c771898d2866afc4e6498069b33665596e17b1b5282980936e1e6e31cabb53787e70196 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 @@ -16,12 +17,14 @@ DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6 DIST NVIDIA-Linux-x86_64-595.91.07.run 423651201 BLAKE2B 01f9e8f566c810165673f12b68b95d6b32b329712a3bd43f67363ddc68a4b89e0d84671ed6cb453726d2d998eda5cc40e8fcb5278ee1dacf46b77de2de55a7e2 SHA512 79fa1cdb09ef7851b32aeab1a5e9588365536822e288accb39b04fd5e9fe01dd93ec58bd74366c37838023250d6b184fa7d22befa4cd2584281a2f1c2e6b11a9 DIST NVIDIA-Linux-x86_64-595.99.02.run 423333820 BLAKE2B 09cf1e4bee9fa27ddc648e64786f794862a2d0572b5c0a83486377c6686d133dd30ab0bdb1e16400a11ef3ab08e311a5fc11a9ab63324ebd6f83287499ee66c5 SHA512 9473990fe80019aec737d2eaf4a10dcb85facc781dc3eb30aba7e8e380d90cf4df07df24155e07e12f0fa7b3e3deb7d7f4cab45f2218459093b63900e9b094fe DIST NVIDIA-Linux-x86_64-610.57.04.run 463025450 BLAKE2B bcf46e1fb7d887ffdd25212f17d8f9d5925740a4a64a9503d7255b131eaf811e777ec107c3ec3f3771a6da9e1cb9999993fbd7a8fdbd7b0ff2dd3cbe860a4bd1 SHA512 4c9566625716ba7257ed2203dbbabfbc7a2dfdfc8bcb16678212ec809dc7ff470d12973ad86ce5f925b271d04239425f43088e8e591cb4ed7f77ec0c8612ffc0 +DIST NVIDIA-Linux-x86_64-615.71.09.run 529618784 BLAKE2B bf4c97c1b6a92cc5b6c89680c3a76340fc6086da0d58028afc456bee2db802507ce89ccb8b5fb8c3ca35f10f77741723666a4280e69f571b193f0841ae00bf6b SHA512 446091ef413d815ecc2de0253b1c0065cb12f623a219a3a5c38e48a0084aa73adbb7426c3c334a52f42520da8c6b2186b84f8fbf96a2260d13a320123f804bc0 DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e 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-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-kernel-module-source-615.71.09.tar.xz 25895984 BLAKE2B f4d2e1386336214468d686271565feccebc297a7b203ab44a02a447907c886a8991114bd47b7ed464557e4c519b1ac2297af116d5a6599d1967b6be864f1bcb5 SHA512 0b32c1aaa5ed261bdee7232d5e5d293e53c42ac9896f49c4be4e6b9b6bce1370cb69a7f7fde5531a7537d5e925d651c36bcb512a2f827c2d2cb26ede33f7c057 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 @@ -31,6 +34,7 @@ DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34d DIST nvidia-installer-595.91.07.tar.bz2 172429 BLAKE2B b4128b9075a5b302f825ff70af8ad210030292b920c5f9cb88930c6853e9fa915c9033b80d7ba1ac729a8a8c6c8787f61444419ae0aae47ceeefdefb4984fc19 SHA512 316d278f3f3500f33a92c993accb62333cbd6d719a8e730e28a387d5c80987f4bc7d6b05f0d2897f766d51cb067736e254057a0984d72207c67accb8510233e4 DIST nvidia-installer-595.99.02.tar.gz 231425 BLAKE2B 69c6a09cf10a7f3918766879c3cd231ce3438c7154aabeb9de54e45ea54ccd08d163e2e56824bd902750dc5110813211ce1e0384a9abac4a8ddc40036d876be3 SHA512 7f248eba109ced2a7dc6fdd4e2711d0735b441e3529928de6c3d2d02945d28d26c2c1fab78f357b8f88e21658362fe7968e94208a7c483691e6761460919550a DIST nvidia-installer-610.57.04.tar.bz2 172182 BLAKE2B 03b67a6c8c89c924fe9dda076205d0b20dbbea827c9570acd08cd86d2668f23f4abeb8da60b93cd11f8c69e9e0e2408e772c7ad78bcae241ba87164ca4e0fb73 SHA512 ef842b493a9ef52d2a122dfd5f5901f997613ab891184774d2f9b01e3889e3347f95b96fdce074ec68d06cf6e8eddab09601a71ec4645aa8601e4339d898d272 +DIST nvidia-installer-615.71.09.tar.bz2 171835 BLAKE2B d3fcfef319d73d206383feeddbf9f9510abf3b1e998ab408cb091c2740a14779361915b3dd0d0b8d30010337c737a74cb2987f1b3648ef7d78e51516552bd36c SHA512 81ec8749963e7c008112f68ccf1fb1a0b050b7a9e0c3c2d65b621c2da613e3ae669e0fb32f7c6ac680a5fb0b82a6e54c91edd993c4bcddca5eddbd5ec65b777d 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 @@ -40,6 +44,7 @@ DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54 DIST nvidia-modprobe-595.91.07.tar.bz2 41725 BLAKE2B 0ceec46af414ea6232014b25c384b01390fd85ca81c39f994f5bafcdc2e3bbf670ed6416fc7d8b8d0ae56bc689106356f956b5f9c4b7e69ff66b5fe3d05729c9 SHA512 9ad2780218119eaa55d2da0c1007ffa73c3262b0e692cae25260f18d993d531e4cacfe83356b4f4f923e62cc80903915073d0225810656798a9462c75a769a98 DIST nvidia-modprobe-595.99.02.tar.gz 47246 BLAKE2B c522f4e732487ce9184bf2e4f0911b1afac7ddaeae630dd3975b89bd5ea3a16c53182aa8a2984a767e91640597dbfc0af50de7e529ffca57cdaa5cc959e268e3 SHA512 c6da7e1c9afdb127c658fe53fcd9ada8b85f7e724130d731adf1e3eb27bc4c551295dfc2b6f8454ab500eeb49977b60fd08796e9c1c40669a0168f1b539917fe DIST nvidia-modprobe-610.57.04.tar.bz2 41771 BLAKE2B faeeddaf91cc6beaeb06d94a9451a13ad70dba8795613eb81893019cc1b6a053b241fae7a220fdc862af710ce78eb546b7d61164af8ada39391f5fef3955e7cf SHA512 abfef56e453133ef057163041b7f9b62a23879791254a0cc8f0b10fd730d54e54ccad4056dc1a829fd2d3c2caebba2a8cc06839240ed8571bf5f699750dc6534 +DIST nvidia-modprobe-615.71.09.tar.bz2 41964 BLAKE2B 37d72512f2cbfd005ac1997caec21efa5fbca00cf3332a80f26cdc45a0a5a4cfb2db354d77cee3a94394789340da3d3ff3cdb9e3528ef83a7fc5f3c1da06b48a SHA512 c86050332eb907482de09f7bf1cedbabc70c9d1bc5c2b31162c6bc4164f40e5137946e8efbaf7438e26cc533e88c2f590b1fd39859e6bbb016a1392a79577f8d 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 @@ -49,6 +54,7 @@ DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319 DIST nvidia-persistenced-595.91.07.tar.bz2 62519 BLAKE2B 9da9fbacebc6c3c1b56621d7676ec78cf61081d824dbcabf8599168ce673444adf736b6cd62129b0f87d619f79c6d5f0bbce311f5ecba346cda8881bb7bce6f8 SHA512 b9f9c69fb85ce22676789f5d88c460dee1961c42e1bf4ad3e677ac800715f888ded41590fe287b2c5972e3b89982e7b4d6290ccdf7ff2fa870f3a5ef3a7ae9ae DIST nvidia-persistenced-595.99.02.tar.gz 73431 BLAKE2B aef62f5def60b1c6fad2adc2d1e5c7c1b4cbb24ca5e09650e15cb06a8c27fc5c2f48601502ec83395344a0e18dd1af94c35e95015b7d3b210a2dca2968040d20 SHA512 0711804fbc874c6e406e302d9aa8cbe363f9d183bf306efaa5ae84963170161dcbe56e01df53d3364ab267a0e1dc27450f33e291d504a20f2d842158a0fe6d51 DIST nvidia-persistenced-610.57.04.tar.bz2 63192 BLAKE2B 41ed154c5df65bb645f26efab887cd6ef30b566520df995a367b6c9f03dd0e6e625b3fee573c81747406b882ecd72f9887b5bfbc14747b655459aeb4bfb2a0ed SHA512 f1b4bec67b92e9b83ece3f86217283d88424417b869ae58d2617efedef1c613581ecb6f3fc4a44f096ca451e776d56870c4a8f7336241ccd96c9d3cea1d4b575 +DIST nvidia-persistenced-615.71.09.tar.bz2 64090 BLAKE2B f984825176f19b705deebd0b09e395b155fa001af21bee3315f711e5804fb461f7f0970c93eb940da81f9f39c29967feb593179e8b93327c444e05d0008b491c SHA512 e4b127693f89b2562985a3b7bfe2d17fa0cb24345ac4aa190264109121328231ab05fd611e3068a226396e5ae0acd542c7dbc59126d4f1618a302dbc8aefe7c4 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 @@ -58,6 +64,7 @@ DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07d DIST nvidia-settings-595.91.07.tar.bz2 1136346 BLAKE2B 56e4ed3d51b3210935f49918e9975a8ef7ae0a199ff45f9512ed5058a379fb8e7402e599965da071481e3501fa8081b0ef034e36981ab8816636e7b6b49e8ee7 SHA512 0a412f7923c4b8227b154106280165f9930b41c137beddf5f69e49e70b348ede664f859a51159b7d3e5eb6c0c271ba9a1c1a5930c7f652dbc861cdea9c59265d DIST nvidia-settings-595.99.02.tar.gz 1327143 BLAKE2B 1e746ea3345bc8fe2c7dfb8d83ae544d0796f45b9e029a465098b3f2f8ca55cb146558d9eb3833f40d066b482860b1c54b03528fd0f21e857c02de203f684917 SHA512 755de710bd57f485afc47d3f6000a78f6d36925e400b2c44da405e43b2ca8a62de2901aae4e5cbf79c3df4e2ebf9204ff369ab7ef79ddcdba68a2cebefa191c4 DIST nvidia-settings-610.57.04.tar.bz2 1138157 BLAKE2B 51964fedb416da31c7e2e1c5f1d1b67e5cbcfd125bed0a4c4cfd0685d364f1e9086172eec1e31099d36e74af54dfe2c22aa541a498c93d569db62c6ade5a784a SHA512 522f2c91faeccf40209c1edf07da5e269b447efb8b4fa849617fd4281a4e677b5536994b0dd3338b9ad41eb0adac10bef65828598e3479b5f8617dd0280427fc +DIST nvidia-settings-615.71.09.tar.bz2 1148842 BLAKE2B 8c8df61f7eefeaa8a7f587d8d3c2cbaa55bc6969696667d8dd13a5e090e9671514c9219f8851d941bd4ccab14c913ea2394b3af9006666cab0b608afd61e28bb SHA512 1086afb96dc7b9468e742985e70cad36ac68140a6231fe9be61f89ad39684d7b3d113cbbcba6a57699e48d54fbcb93a2f4b4f387406c2255485b8de2b68a70b8 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 @@ -67,5 +74,6 @@ DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721b DIST nvidia-xconfig-595.91.07.tar.bz2 111007 BLAKE2B 30f556a5b8c41cedc637f52064c402e39590d5df0381a8b2b74cd5bfa3c94a42bb6b95ff68898e240eef36736205a592cacf1595e8ea054b5290314bce8bcdea SHA512 6675a2f56fb2574f55b7342c1c3da221f5b1dc55329018075f71903706cbbf8b9e2ba91190d0c021e66a03e758c7cad1f5a1f1b266653849fe85773092ebc6e1 DIST nvidia-xconfig-595.99.02.tar.gz 145292 BLAKE2B 3228469a5b22a2d333170dcbf32f299ad6296f22e670eef5c0024ff8dc63658443e1891a322062ca6634e123601027088eed1a8cf4c68986c991a2f3bf3dffba SHA512 4e740defccaed009b9d1725786a5d4bdb8dbc62e18450d27ad71f393817737a045ef88bc9d642b9afa666ef95057469ef58aed3e32efc429305516f627eb4ec5 DIST nvidia-xconfig-610.57.04.tar.bz2 111115 BLAKE2B bbd68a06d2e6605dce4d62cb06909cecdb18cdab18815814736d8a53e784ebf9c988c5a7e115676d5978a222b80c3a2f3a6c500c2464934ca045d7c814ef2c90 SHA512 d050291249ed18843f2419f730b31e15019d63ceeebf7c0f011fc13b90a1bc5b784cf603b03708de0b81c4a82f3c2bedecd8b3a6c2818e38e5fdec8b189c01e0 +DIST nvidia-xconfig-615.71.09.tar.bz2 111300 BLAKE2B b916be76ae9f5938fd682246bef3466713894e2dee4f416d7f34094eafdb7813cb0d2b30a88f6edc62b8bd937edceec8ea2b16fc32cf3d2c6de3937706e50059 SHA512 5c82fff6b8dd5e60c5d1a26b7ebd56fc40014df92362732890afbc05992606c4c77aed186d6ec8983fa0024c156f7c0c30709c800c891c9fc2384e0dee2c6646 DIST open-gpu-kernel-modules-595.44.15.tar.gz 24814978 BLAKE2B 896ff15e29469cf358765aa378d7c8fcbaf0dbaba78cf1815b0b2c49b0e67a9dacd6756356007eff9c1d899a832a3d703bae3e8bf527330db4a2b80fdc0d2173 SHA512 d3893088fdeecc6e128fed548df87b18d87c38d11274333e4f21b5ecf1a912a6a058f76fdcda4d969b670789f3fdc3eba54283a506caf043696a778a98388611 DIST open-gpu-kernel-modules-595.99.02.tar.gz 24815430 BLAKE2B 91e80122355096570e6745faec456fed17a9e53eee2108c87a79851c687fc57df95939912e87292d8d28cd1be5f67f822cab7bc1fc4dcb03c2ace4732faed3bd SHA512 d1319de8e92e03954daede6a0c4daf3be9577263411a2b62967c53af9005d02e59156c854565a8522a4861235322ee652b4bafa501457bfacc805de92620638e diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-615.71.09.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-615.71.09.ebuild new file mode 100644 index 00000000000..a0d28d00970 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-615.71.09.ebuild @@ -0,0 +1,576 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +PYTHON_COMPAT=( python3_{12..15} ) +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic +inherit linux-mod-r1 python-single-r1 readme.gentoo-r1 systemd +inherit toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=7.2 +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" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +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} + ${PYTHON_DEPS} + || ( + 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=" + ${PYTHON_DEPS} + 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=" + CGROUPS + PROC_FS + ~DRM_KMS_HELPER + ~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" + + 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 + 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_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 + python-single-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 + + # 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 + + # .py can be called by the shell script which ignores the shebang + sed -i "s/python3/${EPYTHON}/g" nvidia-bug-report.sh || die + python_fix_shebang nvidia-networking-bug-report.py +} + +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-595.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 + dobin nvidia-networking-bug-report.py + + 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 +}