diff --git a/sdk_container/src/third_party/portage-stable/app-admin/eselect/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/eselect/Manifest index 5cd4e19cf40..5e4e8c59696 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/eselect/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/eselect/Manifest @@ -1,2 +1,2 @@ -DIST eselect-1.4.26.tar.xz 184332 BLAKE2B ee1e8890802fc50646c8d1d5219f1ab0ec5cfc0138c758f73ad6baccf673992bbf3e763d8e84491f33e724ba4e1cf3bed6971ba7fa4373e0f06464ff4a5fa1e6 SHA512 397ae2f15d90d722eb84225b08f1afaaf6f89758bfae5d93b0a1c3eddc997c21e74ab62e09ee5e71941d3a8587b3372b64336d12054c3bbf0e56e1ba398a26f9 DIST eselect-1.4.27.tar.xz 184464 BLAKE2B 718874f4d0651194f361ca3202e5140982812bf486c8efe82354944d55206b0113fa135992203e8baa00019c3fd773a90ddaf67157c16f4ac2d69965d9822fbd SHA512 f534785fc1f79869840f420b4ab2b2bf35593c504cce878a6d3d07f75012cf32288009ea9ac2a5607dba216a794110a64c5f2c54d5d8a3c641328489cecc024b +DIST eselect-1.4.28.tar.xz 184692 BLAKE2B 86d1bbc0cb618f6edf49753c9f2be0f67670590ae55b8d2a8824940a5efa8462e395e1ee7f42379bd4ea64ea74f775a78e0a3a23ed565c67c3485f7e4e2d7a83 SHA512 26ac77465e2d6ab5193083c350cfd027d73ecd6d2702fc5f3db90373e92bf3722aead99c9b00b540c7972761620a485941c897854fe110454a4c6897f3f92868 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.26-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.28.ebuild similarity index 87% rename from sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.26-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.28.ebuild index f1879f99ee5..47ff93c8bad 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.26-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/eselect/eselect-1.4.28.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.0 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs vim-syntax" # coreutils for realpath diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.15.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.15.ebuild index 19bc36cde4f..57ef1aa5ff5 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.15.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit multiprocessing +inherit flag-o-matic multiprocessing DESCRIPTION="File archival tool which can also read and write tar files" HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html" @@ -30,6 +30,9 @@ QA_CONFIG_IMPL_DECL_SKIP=( ) src_configure() { + # https://savannah.gnu.org/bugs/?66297 + append-cflags -std=gnu17 + local myeconfargs=( $(use_enable nls) --bindir="${EPREFIX}"/bin diff --git a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/files/ncompress-5.0-c23.patch b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/files/ncompress-5.0-c23.patch new file mode 100644 index 00000000000..7e61ade43fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/files/ncompress-5.0-c23.patch @@ -0,0 +1,291 @@ +https://github.com/vapier/ncompress/commit/af7d29d87ddf8b2002dad41152efa94e9c825b35 +https://github.com/vapier/ncompress/commit/aa359df10ec29a56c12f6e5c2bcec8d8ecfa2740 +https://github.com/vapier/ncompress/pull/40 + +From af7d29d87ddf8b2002dad41152efa94e9c825b35 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 8 Feb 2021 00:28:08 -0500 +Subject: [PATCH] require standard C function prototype support + +We can drop the main prototype entirely as we don't need it. +--- + compress.c | 58 +++++++++++++++++++----------------------------------- + 2 files changed, 21 insertions(+), 38 deletions(-) + +diff --git a/compress.c b/compress.c +index 12c89b8..ff3b51b 100644 +--- a/compress.c ++++ b/compress.c +@@ -49,12 +49,6 @@ + }; + #endif + +-#ifdef __STDC__ +-# define ARGS(a) a +-#else +-# define ARGS(a) () +-#endif +- + #ifndef SIG_TYPE + # define SIG_TYPE void (*)() + #endif +@@ -365,17 +359,16 @@ unsigned short codetab[HSIZE]; + } ; + #endif + +-int main ARGS((int,char **)); +-void Usage ARGS((int)); +-void comprexx ARGS((const char *)); +-void compdir ARGS((char *)); +-void compress ARGS((int,int)); +-void decompress ARGS((int,int)); +-void read_error ARGS((void)); +-void write_error ARGS((void)); +-void abort_compress ARGS((void)); +-void prratio ARGS((FILE *,long,long)); +-void about ARGS((void)); ++void Usage (int); ++void comprexx (const char *); ++void compdir (char *); ++void compress (int, int); ++void decompress (int, int); ++void read_error (void); ++void write_error (void); ++void abort_compress (void); ++void prratio (FILE *, long, long); ++void about (void); + + /***************************************************************** + * TAG( main ) +@@ -418,9 +411,7 @@ void about ARGS((void)); + * procedure needs no input table, but tracks the way the table was built. + */ + int +-main(argc, argv) +- int argc; +- char *argv[]; ++main(int argc, char *argv[]) + { + char **filelist; + char **fileptr; +@@ -632,8 +623,7 @@ Usage: %s [-dfhvcVr] [-b maxbits] [--] [path ...]\n\ + } + + void +-comprexx(fileptr) +- const char *fileptr; ++comprexx(const char *fileptr) + { + int fdin = -1; + int fdout = -1; +@@ -982,8 +972,7 @@ comprexx(fileptr) + + #ifdef RECURSIVE + void +-compdir(dir) +- char *dir; ++compdir(char *dir) + { + struct dirent *dp; + DIR *dirp; +@@ -1059,9 +1048,7 @@ compdir(dir) + * questions about this implementation to ames!jaw. + */ + void +-compress(fdin, fdout) +- int fdin; +- int fdout; ++compress(int fdin, int fdout) + { + long hp; + int rpos; +@@ -1294,9 +1281,7 @@ endlop: if (fcode.e.ent >= FIRST && rpos < rsize) + */ + + void +-decompress(fdin, fdout) +- int fdin; +- int fdout; ++decompress(int fdin, int fdout) + { + char_type *stackp; + code_int code; +@@ -1519,7 +1504,7 @@ resetbuf: ; + } + + void +-read_error() ++read_error(void) + { + fprintf(stderr, "\nread error on"); + perror((ifname[0] != '\0') ? ifname : "stdin"); +@@ -1527,7 +1512,7 @@ read_error() + } + + void +-write_error() ++write_error(void) + { + fprintf(stderr, "\nwrite error on"); + perror(ofname ? ofname : "stdout"); +@@ -1535,7 +1520,7 @@ write_error() + } + + void +-abort_compress() ++abort_compress(void) + { + if (remove_ofname) + unlink(ofname); +@@ -1544,10 +1529,7 @@ abort_compress() + } + + void +-prratio(stream, num, den) +- FILE *stream; +- long int num; +- long int den; ++prratio(FILE *stream, long int num, long int den) + { + int q; /* Doesn't need to be long */ + +@@ -1571,7 +1553,7 @@ prratio(stream, num, den) + } + + void +-about() ++about(void) + { + printf("Compress version: %s\n", version_id); + printf("Compile options:\n "); + + +From aa359df10ec29a56c12f6e5c2bcec8d8ecfa2740 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 8 Feb 2021 00:30:41 -0500 +Subject: [PATCH] mark all local functions as static + +This saves a small amount of space as the compiler can do better. +--- + compress.c | 20 ++++++++++---------- + 2 files changed, 11 insertions(+), 10 deletions(-) + +diff --git a/compress.c b/compress.c +index ff3b51b..86a8cda 100644 +--- a/compress.c ++++ b/compress.c +@@ -359,16 +359,16 @@ unsigned short codetab[HSIZE]; + } ; + #endif + +-void Usage (int); +-void comprexx (const char *); +-void compdir (char *); +-void compress (int, int); +-void decompress (int, int); +-void read_error (void); +-void write_error (void); +-void abort_compress (void); +-void prratio (FILE *, long, long); +-void about (void); ++static void Usage(int); ++static void comprexx(const char *); ++static void compdir(char *); ++static void compress(int, int); ++static void decompress(int, int); ++static void read_error(void); ++static void write_error(void); ++static void abort_compress(void); ++static void prratio(FILE *, long, long); ++static void about(void); + + /***************************************************************** + * TAG( main ) + +From 90810a7f11bf157b479c23c0fe6cee0bebec15c6 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sat, 16 Nov 2024 18:49:48 +0000 +Subject: [PATCH] compress.c: fix -std=c23 build failure (signal handler + protos) + +gcc-15 switched to -std=c23 by default: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 + +As a result `ncompress` fails the build as: + + compress.c: In function 'main': + compress.c:382:40: error: + passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types] + 382 | signal(SIGINT, (SIG_TYPE)abort_compress); + | ^~~~~~~~~~~~~~~~~~~~~~~~ + | | + | void (*)(void) + In file included from compress.c:30: + ...-glibc-2.40-36-dev/include/signal.h:88:57: note: + expected '__sighandler_t' {aka 'void (*)(int)'} but argument is of type 'void (*)(void)' + 88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler) + | ~~~~~~~~~~~~~~~^~~~~~~~~ + +The change removes type casts around function prototypes and define +signal handler as `void(*)(int)`. +--- + compress.c | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/compress.c b/compress.c +index da91603..ea8081e 100644 +--- a/compress.c ++++ b/compress.c +@@ -49,10 +49,6 @@ + }; + #endif + +-#ifndef SIG_TYPE +-# define SIG_TYPE void (*)() +-#endif +- + #if defined(AMIGA) || defined(DOS) || defined(MINGW) || defined(WINDOWS) + # define chmod(pathname, mode) 0 + # define chown(pathname, owner, group) 0 +@@ -327,6 +323,7 @@ static void decompress(int, int); + static void read_error(void); + static void write_error(void); + static void abort_compress(void); ++static void abort_compress_handler(int); + static void prratio(FILE *, long, long); + static void about(void); + +@@ -379,14 +376,14 @@ main(int argc, char *argv[]) + + #ifdef SIGINT + if ((fgnd_flag = (signal(SIGINT, SIG_IGN)) != SIG_IGN)) +- signal(SIGINT, (SIG_TYPE)abort_compress); ++ signal(SIGINT, abort_compress_handler); + #endif + + #ifdef SIGTERM +- signal(SIGTERM, (SIG_TYPE)abort_compress); ++ signal(SIGTERM, abort_compress_handler); + #endif + #ifdef SIGHUP +- signal(SIGHUP, (SIG_TYPE)abort_compress); ++ signal(SIGHUP, abort_compress_handler); + #endif + + #ifdef COMPATIBLE +@@ -1489,6 +1486,14 @@ abort_compress(void) + exit(1); + } + ++ ++void ++abort_compress_handler(int signo) ++ { ++ (void)signo; ++ abort_compress(); ++ } ++ + void + prratio(FILE *stream, long int num, long int den) + { diff --git a/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild new file mode 100644 index 00000000000..3df3f1e865a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Classic compress & uncompress programs for .Z (LZW) files" +HOMEPAGE="https://vapier.github.io/ncompress/" +SRC_URI="https://github.com/vapier/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0-c23.patch +) + +src_prepare() { + default + # First sed expression replaces hardlinking with + # symlinking. Second sed expression fixes the symlink target + # to use relative path to a file in the same directory as the + # symlink (so point to compress instead of + # $(DESTDIR)$(BINDIR)/compress). + sed -i \ + -e 's:\bln :ln -s :' \ + -e 's:\(\bln [^$]*\)\$(DESTDIR)\$(BINDIR)/:\1:' \ + Makefile.def || die +} + +src_configure() { + tc-export CC +} + +src_install() { + emake install_core DESTDIR="${ED}" PREFIX="/usr" + dodoc Acknowleds Changes LZW.INFO README.md +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r2.ebuild index 652b7b1926d..c39766d65c9 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/sharutils/sharutils-4.15.2-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -32,6 +32,9 @@ src_prepare() { # Upstream is aware but thinks this isn't a bug/problem in sharutils itself # See http://lists.gnu.org/archive/html/bug-gnu-utils/2013-10/msg00011.html append-cflags $(test-flags-CC -Wno-error=format-security) + + # bug #943901 + append-cflags -std=gnu17 } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.3.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.3.ebuild index 0a33785a8c4..eaceaea0ff5 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.3.ebuild @@ -35,7 +35,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild index 2962711cdf5..6cfcce9e073 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild @@ -38,6 +38,8 @@ src_prepare() { } src_configure() { + # Needed for tricky configure tests w/ C23 (bug #943727) + export CC="$(tc-getCC) -std=gnu89" # Needed for Clang 16 append-flags -std=gnu89 diff --git a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild index 10ca3ef7b73..7db0542ee92 100644 --- a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild @@ -15,7 +15,7 @@ S=${WORKDIR}/${P/_alpha[0-9][0-9]} LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="acl caps nls unicode selinux" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest index a0750afba01..828d588b19b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest @@ -1,5 +1 @@ -DIST containers-storage-1.51.0.tar.gz 4283732 BLAKE2B 108401d68e617e6237e68cf2147113680e0452a8d15ee099da9872508800f3e7b8f2c5508e17d9c5f3d58fec4efc1c20f23f1a567fe592533c0e63efd05ae5c8 SHA512 89916b49438bce8bb774b4aa799676d4b3a946a0b5207a1b5241b1a3ac0875b06b3cd8e81d7e23332ceae6010b693516fc31d8c7f75a37e7ad3056a83c75b6c1 -DIST containers-storage-1.53.0.tar.gz 4291738 BLAKE2B 939ecca8a948165c42453d5461429d46249d73582869793969f9d4ae52d0a9fec25e6c39cd13190dad0730d9a17de7af1f237b3cf5434fd30f442c78e57ee7b3 SHA512 ea4a1d1899208eb8861e36beba206724b1f55cfd6007bc5a90c3a6a5e02835b4a2985814dc9363c31dcdc81a3fb331b29f51f5523628edb8d9c64c465d6dcaa3 -DIST containers-storage-1.54.0.tar.gz 4165066 BLAKE2B 30f3e4287e9db46fca81ae6c08d3016ec4be6f38a4981d310f06cbc72e4125b458446fe49675f53232efdf0bec58e9cd18aa90424677e1b726338f1fb62b7172 SHA512 e3535ab378bcb7b852d1ebf431e94696f53da469278f618c07dde2d3c8c6b5b3a4c71d65a9c14d1c1b4fa1e41a0550029468ef9ba1f24c1d3294a5aeec55b5fd -DIST containers-storage-1.55.0.tar.gz 4197147 BLAKE2B 62bf192225383961d045f7128b4da32af2b1c9a5f9844e17b2264e81b8fa4494f6d2705ec6415245c0c5d889604e712d922d76c46e8ec6600dff5476b2a530ff SHA512 4c035385167c4c3f6048f8bc2bbbd3cfe9993390d580449e0e5b52576a27d286bd536799c96e46d946b9bfa61ff7263325145acddd7fabfbfbacb967d81843d3 DIST containers-storage-1.55.1.tar.gz 4197824 BLAKE2B 5859e2267096541449aeff8576ad1dc00a72993d123ec5571e775f0081a6bc9cfc588bfd522bf7742bd417314e3a699d51e57127f66c152abb7cf805ffe61464 SHA512 3ba244d28e25c6a88f01a73ff26a4a0747c71124a6191d086d8521e1622f36740cfa0b1cbac56f7699a5af9a7001382e71c32fd0644960a53a97c00fd09a754e diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.51.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.51.0.ebuild deleted file mode 100644 index e06dc0abad1..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.51.0.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_prepare() { - default - eapply "${FILESDIR}"/system-md2man-path.patch -} - -src_compile() { - emake -C docs containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.53.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.53.0.ebuild deleted file mode 100644 index 2b2cde252bc..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.53.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_compile() { - emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild deleted file mode 100644 index be92b5c954c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_compile() { - emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.0.ebuild deleted file mode 100644 index be92b5c954c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_compile() { - emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild index be92b5c954c..360694b3adc 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/files/system-md2man-path.patch b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/files/system-md2man-path.patch deleted file mode 100644 index f7d8d58aeb8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/files/system-md2man-path.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -1,2 +1,3 @@ --GOMD2MAN = ../tests/tools/build/go-md2man -+GOMD2MAN = $(shell command -v go-md2man) -+ - PREFIX ?= ${DESTDIR}/usr diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild index 8cecb6eed7a..845995266d3 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/docker/buildx.git" else SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm arm64 ppc64 ~riscv ~x86" S="${WORKDIR}/${MY_PN}-${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0-r1.ebuild index 81168b09df4..35792c7d186 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0-r1.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/containers/netavark.git" else SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" fi # main diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest index 775c408b2ad..b2d1a65fcab 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest @@ -1,6 +1,2 @@ -DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b -DIST podman-5.0.2.tar.gz 23811875 BLAKE2B e943eb36eb0b80332223afc5d971c0886f6eaffeb7133c634d28c0a38e9aae6a54266691067dbca7684882f8b6dad72c3d5de2287ec5a7e8fb4b1cfd96df0b4d SHA512 70dbac9fc81d66eb9b0a5174f5776b805397005cacca917674d2b001591fadd05a776c956e693bad932e9eefe591c35da5c566e8e9e01db8be42bc454cd03104 -DIST podman-5.0.3.tar.gz 23814179 BLAKE2B 46385710e4d24f8eca3a7c98c18a97b96ecd4691b3c965c5a5e7bc690d40d892a6d5fb71c1dd8ec56cc907a2167ab5ee795b4d2c2279c58cef3a5a1cece8b678 SHA512 c605a52cc5aba43d485796c4986f2d1be704e5c931473bf5ba1cf77f703cdb3d16f41d33da0b25287e8d001077f77caf117d3ea5dbd7c56a744274025d9ab07d -DIST podman-5.1.1.tar.gz 23794366 BLAKE2B 0612a148972c96f532e96a8eb1ab388d80b32fe2ca7c5626e615748ef269a853407aeb39f34686d9eb75de239882e524cf5ee7c97152caccf5f77eb6ecfd54d8 SHA512 e896ee97980da4a522eb865d2eacb6876dd8bc5be1488aed8bd81a81af95faa1383b176b5d236d4af0f76bc30ddad5230df3e11c59ffc6f86e5b4cf3876ff184 -DIST podman-5.2.4.tar.gz 23833172 BLAKE2B b04f9b7009d42eb15396ed918889c43e3164e433ca9eb8485c9c642ba121a48cd9030b365a3853935f01e323576931b199b3ba0d2ec90bacf2400e3bdfd60483 SHA512 c6dc05cb377ba6ca3bf7a8d7875c97af9e82b972812702e011e41f7922a4546166061dd5fb809fbef9dd13ee233744de7b7fe16906d8d9631133fc4205a980c5 DIST podman-5.2.5.tar.gz 23834863 BLAKE2B 2264c9b19e621a1269ae5baee6fee148e6f1b9cacbdd83fdbecf671f87855d0ae566e41e4e8cbffe57662b7e9a3d653d57a7d2acb8f30b869b8af1bd7473a617 SHA512 29f71c67a5700e8dffe45e6e91acab509d8c8924a5f3cf9b4eee95f665a9ed19333285df89da892699ee314cee27c0c8a4a62d29e4205198781f5d5f585135a9 +DIST podman-5.3.0.tar.gz 24194165 BLAKE2B fb2da37e4f97d69997b9518425bb1ec74846e4e26855bf9ece0eeefb723f603051d4d4a1b3320cdba5c97595db12e1948f280776429819d10bfe83a57f349c78 SHA512 3f1ab7e792850e2e21823c59ca9e03d348e78267e3ec5344a04c38e51466159717944c318cf5e61ad9a785d9112b468b9fc37f3b60a40e8764d5cac9f58e7d16 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/files/seccomp-toggle-4.7.0.patch b/sdk_container/src/third_party/portage-stable/app-containers/podman/files/seccomp-toggle-4.7.0.patch deleted file mode 100644 index 17a09b60136..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/files/seccomp-toggle-4.7.0.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -57,7 +57,11 @@ - $(shell hack/systemd_tag.sh) \ - $(shell hack/libsubid_tag.sh) \ - exclude_graphdriver_devicemapper \ -- seccomp -+ -+BUILD_SECCOMP ?= yes -+ifeq ($(BUILD_SECCOMP),yes) -+BUILDTAGS += seccomp -+endif - # N/B: This value is managed by Renovate, manual changes are - # possible, as long as they don't disturb the formatting - # (i.e. DO NOT ADD A 'v' prefix!) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml b/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml index 59ab2d3ffda..897bde56778 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml @@ -26,19 +26,6 @@ Enables btrfs support (graph driver) in Podman - - Use legacy (hybrid) cgroups instead of modern (unified) cgroups - - - Enables fuse dependencies (fuse-overlayfs is especially useful - for rootless mode). - - - Enables catatonit dependency required for podman run --init. - - - Enables dependencies for running in rootless mode. - Install wrapper which lets use podman for command `docker` diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild deleted file mode 100644 index f47814bad56..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11,12} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - if [[ ${PV} != *rc* ]] ; then - KEYWORDS="amd64 arm64 ~riscv" - fi -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs cgroup-hybrid wrapper +fuse +init +rootless +seccomp selinux systemd" -RESTRICT="test" - -RDEPEND=" - app-crypt/gpgme:= - >=app-containers/conmon-2.0.0 - >=app-containers/containers-common-0.56.0 - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 ) - !cgroup-hybrid? ( app-containers/crun ) - wrapper? ( !app-containers/docker-cli ) - fuse? ( sys-fs/fuse-overlayfs ) - init? ( app-containers/catatonit ) - rootless? ( app-containers/slirp4netns ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # bug 906073 - use elibc_musl && export CGO_CFLAGS="-D_LARGEFILE64_SOURCE" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - insinto /etc/cni/net.d - doins cni/87-podman-bridge.conflist - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_preinst() { - PODMAN_ROOTLESS_UPGRADE=false - if use rootless; then - has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true - fi -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) - - local want_newline=false - if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then - ${want_newline} && elog "" - elog "For rootless operation, you need to configure subuid/subgid" - elog "for user running podman. In case subuid/subgid has only been" - elog "configured for root, run:" - elog "usermod --add-subuids 1065536-1131071 " - elog "usermod --add-subgids 1065536-1131071 " - want_newline=true - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild deleted file mode 100644 index 4ac692ff576..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11,12} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" SELINUXOPT= \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild deleted file mode 100644 index 4ac692ff576..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11,12} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" SELINUXOPT= \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild deleted file mode 100644 index 91caafc1959..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="amd64 arm64 ~loong ~riscv" -fi - -# main pkg -LICENSE="Apache-2.0" -# deps -LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${T}"/togglable-seccomp.patch -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - cat <<'EOF' > "${T}"/togglable-seccomp.patch || die ---- a/Makefile -+++ b/Makefile -@@ -56,7 +56,6 @@ BUILDTAGS ?= \ - $(shell hack/systemd_tag.sh) \ - $(shell hack/libsubid_tag.sh) \ - exclude_graphdriver_devicemapper \ -- seccomp - # allow downstreams to easily add build tags while keeping our defaults - BUILDTAGS += ${EXTRA_BUILDTAGS} - # N/B: This value is managed by Renovate, manual changes are -EOF - - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # For non-live versions, prevent git operations which causes sandbox violations - # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 - [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild index 1deb45b1962..91caafc1959 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi # main pkg diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.3.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.3.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest index 93fb19144c5..9d9c5332567 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest @@ -8,5 +8,7 @@ DIST gnupg-2.4.5.tar.bz2 7889060 BLAKE2B a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b1 DIST gnupg-2.4.5.tar.bz2.sig 238 BLAKE2B b236e7d62f49c8385f4fb81389bf10715d9c0a0cb5c0b4c20fb6ff1465d05a3c3657061284db23af988a1ca16c9fa393af3ce5cbd27934501eb41a4f448fff0a SHA512 5a06970e499d1eb5213b142a8a182e46f5f21b7cb32785a9e5069378797c124e151ce74727382003820042d60fd7a2f909143f44aa9ef282605875e1cab04aef DIST gnupg-2.4.6.tar.bz2 8011304 BLAKE2B 3b0deb3da1ec404e8f0aa50c424c7072727f933228de732d661a17ca15785b7430700e7b88afba69538f9794863cb218c90ae3d43469541fb9152fbabd3bc909 SHA512 192ae6cb18547e9c5fc4263dc968b548c1ce563ceb8cc2e651b264d4e5afa1cd99a2c1cdd80906faf5e0b0ca99cef76e003b1f7e73238f311a74a1de6c35b5cb DIST gnupg-2.4.6.tar.bz2.sig 119 BLAKE2B f22b9488a46e585eaa4ed6434c37603756de2a0136a6e8a44d974304d31299f64dee5065a0c1f8ed6aff24555e369ffa213558027698a7e7b2244cef7c9eff76 SHA512 699f99d5aedbb1adef0fc46fbfb4184996ebaeb08e3c5a4d64195cd14e628a17a234ff9d990ad63c32119cbab24bcba802590eaf69f030a0a0addf9928172221 +DIST gnupg-2.4.7.tar.bz2 8010244 BLAKE2B 4cdc6be4330b0c8f150d9d1a9ce9c7d34232ecf9b980b15fbd20e96ff6fcd8665688456d66f1c862b816472034eaa0796444357b1f36e75e8520a603a0e6b298 SHA512 3e84f1679904bf0efb789df6466e468bd2be9149d52561f35e2380038133479bebf1c61ee7adf6d3564b370915f32111098c052be6e6acaf3083a807f9f36019 +DIST gnupg-2.4.7.tar.bz2.sig 119 BLAKE2B e97012f433c2818dda953ccaa2f5e8e94492b306a7815b16d7a9f8bf165f11972114d94a1aaba6156baed0ee3566ad998ed74a9521c71464268f4c6f8f14306c SHA512 d944a57b21fa7a4058fb4f00e3c164220be038037010a07a43e48c881dd66d901f8ea249f5df183a1c7de811ecc3aa9ed1591c18baf201e338129eb7e28bddc4 DIST gnupg-2.5.1.tar.bz2 8126739 BLAKE2B 46955d2eebe14395adc0fdf81e89a32f3f9baaabfe1eee78f256a1fab25ce6fdb96b873678cfeb5e4abf4894c7ab4908359ed04cc6571ff442dcc5325b3ccd66 SHA512 733a11ff24145e23dd7d34d954a70c25bf70ecb1d517b8e15cc34bf690786c9f7007e4e99cde573500ac012852e91b29568fed00491f8c8254b3fb63ca5777cd DIST gnupg-2.5.1.tar.bz2.sig 238 BLAKE2B cd024a63ecb82a12e92444cbff8dbc9bef6a4e436d59957aae77927cce0baf9e282e63df7a5159a521c7c8694a0dbe96d6537ad3ec5f779c7c0dea8d02b5e70d SHA512 8ffd5cc72a2907972bf1854e804f6c215ff66ba2d6e91952700f49b2b5ba8bab035d0f42efdb0d3c3166301cda6e716394928bdd9c0d0d1e1789a02c7aa1a926 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild new file mode 100644 index 00000000000..53572e307e0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 +inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig + +MY_P="${P/_/-}" + +DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" +HOMEPAGE="https://gnupg.org/" +SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( tofu )" + +# Existence of executables is checked during configuration. +# Note: On each bump, update dep bounds on each version from configure.ac! +DEPEND=" + >=dev-libs/libassuan-2.5.0:= + >=dev-libs/libgcrypt-1.9.1:= + >=dev-libs/libgpg-error-1.46 + >=dev-libs/libksba-1.6.3 + >=dev-libs/npth-1.2 + >=net-misc/curl-7.10 + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + ldap? ( net-nds/openldap:= ) + readline? ( sys-libs/readline:0= ) + smartcard? ( usb? ( virtual/libusb:1 ) ) + tofu? ( >=dev-db/sqlite-3.27 ) + tpm? ( >=app-crypt/tpm2-tss-2.4.0:= ) + ssl? ( >=net-libs/gnutls-3.2:0= ) +" +RDEPEND=" + ${DEPEND} + nls? ( virtual/libintl ) + selinux? ( sec-policy/selinux-gpg ) + wks-server? ( virtual/mta ) +" +PDEPEND=" + app-crypt/pinentry +" +BDEPEND=" + virtual/pkgconfig + doc? ( sys-apps/texinfo ) + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +DOCS=( + ChangeLog NEWS README THANKS TODO VERSION + doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch + "${FILESDIR}"/${PN}-2.4.5-revert-rfc4880bis.patch # bug #926186 +) + +src_prepare() { + default + + GNUPG_SYSTEMD_UNITS=( + dirmngr.service + dirmngr.socket + gpg-agent-browser.socket + gpg-agent-extra.socket + gpg-agent.service + gpg-agent.socket + gpg-agent-ssh.socket + ) + + cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die + + # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, + # idea borrowed from libdbus, see + # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 + # + # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', + # which in turn requires discovery in Autoconf, something that upstream deeply resents. + sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ + -i "${T}"/gpg-agent-ssh.socket || die +} + +my_src_configure() { + # Upstream don't support LTO, bug #854222. + filter-lto + + local myconf=( + $(use_enable bzip2) + $(use_enable nls) + $(use_enable smartcard scdaemon) + $(use_enable ssl gnutls) + $(use_enable test all-tests) + $(use_enable test tests) + $(use_enable tofu) + $(use_enable tofu keyboxd) + $(use_enable tofu sqlite) + $(usex tpm '--with-tss=intel' '--disable-tpm2d') + $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') + $(use_enable wks-server wks-tools) + $(use_with ldap) + $(use_with readline) + + # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. + # As of GnuPG 2.3, the mailprog substitution is used for the binary called + # by wks-client & wks-server; and if it's autodetected but not not exist at + # build time, then then 'gpg-wks-client --send' functionality will not + # work. This has an unwanted side-effect in stage3 builds: there was a + # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating + # the build where the install guide previously make the user chose the + # logger & mta early in the install. + --with-mailprog=/usr/libexec/sendmail + + --disable-ntbtls + --enable-gpgsm + --enable-large-secmem + + CC_FOR_BUILD="$(tc-getBUILD_CC)" + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + if use prefix && use usb; then + # bug #649598 + append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # https://dev.gnupg.org/T7368 + append-cppflags -D_XOPEN_SOURCE=500 + fi + + # bug #663142 + if use user-socket; then + myconf+=( --enable-run-gnupg-user-socket ) + fi + + # glib fails and picks up clang's internal stdint.h causing weird errors + tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h + + econf "${myconf[@]}" +} + +my_src_compile() { + default + + use doc && emake -C doc html +} + +my_src_test() { + export TESTFLAGS="--parallel=$(makeopts_jobs)" + + default +} + +my_src_install() { + emake DESTDIR="${D}" install + + use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert + + dosym gpg /usr/bin/gpg2 + dosym gpgv /usr/bin/gpgv2 + echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die + echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die + + use doc && dodoc doc/gnupg.html/* +} + +my_src_install_all() { + einstalldocs + + use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} + use doc && dodoc doc/*.png + + # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed. + dodoc "${FILESDIR}"/README-systemd + systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}" +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest index dc87e8b9a1d..0a4d2ad865f 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 @@ -1,2 +1,4 @@ DIST gpgme-1.23.2.tar.bz2 1836904 BLAKE2B 563e470e861c7cc64ecb3e8dd0a0ed8436bc0867105093abcec09f4d1e1dd95cbf64c8161cf8500b9842583b57f6583efff63e5111234e36fda1e6fbedce2f78 SHA512 6cfcd07e81a93de240582de5a46545420cee93d1f27fe20ea2c983780fdd3036b69fdba073cf549d68a20791e189bf4b3cdde14a43f912d2ab9ef3414c83ac75 DIST gpgme-1.23.2.tar.bz2.sig 238 BLAKE2B fafba6e2f1f34c53fa3f7e05953298132f7b046048660b9f2df5bc11ccb9694b581117ca78883a8f4ca9af060397a39f3132a3711be1cd28183b7c2f8f93a8b7 SHA512 65b7cdd4ce06bb0b15b13033d226423380338efdcb47ffc3f33780a92973453053f8f59b12a3f37e392e773bdd207a7420c25aa3a210c15eec45b7bfef6e891e +DIST gpgme-1.24.0.tar.bz2 1889410 BLAKE2B 059045790c85e456c426fa5dab1cd2e6ffa6f279f1784f20c28ba2dc96b22b895115cc0fc707c9eba7bd347f7ce23b36ed477eebc3f972b81bdeacfee3b58f3f SHA512 f9d3786f27eaf88b6544a453e4b0f800cf2259d5321bf387bd1978c5ba5824b3746d28af4ec5491502cd4d5c776361805b75cb02d9bbbae26cf2a8fcfd86b871 +DIST gpgme-1.24.0.tar.bz2.sig 119 BLAKE2B 35a2960f6be62c3bfc9ea518904c5fe5e7f4e36ffa2f56b940548f7601e5b47fc3cdbf5026d6f7a080778b4e2387438ad099702f028e3d27caa59250f45b0a38 SHA512 0bb6049a44708baf3b8d001d1bb2b196f723464861404d82b9876bc2f15949d9a4438e7cc1cb0ead6f7c3e0f87bbb38a72264628fa5a116fb97a87c6c837c194 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.24.0.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.24.0.ebuild new file mode 100644 index 00000000000..503a688b29e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.24.0.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2024 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.) + +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc + +# in-source builds are not supported: +# * https://dev.gnupg.org/T6313#166339 +# * https://dev.gnupg.org/T6673#174545 +inherit distutils-r1 libtool flag-o-matic out-of-source qmake-utils toolchain-funcs 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 +# Use e.g. app-portage/iwdevtools integration with dev-libs/libabigail's abidiff. +# Subslot: SONAME of each: +# Bump FUDGE if a release is made which breaks ABI without changing SONAME. +# (Reset to 0 if FUDGE != 0 if libgpgme/libgpgmepp/libqpggme change.) +SLOT="1/11.6.15.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="common-lisp static-libs +cxx python qt5 qt6 test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + qt5? ( cxx ) + qt6? ( cxx ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +# - On each bump, update dep bounds on each version from configure.ac! +RDEPEND=" + >=app-crypt/gnupg-2 + >=dev-libs/libassuan-2.5.3:= + >=dev-libs/libgpg-error-1.46-r1:= + python? ( ${PYTHON_DEPS} ) + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( + qt5? ( dev-qt/qttest:5 ) + ) +" +#doc? ( app-text/doxygen[dot] ) +BDEPEND=" + python? ( + ${PYTHON_DEPS} + ${DISTUTILS_DEPS} + dev-lang/swig + ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch + "${FILESDIR}"/${PN}-1.23.1-tests-gnupg-no-tofu.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 + + cd "${BUILD_DIR}" || die + + local languages=( + $(usev common-lisp 'cl') + $(usev cxx 'cpp') + $(usev qt5 'qt5') + $(usev qt6 'qt6') + ) + + use qt5 && export MOC5="$(qt5_get_bindir)/moc" + use qt6 && export MOC6="$(qt6_get_libdir)/qt6/libexec/moc" + + local myeconfargs=( + $(use test || echo "--disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test") + --enable-languages="${languages[*]}" + $(use_enable static-libs static) + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if use python ; then + emake -C lang/python prepare + + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_configure + popd > /dev/null || die + fi +} + +my_src_compile() { + cd "${BUILD_DIR}" || die + + emake + + if use python ; then + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_compile + popd > /dev/null || die + fi +} + +my_src_test() { + cd "${BUILD_DIR}" || die + + emake check + + if use python ; then + distutils-r1_src_test + fi +} + +python_test() { + emake -C lang/python/tests check \ + PYTHON=${EPYTHON} \ + PYTHONS=${EPYTHON} \ + TESTFLAGS="--python-libdir=${BUILD_DIR}/lib" +} + +my_src_install() { + einstalldocs + + cd "${BUILD_DIR}" || die + + emake DESTDIR="${D}" install + + if use python ; then + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_install + popd > /dev/null || die + fi + + find "${ED}" -type f -name '*.la' -delete || die + + # Backward compatibility for gentoo + # (in the past, we had slots) + dodir /usr/include/gpgme + dosym -r /usr/include/gpgme.h /usr/include/gpgme/gpgme.h +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mhash/mhash-0.9.9.9-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/mhash/mhash-0.9.9.9-r3.ebuild index ed01e8b388c..0d5b3371eb8 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mhash/mhash-0.9.9.9-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mhash/mhash-0.9.9.9-r3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit autotools +inherit autotools flag-o-matic DESCRIPTION="Library providing a uniform interface to a large number of hash algorithms" HOMEPAGE="https://mhash.sourceforge.net/" @@ -52,6 +52,9 @@ src_prepare() { } src_configure() { + # bug #943960 + append-cflags -std=gnu17 + econf $(use_enable static-libs static) } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild deleted file mode 100644 index d4a9b8582d0..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3-r1.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) -inherit autotools flag-o-matic python-any-r1 systemd toolchain-funcs multilib-minimal - -MY_P="${P/mit-}" -P_DIR=$(ver_cut 1-2) -DESCRIPTION="MIT Kerberos V" -HOMEPAGE="https://web.mit.edu/kerberos/www/" -SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz" -S=${WORKDIR}/${MY_P}/src - -LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux test xinetd" - -RESTRICT="!test? ( test )" - -DEPEND=" - !!app-crypt/heimdal - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - || ( - >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}] - >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}] - ) - keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] ) - lmdb? ( dev-db/lmdb:= ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] ) - pkinit? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - xinetd? ( sys-apps/xinetd ) - " -BDEPEND=" - ${PYTHON_DEPS} - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - app-alternatives/yacc - cpu_flags_x86_aes? ( - amd64? ( dev-lang/yasm ) - x86? ( dev-lang/yasm ) - ) - doc? ( virtual/latex-base ) - test? ( dev-util/cmocka ) - " -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-kerberos )" - -PATCHES=( - "${FILESDIR}/${PN}-1.12_warn_cflags.patch" - "${FILESDIR}/${PN}_dont_create_rundir.patch" - "${FILESDIR}/${PN}-1.18.2-krb5-config.patch" -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/krb5-config -) - -src_prepare() { - default - # Make sure we always use the system copies. - rm -rf util/{et,ss,verto} - sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die - - eautoreconf -} - -src_configure() { - # lto-type-mismatch (bug #854225) - filter-lto - - multilib-minimal_src_configure -} - -multilib_src_configure() { - ECONF_SOURCE=${S} \ - AR="$(tc-getAR)" \ - WARN_CFLAGS="set" \ - econf \ - $(use_with openldap ldap) \ - $(use_enable nls) \ - $(use_enable pkinit) \ - $(use_with lmdb) \ - $(use_with keyutils) \ - --without-hesiod \ - --enable-shared \ - --with-system-et \ - --with-system-ss \ - --enable-dns-for-realm \ - --enable-kdc-lookaside-cache \ - --with-system-verto \ - --enable-thread-support \ - --disable-rpath -} - -multilib_src_compile() { - emake -j1 -} - -multilib_src_test() { - multilib_is_native_abi && emake -j1 check -} - -multilib_src_install() { - emake \ - DESTDIR="${D}" \ - EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \ - install -} - -multilib_src_install_all() { - # default database dir - keepdir /var/lib/krb5kdc - - cd .. - dodoc README - - newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind - newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc - newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd - newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind - newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc - newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd - - systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service - systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service - systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service - systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service" - systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket - - insinto /etc - newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example - insinto /var/lib/krb5kdc - newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example - - if use openldap ; then - dodoc "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.ldif" - dodoc "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.openldap.ldif" - insinto /etc/openldap/schema - doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema" - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}/kpropd.xinetd" kpropd - fi - - if use doc; then - dodoc -r doc/html - docinto pdf - dodoc doc/pdf/*.pdf - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild index 7456a0e9e8c..f795a00e77f 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild @@ -37,6 +37,7 @@ DEPEND=" BDEPEND=" ${PYTHON_DEPS} app-alternatives/yacc + >=sys-fs/e2fsprogs-1.46.4-r51 cpu_flags_x86_aes? ( amd64? ( dev-lang/yasm ) x86? ( dev-lang/yasm ) @@ -70,6 +71,9 @@ src_configure() { # lto-type-mismatch (bug #854225) filter-lto + # https://github.com/krb5/krb5/pull/1304 (bug #944006) + append-cflags -std=gnu17 + multilib-minimal_src_configure } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild index 0c23a73251f..a45bc6063cc 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild @@ -4,7 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit bash-completion-r1 meson-multilib python-any-r1 +inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 DESCRIPTION="Provides a standard configuration setup for installing PKCS#11" HOMEPAGE="https://p11-glue.github.io/p11-glue/p11-kit.html" @@ -43,6 +43,9 @@ src_prepare() { } multilib_src_configure() { + # https://github.com/p11-glue/p11-kit/issues/664 + append-cflags -std=gnu17 + # Disable unsafe tests, bug#502088 export FAKED_MODE=1 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest index 40e56bf160d..20a4ccd1dd7 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest @@ -1,2 +1,2 @@ -DIST eclass-manpages-20241015.tar.xz 455572 BLAKE2B a6d3a92bf1a24c36f44e80c00f4e7779b88f42c0a33583793a6e8f6c1427e8295967c0855c876a363fa219b10dbc8a1848a57f307de6deca8fd966640ee3121b SHA512 cabe349aadf8f5f00adf72a04cb10ce0f3ed12c49e5f4c151a5da31223941ee7c1e71b7c84fb8a6dfd6eb14f176792132feb6cd04a1123ed17300b429dcb9878 -DIST eclass-manpages-20241109.tar.xz 455884 BLAKE2B 73858e8605c3ab347e470dacb857fe96dda58cc31530759e65a59bcc7c94a1a55e90d3f7a8fec7916e2d9f23c649c235aa30391ca40f145dc0cf26758e54842f SHA512 44d8c324438948a4fa3e4c6f790bc3ab3c110af10ae7ef1226b3c57b965a1829df19b23fa5721fbb79373b03ae36a56a74f0a4cb957094380aca0bdfb302f222 +DIST eclass-manpages-20241115.tar.xz 456160 BLAKE2B eeaa4c964dbc784ae6351b89c4a8d6bac15c80cfefc4c3df17b3a243b1f95c682ca2d25fcf62a2fb23dc9b47f18f468dd43b9a73588cb9e38b7bbe90ed616773 SHA512 42152fd59a660b63a0bb50f285dfb95de132d3687833491b92ce91602fcc10fde1419ab985763c61d32c4753b350070ee47a3fd163d3b31636f27ac31ce3dafd +DIST eclass-manpages-20241117.tar.xz 456132 BLAKE2B 7111d9817b32ede80fb1e917f43e94b9342573684b715b874a2d880121840bbe67fa7c5aff95f5e7c99a25f2ae5beebadb3326c3a0df7117e99c0903cdcf3052 SHA512 73e28a2c40e89bbe2ba6611dc70c0b0320c8cf981b479ba3be86165d0b90c75f84c209d203d0ad612544709da881f7549d66560b4bccdb73209586d1a2cf8590 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241015.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241115.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241015.ebuild rename to sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241115.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241109.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241117.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241109.ebuild rename to sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241117.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild index c5887d078ab..63b2294bfea 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then else MY_P="${PN}-${PV/_}" SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="GNU GPL'd Pico clone with more functionality" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.2.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.2.ebuild index 33dcb4d8418..c5887d078ab 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.2.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then else MY_P="${PN}-${PV/_}" SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="GNU GPL'd Pico clone with more functionality" diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest index 67344428f5b..2669a5edaf9 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest @@ -2,3 +2,4 @@ DIST vim-9.0.2092-patches.tar.xz 2640 BLAKE2B 3a4b2bc57712de3b92b0e8d9b2d428e4d5 DIST vim-9.0.2167.tar.gz 17405049 BLAKE2B 496c8f9672bc4ecce743a145bc2b671bf09034b2875e728406b318c8b12e2d8d4ee3423ce94f8749679f07d36f229954f7ef0b12ce7bc4d71ccf6637ce2d6029 SHA512 6a9a785b1915dc167210b0da4d5e4401c71ee49b3554c8a22566378658ddcc3493562897ea39035852399cc5ffb55a73355ab13390c27a4d00ffd76bcd10ddf0 DIST vim-9.1.0366.tar.gz 17861209 BLAKE2B 8771f5ef6a966c1b5992a437dd6cf1de9525458f61a4cd8fa53737a7bde29a4da101668639a301288a266ee8b3911857d1ba5b4e88870b60473eb1eaa608d7a5 SHA512 11be2a6e349c7b6d26fc1943c35ea18c662baa4f30ae76936eefb30e0b4d988bfcaedf7ecd2c3903f64e23c75957f55b9bb4073e0f38c7eb10ef0ee0dc652ddb DIST vim-9.1.0470.tar.gz 17919981 BLAKE2B 90ebffc6e7b6162f8a047976659e044b75aaa946799b901e9f8c88f04a787543cde56545c8c6e5394fa2bc957d2e46810c5ca3f1315fc20a398a57bbdbc90f4c SHA512 41b71e9e5385237b30aa256f064c9d5c914b29a97c0ec562f1995ac5d476fcf840c3f0e9a52e599f6084777db147e83fcbf0ec6b985bb94c126264d4cbafb964 +DIST vim-9.1.0794.tar.gz 18235753 BLAKE2B 6ab377e6e0661ff8d4f0de2526b29b1c58c128babff662144425665582d390f772b9ded38ec21db4c32c4d68441b566500c434139f23f1ea79af8b7ecd693953 SHA512 38106d56c774b8f1dfed16953c07ff09c411bba5c7ab69e696ee9423dabdec9b0b405665fbd2411122f9963d3af8f9a259cc56b2954443ab41a14a8f2476624a diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild new file mode 100644 index 00000000000..11172cbf29b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0794.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim and app-editors/gvim + +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.0.2092" +inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi +S="${WORKDIR}/vim-${PV}" + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND="dev-build/autoconf" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + # Fix bug #37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r7 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild index 8f91d20c3a9..e1295a72b76 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild @@ -5,8 +5,8 @@ EAPI=8 # Please bump with app-editors/vim and app-editors/gvim -VIM_VERSION="9.0" -VIM_PATCHES_VERSION="9.0.1000" +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.0.2092" inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils if [[ ${PV} == 9999* ]] ; then diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest index 67344428f5b..2669a5edaf9 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest @@ -2,3 +2,4 @@ DIST vim-9.0.2092-patches.tar.xz 2640 BLAKE2B 3a4b2bc57712de3b92b0e8d9b2d428e4d5 DIST vim-9.0.2167.tar.gz 17405049 BLAKE2B 496c8f9672bc4ecce743a145bc2b671bf09034b2875e728406b318c8b12e2d8d4ee3423ce94f8749679f07d36f229954f7ef0b12ce7bc4d71ccf6637ce2d6029 SHA512 6a9a785b1915dc167210b0da4d5e4401c71ee49b3554c8a22566378658ddcc3493562897ea39035852399cc5ffb55a73355ab13390c27a4d00ffd76bcd10ddf0 DIST vim-9.1.0366.tar.gz 17861209 BLAKE2B 8771f5ef6a966c1b5992a437dd6cf1de9525458f61a4cd8fa53737a7bde29a4da101668639a301288a266ee8b3911857d1ba5b4e88870b60473eb1eaa608d7a5 SHA512 11be2a6e349c7b6d26fc1943c35ea18c662baa4f30ae76936eefb30e0b4d988bfcaedf7ecd2c3903f64e23c75957f55b9bb4073e0f38c7eb10ef0ee0dc652ddb DIST vim-9.1.0470.tar.gz 17919981 BLAKE2B 90ebffc6e7b6162f8a047976659e044b75aaa946799b901e9f8c88f04a787543cde56545c8c6e5394fa2bc957d2e46810c5ca3f1315fc20a398a57bbdbc90f4c SHA512 41b71e9e5385237b30aa256f064c9d5c914b29a97c0ec562f1995ac5d476fcf840c3f0e9a52e599f6084777db147e83fcbf0ec6b985bb94c126264d4cbafb964 +DIST vim-9.1.0794.tar.gz 18235753 BLAKE2B 6ab377e6e0661ff8d4f0de2526b29b1c58c128babff662144425665582d390f772b9ded38ec21db4c32c4d68441b566500c434139f23f1ea79af8b7ecd693953 SHA512 38106d56c774b8f1dfed16953c07ff09c411bba5c7ab69e696ee9423dabdec9b0b405665fbd2411122f9963d3af8f9a259cc56b2954443ab41a14a8f2476624a diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild new file mode 100644 index 00000000000..80ea5b2aeb1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0794.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-core and app-editors/gvim + +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.0.2092" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby31 ruby32" + +inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" + +LICENSE="vim" +SLOT="0" +IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + crypt? ( dev-libs/libsodium:= ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + ~app-editors/vim-core-${PV} + vim-pager? ( app-editors/vim-core[-minimal] ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# platform-specific checks (bug #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + + # Fix bug #37354: Disallow -funroll-all-loops on amd64 + # Bug #57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug #24447). The hvc + # things are for ppc64, see bug #86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + local myconf=() + if use minimal; then + myconf=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable crypt libsodium) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed" + fi + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)' + + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild index db28e865596..b9b10d7d73e 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild @@ -9,7 +9,7 @@ VIM_VERSION="9.1" VIM_PATCHES_VERSION="9.0.2092" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby31 ruby32" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest index 4a1a81357fb..0f10475fa52 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest @@ -2,23 +2,13 @@ DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094 DIST berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab.tar.bz2 90020 BLAKE2B 3dda1ba90c4a5ad5cbce2acf35e93f7adbd387ae0e0f929b2cd4cbdf263f95183103118f32be38e8c80de49d7df44c26319ee2f465061d004ae7e64e43eeeb3e SHA512 65f41f42ea563b2cdceb6c71633f41e6694a79ffd02afed4540353a8e73668ae40118dfc108163aae751acbaa7c49630ed99f423465089503c03aee76b07f221 DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2 DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585 -DIST qemu-7.2.11.tar.xz 121877020 BLAKE2B c546773b9ac7809b39a3afa51da5b1c06c3765fadb4df9d8529f8af65c26098676adf8e516620ca1b39201fa859878780edb56a445778e105cbe7db0f52b9f6a SHA512 c77ff1505128c05fe39eaa95cc11e4d2279bff06093acd613e54f71d4a13144f905551eec1d044c3a3fb751d3369c01d131d68c18b15d9a04bcc77370d93c217 -DIST qemu-7.2.12.tar.xz 124399872 BLAKE2B df0afc8de23f3df7b0ada301584f1d96c7add69ec16755c5b75eced88827ec2719ba79c9191da5c77f00872bf2c492b24b08f310954e5ca97249debd5e520cda SHA512 239623f6f3c15b85ce8da27adb8123886a2b56971742d2a11cde58b0dfac40de1592e1e33591306b830c5cee051d11b00d1bdccf414cc7b111dab79b65b1cf92 -DIST qemu-7.2.13.tar.xz 124399088 BLAKE2B 7d0b86862e663b20e918a211f661aff0bf8eeb480cffef9eba51c819d817368db33989bcc4f1673dd278d1f0f91f7991e22a24fca828559d8da225fdb8a1836b SHA512 be6a1d2efb111c09456be97a431a8881667b0a1d356a9901e6582b9720143826d4719778c228eb342ec865b5a3dc21444ebe296be56e1edafd16ab1b3aef3ae2 DIST qemu-7.2.14.tar.xz 124392436 BLAKE2B bf4141a910ebd393edc2df3b105c18bbb1d91241a6e2992ceb591b5097dc846fd74171b9c8ffe71e6a7c847277dd17600286da411ae7750e8eae39c0180b5264 SHA512 3fedf9b55ec97faec449f483433e616d8a384933556997bee50b170bb854faa1eb89e43400cc97acea268575bc92b57d8e921e00d4858bc8991fe04a2c2893ff -DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054 -DIST qemu-8.0.5.tar.xz 126175064 BLAKE2B 1d1f78c185ab64b4ca946a44ad04d0bbb6ea48de058037e4ba18176abeb0f0528754c6e832f742f93227182bbce145544eca5b908a366006e7ee58876aca0bda SHA512 ec9679473dda84a2f56ae8ee0039ec4dafb056414bfc5a3a147b2b6bb45ae3b130dd80f6385e8567b5d18f4be94f3536bc8acc45c61eddf40c9678b46cb8bddc -DIST qemu-8.1.0-docs.tar.xz 2129912 BLAKE2B 8aaf7b748538afdb5bcb6da15dbd96572d086824377c4b0e93f1ddc695f9a4775471e360a9616d2d481dbf8113e91d2601c69d92cef565fb90b65ffacfdb304e SHA512 905515742bb56a439fc8117ec48ea668e7b2bf0244587673e4352d9e8e49911eb84ff093596ff566e44787197cf9789ec8950e3d75fb7a670c5546394a322ac9 -DIST qemu-8.1.5.tar.xz 124007248 BLAKE2B 0d5db3e18c4dc1035fed442116be98b7e7bbfae905e4facef3278ef5a488332fa2d8e6599169fa1f740e96a035027e989c5cdffc0bfd4e0ca0fca1d0a537e8da SHA512 1005e0602a763979c4d0ec6e79a390e4232dcc3d0b8461fe42856c58e54ad25a2079f3850d27023fce8a2b382b36e3baa7882b69d48cbb72002984c160241c92 +DIST qemu-7.2.15.tar.xz 124418604 BLAKE2B 629cb5158cdd790947687a06f4c16bf838ae7b0eb5596bc16bb510dfe838bfcc6ed8e7776962bb6d5ab14379cba1a1f6b12683be370eb4e5debce1ecc446b156 SHA512 e8acc9ea6e70bd4dfb0956e01ee212c592c7b99f5dc0676824eb7cba0aeeb863c1d41df9174771fa775f58ca368c745b2fd7356a3c3fa901a11a33dae24d781a DIST qemu-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5 DIST qemu-8.2.3.tar.xz 130106716 BLAKE2B 2ec91b5111952434686064bd603880d87c4f56774d2478ee953eb0454e2b14235b1d1cca484e015b96bceae3182f90b856d222ca590059032b4989babf1dffe8 SHA512 28c789d84754b26cd86ded9db8464ec82f07cdc3b1025a988e74b8c5b05df8839a3e9990ff96cfba50e032dd967e9dc18cf75f3525baeadd0fa019cb69108d0a -DIST qemu-8.2.5.tar.xz 132743988 BLAKE2B 24da4350cfe5a46771ea257b7baba48f02465c87e819ad3cc0557c06814f24f442ba3b97661af74d5235e31e7883b7c62d108e3180f7ce9e4be524ec966d07d0 SHA512 b95de309d790033452687b488ba869940bc40862ebbc9d91edbeee840e4ffc0b4cae43e1bfcd00f5534da126c62072b7b5309da6d74d30ba537e4c7b430f4255 -DIST qemu-8.2.6.tar.xz 132750000 BLAKE2B da5fdb03fcb44cf764d2ccaf9011b726e5c152d8659ca91550cd04b3e578e7f9bf2cc050b38a64055103775e64303ae949cf7e2cde5508f8a4b976d1311631c5 SHA512 ba702306df0c2a6744fff6fdca5f251ebc572230ee4674113433c74f74187ba33457ea9716d9023aa48cc1e6887af132a2877c30ea098da9ed23e95d4691b88b DIST qemu-8.2.7.tar.xz 132676368 BLAKE2B 92235f1a30e1d44cf9f7e40e71e9df0375c5eb2d8b267c35df51e102e560f399e4d3f70c674d7b9e206728d9c4a1bafee5ae8f1a91cda900b422f9a6a48c15a8 SHA512 9806bae62d2bdf0781b6bd1c4d7e88bb97019ca5e85140714d7818912603aed1d522a5d29f3434888974ab73e0cfae8b4136ea018b05dcc2d6f6c8b6252075cd +DIST qemu-8.2.8.tar.xz 132682628 BLAKE2B 04ed01c70e0b786f513b0cc7f4db572f93b65ec2a94368d7175efd8eeca62262bcd4dec66f9e0971a1be3ac6686e8cf59479d1ba35b686aee31f2a1840d21b44 SHA512 b89f0939c4b381c5b7d1d23be48e0319c02552f9a1bf2a2399671bc33fd6855d48901ffe26d97c1a547dd50431a0b9c998d4ae1f0c90b2cd990b00c42b711d0b DIST qemu-9.0.0-docs.tar.xz 2290196 BLAKE2B 82d22637ff2629bee372550e86651f12051ea6b4a57e314ef83f290425d4973ef01827eaf28a85b635788f22cb7cc1c747438b7525c92c99b90b234fb8f7655c SHA512 7c0ba1f3e7bbaa4e3feebc33a1946a5c190f2c14b9ed78b15c1f642668c8124960f8c85bcf36fe54a10d4edef47d2256e500f06d9173b92b03c599811a15a073 -DIST qemu-9.0.1.tar.xz 132368412 BLAKE2B e96ae5cc3ee935dd31232d38d46bbdc74fd3a2a0dd8517c0e035757f3ded92712dfa68d0068cd8c37f314a92d237e2b4a725b509ba402b7a1ce92df63207a08d SHA512 6c120aaf52f15e79c32d883cc83df8fc83222d538ea6be9c19aaddfba0aef91479b5826bbc03e58688fba639cb24bc6f54e525ccc2404ed5d820766d11735210 -DIST qemu-9.0.2.tar.xz 132387528 BLAKE2B 6b5301f985919ae53e056410be7486b8150a65016127568bd4d58f596e94960d08eb3fc57cff7ff6a3435d71274adee516f57375d856d61b4fc7a3f24cbf75c4 SHA512 58ed84f6fe6263d279356bc9193f96edf62cf3663fb151daa3f047d52329fe49cb91c2d45e09697e0469f4f5409be96403aec9572d4871ffa40848a786c21599 -DIST qemu-9.0.3.tar.xz 132420136 BLAKE2B af44ee6d3e59c28bb84cbf78a4793fa120a7cb811ab0fb0aba7b61d0b2eeb0e47dd094a4a0af9570e26d584f7ae867d46b6f61903610e155deb6479d8ea60fa4 SHA512 fcd72896ae9f9f654628540e09472c8388d980f8081990ee541f3540f92c5fd0d9332fa343dc9eaa6d7fe3dc2a5668d7d5c3784ba9d49bd7df9d37a4f9df7572 +DIST qemu-9.0.4.tar.xz 132422348 BLAKE2B 8e7bb46462d924fa0a2bbe0fc5ddf5901732444e9fdfecb15e7ce2ff4717c71bd51fccc684b68171c03335c1a4d998fa660a22457f514ae51a3671975ad4d6a5 SHA512 48e0e7850c064c6517552f93db551ad31bd88c159b241ccfbdb205e018dae8d27ae8fe76a0767cbaf4f151649f8848536f1963e4976e16a6d97f429995028d67 DIST qemu-9.1.0-docs.tar.xz 2376072 BLAKE2B 31d13133b3a2e21a7d9b5af028407610ae8f2fa61dd296fc35e57fc12eb66cfd1a39ec5e3b5a3852095d10a388f424f8a38417b3ab58ca30d0817ece779328cf SHA512 5b705b577daad6aa010d5c713db9dc314114334b89901840ebcecc9032595a969f5ad9054e42b36b2be5ef9f5d6dc1159841ff46dbb08314b5c48491aa631040 -DIST qemu-9.1.0.tar.xz 132478356 BLAKE2B 77bdaf00e6111e6ac94462a6023aac0d3df9d2829a961fd89a5bdafc4aee7f95c2695d9319715e630960e64512a41b3ff987c9096692ff304cfd49357b46ef62 SHA512 bf61d65e37945fa8ee8640712c719ace05164d86e6df700b98bdc5f79e0a8d5e8f85bd48e726edb62b2419db20673f63ec8b63a60393a914b09cb365621b35e2 -DIST qemu-9.1.1.tar.xz 132584840 BLAKE2B 140e8b334fa83ddae397a519ec352108d942d3581baf591780b58ace2e21a74a9f31e97cbaa5c60e8ab45fd8147852a7de539e83c072777b4c71c5ba630f636c SHA512 cbf2e43d54eafe776dd8245a91ff3c28bbe6206b62205addb25b49ffaac79cefc49c9df082c28aedc17ffc4a67db6352fc7a97895887ccbbb1ce198981e242b4 +DIST qemu-9.1.2.tar.xz 132481332 BLAKE2B 2cbc55e09a8d46fe0c9e3e7e54b6cf4490bef01e8d6fc295158e8f823678cfaedf2f95b8256205cdb14db6e11b932378dee9f653c35c2f1d7e843304336aa2e0 SHA512 ff6ed9bc784f1aa7cf06604d0e38e26ebb2685885893a2cb7d044297f26d7efd0fa6cbb034dc1c422b58504ca1081b46ffe00dd8f9fab928cafa8cfc0d7d1747 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/metadata.xml index 7deef8b7711..6b037ef131a 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/metadata.xml @@ -48,7 +48,6 @@ Build the User targets as static binaries Build the User and Software MMU (system) targets as well as tools as static binaries Enable SystemTap/DTrace tracing - Enable jemalloc allocator support Enable jpeg image support for the VNC console server Enable png image support for the VNC console server Enable USB passthrough via dev-libs/libusb @@ -64,6 +63,9 @@ Enables support for Xen backends + https://gitlab.com/qemu-project/qemu/-/issues + https://wiki.qemu.org/ChangeLog + https://www.qemu.org/docs/master qemu-project/qemu diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild deleted file mode 100644 index ace01a58945..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild +++ /dev/null @@ -1,979 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=ajak -QEMU_DOCS_VERSION="7.2.0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=( - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) " -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - sys-libs/libcap-ng[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libX11 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - )" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - dev-build/meson - sys-apps/texinfo - virtual/pkgconfig - doc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - )" - -PATCHES=( - "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch - "${FILESDIR}"/${PN}-6.0.0-make.patch - "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but - # this setting (-U then -D..=2) will prevent us from trying out 3, so - # drop it. No change to level of protection b/c we patch our toolchain. - sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die - - # Remove bundled modules - rm -r dtc meson roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --with-git-submodules=ignore - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - --enable-cap-ng - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.13.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.13.ebuild deleted file mode 100644 index 08f05e58f7d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.13.ebuild +++ /dev/null @@ -1,979 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=ajak -QEMU_DOCS_VERSION="7.2.0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=( - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) " -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - sys-libs/libcap-ng[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libX11 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - )" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - dev-build/meson - sys-apps/texinfo - virtual/pkgconfig - doc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - )" - -PATCHES=( - "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch - "${FILESDIR}"/${PN}-6.0.0-make.patch - "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but - # this setting (-U then -D..=2) will prevent us from trying out 3, so - # drop it. No change to level of protection b/c we patch our toolchain. - sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die - - # Remove bundled modules - rm -r dtc meson roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --with-git-submodules=ignore - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - --enable-cap-ng - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.12.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.12.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.5.ebuild deleted file mode 100644 index ad54e2275a3..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.5.ebuild +++ /dev/null @@ -1,980 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION="8.0.0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=( - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libX11 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - dev-build/meson - sys-apps/texinfo - virtual/pkgconfig - doc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-8.0.0-make.patch - "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch - "${FILESDIR}"/${PN}-8.0.0-remove-python-meson-check.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but - # this setting (-U then -D..=2) will prevent us from trying out 3, so - # drop it. No change to level of protection b/c we patch our toolchain. - sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die - - # Remove bundled modules - rm -r dtc meson roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --with-git-submodules=ignore - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.1.5.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.1.5.ebuild deleted file mode 100644 index 1f2f4e207cf..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.1.5.ebuild +++ /dev/null @@ -1,979 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -#QEMU_DOCS_VERSION=$(ver_cut 1-3) -QEMU_DOCS_VERSION=8.1.0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=( - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - subprojects/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r subprojects/dtc roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.6-r1.ebuild deleted file mode 100644 index 55910aad611..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.6-r1.ebuild +++ /dev/null @@ -1,999 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - SRC_URI="" - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild index 55910aad611..6d3d77d6652 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild @@ -47,7 +47,7 @@ else fi S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.5-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1-r1.ebuild deleted file mode 100644 index a311c317d5d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1-r1.ebuild +++ /dev/null @@ -1,1003 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - SRC_URI="" - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.2-r1.ebuild deleted file mode 100644 index a311c317d5d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.2-r1.ebuild +++ /dev/null @@ -1,1003 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - SRC_URI="" - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.3.ebuild deleted file mode 100644 index e713c9e7834..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.3.ebuild +++ /dev/null @@ -1,1006 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - SRC_URI="" - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.2-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.0.ebuild deleted file mode 100644 index 41f8903faa1..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.0.ebuild +++ /dev/null @@ -1,1005 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} -QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-3) -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# bug #830088 -QEMU_DOC_USEFLAG="+doc" - -PYTHON_COMPAT=( python3_{10..13} ) -PYTHON_REQ_USE="ensurepip(-),ncurses,readline" - -FIRMWARE_ABI_VERSION="7.2.0" - -inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ - pax-utils xdg-utils - -if [[ ${PV} == *9999* ]]; then - QEMU_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" - EGIT_SUBMODULES=() - inherit git-r3 - SRC_URI="" - declare -A SUBPROJECTS=( - [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" - [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" - ) - - for proj in "${!SUBPROJECTS[@]}"; do - c=${SUBPROJECTS[${proj}]} - SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" - done -else - MY_P="${PN}-${PV/_rc/-rc}" - SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" - - if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" - fi - - S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" - -IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} - +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg keyutils - lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static-user systemtap test udev usb - usbredir vde +vhost-net virgl virtfs +vnc vte xattr xdp xen - zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - loongarch64 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - rx - tricore -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - qemu_softmmu_targets_x86_64? ( fdt ) - sdl-image? ( sdl ) - static-user? ( !plugins ) - virgl? ( opengl ) - virtfs? ( xattr ) - vnc? ( gnutls ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static-user ) - xdp? ( bpf ) -" -for smname in ${IUSE_SOFTMMU_TARGETS} ; do - REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" -done - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - dev-libs/glib:2[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-debug/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bpf? ( dev-libs/libbpf:= ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:=[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - >=net-libs/gnutls-3.0:=[static-libs(+)] - dev-libs/nettle:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) - kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) - keyutils? ( sys-apps/keyutils[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:=[unicode(+)] - sys-libs/ncurses:=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl(+),gbm(+)] - ) - pam? ( sys-libs/pam ) - pipewire? ( >=media-video/pipewire-0.3.60 ) - png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) - pulseaudio? ( media-libs/libpulse ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.14.0 - >=app-emulation/spice-0.14.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev:= ) - usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xdp? ( net-libs/xdp-tools ) - xen? ( app-emulation/xen-tools:= ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202202" -SEABIOS_VERSION="1.16.3" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/edk2-${EDK2_OVMF_VERSION} - >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} - ) - sys-firmware/ipxe[qemu] - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - sys-firmware/sgabios - ) -" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - !pin-upstream-blobs? ( - || ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - >=sys-firmware/seabios-bin-${SEABIOS_VERSION} - ) - ) -" - -# See bug #913084 for pip dep -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - >=dev-build/meson-0.63.0 - app-alternatives/ninja - virtual/pkgconfig - doc? ( - >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - app-alternatives/bc - ) -" -CDEPEND=" - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND=" - ${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static-user? ( ${ALL_DEPEND} ) -" -RDEPEND=" - ${CDEPEND} - acct-group/kvm - selinux? ( - sec-policy/selinux-qemu - sys-libs/libselinux - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch - "${FILESDIR}"/${PN}-9.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch - "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/hppa-firmware64.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD=" - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - use test && CONFIG_CHECK+=" IP_MULTICAST" - ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - for file in ${A}; do - unpack "${file}" - done - cd "${WORKDIR}" || die - for proj in "${!SUBPROJECTS[@]}"; do - mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die - done - cd "${S}" || die - meson subprojects packagefiles --apply || die - else - default - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - cat >> "${S}"/configs/meson/linux.txt <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - fi - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled modules - rm -r roms/*/ || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" || die - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - --disable-download - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --objcc="$(tc-getCC)" - --host-cc="$(tc-getBUILD_CC)" - - $(use_enable alsa) - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable jack) - $(use_enable nls gettext) - $(use_enable oss) - $(use_enable pipewire) - $(use_enable plugins) - $(use_enable pulseaudio pa) - $(use_enable selinux) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Special case for the malloc flag, because the --disable flag does - # not exist and trying like above will break configuring. - conf_malloc() { - if [[ ! ${buildtype} == "user" ]] ; then - usex "${1}" "--enable-malloc=${1}" "" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_softmmu bpf) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser curl) - $(conf_tools doc docs) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_malloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser keyutils libkeyutils) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser pam auth-pam) - $(conf_notuser png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_softmmu xdp af-xdp) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev pipewire) - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-tools - --disable-cap-ng - --disable-seccomp - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --enable-cap-ng - --enable-seccomp - ) - local static_flag="none" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --enable-tools - --enable-cap-ng - ) - local static_flag="none" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTap - use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if [[ ${static_flag} != "none" ]] && use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" || die - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - default - fi - - cd "${S}/tools-build" || die - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" || die - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" || die - emake DESTDIR="${ED}" install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null || die - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null || die - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" || die - dodoc MAINTAINERS - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - - if has_version 'sys-firmware/edk2-bin'; then - ewarn " $(best_version sys-firmware/edk2-bin)" - else - ewarn " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - ewarn " $(best_version sys-firmware/seabios-bin)" - else - ewarn " $(best_version sys-firmware/seabios)" - fi - - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - - if has_version 'sys-firmware/edk2-bin'; then - echo " $(best_version sys-firmware/edk2-bin)" - else - echo " $(best_version sys-firmware/edk2)" - fi - - if has_version 'sys-firmware/seabios-bin'; then - echo " $(best_version sys-firmware/seabios-bin)" - else - echo " $(best_version sys-firmware/seabios)" - fi - - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/metadata.xml index 1059efa31d7..1245a09b345 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/metadata.xml @@ -2,8 +2,8 @@ - andrewammerlaan@gentoo.org - Andrew Ammerlaan + nowa@gentoo.org + Nowa Ammerlaan diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1.ebuild index b657985218d..75a18f27952 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7.1.ebuild @@ -30,7 +30,6 @@ RDEPEND=" " PATCHES=( "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch - "${FILESDIR}"/jq-1.7-runpath.patch ) RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild index d17a13c5a20..b3fbc678464 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild @@ -21,7 +21,7 @@ else https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz https://dev.gentoo.org/~vapier/dist/${P}.tar.xz " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest index cab89598f0b..25f00971a1c 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest @@ -2,3 +2,4 @@ DIST elt-patches-20240512.tar.xz 46176 BLAKE2B 8ca496aae63dd49e7148b7c06e687b364 DIST elt-patches-20240721.tar.xz 46392 BLAKE2B 87d2cefebcacbfa447e8981bf16eda3d21bcf4190e91c478280cd81089ab43440a86ff84a5c6b2cda7d772707dad645d4f481d9ec2543f9c14059fe084c2f54d SHA512 a8a8f55e5e1b0a2ea67895e86307a6fd5116593c25a2e3cc6fb2361f21eddc125a91c46ef84c0fd036c1bb25a682a4ff07c581c041a9b853d713d5c8f73d8d5b DIST elt-patches-20240824.tar.xz 47256 BLAKE2B 3fc40af8eb219277a11051be3e8391bed08fba28a7d79b83ee3ab3cf6360d5d0c04ce2a2db7d627eaf76e029899cafb1ad22ac465634a17d3ba6b7b48d9a457d SHA512 0eb502b026003e918e8aa4045cb3556524d52c331c099a445b9638b3cdfdabf22538c08a0526332671c3623db77bf56d3b6f580402abbc5253d1dca9ec759476 DIST elt-patches-20240912.tar.xz 47436 BLAKE2B 589643e96f83a13fec4553c4ceb14af5993be43e3519678ecfcbd689d7a0016d2cd3c06f131548c90da19188a75cd2828accc5bd516373fa64401bdbad92bce2 SHA512 502347387c594df9ebb453c5258d0d8125694b6170da6136d9579d1535e6d944f9b4eda1a049cdadbb1df29665c00165c1b0f0804413ac4470a082c49272bebd +DIST elt-patches-20241121.tar.xz 47760 BLAKE2B e0ac30748586dc5885539d79f29d5283f80cea51fdbd4af44640b7475f6a46d5c4bc30e4b452a495c3bde16d103f5e320667969c30f06cf55824b2fcdab1e45f SHA512 bce7fc40f10f8db568a3a7237daa3ce9e23dd9ea3c41f26e285cdc350c0b7afbd44eed996324ea9b091b7e69990822458e09c486f12deb70b1a5ee917aa43a80 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild index 2d805a5f0bd..f6d6d69d964 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild @@ -19,7 +19,7 @@ else https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20241121.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20241121.ebuild new file mode 100644 index 00000000000..3f398a3135b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20241121.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Collection of patches for libtool.eclass" +HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/elt-patches.git + https://github.com/gentoo/elt-patches + " + inherit git-r3 +else + SRC_URI=" + https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz + https://dev.gentoo.org/~vapier/dist/${P}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz + " + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +# The 'check' target currently wants network access to fetch libtool tarballs. +RESTRICT="test" + +RDEPEND="sys-apps/gentoo-functions" +BDEPEND="app-arch/xz-utils" + +src_compile() { + emake rootprefix="${EPREFIX}" libdirname="$(get_libdir)" +} + +src_install() { + emake DESTDIR="${D}" rootprefix="${EPREFIX}" install +} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest index c4e5918dff2..442b16691ee 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest @@ -1,3 +1,4 @@ DIST getuto-1.13.tar.gz 10758 BLAKE2B cf7412e6253f883c29a3d89048073d14f982e4bc708ebe11541e4273c69cdc3f1131b6b62484b3b4f1131a11dc541776368f4bfe4500f0ec01e24de9e925a69d SHA512 111c60595dce79b3286afaa8d8485cb852d4d8a4ea5f0659ccde538a9ee8ccdb4d7d7251cce713b30e4f8a769891539bf6fdb52978b5f25df6536afb16dc8f2a +DIST getuto-1.14.tar.gz 10801 BLAKE2B cbcbbdfa42a4dc1d1d0e6a0fe573c14a5937e5573c9332e7adae35931885964ef7e0e3c6c7229a1f27995b22feeb5d49bd80b56db73a242e210f726e35235224 SHA512 a796db7212df9cc723c05e93f9938697f2b593ce694668028c617a48bdf69a358db6687e34ff6a69fb379156b03cc4f06e1f5f7a743102f6ebe219fa468b5c09 DIST getuto-23.0-libc-1-r1-1.gpkg.tar 20480 BLAKE2B a6f9284131690c39ff63a6046b19478a9f460d4115b1bd306d2996b631026fe9c4c4b2e3be23f30d2668794302d2a1686680738dd052a53e2d4c3ecb2a513070 SHA512 a692817ea63fb69c7cbb5e32fcba21e78bd87dd4e670d4c1ac9105e390ef63ea0f3660464e573adb28320b0a9cb0a78c52fe895ecdfd62a24986b1d79d2c692e DIST libc-1-r1-1.gpkg.tar 20480 BLAKE2B b2c184e20c1a29ff66240e992f9f81219285f525eb63cea081372685cf03a2e231a2edb528259617e74c655fbe61b6e0d8fc0bbdbd8452b6098de58432f019d7 SHA512 ce52f398ea8979ec16161381803740d49a4294c77303880f54090c379ba5eb8e545a3d3550f229cacc18c7763dc3adf7936561ba1c64b43c87692ec66084e4e6 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.14.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.14.ebuild new file mode 100644 index 00000000000..288ed5ed1b9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.14.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Standalone Gentoo gpg trust anchor generation tool for binpkgs" +HOMEPAGE="https://github.com/projg2/getuto" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/projg2/getuto" + inherit git-r3 +else + SRC_URI=" + https://github.com/projg2/getuto/archive/refs/tags/${P}.tar.gz + " + S=${WORKDIR}/${PN}-${P} + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +SRC_URI+=" test? ( https://mirror.bytemark.co.uk/gentoo/releases/amd64/binpackages/23.0/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar -> ${PN}-23.0-libc-1-r1-1.gpkg.tar )" + +LICENSE="GPL-2" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-crypt/gnupg + dev-libs/openssl + sec-keys/openpgp-keys-gentoo-release + sys-apps/gentoo-functions +" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + # Don't mangle test data + unpack ${P}.tar.gz + fi + + if use test ; then + cp "${DISTDIR}"/${PN}-23.0-libc-1-r1-1.gpkg.tar "${S}/libc-1-r1-1.gpkg.tar" || die + fi +} + +src_install() { + dobin getuto +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest index 6f8a731d587..d31e076583a 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest @@ -24,15 +24,9 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30 DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258 DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20 -DIST bash-5.3_alpha_p20241015-3ed028ccec871bc8d3b198c1681374b1e37df7cd.tar.gz 15914321 BLAKE2B 7ded011dbba5d9a017a03a7d8dca9bad3baaece4407c69f89f4aeb117bdac25e916e189bff38496ae127964ce5779a2dcf1de3d62b59d54f16a5c2811bfa09e3 SHA512 128d8f4bed5c69e6af8784607f4ef995d45a58a11ab9c47112d95459ef881e06f165406a337fd4ef12ab637883fd83a4c60b0a8a2a265ecd4ffead0786247fc4 -DIST bash-5.3_alpha_p20241018-261c6e8cc6c59b63be3a1597aadec72e9cf5ae72.tar.gz 15933785 BLAKE2B 95a5fd2e16e4d7e4b7c0d503887a99c2ba8570d9218d64b66397b063620732d504ce75491e98f9f363144d6ca88c35988c6a724e2253d3b2bac49fb75f6076c2 SHA512 ecd51f3b347377de5007dd3cfc68e37990125ab5a89691a4fbb08461e57066565f31137d3c5876a78300af0cd4cb487b263319c921676e985357cf37439a3b9b -DIST bash-5.3_alpha_p20241022-474743f2da5bc5eb7da4ac9de23f3d52d1bf071e.tar.gz 15937834 BLAKE2B f14dad4008192018d35543959ae8eb70836a6907d2860e2ad9344a8954923cf41058f3dc7209ad89233cc2d9e6e73dfe4c3f1eb84132d7c3cd22658a49f18fd4 SHA512 c21dedbb0c7115185b0c64e52b82d82bc3a605d69dbe3acef0a5bf40e88cfd773a5010780aca430f193385670af81ed41d5288a631eff49dc5a4cfebfaae0a8d -DIST bash-5.3_alpha_p20241026-ee3b91dfd9aaaa2acd60ece9302e7ce6f09e3e73.tar.gz 15942643 BLAKE2B d8af52e9618c9b34eac7e63b38e37cf876a6e3858397ef7c91d1d5959e579f7ab1a7db2b1bf7e8e3c3594fbba3bb80a8b33596b151e5617fc63d714c6b5e61c8 SHA512 13372ceb1b0aeabae0f892bfed9e893ca437b274802d189aa7b388c688620740cfde0dd0320c5ac347e4dd3a6375615f1df878f6200672b97ed3d27027a13b51 -DIST bash-5.3_alpha_p20241028-4917f2859c8624e834f589bbd526a7b707072ce3.tar.gz 15938746 BLAKE2B 120d8ca4b393e1e5775a03e0f09a4d60da44cbd3ad4fcadc89c2469754601bfb7503ec97cfc493be012e3a700d7755fcde46dad7819be5924c4c1a79dc91a70b SHA512 52d64f2e39697659863eb0cdfe2b9b509e85ab1d35accb456246bf34a94a6377db378cebd72440fcbc863ccd7c032daef9b5395780add203ff75d1298c961193 -DIST bash-5.3_alpha_p20241101-fffa5d0e7c05d04731fcb113db46d7f85ac39085.tar.gz 15938486 BLAKE2B cc1db98359f0a7d2fe1598cfda1d67db354696fc2a7a088bf8e231c43107979653f2968826021593d15f13ee1e5144aa49670cb182152c845eee37340fa20be7 SHA512 36a61ac433cd6ce29fe7895837d1f83bb298b4a3ac6d916711c8820ec85219f7fa280cec35b7d845eeacdc6b6ee1bea9a859f61a0c1f1f7363edeed089ebc626 -DIST bash-5.3_alpha_p20241102-bf093e31aec6963c44309274e8ec5b8eca05af95.tar.gz 15717780 BLAKE2B 6898a1a4cc9184f64bcbccc1c5621900c2d196db91be51c7ae462e461e43a288f9a0cf986ffde76390e5c1a9bddf69a5581f91f272f328703fbd18ef90b9a151 SHA512 13b989c01c5abfdfa4456210926911bad2e0fd10a0cd3b73372f4671bcfc51e3f3b0bf39a864bfdd3dce162840dbb1cc33b7f18fb92e47f893a58b234b532f7a -DIST bash-5.3_alpha_p20241104-0075715b29c9c1d984ec243cf3018775ed5612de.tar.gz 15719398 BLAKE2B 23e05c0bc505237e662c7294655c1aac3034856f85ae306e460ce2b8c09e9ab5b7ec8fd7ee68aadd896587273a1d3b8a218f546d1ecde2b787ede2d45f2cce6f SHA512 3b15722cc136bc55f5223c94be630f837d2336dde7bc15fad0b32e53e2b314af6d7ccbd0d5bbad7d13bd289823419f2e452d7e9aead403dd318af919dc2ab7e9 -DIST bash-5.3_alpha_p20241108-b116cfe57df2c061cd953b77a0fc1b738dd5fe94.tar.gz 14937995 BLAKE2B d8a9282ea50a6c02bbe844b4f6c16148d2c63aad6ca54984389465dd91a7bd8d393d9fb18ca97478bec82fe4aa01108226f023e528f1c754bb10c755be206583 SHA512 50a54a6da25bed3fd21fd4976f6378796a39a6a9f6e310f3fdc86b0cbb402f1c990b55ae07d62b96b81c83fd1a66e1fc6efbd87ce66018f48c609da196dd1d17 +DIST bash-5.3_alpha_p20241115-fa68e6da80970c302948674369d278164a33ed39.tar.gz 14947053 BLAKE2B f05df995a93ee010e7867e828d30f2cdd0aa62fa020e632018cb8f3945626e0b0c254e4cb6f6e4de3dbb01994870a39f1edecb8fb30b4d38e6455d0c645ba2c5 SHA512 de33fc8dbf9d4a833220423bdd53627fa67335130442964c88e82f11ddf1c19aab0d166d5f7dba30767b8878b36ce7ddf4deea03633e98fa3459669f99086f5b +DIST bash-5.3_alpha_p20241121-22417e78816237ae66f2da661567dfe5ed3452a1.tar.gz 14888873 BLAKE2B 78f9d15aee593497a2213e9cfcb03a0b5c8d127beacf0a2268f4bbefb79da41e6b2e4b9bf43b46c7b7cf4a276038554f708ee783fbd30f2489881af2fac165cc SHA512 f06e908ec673a605e967f7392aadcdea293bacafeb6991fd286e1b64ef606845c8cd78b01b1bb04a7ae9ad5c049324f51c1299c2fc90fdd3fd38575f9b380c11 +DIST bash-5.3_alpha_p20241126-49c2670226b045746d66765b23af37c1c7ba5597.tar.gz 14891201 BLAKE2B 984e67e7d4520147ea28a72cab1afb364dce5ba942f07d25d805160395630fe10cbacc8302f47cbd108c4cba04622782e245f553586be3cd4c48b8685a798334 SHA512 b7795724d97012074361f229b561ccfb87a272e6d4351b9fc5cf13747b51d87fa3b7a1282a25a80aac248ca470c620e6e940abdb776cddd7cedfddcc23509f88 DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild index 4d0475f6781..332d2e91577 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-2.05b_p13.ebuild @@ -101,6 +101,10 @@ src_configure() { # It works fine in bash 4+. Backporting may not be worth it. filter-lto + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild index c134eaf7bf9..43224166225 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.0_p22.ebuild @@ -106,6 +106,10 @@ src_configure() { # It works fine in bash 4+. Backporting may not be worth it. filter-lto + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild index 2912f931bad..7e9fb555445 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.1_p23.ebuild @@ -101,6 +101,10 @@ src_configure() { # It works fine in bash 4+. Backporting may not be worth it. filter-lto + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild index 48aea043042..c00b1b641c4 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-3.2_p57.ebuild @@ -103,6 +103,10 @@ src_configure() { # It works fine in bash 4+. Backporting may not be worth it. filter-lto + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild index b54ac9fc658..62b57fd03b0 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.0_p44.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -97,6 +97,10 @@ src_prepare() { } src_configure() { + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild index 1bf607050dd..e17891fc9cb 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.1_p17.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -92,6 +92,10 @@ src_prepare() { } src_configure() { + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild index 060e93efc14..9736efa4fdb 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.2_p53.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -104,6 +104,10 @@ src_configure() { # may misbehave at runtime. unset YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --with-installed-readline=. diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild index 024b3ee7d69..e5cd244c3ac 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.3_p48-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -113,6 +113,10 @@ src_configure() { # may misbehave at runtime. unset YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --docdir='$(datarootdir)'/doc/${PF} --htmldir='$(docdir)/html' diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild index e890271eefc..4c094621f6b 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-4.4_p23-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -124,6 +124,10 @@ src_configure() { # may misbehave at runtime. unset YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --disable-profiling diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r2.ebuild index 021d8511603..9500f0a8c94 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.0_p18-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -128,6 +128,10 @@ src_configure() { # may misbehave at runtime. unset YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + local myconf=( --disable-profiling diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild index eb7579fcf21..ddf5fd45402 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild @@ -173,6 +173,10 @@ src_configure() { # may misbehave at runtime. unset -v YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + myconf=( --disable-profiling diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r6.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r6.ebuild deleted file mode 100644 index 0aa7f52a8c7..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r6.ebuild +++ /dev/null @@ -1,402 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/. -case ${PV} in - *_p*) - PLEVEL=${PV##*_p} - ;; - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.2_p1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -S=${WORKDIR}/${MY_P} - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" - "${FILESDIR}/${PN}-5.2_p15-random-ub.patch" - "${FILESDIR}/${PN}-5.2_p15-configure-clang16.patch" - "${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch" - "${FILESDIR}/${PN}-5.2_p21-configure-strtold.patch" - "${FILESDIR}/${PN}-5.2_p26-memory-leaks.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - doins "${FILESDIR}"/bashrc.d/10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then - return - elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, this array may contain a command -to set the terminal's window title. Those already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash manipulate the window title in the case -that the terminal is controlled by sshd(8), unless screen or tmux are in use. -Those wanting to set the title unconditionally may adjust ~/.bashrc - or create -a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild deleted file mode 100644 index ca58c474007..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild +++ /dev/null @@ -1,402 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/. -case ${PV} in - *_p*) - PLEVEL=${PV##*_p} - ;; - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.2_p1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -S=${WORKDIR}/${MY_P} - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" - "${FILESDIR}/${PN}-5.2_p15-random-ub.patch" - "${FILESDIR}/${PN}-5.2_p15-configure-clang16.patch" - "${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch" - "${FILESDIR}/${PN}-5.2_p21-configure-strtold.patch" - "${FILESDIR}/${PN}-5.2_p26-memory-leaks.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild index acb56fbe1e7..b30759530f7 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p37.ebuild @@ -174,6 +174,10 @@ src_configure() { # may misbehave at runtime. unset -v YACC + # bash 5.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + myconf=( --disable-profiling diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241018.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241018.ebuild deleted file mode 100644 index c154d562ba4..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241018.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="261c6e8cc6c59b63be3a1597aadec72e9cf5ae72" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241028.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241028.ebuild deleted file mode 100644 index 839b3c1fc0e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241028.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="4917f2859c8624e834f589bbd526a7b707072ce3" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241101.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241101.ebuild deleted file mode 100644 index 663518a91fb..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241101.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="fffa5d0e7c05d04731fcb113db46d7f85ac39085" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241102.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241102.ebuild deleted file mode 100644 index ed400962cd3..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241102.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="bf093e31aec6963c44309274e8ec5b8eca05af95" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241104.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241104.ebuild deleted file mode 100644 index 7bdfbbe020a..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241104.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="0075715b29c9c1d984ec243cf3018775ed5612de" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241108.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241108.ebuild deleted file mode 100644 index aa808e0803a..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241108.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic toolchain-funcs prefix verify-sig - -# Uncomment if we have a patchset. -#GENTOO_PATCH_DEV="sam" -#GENTOO_PATCH_VER="${PV}" - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -# The version of readline this bash normally ships with. Note that we only use -# the bundled copy of readline for pre-releases. -READLINE_VER="8.3_alpha" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="b116cfe57df2c061cd953b77a0fc1b738dd5fe94" - SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${BASH_COMMIT} -else - my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - - # bash-5.1 -> bash51 - my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - - for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do - printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" - my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) - MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) - done - - SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - S=${WORKDIR}/${MY_P} - - unset -v my_urls my_p my_patch_idx my_patch_ver -fi - -if [[ ${GENTOO_PATCH_VER} ]]; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" -fi - -LICENSE="GPL-3+" -SLOT="0" -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:= - nls? ( virtual/libintl ) -" -if (( PLEVEL >= 0 )); then - DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" -fi -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). -BDEPEND=" - pgo? ( dev-util/gperf ) - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -# EAPI 8 tries to append it but it doesn't exist here. -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches to or from Chet, posted to the bug-bash mailing list. - "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" -) - -pkg_setup() { - # bug #7332 - if is-flag -malign-double; then - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - - if use bashlogger; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - # Include official patches. - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. The - # touch utility is invoked for the benefit of config.status. - if (( PLEVEL >= 0 )); then - rm -rf lib/{readline,termcap}/* \ - && touch lib/{readline,termcap}/Makefile.in \ - && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ - || die - fi - - # Prefixify hardcoded path names. No-op for non-prefix. - hprefixify pathnames.h.in - - # Avoid regenerating docs after patches, bug #407985. - sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ - && touch -r . doc/* \ - || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - local -a myconf - - # Upstream only test with Bison and require GNUisms like YYEOF and - # YYERRCODE. The former at least may be in POSIX soon: - # https://www.austingroupbugs.net/view.php?id=1269. - # configure warns on use of non-Bison but doesn't abort. The result - # may misbehave at runtime. - unset -v YACC - - # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported - # upstream to Chet by email. - filter-lto - - myconf=( - --disable-profiling - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - --with-curses - - $(use_enable mem-scramble) - $(use_enable net net-redirections) - $(use_enable readline) - $(use_enable readline bang-history) - $(use_enable readline history) - $(use_with afs) - $(use_with mem-scramble bash-malloc) - ) - - # For descriptions of these, see config-top.h. - # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ - -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - use nls || myconf+=( --disable-nls ) - - if (( PLEVEL >= 0 )); then - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=${READLINE_VER%%_*} - - # Use system readline only with released versions. - myconf+=( --with-installed-readline=. ) - fi - - if use plugins; then - append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" - else - # Disable the plugins logic by hand since bash doesn't provide - # a way of doing it. - export ac_cv_func_dl{close,open,sym}=no \ - ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no - - sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die - fi - - # bug #444070 - tc-export AR - - econf "${myconf[@]}" -} - -src_compile() { - local -a pgo_generate_flags pgo_use_flags - local flag - - # -fprofile-partial-training because upstream notes the test suite isn't - # super comprehensive. - # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - if use pgo; then - pgo_generate_flags=( - -fprofile-update=atomic - -fprofile-dir="${T}"/pgo - -fprofile-generate="${T}"/pgo - ) - pgo_use_flags=( - -fprofile-use="${T}"/pgo - -fprofile-dir="${T}"/pgo - ) - if flag=$(test-flags-CC -fprofile-partial-training); then - pgo_generate_flags+=( "${flag}" ) - pgo_use_flags+=( "${flag}" ) - fi - fi - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others - - # Build Bash and run its tests to generate profiles. - if (( ${#pgo_generate_flags[@]} )); then - # Used in test suite. - unset -v A - - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check - - if tc-is-clang; then - llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die - fi - - # Rebuild Bash using the profiling data we just generated. - emake clean - emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" - use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others - fi -} - -src_test() { - # Used in test suite. - unset -v A - - default -} - -src_install() { - local d f - - default - - my_prefixify() { - while read -r; do - if [[ $REPLY == *$1* ]]; then - REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} - fi - printf '%s\n' "${REPLY}" || ! break - done < "$2" || die - } - - dodir /bin - mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - - insinto /etc/bash/bashrc.d - my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash - newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash - if [[ ! ${EPREFIX} ]]; then - doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash - fi - - insinto /etc/skel - for f in bash{_logout,_profile,rc}; do - newins "${FILESDIR}/dot-${f}" ".${f}" - done - - if use plugins; then - exeinto "/usr/$(get_libdir)/bash" - set -- examples/loadables/*.o - doexe "${@%.o}" - - insinto /usr/include/bash-plugins - doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples; then - for d in examples/{functions,misc,scripts,startup-files}; do - exeinto "/usr/share/doc/${PF}/${d}" - docinto "${d}" - for f in "${d}"/*; do - if [[ ${f##*/} != @(PERMISSION|*README) ]]; then - doexe "${f}" - else - dodoc "${f}" - fi - done - done - fi - - # Install bash_builtins.1 and rbash.1. - emake -C doc DESTDIR="${D}" install_builtins - sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die - doman "${T}"/rbash.1 - - newdoc CWRU/changelog ChangeLog - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then - mkdir -p -- "${EROOT}"/etc/bash \ - && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ - || die - fi -} - -pkg_postinst() { - local old_ver - - # If /bin/sh does not exist, provide it. - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf -- bash "${EROOT}"/bin/sh || die - fi - - read -r old_ver <<<"${REPLACING_VERSIONS}" - if [[ ! $old_ver ]]; then - : - elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then - return - fi - - while read -r; do ewarn "${REPLY}"; done <<'EOF' -Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. - -Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the -characteristics of the operating environment, it may contain a command to set -the terminal's window title. Those who were already choosing to customise the -PROMPT_COMMAND variable are now advised to append their commands like so: - -PROMPT_COMMAND+=('custom command goes here') - -Gentoo no longer defaults to having bash set the window title in the case -that the terminal is controlled by sshd(8), unless screen is launched on the -remote side or the terminal reliably supports saving and restoring the title -(as alacritty, foot and tmux do). Those wanting for the title to be set -regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d -drop-in - to set PROMPT_COMMMAND like so: - -PROMPT_COMMAND=(genfun_set_win_title) - -Those who would prefer for bash never to interfere with the window title may -now opt out of the default title setting behaviour, either with the "unset -v -PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241022.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241115.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241022.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241115.ebuild index d20127554ef..c87c442d5a0 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241022.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241115.ebuild @@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then # the alpha, and the next pre-release is usually quite far away. # # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="474743f2da5bc5eb7da4ac9de23f3d52d1bf071e" + BASH_COMMIT="fa68e6da80970c302948674369d278164a33ed39" SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" S=${WORKDIR}/${PN}-${BASH_COMMIT} else diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241026.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241121.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241026.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241121.ebuild index d16b7e25a4c..b12b39124fd 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241026.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241121.ebuild @@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then # the alpha, and the next pre-release is usually quite far away. # # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="ee3b91dfd9aaaa2acd60ece9302e7ce6f09e3e73" + BASH_COMMIT="22417e78816237ae66f2da661567dfe5ed3452a1" SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" S=${WORKDIR}/${PN}-${BASH_COMMIT} else diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241015.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241126.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241015.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241126.ebuild index fa68a4aea9f..d2242191500 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241015.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241126.ebuild @@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then # the alpha, and the next pre-release is usually quite far away. # # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - BASH_COMMIT="3ed028ccec871bc8d3b198c1681374b1e37df7cd" + BASH_COMMIT="49c2670226b045746d66765b23af37c1c7ba5597" SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" S=${WORKDIR}/${PN}-${BASH_COMMIT} else diff --git a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild index 589c1733f9c..05447dff31c 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" app-text/docbook-xml-dtd:4.5 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/Manifest index cb72a29e289..b4fb9cc470f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/Manifest @@ -1,2 +1,3 @@ DIST autoconf-archive-2023.02.20.tar.xz 678184 BLAKE2B a72469e61a6ef702cbf4e30712c7dbe36369da7dad6e2312eb7026af41a989a47ded0a27975349486b69155f9e8199f89720dc57f98440b2766294a0f8755ee6 SHA512 a744f5aa0c1a813b81ad1528aebf7511bde7f470f34626d2057ed6664127120182e031fec5d22027d4a204544266135f202b8ef453bff70a3b0315c506c82528 +DIST autoconf-archive-2024.10.16-patches.tar.xz 9604 BLAKE2B e180322ec49f39aa456756c5451b15c73485a8583b9a770be14f3940fa0c580db720a1d8ea1eef0f16071d4f77f0763a798ddd685ed213070d4ac609dd36c580 SHA512 d34459c4e9707163626368f612392552b0f5421d304a4a53b691ffd5e65378ed6b2a0dbfad70a7358f71da17f67240d95eee2311eb0f458b82e6f77df7066a64 DIST autoconf-archive-2024.10.16.tar.xz 677768 BLAKE2B 64554b7258c527f2e6bb115bec08e358bd4f10b940cdbe58c073fb3bdeccab78897250766e600b7e5fd79a76d633135d1caf2c7e81893bd68cab704073cac2c5 SHA512 91140cb666447f12a1d39d7d42f5fe6ea3601bb586f466381c9e949087aafa06aed8d061a4f5d020a3d234eb710e4bb47cd25380bcffd8c423fa1a7af05e988b diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild new file mode 100644 index 00000000000..763868552b9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-archive/autoconf-archive-2024.10.16-r1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="GNU Autoconf Macro Archive" +HOMEPAGE="https://www.gnu.org/software/autoconf-archive/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" +# Temporary patchset for 2024.10.16 because a snapshot is too awkward to make +# Can be dropped on next release +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +# File collisions, bug #540246 +RDEPEND=" + !=gnome-base/gnome-common-3.14.0-r0 + !>=gnome-base/gnome-common-3.14.0-r1[-autoconf-archive(+)] +" + +PATCHES=( + "${WORKDIR}"/${P}-patches +) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild index 768fab2c95f..d006b810190 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild @@ -29,7 +29,7 @@ else S="${WORKDIR}"/${MY_P} if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then - KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest index 65aa19b92cd..34d82decf5e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest @@ -1,18 +1,14 @@ -DIST cmake-3.28.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f -DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3 -DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d -DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82 -DIST cmake-3.29.7-SHA-256.txt 1646 BLAKE2B 8de09802b055a05fe3cddae74f3952173a63dcbfdd2aef36f31c2c362bbd942a37cd2b7dae4cb56e46501be5c0963c21f2273eba55da026887ab0d2b37039958 SHA512 21c6c186a20ec986d6e4df528f68b9946d051e63feb7f94cfe80c9a7b686b933b4bd26242c391475bf3cb52ed2a7bb02fff06fda42688fe4129f05e54945fc0d -DIST cmake-3.29.7-SHA-256.txt.asc 833 BLAKE2B 73cb2182d7b10d1e36e08494a2c97607550ddab0048f62362ecc0ec37e08967d0968982d2beb606fc099cea99dec9f1c57f0e84128cbea4b09dcf62b87156bea SHA512 783ea23764ac41a487fd58075eec529ae2b1e1ea5057d61c933245474b84e3a866715c81255ac353578bd272d2a17e54f925aa2238c516f6a4c00ba58336174b -DIST cmake-3.29.7.tar.gz 11249246 BLAKE2B ffc1c67e310632d58353c361b0f7a7c3624ab54662829e982adb1ebf3c4ab0479b6ae96d10c3d2273ea460a9836b2f0a43cd769154e2f1a30b77eb3a9f96dad3 SHA512 96e963cd2b5bccd34ed8ec3d2a7f19bd798611cd946adce8ebe142015562b20cb3bae0aa832e8ccb60bb3dc290e41218b4f3ca0361f3e11afecbccf7a182f7d2 DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c986e123fc8acafb174a750ad0883d346254d12e8134dd9d030faefddc13b8260e7b43e405272157ada742c75b5fc2 SHA512 9d534b0efc30829f1144fb32c4f10ba25749e238c8ceeb4399b6d1eb8421b9fb1363972a497757ef84689bb987840619cbb4333ae95fd2397eea07eebed112c1 -DIST cmake-3.30.2-SHA-256.txt 1646 BLAKE2B b36e1e099261d80bde7c57564d3030bc99b12ed3f6a70f69de16d81f6e6da567e3cfa792d010921017a02eaf238b056e7eb2cf330e6c6711aa3a4bd835732b57 SHA512 7991c834ed2e384d863793725fbe0b6195824f4e14a665ddd71348ecfa8bd03dddb46d0e9f26cc75b7d9e0a2eb90bdec01b7e79f32ff1a9cc9a8fcdd1d060de3 -DIST cmake-3.30.2-SHA-256.txt.asc 833 BLAKE2B cf99bfec2bd4cc8c828162353ceac9ebae2d7ad02c5df77873a751df7314eb56266525c755ba2f9015e043c9bb6c8218251b47744741c02fb81a80f93809ab32 SHA512 d7f07fcdd02b1846bafff4a3e08e38a2cce38131358a783097555d7934dddc82a67c3a6b84cbd8731171d82e293ff18f7e5e66d0d3bbb7d200da3904089e923d -DIST cmake-3.30.2.tar.gz 11500719 BLAKE2B 85873311000831d2a8acb2c9d7f107e7fcef9dcd56f47307bd384a26c1b63d8f15b41989944e41969d6637139d916101fe236d3fe448a76f5b18b7809570ad5d SHA512 2b4c4ebb2213e19a08b9bf5a3cf0427dd2bfc44c7d86734abf5524c311bbce7e79f76d08e4df87a1e4508fe9fa05a28333068dc3bab308ef9724a9beeb39daab DIST cmake-3.30.5-SHA-256.txt 1646 BLAKE2B a91c0663dd11a6f854a4acdc5902b67811a311fd5161dc86140f1a39fb1f3aadce0df348e27569936c6e51def096ab6572635e00ce3d2b7554fadea4a3d4287f SHA512 a5a2285049fae435f53d0dfdfaea9a740d2f6e08dd1b149ab1f0d5e3ddc8afb2c3fac4a8018a7eb24ec90155535362160abe5ca2681808a96d19d191a3aa3713 DIST cmake-3.30.5-SHA-256.txt.asc 833 BLAKE2B cb7db2d0263d77cbc6798aa916a4584ccc7e7e9724c362c1471cda4b87c53ed1d1cbacf84573768844d16c3356ad32dae4500a6704fc22b8b1e824e2be6a0435 SHA512 fdd31e5b872c3dba1c66dd2ae077721f7054f6df9f261548fce86f9d4d4d403130511c4ce7ce57bcb3501abd87ab506177b513d160592db6e09d70d34e4a24e5 DIST cmake-3.30.5.tar.gz 11502354 BLAKE2B 47eb5abcd9d634b10053b2052dae11fc85e74f78ca2489d72088eba8ca84ecaf22a248b27a92bf50666b76e8cba40ba9b952d3d76d8e57112d136e26087f5696 SHA512 968ad4769e869378049b1d82ace98db25a6cb234b6362a51737f0d2978b8914ad42967ba112741850b23631e73b8a8876cd4f99dd0285b9da1c2bb5ea4c4ee4e +DIST cmake-3.30.6-SHA-256.txt 1646 BLAKE2B 370ec5fecb60a7ee6bf36503553a7478b66cfabbd48ea2ab17ae44841b371f5892c33bc9c64388ac84ea07e86f3bee9a82b9dc378ff4624f3a7c5025716b82bf SHA512 6049a237f0904a48c4658352ea0f0fb007bccd30886a1eb9e026ba85d15d892502e2ed6763023c61712e370d68b209f83e7e6c7d236f169603fc85e0f8c286ef +DIST cmake-3.30.6-SHA-256.txt.asc 833 BLAKE2B 73b841a2eb1d476696506706d95f371e5c46c2b777c012bf1d930f072c242bb431cde282ab371bf62a7845c92ba014270e3599d3c30d8503335ce249aa3ecb5c SHA512 34374445ecb012c4607fcf65fc6719dda16af189c0d2d38898a5cd506fc6c24462437556810c693ca45773cb8824cd0a03445ee07b69e010d1b7c509e32c617d +DIST cmake-3.30.6.tar.gz 11503061 BLAKE2B a381bea86b7cedb5dfae3598a4a243e74b0b34e78c105fe7ee17343593700c30f1dc42b06cbd872894a043f68e23853e7b1fdc6cb2161584f57e4aa89515e23a SHA512 8349d522ae098d72df625ef44700b672a5f85e7bd6c44ee9c0c3ba3f07561348f715f4d5a6f4a9b0e92bd9984e590473bc684160841f94842b5ee128fcc0bb07 DIST cmake-3.31.0-SHA-256.txt 1646 BLAKE2B 3f82f31d598cf395574d858f219e50d9b611b83a2c08ec2f441f59466bd56190659391718184e2f68dd9fdbb33845814e65423fb75386f8648ba9f62c6dc1d73 SHA512 e9e71a48d58bf50febcb19432bee658f5b12594fe926c9bc732e7d408bb8258504734244a91f052e43948fa082cc065ca9d6e1c39c79d6f9b264498f17383de9 DIST cmake-3.31.0-SHA-256.txt.asc 833 BLAKE2B 31bd06104df08c5117626c59c1acaca46b36af96e27491ec742cdc5cd3f34e29dea31bca43ff8156f1eca155ffe353c538eb081886cf12966083f6fb41187005 SHA512 c935472c4b5f99aa0a60bea9b0d691ae29a5d1ea5a9770cedd9c809fa463d2887984aa2e3fcfe46a953fd9258d20a1bb482aeb992c248183baebfeaacdb99b7a DIST cmake-3.31.0-docs.tar.xz 562756 BLAKE2B ef1d145658fd197ea515f05fbbad54b213bf458f3068829634242bc43bdb4f97bd45fcc45c9958919d2a78276ffc1d14d507822831f44fe9be5080ecc62e75fe SHA512 b4025633a0f42003005dfacdaea55c67e08d8f9082c8c6c564540b4d536246acedece41adb76cb00042d2f25f85b3817d23f70e393eb22a0857693d51ca60748 DIST cmake-3.31.0.tar.gz 11699894 BLAKE2B 9f9b5b15e5c9b19865cd00e3034fadf3a8ce4c21985cd5c9ab89d2920815948471885831bc29141f3179f401ba100f0d3ca95f8b72e1b8c84d80504f28957fb4 SHA512 feea7e7e86cfbc228d83c96b84502146516d003a753a2daeeaabb4d2dedefae881c44de7e1e9b424680b0047568c12632472a0030c5ce8413033f94f9b361700 +DIST cmake-3.31.1-SHA-256.txt 1646 BLAKE2B 5574526bb53edfdca53903ca03c0963d47eee40d180a2433eedffcfd55bc4a954a5ce2f1199b4fc11f48aaee228da1295689033d5bd2cb2f60df5177f4ed6cac SHA512 0f6b3cdee4874c4f7a89fe60e5cdb63e9317e561d86997720f2bcba7f66eb7dd49dcac4acce3ce3827f7c8bf733936511e34f350dd8d161ae5984e87ea2f09b8 +DIST cmake-3.31.1-SHA-256.txt.asc 833 BLAKE2B 3ece95f1d5bf575417bd6e77b1b29a1aa2a8db04cb4707d181fe98c7da1a2b60a6af6ea3c9a497d1bdc995fe6c61eac14f60fec540e504a5b019506cf8c2db56 SHA512 a0904d0f25ba03a874ebe63c7a82176684574fedcf5e61d796248024cfb3d3a39b7d6c135802c3ece0da0e2fec04894215427646026a91d526d526e91c54e2be +DIST cmake-3.31.1.tar.gz 11704421 BLAKE2B ff98ac838d670db8ec3bf289b8ca313cde73809770fb343d189c172ad0a9ed5b983f5a39a86fa966309ee262f7d108d8e3ad3887bc7fea45716a7e7d00487854 SHA512 9c4664792b32b1fa76aa66c5211e8a0a1fed380eb48ff605adb516d056ae3ab94859cf4103d86b83e220baba3ec5b763b454b6866d6bd606fc558fa3da75b146 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild deleted file mode 100644 index f4a16568505..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild +++ /dev/null @@ -1,280 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${CMAKE_DOCS_PREBUILT:=1} - -CMAKE_DOCS_PREBUILT_DEV=sam -CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# See bug #784815 -CMAKE_DOCS_USEFLAG="+doc" - -# 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=( none ) -inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-utils - -MY_P="${P/_/-}" - -DESCRIPTION="Cross platform Make" -HOMEPAGE="https://cmake.org/" -if [[ ${PV} == 9999 ]] ; then - CMAKE_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" - inherit git-r3 -else - SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" - - if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" - fi - - if [[ ${PV} != *_rc* ]] ; then - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc - inherit verify-sig - - SRC_URI+=" verify-sig? ( - https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt - https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc - )" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - - BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" - fi -fi - -[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" - -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="0" -IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/libarchive-3.3.3:= - app-crypt/rhash:0= - >=dev-libs/expat-2.0.1 - >=dev-libs/jsoncpp-1.9.2-r2:0= - >=dev-libs/libuv-1.10.0:= - >=net-misc/curl-7.21.5[ssl] - sys-libs/zlib - virtual/pkgconfig - dap? ( dev-cpp/cppdap ) - gui? ( - !qt6? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) - ncurses? ( sys-libs/ncurses:= ) -" -DEPEND="${RDEPEND}" -BDEPEND+=" - doc? ( - dev-python/requests - dev-python/sphinx - ) - test? ( app-arch/libarchive[zstd] ) -" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - # Prefix - "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch - # Misc - "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch - - # Upstream fixes (can usually be removed with a version bump) -) - -cmake_src_bootstrap() { - # disable running of cmake in bootstrap command - sed -i \ - -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ - bootstrap || die "sed failed" - - # execinfo.h on Solaris isn't quite what it is on Darwin - if [[ ${CHOST} == *-solaris* ]] ; then - sed -i -e 's/execinfo\.h/blablabla.h/' \ - Source/kwsys/CMakeLists.txt || die - fi - - # bootstrap script isn't exactly /bin/sh compatible - tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ - --prefix="${T}/cmakestrap/" \ - --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ - || die "Bootstrap failed" -} - -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 isysroot usage with GCC, we've properly instructed - # where things are via GCC configuration and ldwrapper - sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ - Modules/Platform/Apple-GNU-*.cmake || die - # Disable isysroot usage with clang as well - sed -i -e '/_SYSROOT_FLAG/d' \ - Modules/Platform/Apple-Clang.cmake || die - # Don't set a POSIX standard, system headers don't like that, #757426 - sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ - Source/cmLoadCommandCommand.cxx \ - Source/cmStandardLexer.h \ - Source/cmSystemTools.cxx \ - Source/cmTimestamp.cxx - sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ - Source/cmStandardLexer.h - fi - - # Add gcc libs to the default link paths - sed -i \ - -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ - -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ - -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ - Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" - - ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* - ## handle them as part of bootstrapping, sadly. - - # Fix linking on Solaris - [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl - - # ODR warnings, bug #858335 - # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 - filter-lto - - if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then - CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" - cmake_src_bootstrap - fi -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_USE_SYSTEM_LIBRARIES=ON - -DCMake_ENABLE_DEBUGGER=$(usex dap) - -DCMAKE_DOC_DIR=/share/doc/${PF} - -DCMAKE_MAN_DIR=/share/man - -DCMAKE_DATA_DIR=/share/${PN} - -DSPHINX_MAN=$(usex doc) - -DSPHINX_HTML=$(usex doc) - -DBUILD_CursesDialog="$(usex ncurses)" - -DBUILD_TESTING=$(usex test) - -DBUILD_QtDialog=$(usex gui) - ) - - use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) ) - - 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 - - pushd "${BUILD_DIR}" > /dev/null || die - - # Excluded tests: - # BootstrapTest: we actualy bootstrap it every time so why test it. - # BundleUtilities: bundle creation broken - # CMakeOnly.AllFindModules: pthread issues - # CTest.updatecvs: which fails to commit as root - # Fortran: requires fortran - # RunCMake.CompilerLauncher: also requires fortran - # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because - # debugedit binary is not in the expected location - # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because - # it can't find a deb package that owns libc - # TestUpload, which requires network access - # RunCMake.CMP0125, known failure reported upstream (bug #829414) - local myctestargs=( - --output-on-failure - -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ - ) - - virtx cmake_src_test -} - -src_install() { - cmake_src_install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] - fi - - insinto /usr/share/vim/vimfiles/syntax - doins Auxiliary/vim/syntax/cmake.vim - - insinto /usr/share/vim/vimfiles/indent - doins Auxiliary/vim/indent/cmake.vim - - insinto /usr/share/vim/vimfiles/ftdetect - doins "${FILESDIR}/${PN}.vim" - - dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} -} - -pkg_postinst() { - if use gui; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} - -pkg_postrm() { - if use gui; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild index e89cc2cf8e8..72c321e1fcd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild @@ -47,7 +47,7 @@ else https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.6.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.6.ebuild index 0670b87dc5c..f6b7c923029 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.6.ebuild @@ -47,7 +47,7 @@ else https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" fi @@ -101,6 +101,8 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" # Upstream fixes (can usually be removed with a version bump) ) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.7.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.1.ebuild index 830f2abbd9e..e9982cd799b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.1.ebuild @@ -9,7 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -CMAKE_DOCS_VERSION=3.28.0 +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" @@ -101,7 +101,8 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch + # Cuda + "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" # Upstream fixes (can usually be removed with a version bump) ) @@ -153,6 +154,14 @@ src_prepare() { 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/libtool/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/libtool/Manifest index ca7d3789110..8d83e556484 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/libtool/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/libtool/Manifest @@ -1,2 +1,3 @@ DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da DIST libtool-2.5.3.tar.xz 1050076 BLAKE2B e7bc3421d2273851f894583b879c897239bddaef00dc335176f00ce971d3c77e4d4304ae3b1d1b97d4b6b1b4fd9859ddc0eb5dcadac2e0de959b68cae973f726 SHA512 7a2b86716b2cbefcd45bda7f65af81fcb0aaa3dce96b09f417d6b94721a4dd9e72a9552862783d998ddf785e509315bb49f65c464dbc949d58e36f0960cf9b1b +DIST libtool-2.5.4.tar.xz 1056924 BLAKE2B 47de3c49a690d44d7ddd5e3b5e4090c91dc5fbb9c40fc4a3963e150fb7329326ee3e21b8c149974726171c4b0380028e0efc7a369c4f04357eea46f69852e1cc SHA512 eed207094bcc444f4bfbb13710e395e062e3f1d312ca8b186ab0cbd22dc92ddef176a0b3ecd43e02676e37bd9e328791c59a38ef15846d4eae15da4f20315724 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.4.ebuild new file mode 100644 index 00000000000..3924768b1ef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.4.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-libs/libltdl. + +# bug #225559 +LIBTOOLIZE="true" +WANT_LIBTOOL="none" +inherit autotools flag-o-matic prefix multiprocessing + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git" + inherit git-r3 +elif false && ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then + SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz" +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="A shared library tool for developers" +HOMEPAGE="https://www.gnu.org/software/libtool/" + +LICENSE="GPL-2" +SLOT="2" +IUSE="vanilla" + +RDEPEND=" + sys-devel/gnuconfig + >=dev-build/autoconf-2.69:* + >=dev-build/automake-1.13:* +" +DEPEND="${RDEPEND}" +[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man" + +# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/ +# for package builds. The patches here are just those which are definitely fine +# for the system-wide libtool installation as well. +PATCHES=( + # bug #109105 + "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch + # bug #581314 + "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch + + "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch + "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch +) + +src_prepare() { + if [[ ${PV} == *9999 ]] ; then + eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876 + ./bootstrap || die + else + PATCHES+=( + "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876 + ) + fi + + # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway + chmod +w build-aux/ltmain.sh || die + + if use vanilla ; then + eapply_user + return 0 + else + default + fi + + if use prefix ; then + # seems that libtool has to know about EPREFIX a little bit + # better, since it fails to find prefix paths to search libs + # from, resulting in some packages building static only, since + # libtool is fooled into thinking that libraries are unavailable + # (argh...). This could also be fixed by making the gcc wrapper + # return the correct result for -print-search-dirs (doesn't + # include prefix dirs ...). + eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch + eprefixify m4/libtool.m4 + fi + + pushd libltdl >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + popd >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + + # Make sure timestamps don't trigger a rebuild of man pages. #556512 + if [[ ${PV} != *9999 ]] ; then + touch doc/*.1 || die + export HELP2MAN=true + fi +} + +src_configure() { + # the libtool script uses bash code in it and at configure time, tries + # to find a bash shell. if /bin/sh is bash, it uses that. this can + # cause problems for people who switch /bin/sh on the fly to other + # shells, so just force libtool to use /bin/bash all the time. + # Do not bother hardcoding the full path to sed. + # Just rely on $PATH. bug #574550 + export CONFIG_SHELL="${EPREFIX}"/bin/bash + 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" + export ac_cv_path_lt_DD="dd" + + local myeconfargs=( + # Split into dev-libs/libltdl + --disable-ltdl-install + + # Tests break otherwise (when porting to EAPI 8) + # https://lists.gnu.org/archive/html/bug-libtool/2014-10/msg00013.html + --enable-static + ) + + [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( "--program-prefix=g" ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_test() { + ( + # The testsuite is sensitive to warnings, expects static + # archives to really be archives (not compiler IR), etc. + strip-flags + filter-flags -fno-semantic-interposition + filter-flags '-Wstrict-aliasing=*' '-Werror=*' + filter-lto + + emake -Onone check \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + FFLAGS="${FFLAGS}" \ + FCFLAGS="${FCFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" + ) +} + +src_install() { + default + + local x + while read -d $'\0' -r x ; do + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0) +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r1.ebuild deleted file mode 100644 index 39047a419f9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc -inherit flag-o-matic unpacker verify-sig - -DESCRIPTION="Standard tool to compile source trees" -HOMEPAGE="https://www.gnu.org/software/make/make.html" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git" - inherit autotools git-r3 -elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then - SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.lz" - SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.lz.sig )" -else - SRC_URI="mirror://gnu/make/${P}.tar.lz" - SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-3+" -SLOT="0" -IUSE="doc guile nls static test" -RESTRICT="!test? ( test )" - -DEPEND="guile? ( >=dev-scheme/guile-1.8:= )" -RDEPEND=" - ${DEPEND} - nls? ( virtual/libintl ) -" -BDEPEND=" - $(unpacker_src_uri_depends) - doc? ( virtual/texi2dvi ) - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-make ) - test? ( dev-lang/perl ) -" - -DOCS="AUTHORS NEWS README*" - -PATCHES=( - "${FILESDIR}"/${PN}-4.4-default-cxx.patch -) - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - - cd "${S}" || die - ./bootstrap || die - else - use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig} - unpacker ${P}.tar.lz - fi -} - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - fi -} - -src_configure() { - use static && append-ldflags -static - local myeconfargs=( - --program-prefix=g - $(use_with guile) - $(use_enable nls) - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - emake all $(usev doc 'pdf html') -} - -src_install() { - use doc && HTML_DOCS=( doc/make.html/. ) DOCS="$DOCS doc/make.pdf" - default - - dosym gmake /usr/bin/make - dosym gmake.1 /usr/share/man/man1/make.1 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild index 6448da8acac..816b0630462 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild @@ -18,7 +18,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then else SRC_URI="mirror://gnu/make/${P}.tar.lz" SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild index 88ff2ab0850..9f62c49303a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch new file mode 100644 index 00000000000..8e9abc0ecd6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch @@ -0,0 +1,30 @@ +From 9ad08ac6cc7899947deb934a695d150f0ae360d0 Mon Sep 17 00:00:00 2001 +From: Rodrigo Queiro +Date: Tue, 13 Sep 2022 11:53:24 +0200 +Subject: [PATCH] Remove symbolize Bazel test + +It is broken on Windows CI (#859) in a way that I don't understand. + +* asturmlechner 2024-11-28: backported to cmake +--- + CMakeLists.txt | 2 +- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/CMakeLists.txt 2022-04-05 00:03:27.000000000 +0200 ++++ b/CMakeLists.txt 2024-11-28 22:58:18.584982147 +0100 +@@ -804,13 +804,13 @@ + GLOG_STL_LOGGING_FOR_EXT_SLIST) + endif (HAVE_EXT_SLIST) + +- if (HAVE_SYMBOLIZE) ++ if (0) + add_executable (symbolize_unittest + src/symbolize_unittest.cc + ) + + target_link_libraries (symbolize_unittest PRIVATE ${_GLOG_TEST_LIBS}) +- endif (HAVE_SYMBOLIZE) ++ endif () + + add_executable (demangle_unittest + src/demangle_unittest.cc diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch new file mode 100644 index 00000000000..b3bec4801f2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch @@ -0,0 +1,36 @@ +From 45d7978dafceca8200fa4434d762f62642dc7cb4 Mon Sep 17 00:00:00 2001 +From: Sergiu Deitsch +Date: Tue, 2 Jan 2024 13:01:42 +0100 +Subject: [PATCH] fix(tests): prevent clang from optimizing new away (#1017) + +--- + src/logging_unittest.cc | 13 +++++++++++-- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/src/logging_unittest.cc b/src/logging_unittest.cc +index cb1c657e7..40da9a44d 100644 +--- a/src/logging_unittest.cc ++++ b/src/logging_unittest.cc +@@ -355,12 +355,19 @@ struct NewHook { + } + }; + ++namespace { ++int* allocInt() { return new int; } ++} // namespace ++ + TEST(DeathNoAllocNewHook, logging) { + // tests that NewHook used below works + NewHook new_hook; +- ASSERT_DEATH({ +- new int; +- }, "unexpected new"); ++ // Avoid unused warnings under MinGW ++ // ++ // NOTE MSVC produces warning C4551 here if we do not take the address of the ++ // function explicitly. ++ (void)&allocInt; ++ ASSERT_DEATH({ allocInt(); }, "unexpected new"); + } + + void TestRawLogging() { diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild index 069eec68239..6192cd198db 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/glog/glog-0.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2011-2023 Gentoo Authors +# Copyright 2011-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -21,7 +21,7 @@ fi LICENSE="BSD" SLOT="0/1" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="gflags +libunwind llvm-libunwind test" RESTRICT="!test? ( test )" @@ -29,9 +29,16 @@ RDEPEND="gflags? ( dev-cpp/gflags:0=[${MULTILIB_USEDEP}] ) libunwind? ( llvm-libunwind? ( sys-libs/llvm-libunwind:0=[${MULTILIB_USEDEP}] ) !llvm-libunwind? ( sys-libs/libunwind:0=[${MULTILIB_USEDEP}] ) - )" + ) +" DEPEND="${RDEPEND} - test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" + test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}/${P}-disable-symbolize-test.patch" # bug 863599 + "${FILESDIR}/${P}-try-fix-logging-test.patch" +) src_configure() { local mycmakeargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest index 5d66a13b30d..ed269ba97fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest @@ -1,8 +1,4 @@ -DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31 -DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd DIST sqlite-doc-3460100.zip 10851427 BLAKE2B 7462e83ca84e3e9aac7236f575fd2bdddac7744ae700a63fe8fdc9d2df3157c59fd374d99a0526bd4d9f742005ee7a90f3d78057861d3c3fcba9f897630e48db SHA512 1ad7dfc938d182f69ea9367b4f5ead1d48b991626521249e8b58c9fb4c2553e348ce402de9cc81b0ad699d4c45c467de56a98ee39f9c3555c6fafff15fba41ce DIST sqlite-doc-3470000.zip 10937359 BLAKE2B 3fc349e4b2b0cd3fc59147519062133261463e09933419f330cd18e6b120d3498c10a1864c85c2de144430f1dbf7f9a867aba47ab77dbe2aa0b5128e0742dddf SHA512 20c126551a95905e63e99930e3f7964b6e3fc8b72fbbedf5484f669817af2a8384f05fce89d6117a5e232ba71f5469894d4bb22ba7abd796b24fd624372c7c17 -DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9 -DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327 DIST sqlite-src-3460100.zip 14276926 BLAKE2B df16ea944e317df8ed64fdfab289e3699ec71725ce55e2b30450adaeb41c061b4fba1eb8c41ba638b0edcd12b23264a1f9e413b69fd593c2b65fb1037d3fc8b2 SHA512 6d32a0db9f95d3cec34f02f3fd45b453bf7c422d4d4d9570790f641e7d190b8b31be8e8715afacc1b6e4417f15a4d15a0b28e608ae0b4b5f3054b075783b916e DIST sqlite-src-3470000.zip 14408459 BLAKE2B c8e883410fdf9f020bc55ef01d7c2c5b7f1744d3475e7755f2395b24b2d5397302aac2eb7912161cbc2a705a1d7a94b1fa5e8f4e5dbf374c31de56228cbc9e5d SHA512 294d718fb1ebb23e2a4d6e8b7f498d7a7d922e6af5e36452fae075c0d48f4d4f64b5f235ab561b1e47fb7722efc647dfe541164cc385ddc0e2ec0dbce1f40b01 diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch deleted file mode 100644 index 153dd82c1e1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch +++ /dev/null @@ -1,112 +0,0 @@ -https://sqlite.org/forum/forumpost/7dfd585ce1 -https://sqlite.org/src/info/d0fbe779bc2460e1 - -Index: test/func4.test -================================================================== ---- a/test/func4.test -+++ b/test/func4.test -@@ -1,6 +1,6 @@ --# 2013 March 10 -+# 2023-03-10 - # - # The author disclaims copyright to this source code. In place of - # a legal notice, here is a blessing: - # - # May you do good and not evil. -@@ -7,11 +7,14 @@ - # May you find forgiveness for yourself and forgive others. - # May you share freely, never taking more than you give. - # - #*********************************************************************** - # This file implements regression tests for SQLite library. The focus of --# this file is testing the tointeger() and toreal() functions. -+# this file is testing the tointeger() and toreal() functions that are -+# part of the "totype.c" extension. This file does not test the core -+# SQLite library. Failures of tests in this file are related to the -+# ext/misc/totype.c extension. - # - # Several of the toreal() tests are disabled on platforms where floating - # point precision is not high enough to represent their constant integer - # expression arguments as double precision floating point values. - # -@@ -21,10 +24,24 @@ - set tcl_precision 0 - load_static_extension db totype - - set highPrecision(1) [expr \ - {[db eval {SELECT tointeger(9223372036854775807 + 1);}] eq {{}}}] -+set highPrecision(2) [expr \ -+ {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}] -+ -+# highPrecision(3) is only known to be false on i586 with gcc-13 and -O2. -+# It is true on the exact same platform with -O0. Both results seem -+# reasonable, so we'll just very the expectation accordingly. -+# -+set highPrecision(3) [expr \ -+ {[db eval {SELECT toreal(9007199254740992 + 1);}] eq {{}}}] -+ -+if {!$highPrecision(1) || !$highPrecision(2) || !$highPrecision(3)} { -+ puts "NOTICE: use_long_double: [use_long_double] \ -+ highPrecision: $highPrecision(1) $highPrecision(2) $highPrecision(3)" -+} - - do_execsql_test func4-1.1 { - SELECT tointeger(NULL); - } {{}} - do_execsql_test func4-1.2 { -@@ -193,12 +210,10 @@ - do_execsql_test func4-1.55 { - SELECT tointeger(18446744073709551616 + 1); - } {{}} - - ifcapable floatingpoint { -- set highPrecision(2) [expr \ -- {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}] - - do_execsql_test func4-2.1 { - SELECT toreal(NULL); - } {{}} - do_execsql_test func4-2.2 { -@@ -339,14 +354,18 @@ - SELECT toreal(9007199254740992 - 1); - } {9007199254740991.0} - do_execsql_test func4-2.45 { - SELECT toreal(9007199254740992); - } {9007199254740992.0} -- if {$highPrecision(2)} { -+ if {$highPrecision(3)} { -+ do_execsql_test func4-2.46 { -+ SELECT toreal(9007199254740992 + 1); -+ } {{}} -+ } else { - do_execsql_test func4-2.46 { - SELECT toreal(9007199254740992 + 1); -- } {{}} -+ } {9007199254740992.0} - } - do_execsql_test func4-2.47 { - SELECT toreal(9007199254740992 + 2); - } {9007199254740994.0} - do_execsql_test func4-2.48 { -@@ -624,14 +643,18 @@ - SELECT tointeger(toreal(9007199254740992 - 1)); - } {9007199254740991} - do_execsql_test func4-5.22 { - SELECT tointeger(toreal(9007199254740992)); - } {9007199254740992} -- if {$highPrecision(2)} { -+ if {$highPrecision(3)} { - do_execsql_test func4-5.23 { - SELECT tointeger(toreal(9007199254740992 + 1)); - } {{}} -+ } else { -+ do_execsql_test func4-5.23 { -+ SELECT tointeger(toreal(9007199254740992 + 1)); -+ } {9007199254740992} - } - do_execsql_test func4-5.24 { - SELECT tointeger(toreal(9007199254740992 + 2)); - } {9007199254740994} - if {$highPrecision(1)} { - - diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch new file mode 100644 index 00000000000..491674f5e99 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch @@ -0,0 +1,122 @@ +# https://sqlite.org/forum/forumpost/0683a49cb02f31a1 +# https://bugs.gentoo.org/942918 +# Compiled from https://sqlite.org/forum/forumpost/6fd4ca69e86eafc6, https://www.sqlite.org/src/info/38136b33f9536b63 and https://www.sqlite.org/src/info/2f6e5946cf34e094 + +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -140,12 +140,13 @@ + if {[string length $OPTS]>1} { + append LDFLAGS $OPTS + } +- set CMD [subst $cmd] + if {$TCLMAJOR>8} { + set OUT libtcl9sqlite$VERSION.$SUFFIX + } else { + set OUT libsqlite$VERSION.$SUFFIX + } ++ set @ $OUT; # workaround for https://sqlite.org/forum/forumpost/6b1af7eb10884373 ++ set CMD [subst $cmd] + } + + # Show information about prior installs + +From b03592c324a4d066e12c3af945dd510dc28b6d65 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Sat, 16 Nov 2024 14:33:01 +0000 +Subject: [PATCH] Add DESTDIR support to the tclextension-install target, via + [67a3ca0c013b] and [d1663cf05f7d]. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -1600,7 +1600,7 @@ tclextension: tclsqlite3.c + # to find it. + # + tclextension-install: tclsqlite3.c +- $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) ++ $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --destdir "$(DESTDIR)" --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) + + # Install the SQLite TCL extension that is used by $TCLSH_CMD + # ++38136b33f9536b63520d3810f397a3b4b5372028b31108806f84fe44bf338425 +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -15,6 +15,7 @@ Options: + --info Show info on existing SQLite TCL extension installs + --install-only Install an extension previously build + --uninstall Uninstall the extension ++ --destdir DIR Installation root (used by "make install DESTDIR=...") + + Other options are retained and passed through into the compiler.} + +@@ -25,6 +26,7 @@ set uninstall 0 + set infoonly 0 + set CC {} + set OPTS {} ++set DESTDIR ""; # --destdir "$(DESTDIR)" + for {set ii 0} {$ii<[llength $argv]} {incr ii} { + set a0 [lindex $argv $ii] + if {$a0=="--install-only"} { +@@ -42,6 +44,9 @@ for {set ii 0} {$ii<[llength $argv]} {incr ii} { + } elseif {$a0=="--cc" && $ii+1<[llength $argv]} { + incr ii + set CC [lindex $argv $ii] ++ } elseif {$a0=="--destdir" && $ii+1<[llength $argv]} { ++ incr ii ++ set DESTDIR [lindex $argv $ii] + } elseif {[string match -* $a0]} { + append OPTS " $a0" + } else { +@@ -245,7 +250,7 @@ package ifneeded sqlite3 $VERSION \\ + + if {$install} { + # Install the extension +- set DEST2 $DEST/sqlite$VERSION ++ set DEST2 ${DESTDIR}$DEST/sqlite$VERSION + file mkdir $DEST2 + puts "installing $DEST2/pkgIndex.tcl" + file copy -force pkgIndex.tcl $DEST2 + +From 375552f224813c7e2fac0e67dd13ecd6ba3a3571 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Sat, 16 Nov 2024 17:12:17 +0000 +Subject: [PATCH] Handle DESTDIR at an earlier phase in buildtclext.tcl to + account for the is-writable-dir check and to filter out //zipfs: dirs as + (im)possible installation targets. +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -198,7 +198,15 @@ if {$install} { + # + set DEST {} + foreach dir $auto_path { +- if {[file writable $dir]} { ++ if {[string match //*:* $dir]} { ++ # We can't install to //zipfs: paths ++ continue ++ } elseif {"" ne $DESTDIR && ![file writable $DESTDIR]} { ++ continue ++ } ++ set dir ${DESTDIR}$dir ++ if {[file writable $dir] || "" ne $DESTDIR} { ++ # the dir will be created later ^^^^^^^^ + set DEST $dir + break + } elseif {[glob -nocomplain $dir/sqlite3*/pkgIndex.tcl]!=""} { +@@ -216,7 +224,7 @@ if {$install} { + puts "to work around this problem.\n" + puts "These are the (unwritable) \$auto_path directories:\n" + foreach dir $auto_path { +- puts " * $dir" ++ puts " * ${DESTDIR}$dir" + } + exit 1 + } +@@ -250,7 +258,7 @@ package ifneeded sqlite3 $VERSION \\ + + if {$install} { + # Install the extension +- set DEST2 ${DESTDIR}$DEST/sqlite$VERSION ++ set DEST2 $DEST/sqlite$VERSION + file mkdir $DEST2 + puts "installing $DEST2/pkgIndex.tcl" + file copy -force pkgIndex.tcl $DEST2 + diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.3.ebuild deleted file mode 100644 index 8b654b69e51..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.3.ebuild +++ /dev/null @@ -1,427 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="public-domain" -SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:= ) -" -DEPEND=" - ${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) -" -BDEPEND=">=dev-lang/tcl-8.6:0" -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" dev-vcs/fossil" -else - BDEPEND+=" app-arch/unzip" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch - "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch -) - -_fossil_fetch() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local repo_uri="${2}" - - local -x FOSSIL_HOME="${HOME}" - - mkdir -p "${T}/fossil/${repo_id}" || die - pushd "${T}/fossil/${repo_id}" > /dev/null || die - - if [[ -n "${EVCS_OFFLINE}" ]]; then - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - else - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" - fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die - echo - else - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die - einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" - fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die - echo - fi - - ( - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${repo_id}" || die - cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die - ) - fi - - popd > /dev/null || die -} - -_fossil_checkout() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local branch_or_commit="${2}" - local target_directory="${3}" - - local -x FOSSIL_HOME="${HOME}" - - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - - if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then - mkdir -p "${T}/fossil/${repo_id}" || die - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die - fi - - mkdir "${target_directory}" || die - pushd "${target_directory}" > /dev/null || die - - einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" - fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die - echo - - popd > /dev/null || die -} - -fossil_fetch() { - local repo_id="${1}" - local repo_uri="${2}" - local target_directory="${3}" - - local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" - - _fossil_fetch "${repo_id}" "${repo_uri}" - _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" - if use doc; then - fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" - fi - else - default - fi -} - -src_prepare() { - default - - eautoreconf - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/compile.html#enable_bytecode_vtab - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/compile.html#enable_column_metadata - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/compile.html#enable_dbstat_vtab - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/compile.html#enable_fts3 - # https://sqlite.org/compile.html#enable_fts3_parenthesis - # https://sqlite.org/compile.html#enable_fts4 - # https://sqlite.org/compile.html#enable_fts5 - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=( --enable-fts5 ) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support memsys5 memory allocator. - # https://sqlite.org/compile.html#enable_memsys5 - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/compile.html#enable_offset_sql_func - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/compile.html#enable_preupdate_hook - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/compile.html#enable_rbu - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/compile.html#enable_rtree - # https://sqlite.org/compile.html#enable_geopoly - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY - - # Support Session extension. - # https://sqlite.org/compile.html#enable_session - # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION - - # Support scan status functions. - # https://sqlite.org/compile.html#enable_stmt_scanstatus - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/compile.html#enable_stmtvtab - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/compile.html#enable_unlock_notify - # https://sqlite.org/c3ref/unlock_notify.html - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/compile.html#soundex - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/compile.html#use_uri - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - options+=( $(use_enable debug) ) - - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - - options+=( - --disable-editline - $(use_enable readline) - ) - - if use readline; then - options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) - fi - - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/compile.html#secure_delete - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - options+=( $(use_enable static-libs static) ) - - # tcl, test, tools USE flags. - if use tcl || use test || { use tools && multilib_is_native_abi; }; then - options+=( - --enable-tcl - --with-tcl="${ESYSROOT}/usr/$(get_libdir)" - ) - else - options+=( --disable-tcl ) - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh - fi - - if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then - emake tclsqlite3.c - - local build_directory="$(pwd)" - build_directory="${build_directory##*/}" - - mkdir "${WORKDIR}/${PN}-doc-build" || die - pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die - - emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc - rmdir doc/matrix{/*,} || die - - popd > /dev/null || die - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - # e_uri.test tries to open files in /. - # bug #839798 - local SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict "/test.db" - addpredict "/ÿ.db" - - emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test') -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - doman sqlite3.1 - - if use doc; then - if [[ ${PV} == 9999 ]]; then - pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die - else - pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die - fi - - find "(" -name "*.db" -o -name "*.txt" ")" -delete || die - if [[ ${PV} != 9999 ]]; then - rm search search.d/admin || die - rmdir search.d || die - find -name "*~" -delete || die - fi - - ( - docinto html - dodoc -r * - ) - - popd > /dev/null || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild deleted file mode 100644 index 820e9f2fdd8..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="public-domain" -SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:= ) -" -DEPEND=" - ${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) -" -BDEPEND=">=dev-lang/tcl-8.6:0" -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" dev-vcs/fossil" -else - BDEPEND+=" app-arch/unzip" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch -) - -_fossil_fetch() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local repo_uri="${2}" - - local -x FOSSIL_HOME="${HOME}" - - mkdir -p "${T}/fossil/${repo_id}" || die - pushd "${T}/fossil/${repo_id}" > /dev/null || die - - if [[ -n "${EVCS_OFFLINE}" ]]; then - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - else - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" - fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die - echo - else - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die - einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" - fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die - echo - fi - - ( - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${repo_id}" || die - cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die - ) - fi - - popd > /dev/null || die -} - -_fossil_checkout() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local branch_or_commit="${2}" - local target_directory="${3}" - - local -x FOSSIL_HOME="${HOME}" - - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - - if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then - mkdir -p "${T}/fossil/${repo_id}" || die - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die - fi - - mkdir "${target_directory}" || die - pushd "${target_directory}" > /dev/null || die - - einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" - fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die - echo - - popd > /dev/null || die -} - -fossil_fetch() { - local repo_id="${1}" - local repo_uri="${2}" - local target_directory="${3}" - - local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" - - _fossil_fetch "${repo_id}" "${repo_uri}" - _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" - if use doc; then - fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" - fi - else - default - fi -} - -src_prepare() { - default - - eautoreconf - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/compile.html#enable_bytecode_vtab - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/compile.html#enable_column_metadata - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/compile.html#enable_dbstat_vtab - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/compile.html#enable_fts3 - # https://sqlite.org/compile.html#enable_fts3_parenthesis - # https://sqlite.org/compile.html#enable_fts4 - # https://sqlite.org/compile.html#enable_fts5 - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=( --enable-fts5 ) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support memsys5 memory allocator. - # https://sqlite.org/compile.html#enable_memsys5 - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/compile.html#enable_offset_sql_func - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/compile.html#enable_preupdate_hook - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/compile.html#enable_rbu - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/compile.html#enable_rtree - # https://sqlite.org/compile.html#enable_geopoly - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY - - # Support Session extension. - # https://sqlite.org/compile.html#enable_session - # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION - - # Support scan status functions. - # https://sqlite.org/compile.html#enable_stmt_scanstatus - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/compile.html#enable_stmtvtab - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/compile.html#enable_unlock_notify - # https://sqlite.org/c3ref/unlock_notify.html - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/compile.html#soundex - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/compile.html#use_uri - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - options+=( $(use_enable debug) ) - - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - - options+=( - --disable-editline - $(use_enable readline) - ) - - if use readline; then - options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) - fi - - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/compile.html#secure_delete - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - options+=( $(use_enable static-libs static) ) - - # tcl, test, tools USE flags. - if use tcl || use test || { use tools && multilib_is_native_abi; }; then - options+=( - --enable-tcl - --with-tcl="${ESYSROOT}/usr/$(get_libdir)" - ) - else - options+=( --disable-tcl ) - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh - fi - - if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then - emake tclsqlite3.c - - local build_directory="$(pwd)" - build_directory="${build_directory##*/}" - - mkdir "${WORKDIR}/${PN}-doc-build" || die - pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die - - emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc - rmdir doc/matrix{/*,} || die - - popd > /dev/null || die - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - # e_uri.test tries to open files in /. - # bug #839798 - local SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict "/test.db" - addpredict "/ÿ.db" - - emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test') -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - doman sqlite3.1 - - if use doc; then - if [[ ${PV} == 9999 ]]; then - pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die - else - pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die - fi - - find "(" -name "*.db" -o -name "*.txt" ")" -delete || die - if [[ ${PV} != 9999 ]]; then - rm search search.d/admin || die - rmdir search.d || die - find -name "*~" -delete || die - fi - - ( - docinto html - dodoc -r * - ) - - popd > /dev/null || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild index 4b7f5f5373a..543da1453a0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild index c7033bdf266..b3dd1b416b6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild @@ -54,6 +54,7 @@ PATCHES=( "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch "${FILESDIR}"/${PN}-3.47.0-nonbash.patch "${FILESDIR}"/${PN}-3.47.0-allocator-mismatch.patch + "${FILESDIR}"/${PN}-3.47.0-buildtclext.patch ) _fossil_fetch() { diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild deleted file mode 100644 index f2269f2a942..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild +++ /dev/null @@ -1,427 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="public-domain" -SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:= ) -" -DEPEND=" - ${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) -" -BDEPEND=">=dev-lang/tcl-8.6:0" -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" dev-vcs/fossil" -else - BDEPEND+=" app-arch/unzip" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch - "${FILESDIR}"/${PN}-3.47.0-nonbash.patch -) - -_fossil_fetch() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local repo_uri="${2}" - - local -x FOSSIL_HOME="${HOME}" - - mkdir -p "${T}/fossil/${repo_id}" || die - pushd "${T}/fossil/${repo_id}" > /dev/null || die - - if [[ -n "${EVCS_OFFLINE}" ]]; then - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - else - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" - fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die - echo - else - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die - einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" - fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die - echo - fi - - ( - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${repo_id}" || die - cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die - ) - fi - - popd > /dev/null || die -} - -_fossil_checkout() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local branch_or_commit="${2}" - local target_directory="${3}" - - local -x FOSSIL_HOME="${HOME}" - - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - - if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then - mkdir -p "${T}/fossil/${repo_id}" || die - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die - fi - - mkdir "${target_directory}" || die - pushd "${target_directory}" > /dev/null || die - - einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" - fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die - echo - - popd > /dev/null || die -} - -fossil_fetch() { - local repo_id="${1}" - local repo_uri="${2}" - local target_directory="${3}" - - local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" - - _fossil_fetch "${repo_id}" "${repo_uri}" - _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" - if use doc; then - fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" - fi - else - default - fi -} - -src_prepare() { - default - - eautoreconf - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/compile.html#enable_bytecode_vtab - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/compile.html#enable_column_metadata - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/compile.html#enable_dbstat_vtab - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/compile.html#enable_fts3 - # https://sqlite.org/compile.html#enable_fts3_parenthesis - # https://sqlite.org/compile.html#enable_fts4 - # https://sqlite.org/compile.html#enable_fts5 - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=( --enable-fts5 ) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support memsys5 memory allocator. - # https://sqlite.org/compile.html#enable_memsys5 - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/compile.html#enable_offset_sql_func - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/compile.html#enable_preupdate_hook - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/compile.html#enable_rbu - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/compile.html#enable_rtree - # https://sqlite.org/compile.html#enable_geopoly - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY - - # Support Session extension. - # https://sqlite.org/compile.html#enable_session - # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION - - # Support scan status functions. - # https://sqlite.org/compile.html#enable_stmt_scanstatus - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/compile.html#enable_stmtvtab - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/compile.html#enable_unlock_notify - # https://sqlite.org/c3ref/unlock_notify.html - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/compile.html#soundex - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/compile.html#use_uri - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - options+=( $(use_enable debug) ) - - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - - options+=( - --disable-editline - $(use_enable readline) - ) - - if use readline; then - options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) - fi - - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/compile.html#secure_delete - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - options+=( $(use_enable static-libs static) ) - - # tcl, test, tools USE flags. - if use tcl || use test || { use tools && multilib_is_native_abi; }; then - options+=( - --enable-tcl - --with-tcl="${ESYSROOT}/usr/$(get_libdir)" - ) - else - options+=( --disable-tcl ) - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh - fi - - if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then - emake tclsqlite3.c - - local build_directory="$(pwd)" - build_directory="${build_directory##*/}" - - mkdir "${WORKDIR}/${PN}-doc-build" || die - pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die - - emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc - rmdir doc/matrix{/*,} || die - - popd > /dev/null || die - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - # e_uri.test tries to open files in /. - # bug #839798 - local SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict "/test.db" - addpredict "/ÿ.db" - - emake -Onone $(usex debug 'fulltest' 'test') -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - doman sqlite3.1 - - if use doc; then - if [[ ${PV} == 9999 ]]; then - pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die - else - pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die - fi - - find "(" -name "*.db" -o -name "*.txt" ")" -delete || die - if [[ ${PV} != 9999 ]]; then - rm search search.d/admin || die - rmdir search.d || die - find -name "*~" -delete || die - fi - - ( - docinto html - dodoc -r * - ) - - popd > /dev/null || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest index 11003bdc031..061ea86e1af 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest @@ -1,4 +1 @@ -DIST gdb-14.2-sim-modern-c99.patch.xz 5348 BLAKE2B f8039cdf1b49d12eead0dae7db88dbfad4c47eda696ee26b0bd140605d1d62d4a88557518d4e18c86fffb3c6194782d16e459f4392df71d2ec1af271ccb2838d SHA512 f44239871c584f5d6de98db8d6a6766103a8a6fc92dada7d37f04bdc53efe635cca7dfaa778d620348559814f4784a33e5f72a8dd376dc96fba8ec27032ab389 -DIST gdb-14.2.tar.xz 24111936 BLAKE2B 65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8 SHA512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede -DIST gdb-15.1.tar.xz 24295712 BLAKE2B e05133a9f98a1a00cbfb49294f534e3b8830b48ac9526af3312a3b9a0381e0e652bc3f5fdc8528ceb16c890529cefbd7745bed97298a1fecb64c726d09c8aacb SHA512 0217434073023a8b8316088bf3ee95d53a1b6a7897f6269095429016a8900f9a05e130c390d8d5d5550cc515c16519de1071d8eef96aa58e38056c7e37da1d8b DIST gdb-15.2.tar.xz 24332820 BLAKE2B 073668c21b41f12bf40160c6d3df808056453cc9df3b5b86374abe38e955d208f86467458b7e64b3c3e93d70b7f87425619778173fdb375256cd85be15419f14 SHA512 624007deceb5b15ba89c0725883d1a699fa46714ef30887f3d0165e17c5d65d634671740a135aa69e437d916218abb08cfa2a38ed309ff19d48f51da56b2a8ba diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild deleted file mode 100644 index aa1b634bec4..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild +++ /dev/null @@ -1,323 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging -# tips & notes. - -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50_p2???????|*.*.90_p2???????) - # Weekly snapshots - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz - https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - - # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine - if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then - REGULAR_RELEASE=1 - fi - ;; - *.*.9?) - # Prereleases - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - ;; - *) - # Normal upstream release - SRC_URI=" - mirror://gnu/gdb/${P}.tar.xz - https://sourceware.org/pub/gdb/releases/${P}.tar.xz - " - - REGULAR_RELEASE=1 -esac - -PATCH_DEV="" -PATCH_VER="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI+=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sim-modern-c99.patch.xz - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-3+ LGPL-2.1+" -SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" -if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/mpfr:= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:= - >=sys-libs/readline-7:= - sys-libs/zlib - elibc_glibc? ( net-libs/libnsl:= ) - debuginfod? ( - dev-libs/elfutils[debuginfod(-)] - ) - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) - zstd? ( app-arch/zstd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - app-alternatives/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - MIN # gnulib FP (bug #898688) -) - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${WORKDIR}"/${PN}-14.2-sim-modern-c99.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - - # Avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die - if [[ ${CHOST} == *-solaris* ]] ; then - # code relies on C++11, so make sure we get that selected - # due to Python 3.11 pymacro.h doing stuff to work around - # versioning mess based on the C version, while we're compiling - # C++ here, so we need to make it clear we're doing C++11/C11 - # because Solaris system headers act on these - sed -i -e 's/-x c++/-std=c++11/' gdb/Makefile.in || die - fi -} - -gdb_branding() { - printf "Gentoo ${PV} " - - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html - # Avoid really confusing logs from subconfigure spam, makes logs far - # more legible. - MAKEOPTS="--output-sync=line ${MAKEOPTS}" - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # libiberty's or gdb's configure. - --disable-dependency-tracking - --disable-silent-rules - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. bug #490566 - --disable-{binutils,etc,gas,gold,gprof,gprofng,ld} - - $(use_with debuginfod) - - $(use_enable test unit-tests) - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - - # Helps when cross-compiling. Not to be confused with --with-sysroot. - --with-build-sysroot="${ESYSROOT}" - ) - - is_cross && myconf+=( - --with-sysroot="\${prefix}/${CTARGET}" - --includedir="\${prefix}/include/${CTARGET}" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable sim) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - $(use_with zstd) - - # Find libraries using the toolchain sysroot rather than the configured - # prefix. Needed when cross-compiling. - # - # Check which libraries to apply this to with: - # "${S}"/gdb/configure --help | grep without-lib | sort - --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix - ) - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_test() { - # Run the unittests (nabbed invocation from Fedora's spec file) at least - emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"' - - # Too many failures - # In fact, gdb's test suite needs some work to get passing. - # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. - # As of 11.2, on amd64: "# of unexpected failures 8600" - # Also, ia64 kernel crashes when gdb testsuite is running. - #emake -k check -} - -src_install() { - emake DESTDIR="${D}" install - - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. bug #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/PROBLEMS - docinto sim - dodoc sim/{MAINTAINERS,README-HACKING} - - if use server ; then - docinto gdbserver - dodoc gdbserver/README - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - - if use python ; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # Portage doesn't unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1.ebuild deleted file mode 100644 index 8297c3cf418..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1.ebuild +++ /dev/null @@ -1,314 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging -# tips & notes. - -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50_p2???????|*.*.90_p2???????) - # Weekly snapshots - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz - https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - - # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine - if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then - REGULAR_RELEASE=1 - fi - ;; - *.*.9?) - # Prereleases - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - ;; - *) - # Normal upstream release - SRC_URI=" - mirror://gnu/gdb/${P}.tar.xz - https://sourceware.org/pub/gdb/releases/${P}.tar.xz - " - - REGULAR_RELEASE=1 -esac - -PATCH_DEV="" -PATCH_VER="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-3+ LGPL-2.1+" -SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" -if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/mpfr:= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:= - >=sys-libs/readline-7:= - sys-libs/zlib - elibc_glibc? ( net-libs/libnsl:= ) - debuginfod? ( - dev-libs/elfutils[debuginfod(-)] - ) - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) - zstd? ( app-arch/zstd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - app-alternatives/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - MIN # gnulib FP (bug #898688) -) - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - - # Avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die -} - -gdb_branding() { - printf "Gentoo ${PV} " - - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html - # Avoid really confusing logs from subconfigure spam, makes logs far - # more legible. - MAKEOPTS="--output-sync=line ${MAKEOPTS}" - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # libiberty's or gdb's configure. - --disable-dependency-tracking - --disable-silent-rules - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. bug #490566 - --disable-{binutils,etc,gas,gold,gprof,gprofng,ld} - - $(use_with debuginfod) - - $(use_enable test unit-tests) - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - - # Helps when cross-compiling. Not to be confused with --with-sysroot. - --with-build-sysroot="${ESYSROOT}" - ) - - is_cross && myconf+=( - --with-sysroot="\${prefix}/${CTARGET}" - --includedir="\${prefix}/include/${CTARGET}" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable sim) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - $(use_with zstd) - - # Find libraries using the toolchain sysroot rather than the configured - # prefix. Needed when cross-compiling. - # - # Check which libraries to apply this to with: - # "${S}"/gdb/configure --help | grep without-lib | sort - --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix - ) - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_test() { - # Run the unittests (nabbed invocation from Fedora's spec file) at least - emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"' - - # Too many failures - # In fact, gdb's test suite needs some work to get passing. - # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. - # As of 11.2, on amd64: "# of unexpected failures 8600" - # Also, ia64 kernel crashes when gdb testsuite is running. - #emake -k check -} - -src_install() { - emake DESTDIR="${D}" install - - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. bug #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/PROBLEMS - docinto sim - dodoc sim/{MAINTAINERS,README-HACKING} - - if use server ; then - docinto gdbserver - dodoc gdbserver/README - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - - if use python ; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # Portage doesn't unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild index 8f0efb92394..84b680ba31c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild @@ -8,7 +8,7 @@ EAPI=8 GUILE_COMPAT=( 2-2 3-0 ) PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic guile-single python-single-r1 strip-linguas toolchain-funcs +inherit flag-o-matic guile-single linux-info python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -75,7 +75,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) @@ -126,6 +126,20 @@ PATCHES=( ) pkg_setup() { + local CONFIG_CHECK + + if kernel_is -ge 6.11.3 ; then + # https://forums.gentoo.org/viewtopic-p-8846891.html + # + # Either CONFIG_PROC_MEM_ALWAYS_FORCE or CONFIG_PROC_MEM_FORCE_PTRACE + # should be okay, but not CONFIG_PROC_MEM_NO_FORCE. + CONFIG_CHECK+=" + ~!PROC_MEM_NO_FORCE + " + fi + + linux-info_pkg_setup + use guile && guile-single_pkg_setup use python && python-single-r1_pkg_setup } diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1-r100.ebuild rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild index 4d5d83a579f..811789dab6d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild @@ -7,8 +7,8 @@ EAPI=8 # tips & notes. GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic guile-single python-single-r1 strip-linguas toolchain-funcs +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic guile-single linux-info python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -73,13 +73,14 @@ SRC_URI=" LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" +IUSE="cet debuginfod guile lzma multitarget nls +python rocm +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) python? ( ${PYTHON_REQUIRED_USE} ) + rocm? ( multitarget ) " RESTRICT="!test? ( test )" @@ -97,6 +98,7 @@ RDEPEND=" python? ( ${PYTHON_DEPS} ) guile? ( ${GUILE_DEPS} ) xml? ( dev-libs/expat ) + rocm? ( dev-libs/rocdbgapi ) source-highlight? ( dev-util/source-highlight ) @@ -126,6 +128,20 @@ PATCHES=( ) pkg_setup() { + local CONFIG_CHECK + + if kernel_is -ge 6.11.3 ; then + # https://forums.gentoo.org/viewtopic-p-8846891.html + # + # Either CONFIG_PROC_MEM_ALWAYS_FORCE or CONFIG_PROC_MEM_FORCE_PTRACE + # should be okay, but not CONFIG_PROC_MEM_NO_FORCE. + CONFIG_CHECK+=" + ~!PROC_MEM_NO_FORCE + " + fi + + linux-info_pkg_setup + use guile && guile-single_pkg_setup use python && python-single-r1_pkg_setup } @@ -140,6 +156,14 @@ src_prepare() { # Avoid using ancient termcap from host on Prefix systems sed -i -e 's/termcap tinfow/tinfow/g' \ gdb/configure{.ac,} || die + if [[ ${CHOST} == *-solaris* ]] ; then + # code relies on C++11, so make sure we get that selected + # due to Python 3.11 pymacro.h doing stuff to work around + # versioning mess based on the C version, while we're compiling + # C++ here, so we need to make it clear we're doing C++11/C11 + # because Solaris system headers act on these + sed -i -e 's/-x c++/-std=c++11/' gdb/Makefile.in || die + fi } gdb_branding() { @@ -217,6 +241,7 @@ src_configure() { --without-zlib --with-system-zlib --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + --with-amd-dbgapi=$(usex rocm) $(use_with xml expat) $(use_with lzma) $(use_enable nls) diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2.ebuild deleted file mode 100644 index 0a390dda249..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2.ebuild +++ /dev/null @@ -1,314 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging -# tips & notes. - -PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50_p2???????|*.*.90_p2???????) - # Weekly snapshots - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz - https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - - # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine - if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then - REGULAR_RELEASE=1 - fi - ;; - *.*.9?) - # Prereleases - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - ;; - *) - # Normal upstream release - SRC_URI=" - mirror://gnu/gdb/${P}.tar.xz - https://sourceware.org/pub/gdb/releases/${P}.tar.xz - " - - REGULAR_RELEASE=1 -esac - -PATCH_DEV="" -PATCH_VER="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-3+ LGPL-2.1+" -SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" -if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/mpfr:= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:= - >=sys-libs/readline-7:= - sys-libs/zlib - elibc_glibc? ( net-libs/libnsl:= ) - debuginfod? ( - dev-libs/elfutils[debuginfod(-)] - ) - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) - zstd? ( app-arch/zstd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - app-alternatives/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - MIN # gnulib FP (bug #898688) -) - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - - # Avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die -} - -gdb_branding() { - printf "Gentoo ${PV} " - - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html - # Avoid really confusing logs from subconfigure spam, makes logs far - # more legible. - MAKEOPTS="--output-sync=line ${MAKEOPTS}" - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # libiberty's or gdb's configure. - --disable-dependency-tracking - --disable-silent-rules - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. bug #490566 - --disable-{binutils,etc,gas,gold,gprof,gprofng,ld} - - $(use_with debuginfod) - - $(use_enable test unit-tests) - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - - # Helps when cross-compiling. Not to be confused with --with-sysroot. - --with-build-sysroot="${ESYSROOT}" - ) - - is_cross && myconf+=( - --with-sysroot="\${prefix}/${CTARGET}" - --includedir="\${prefix}/include/${CTARGET}" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable sim) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - $(use_with zstd) - - # Find libraries using the toolchain sysroot rather than the configured - # prefix. Needed when cross-compiling. - # - # Check which libraries to apply this to with: - # "${S}"/gdb/configure --help | grep without-lib | sort - --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix - ) - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_test() { - # Run the unittests (nabbed invocation from Fedora's spec file) at least - emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"' - - # Too many failures - # In fact, gdb's test suite needs some work to get passing. - # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. - # As of 11.2, on amd64: "# of unexpected failures 8600" - # Also, ia64 kernel crashes when gdb testsuite is running. - #emake -k check -} - -src_install() { - emake DESTDIR="${D}" install - - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. bug #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/PROBLEMS - docinto sim - dodoc sim/{MAINTAINERS,README-HACKING} - - if use server ; then - docinto gdbserver - dodoc gdbserver/README - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - - if use python ; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # Portage doesn't unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild index 02518991189..039c98a9e0c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild @@ -8,7 +8,7 @@ EAPI=8 GUILE_COMPAT=( 2-2 3-0 ) PYTHON_COMPAT=( python3_{10..13} ) -inherit flag-o-matic guile-single python-single-r1 strip-linguas toolchain-funcs +inherit flag-o-matic guile-single linux-info python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -23,7 +23,11 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } case ${PV} in 9999*) # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + EGIT_REPO_URI=" + https://sourceware.org/git/binutils-gdb.git + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/binutils-gdb.git + " inherit git-r3 SRC_URI="" ;; @@ -73,13 +77,14 @@ SRC_URI=" LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" +IUSE="cet debuginfod guile lzma multitarget nls +python rocm +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) python? ( ${PYTHON_REQUIRED_USE} ) + rocm? ( multitarget ) " RESTRICT="!test? ( test )" @@ -97,6 +102,7 @@ RDEPEND=" python? ( ${PYTHON_DEPS} ) guile? ( ${GUILE_DEPS} ) xml? ( dev-libs/expat ) + rocm? ( dev-libs/rocdbgapi ) source-highlight? ( dev-util/source-highlight ) @@ -126,6 +132,20 @@ PATCHES=( ) pkg_setup() { + local CONFIG_CHECK + + if kernel_is -ge 6.11.3 ; then + # https://forums.gentoo.org/viewtopic-p-8846891.html + # + # Either CONFIG_PROC_MEM_ALWAYS_FORCE or CONFIG_PROC_MEM_FORCE_PTRACE + # should be okay, but not CONFIG_PROC_MEM_NO_FORCE. + CONFIG_CHECK+=" + ~!PROC_MEM_NO_FORCE + " + fi + + linux-info_pkg_setup + use guile && guile-single_pkg_setup use python && python-single-r1_pkg_setup } @@ -225,6 +245,7 @@ src_configure() { --without-zlib --with-system-zlib --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + --with-amd-dbgapi=$(usex rocm) $(use_with xml expat) $(use_with lzma) $(use_enable nls) diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/metadata.xml index 2e08f18a347..a9c1d3521c8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/metadata.xml @@ -10,6 +10,7 @@ Support lzma compression in ELF debug info Support all known targets in one gdb binary Enable support for the new internal scripting language, as well as extended pretty printers + Enable support for AMD GPU debugging via dev-libs/rocdbgapi Install the "gdbserver" program (useful for embedded/remote targets) Build gdb's simulators for various hardware platforms. See https://sourceware.org/gdb/wiki/Sim. Enable listing highlighting via dev-util/source-highlight diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/Manifest b/sdk_container/src/third_party/portage-stable/dev-debug/strace/Manifest index ee9bc1b7055..27341f74ccc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/strace/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/Manifest @@ -2,6 +2,8 @@ DIST strace-6.10.tar.xz 2600864 BLAKE2B acb26ed66fbfcb1bc6403441b632df2f7af01834 DIST strace-6.10.tar.xz.asc 801 BLAKE2B 81b0bc033c5c8a34835b9fec8ab043879a1a2ba3a557fb3309b53254a92ab5abffac32b4d97b45aedbc045a882b69d7f26b186c6e9413599583976080f788e17 SHA512 058672503e8ae2444271e5c220a3bd29450c1badb06ec1a6e06e0f1f4d609af3730bc2a71e7f9cefeeed936e89d4d37e439f41da353388b885d49a204887fb91 DIST strace-6.11.tar.xz 2610440 BLAKE2B 5ea511cd0d2f287ec4c979af7306b29ca39975a4a08f6a1123ae562db5331f7ebb1f23ff2a24ce01fd96c000d094c4d810f2b4bca3ce8adac26fbee57da7f92c SHA512 c639ae7097d418f8b815bd008de9423079dad70829a5eb392d3c5def81243b8a9133c10251a7c00a4991f580cff5b62466f8b53b4b8e425a009548fb3582bdb0 DIST strace-6.11.tar.xz.asc 801 BLAKE2B bc60367dafb08551510bf64c384315aadc3027ed256fbfa5a6e23139800ad01f12b7ebdc09e7845b202260ec38b4a5de70e5701abd9dddc0c5f3c4c32bd6c97b SHA512 bdb86f8fa9b168240b892814037660456ee7beed547e6f5bbcb61431e6fd8d6544b8b169cc794e084c3c11f2f62aff36de410294c609c0a9ea8781fa1ddf57aa +DIST strace-6.12.tar.xz 2628804 BLAKE2B 8077a9ae0b05065cf2de7a2bd630a6275735bd77765a5654cb34f17c93b3fda69d77743c5eb8e75efcc1f6ec8707698642d30bd62cc3aa4355bec0d5a00eec89 SHA512 ae28f0b6b6fdc980898f11d1903aacb5a31760a07d63bd7cbc8f9b5f337d9db6b40464d6b61a9b03ba6442b476edb78afc91348f539f7780cdd98b174c6a9a1d +DIST strace-6.12.tar.xz.asc 801 BLAKE2B 0c3d81747128039c2304c2c6509f14d868c49b1d7036128ab58a2df7690ea40ab643a54f274c0fecbae4bbc4e90ee5d05037630525db828aa4995199ab415cba SHA512 7b8d6148f3160e39033016d17a54f0b0e0a67fb20ab688486db401521d45ba5197d4a8106f6b173f08a787e59d88147a71ee88435afe0a545fc8f75f621bee79 DIST strace-6.6.tar.xz 2420364 BLAKE2B f1465fec58ac20ccce6a88441a34b1402e5c51f0bb4b7963f69b5ab5019a8c8722e3406c6f93c10c1eea11d17de7f9874895d6f4df24cf9ec42a18f36267687b SHA512 77ea45c72e513f6c07026cd9b2cc1a84696a5a35cdd3b06dd4a360fb9f9196958e3f6133b4a9c91e091c24066ba29e0330b6459d18a9c390caae2dba97ab399b DIST strace-6.6.tar.xz.asc 801 BLAKE2B 1bd72fc586f4338da1ae31181d28103ff3168322c07508699261b5ec4627ed3bdf7e20b4557182a258f22e83537712f20413aa9c5c4b335c75f3772e71888478 SHA512 b9eb6fc5c2f3bd8fced37fb81435087df95d9f23f0697afab8a3e359709c95238e50aafe2a3ba8cd698aeae75a4f8e28b6dce49a26878a961c2c06790458d228 DIST strace-6.7.tar.xz 2434880 BLAKE2B 249c149a9140fc79be1365e4e8697b46f6558334eefac11b51c96d2d2e67bb82cb2eac3c38c2fa31f40fc5e0ad3c52967e15a034c01c12ed041d51f006a194ae SHA512 da28fd9fb987044782e6fd6f5e90e2cea2ab8e536cbd3893ef4c9b11c9b3185f073ca3d8ca0eade49e9a2af8efbda8c2b66b8988be7ebc463dc45e8f48ca1256 diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.12.ebuild new file mode 100644 index 00000000000..3b7b6412119 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.12.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edo flag-o-matic toolchain-funcs verify-sig + +DESCRIPTION="Useful diagnostic, instructional, and debugging tool" +HOMEPAGE="https://strace.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/strace/strace.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz + verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz.asc ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc + +LICENSE="LGPL-2.1+ test? ( GPL-2+ )" +SLOT="0" +IUSE="aio perl selinux static test unwind elfutils" +RESTRICT="!test? ( test )" +REQUIRED_USE="?? ( unwind elfutils )" + +BDEPEND=" + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 ) +" +LIB_DEPEND=" + unwind? ( sys-libs/libunwind[static-libs(+)] ) + elfutils? ( dev-libs/elfutils[static-libs(+)] ) + selinux? ( sys-libs/libselinux[static-libs(+)] ) +" +# strace only uses the header from libaio to decode structs +DEPEND=" + static? ( ${LIB_DEPEND} ) + aio? ( >=dev-libs/libaio-0.3.106 ) + sys-kernel/linux-headers +" +RDEPEND=" + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + perl? ( dev-lang/perl ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.5-static.patch" +) + +src_prepare() { + default + + if [[ ! -e configure ]] ; then + # git generation + sed /autoreconf/d -i bootstrap || die + edo ./bootstrap + [[ ! -e CREDITS ]] && cp CREDITS{.in,} + fi + + eautoreconf + + # Stub out the -k test since it's known to be flaky. bug #545812 + sed -i '1iexit 77' tests*/strace-k.test || die +} + +src_configure() { + # Set up the default build settings, and then use the names strace expects. + tc-export_build_env BUILD_{CC,CPP} + local v bv + for v in CC CPP {C,CPP,LD}FLAGS ; do + bv="BUILD_${v}" + export "${v}_FOR_BUILD=${!bv}" + done + + filter-lfs-flags # configure handles this sanely + + export ac_cv_header_libaio_h=$(usex aio) + use elibc_musl && export ac_cv_header_stdc=no + + local myeconfargs=( + --disable-gcc-Werror + + # Don't require mpers support on non-multilib systems. #649560 + --enable-mpers=check + + $(use_enable static) + $(use_with unwind libunwind) + $(use_with elfutils libdw) + $(use_with selinux libselinux) + ) + econf "${myeconfargs[@]}" +} + +src_test() { + if has usersandbox ${FEATURES} ; then + # bug #643044 + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." + return 0 + fi + + default +} + +src_install() { + default + + if use perl ; then + exeinto /usr/bin + doexe src/strace-graph + fi + + dodoc CREDITS +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index 94e87ed2a59..1908723581e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -12,17 +12,23 @@ DIST Python-3.13.0.tar.xz 22532980 BLAKE2B 4a4e397199402de8c9fe8e4d63443ed972cbe DIST Python-3.13.0.tar.xz.asc 963 BLAKE2B d05f02692a9fea42b73dbfe5dc42bd6533555e5ecb848510d2b94bb7f0e55d4a0f89bcd20b073ed2c7f7a68be35b12cb6dbff6bc16fc9a4592ded2c339ada7fd SHA512 1b8bb0fe4eb93e31ec1770e90b94d44b5864c0391aad5dcba3a30d8e505d9b17107385414353c0060007f8a536254f49b8e919f36ddf6421a6e4330f817f1a3e DIST Python-3.14.0a1.tar.xz 22613224 BLAKE2B 1427d8a8e500bceb667852dd227bf00d1dc77cde6513e3202d5e0fb8e0019b4f214ac1ee1686e833d52f4200c667da573e84bea6eb19f463d018d484b82cfa9f SHA512 f96e8923662c1ba5ffb99673e59f5ce2366b13ea853e21e5a5c74efcf0a36f20d00612a9b882caf6482d2179b7315ae0331dcb45be19b7b9676f0ed4bf2256b8 DIST Python-3.14.0a1.tar.xz.sigstore 4799 BLAKE2B 79c271a133e49f46aa478f9645a9c6998081538a05bd20395155c9b490cf13e11c47bb72a60f82b8297fb870af1c67922af648c9ba8fab6e3b31f7040991c39f SHA512 5115325d0a2f43bd0cc3d0888cad78deb90dfb36976c3341f0c237b15334883d1df3fee1dce53af7fe70ff9d630a98c9df4c2524f36183f61a74dd69f69e6257 +DIST Python-3.14.0a2.tar.xz 22696948 BLAKE2B e639838b44c0bc58522cc5344004ea6b1c6fc020eed48165a59693e34b0d5328fb861fb97b05008f04131335c138ee2dd569036b628b933deaf08e005e8e5259 SHA512 face78a7ef5d1a14b7e8c478125c660fe9745e793a5443932684c8426f0023324236c67ad73198e4286ba8793628452ae4d4d6332f007c009b285ba83ca1fc48 +DIST Python-3.14.0a2.tar.xz.sigstore 5035 BLAKE2B b97954a40f640170e049a62082be0cf77dc38ceb6bb2f0c8a122592b5bab4b71b17ad42496538d90703e81127d26e41f2f2522cef745837751fb62fa3590fd56 SHA512 1f5eba0cb8dffb73b351c91072dc91cfdb55f9c833c431b484f8f443a4913d94813e04f81f1dded4df989673dbd91abda8e8ebd6f4f00464725a634477452770 DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed DIST Python-3.9.20.tar.xz 19648968 BLAKE2B 80a337ff406130599b8320068d11bc275d23473cedd7c85fcb9e40134f0f2d533be6e712139e788a6423cdc74cea938f306aa37c2a5099e3051f3e390159279c SHA512 c828f33edf1704e3149499d6d34e89264cb5cdb2b09ff05561641b359716d7996f0fe928629e09f006b1fd7850fdaf937275919c7fdd83f5efc32707c64d814b DIST Python-3.9.20.tar.xz.asc 833 BLAKE2B bcd5a612281bf8e057e19db9105b199cb7e44050441b19832843e8149088d277f4b625421099b09d4ed6fac5578505f46dbfea13b041d157d695eaf668c3a7de SHA512 f21c012f4f642542479ba329da9654589e5a7f7305c39fb1b6f136b578316bdb115cef9773c9a9fe4e195677af01cb80af05780613cca83f42fae131862a9584 DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f DIST python-gentoo-patches-3.10.15_p1.tar.xz 24048 BLAKE2B 191c28ad9bc781d6f3077870e8d40ff98a47a64009ecfbbd10fe2b3c5330692181837fd3e9b336fd01f936a39160fc12761b2ef9bc00843248ab978cda2e2767 SHA512 4461e351c991694415e2812e558d6c3d3f79295358623dc955bc0839691a170d95a3efd31c0bf9f0d6191e4184d7b55fdb485b948d591782fef5b060d7660cce +DIST python-gentoo-patches-3.10.15_p2.tar.xz 25284 BLAKE2B 24ecd523dba88915db130b174a5d692b9218decf81db7617ba016d4e21555cefa807e344a490110bcd3992637a95d0ce3179b219911417d29d008b4e2b5d7b33 SHA512 e1017b80272c57c18dbf7e1515d50fe13ead8de028d1ccaf1339a93ad4b0286f758979ee6f27011fa12350855cefdbdf049927bf2dd185905d4f3fe146c5bd68 DIST python-gentoo-patches-3.11.10_p1.tar.xz 10592 BLAKE2B 1cc02d22b55cb76beba133c37e6db3b9ba12b11cd8776acb064f14431842405cbc9efb5a06319cff1c73d9178ddbbe2e340829d4628c88a9589aa2fc1d308f80 SHA512 7ddb08e4d8a9173a26fa18de687a4c85c3d460e2bc595da6f4b15cfe3be264ccdc7d61d5fed1e7a82f256d21caf3ea7de87f774fde61a9d37bed15f86f546adb DIST python-gentoo-patches-3.12.6_p2.tar.xz 8144 BLAKE2B 2f36ce972e0b3e2884c9df629e3aeb1af05e4c77dffb866ff28e08a0a7df3c7cf36a9de250d148d909c07fd5bad483c95b3267818657c04e7d0d6fe512e21f9a SHA512 caa86c6cf693f9293b3aa8944452d117b78c1c3f8d6a6aa658cb5c2d2ffb0cecc6cf14b293872bd2101766ee7167ba88183904b2814090f8cbc64c1fa3b771be DIST python-gentoo-patches-3.12.6_p4-r1.tar.xz 9072 BLAKE2B 831f6c4284035832e0536ad3211d10c078e6c356e1fa593dd45984b29253deaf703bcb71e1b488508992dd37d5a140591c9193f1620bb966e39b048e4d5c6746 SHA512 9c61e0396c98fb45f3dccad9165e3f2b7bbeabd4a6fe88cc6e05a9d3012e39068571e63527dc831efaf24cb0e8fee75f60454481b2d1a0a44bedba69a7ed5c95 -DIST python-gentoo-patches-3.12.7_p1-r1.tar.xz 10552 BLAKE2B c71ffbbaa4dccd012fced7979c54f2b895ac207a892fd4b0118ab9ef678931c5449f6205855bf5fab9bc7fb5e5af0fc7c5b89bab608e5539855db571bb9d3aa4 SHA512 62207e2eb44e4eeb464ba4bdcefe15b3e03793793cbd033c153cdbf1c9a861779f3bb7259dc09e786c183450123ea283583d9870eca9d6c7b25e5f3dba6f89d6 +DIST python-gentoo-patches-3.12.7_p1-r3.tar.xz 11416 BLAKE2B e12c2e626986fcedc03ee9826419f831d3e2e4eace58b53184b3f0faa53c09e57e22bfe894e2eda305c7f931f7a497c0bc4db0a249079599a4a76d63cdd0a8a5 SHA512 d3f56e8971d7da4d39726934ab4396382610b6620983657a84e29cf98b10c489408b8465a89db6d4a5664a89b3c58544fba946e011dc059a43e9c86cbb13a6eb DIST python-gentoo-patches-3.13.0.tar.xz 8316 BLAKE2B 8fb8ba8f41f310140ad7066b614952023112d5043e5d82058364125611785144c1843e87eecb7669bcbab51c40d0694069526219f7419a7009517ce0821b74ba SHA512 0eb31ebfa3411020aa70b3b66fd7eec98b4b7a686b0e8f1f7ed76a8186a7c1ee85ccd9565a86a1d7ec13b975855eeb7303036af05e2dfdce3d64e4ad99299df4 DIST python-gentoo-patches-3.14.0a1-r2.tar.xz 6008 BLAKE2B bb833fb522e008eb79355fd13952c4fc3efc4684e9a2f26680d57b2bb137d25b461ce34ac7cbf0a7c64a558fa2cd63ad393f23cb90f620395efefd1c01bf01f5 SHA512 60568f83765f8045c789391b1f44ab6ac633a00ca84a6c93afb6067294093dd87a262feb6ea1d0879ed90bcdfa7d02054da5974cb9218686fbe629bdf11d0792 +DIST python-gentoo-patches-3.14.0a2.tar.xz 6032 BLAKE2B 60f5b702feca8c967b0baff906d31b8d2e9788fed0a717292d73d7c2497972d785257ba58248815af10608ef4f5491f11e42715e84885c1548e7744cba4d2bee SHA512 306fd779e139994a3bd64d4ac638f5473b8998739363b5fc2ea2e89caef5b02192226a53c8ea9a03438657733db81c87d31ee4ecb3b3c2f86a9643a3f64b498c DIST python-gentoo-patches-3.8.20_p2.tar.xz 42296 BLAKE2B c0f2c4d0adcb6c10eb68342b911016666cb68308717a5ca1369100a39229ce16c6e9dfdf9e1b4cffe0191d03ca5ee7d9568cd24885fd0f4f32f14e2e8c0a96a3 SHA512 cb9e98c0dd823b6e4f8a60e9095ab58e596cd9411b675678a0d4adefc92b37e14cecc7cecb82e287ac34a9ce1d4595f261b0736bcc9fc62c43c7d8c0b3be70e7 +DIST python-gentoo-patches-3.8.20_p4.tar.xz 43816 BLAKE2B 9bbc86a49816b79e52cfa90e0a136faead48ad0c8017858fb380da752d6e801e18fe08a0c4c492560c79c1e70778daed2fa5bba8dd92f2b23bd45acd518e5c84 SHA512 59bcfc8c98fe9c5740d031697a04dcee6994e7dfbc9d1920bc4782b539525bcd8b006e971fc1e473ffc2dc0aba12564dc6240048dd64ab244c5c8d11ce42f946 DIST python-gentoo-patches-3.9.20_p1.tar.xz 34944 BLAKE2B 332454661adc03033c7e8a5fcc91081b7d405826e9bf89bb2c2e178a0795e4415c9e87ae923756470ee973441f242e194b397354964b8f43dadd4965d210a4f4 SHA512 19bf7227535526a733633723b75d49786dfd8738595c1115b4e05665bc13a1ea70cbf0cc62cb27e81c75f5db2aa56ab985eaa5abde6243697caccb2cb5288005 +DIST python-gentoo-patches-3.9.20_p2.tar.xz 36140 BLAKE2B af0a9e08f3bfd8eb631760d100ec8f54db968a6bd201820192c4ea63ec88e0f83ffe77c709fcf4da43ad8d44eeb239ca1984561c3e7846e3fe4edd757d2321a4 SHA512 d451b41401de631eed996c34f40f2146d4d2f11bfa04fffa762c9b654e690d0ef95be0f51224a964a7c33784bb9b21e58434f6fee17cf39c20b5af34200569d5 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p2.ebuild new file mode 100644 index 00000000000..c1e3463af7a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p2.ebuild @@ -0,0 +1,595 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild index 2cddd912764..34a0b49d3a3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild @@ -10,7 +10,7 @@ inherit python-utils-r1 toolchain-funcs verify-sig MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}-r1" +PATCHSET="python-gentoo-patches-${MY_PV}-r3" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE=" @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2-r100.ebuild new file mode 100644 index 00000000000..b65bf6ea04f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2-r100.ebuild @@ -0,0 +1,662 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 1-2)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_METHOD=sigstore +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + ewarn "Freethreading build is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + -x test_embed + -x test_external_inspection + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2.ebuild new file mode 100644 index 00000000000..40e8f686e93 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha2.ebuild @@ -0,0 +1,654 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_METHOD=sigstore +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + -x test_embed + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p4.ebuild new file mode 100644 index 00000000000..6cf801146df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p4.ebuild @@ -0,0 +1,491 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + rm Lib/distutils/command/wininst*.exe || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p2.ebuild new file mode 100644 index 00000000000..aa65518937f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p2.ebuild @@ -0,0 +1,584 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest index 88ff26dbed3..2f233b63cf3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest @@ -2,3 +2,5 @@ DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad DIST rustc-1.81.0-src.tar.xz.asc 801 BLAKE2B 01cd9f386d3fd73f4eb43b14d7d479ebababb8640abbff170e697817b94b8a18edd801c6047ecf3c084a0a51764c5e4f3f4bd6b00e8ae000ef0b850e9506572a SHA512 19c0da9d67f2bd9fd79a2078f0f486ee7fad5646a09a609b7e30d9531851955ae8df0ec69f9ddc09e2fd6e74d529648335b0fda833839c88c54c84494ec1988e DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0 DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c +DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6 +DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.83.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.83.0.ebuild new file mode 100644 index 00000000000..285a9a5b8e5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.83.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc +inherit bash-completion-r1 verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" +fi + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${SRC} "${DISTDIR}"/${SRC}.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/${SRC} ${SRC%%.tar.xz}/src/tools/cargo/src/etc/cargo.bashcomp.sh || die +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest index e15098bf963..cd91fc13a0e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest @@ -244,3 +244,5 @@ DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad DIST rustc-1.81.0-src.tar.xz.asc 801 BLAKE2B 01cd9f386d3fd73f4eb43b14d7d479ebababb8640abbff170e697817b94b8a18edd801c6047ecf3c084a0a51764c5e4f3f4bd6b00e8ae000ef0b850e9506572a SHA512 19c0da9d67f2bd9fd79a2078f0f486ee7fad5646a09a609b7e30d9531851955ae8df0ec69f9ddc09e2fd6e74d529648335b0fda833839c88c54c84494ec1988e DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0 DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c +DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6 +DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.83.0-cross-compile-libz.patch b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.83.0-cross-compile-libz.patch new file mode 100644 index 00000000000..12844fd7efc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.83.0-cross-compile-libz.patch @@ -0,0 +1,21 @@ +https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 + +diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs +index f606fa483ca..8a2e1c40e8b 100644 +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -220,12 +220,7 @@ + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); + +- // Don't link system libs if cross-compiling unless targetting Windows. +- // On Windows system DLLs aren't linked directly, instead import libraries are used. +- // These import libraries are independent of the host. +- if !is_crossed || target.contains("windows") { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + // We need libkstat for getHostCPUName on SPARC builds. + // See also: https://github.com/llvm/llvm-project/issues/64186 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild index d6cb947db40..78f8d663cf0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 16 ) PYTHON_COMPAT=( python3_{10..12} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,18 +23,14 @@ else KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi -S="${WORKDIR}/${MY_P}-src" - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Language empowering everyone to build reliable and efficient software" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " +S="${WORKDIR}/${MY_P}-src" # keep in sync with llvm ebuild of the same version as bundled one. ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP430 @@ -42,7 +41,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +51,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -158,32 +140,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -206,7 +164,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -236,7 +193,7 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -247,38 +204,6 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die - fi - - default -} - src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 @@ -306,14 +231,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -706,12 +624,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild index bd474794968..7d362a51d3e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 17 ) PYTHON_COMPAT=( python3_{10..12} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,15 +23,12 @@ else KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" fi -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Language empowering everyone to build reliable and efficient software" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " S="${WORKDIR}/${MY_P}-src" @@ -43,7 +43,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -53,29 +53,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -164,32 +147,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -212,7 +171,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -242,19 +200,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -265,46 +217,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -331,14 +251,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -688,7 +601,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -712,7 +625,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -730,9 +642,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -742,12 +654,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild index 0517e38b84f..6a5b34dda65 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 17 ) PYTHON_COMPAT=( python3_{10..12} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,18 +23,14 @@ else KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" fi -S="${WORKDIR}/${MY_P}-src" - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Language empowering everyone to build reliable and efficient software" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " +S="${WORKDIR}/${MY_P}-src" # keep in sync with llvm ebuild of the same version as bundled one. ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai @@ -43,7 +42,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -53,29 +52,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -167,32 +149,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -215,7 +173,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -245,19 +202,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -268,46 +219,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -334,14 +253,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -691,7 +603,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -715,7 +627,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -733,9 +644,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -745,12 +656,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild index a6e6f0023b7..2aa9d06c541 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 17 ) PYTHON_COMPAT=( python3_{10..12} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -19,9 +22,6 @@ else SRC="${MY_P}-src.tar.xz" KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" fi -S="${WORKDIR}/${MY_P}-src" - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" @@ -29,8 +29,8 @@ HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " +S="${WORKDIR}/${MY_P}-src" # keep in sync with llvm ebuild of the same version as bundled one. ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai @@ -42,7 +42,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +52,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -164,32 +147,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -212,7 +171,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -242,19 +200,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -265,46 +217,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -331,14 +251,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -689,7 +602,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -713,7 +626,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -731,9 +643,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -743,12 +655,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild index bf13cf11984..392cc8f2684 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 18 ) PYTHON_COMPAT=( python3_{10..13} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,15 +23,12 @@ else KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " S="${WORKDIR}/${MY_P}-src" @@ -42,7 +42,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +52,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -164,32 +147,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -212,7 +171,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -242,19 +200,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -265,46 +217,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -331,14 +251,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -691,7 +604,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -715,7 +628,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -733,9 +645,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -746,12 +658,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild index 782d0f8d92f..72080e2236f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 18 ) PYTHON_COMPAT=( python3_{10..13} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,15 +23,12 @@ else KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " S="${WORKDIR}/${MY_P}-src" @@ -42,7 +42,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +52,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -163,32 +146,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -211,7 +170,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -241,19 +199,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -264,46 +216,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -330,14 +250,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -663,7 +576,6 @@ src_install() { rust-gdb rust-gdbgui rust-lldb - rust-demangler ) use clippy && symlinks+=( clippy-driver cargo-clippy ) @@ -690,7 +602,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -708,13 +620,11 @@ src_install() { cat <<-_EOF_ > "${T}/provider-${P}" /usr/bin/cargo /usr/bin/rustdoc - /usr/bin/rust-demangler /usr/bin/rust-gdb /usr/bin/rust-gdbgui /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -732,9 +642,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -745,12 +655,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild index a6316b4e46f..54695b7209d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 18 ) PYTHON_COMPAT=( python3_{10..13} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -21,14 +24,12 @@ else fi RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" - DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " S="${WORKDIR}/${MY_P}-src" @@ -42,7 +43,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +53,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -166,32 +150,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -214,7 +174,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -244,19 +203,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -267,46 +220,14 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" fi - default -} - -src_configure() { filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -333,14 +254,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -692,7 +606,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -715,7 +629,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -733,9 +646,9 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi - insinto /etc/env.d/rust doins "${T}/provider-${P}" @@ -746,12 +659,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild index 6cba749daef..714ff39f1a8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild @@ -6,8 +6,11 @@ EAPI=8 LLVM_COMPAT=( 19 ) PYTHON_COMPAT=( python3_{10..13} ) +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -20,15 +23,12 @@ else KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " S="${WORKDIR}/${MY_P}-src" @@ -42,7 +42,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -52,29 +52,12 @@ done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -152,7 +135,6 @@ PATCHES=( "${FILESDIR}"/1.74.1-cross-compile-libz.patch #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh "${FILESDIR}"/1.67.0-doc-wasm.patch - "${FILESDIR}"/1.79.0-revert-8c40426.patch ) clear_vendor_checksums() { @@ -163,32 +145,8 @@ toml_usex() { usex "${1}" true false } -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - pre_build_checks() { - local M=8192 + local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib if use amd64; then M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) @@ -211,7 +169,6 @@ pre_build_checks() { M=$(( 15 * ${M} / 10 )) fi eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -241,19 +198,13 @@ pkg_setup() { export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" - export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - - use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" use system-llvm && die "USE=system-llvm not allowed when cross-compiling" local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" use "llvm_targets_${cross_llvm_target}" || \ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - use system-bootstrap && bootstrap_rust_version_check + rust_pkg_setup if use system-llvm; then llvm-r1_pkg_setup @@ -264,54 +215,26 @@ pkg_setup() { fi } -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - src_prepare() { - # Clear vendor checksums for crates that we patched to bump libc. - # NOTE: refresh this on each bump. - #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ - # terminal_size tracing-tree; do - # clear_vendor_checksums "${i}" - #done - # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. if use x86; then if ! use cpu_flags_x86_sse2; then eapply "${FILESDIR}/1.82.0-i586-baseline.patch" - grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die fi fi - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die - fi - default } src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 local rust_target="" rust_targets="" arch_cflags @@ -338,14 +261,7 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' use rust-src && tools+=',"src"' - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # in case of prefix it will be already prefixed, as --print sysroot returns full path [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" @@ -699,7 +615,7 @@ src_install() { # symlinks to switch components to active rust in eselect dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" @@ -722,7 +638,6 @@ src_install() { /usr/bin/rust-lldb /usr/lib/rustlib /usr/lib/rust/lib - /usr/lib/rust/libexec /usr/lib/rust/man /usr/share/doc/rust _EOF_ @@ -740,6 +655,7 @@ src_install() { echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" fi if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" fi @@ -753,12 +669,49 @@ src_install() { fi } +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + eselect rust update if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." fi if has_version app-editors/emacs; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0.ebuild new file mode 100644 index 00000000000..b0585b3218c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.83.0-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild index d5937675afa..ba493ce1c42 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild @@ -18,7 +18,7 @@ S="${SPARENT}"/unix LICENSE="tcltk Spencer-99" SLOT="0/8.6" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 arm arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild index 53a7bb02f62..34c5a387d05 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild @@ -15,7 +15,7 @@ SRC_URI+=" https://dev.gentoo.org/~grobian/distfiles/${MY_PATCH_VER}.tar.xz" LICENSE="BSD-with-attribution" SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom" REQUIRED_USE="ldapdb? ( openldap )" @@ -117,7 +117,7 @@ multilib_src_configure() { $(use_enable ldapdb) $(multilib_native_use_enable sample) $(use_enable kerberos gssapi) - $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr) + $(multilib_native_use_with mysql mysql "${EPREFIX}/usr/$(get_libdir)") $(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql") $(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)") $(use_enable srp) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild index 5f80573e713..f3d1a9a1a4d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest index 3eb58284cb8..e868251d78b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest @@ -3,3 +3,7 @@ DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010 DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6 DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a940969563ce9d8d7c38e5f0a32163b95523e09cedc4a57b2af84a57d63dc545abcb31b61a8066ef62ba396fb4f3c SHA512 efdc7dd1e0609b0f2d988a8cc8fd4a3fda96e8450832f905f7686f9063b727cb996e0e4e638aca62f60b76f9f04be62e089a615413e64cf298c7eef26e074570 +DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 +DIST glib-2.82.2.tar.xz 5555528 BLAKE2B 930fa7816082e6ba4b7f394985840bb6abf4fe9a4451286cddd3cfc8a4f3d4e3b4f06f09fbb34486f6fd47d0b72363b06a280ccae62d061724a7a2e00734bc4c SHA512 d5b761ec0c088496f2f9e5767568076a30ff492c272f21133560689f4e6a177d403c78d71ef85da63de331152c4d1f27b65d3e927ebfaf0fb63592f66e564ea1 +DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde1eed97536fa2f42f79a9761ac8ededb0676e46b636545a69e20e63d812844aeb626fa4fb7ce3c7922e51554fdc79560f16443acd9 SHA512 f45c2c1b105086488d974c6134db9910746df8edb187772f2ecd249656a1047c8ac88ba51f5bf7393c3d99c3ace143ecd09be256c2f4d0ceee110c9ad51a839a +DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5.ebuild new file mode 100644 index 00000000000..22a8e5f6665 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.80.5.ebuild @@ -0,0 +1,409 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_REQ_USE="xml(+)" +PYTHON_COMPAT=( python3_{10..13} ) + +inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg + +DESCRIPTION="The GLib library of C routines" +HOMEPAGE="https://www.gtk.org/" + +INTROSPECTION_PN="gobject-introspection" +INTROSPECTION_PV="1.80.1" +INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}" +SRC_URI=" + ${SRC_URI} + introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} ) +" +INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}" +INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build" + +LICENSE="LGPL-2.1+" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" +RESTRICT="!test? ( test )" + +# * elfutils (via libelf) does not build on Windows. gresources are not embedded +# within ELF binaries on that platform anyway and inspecting ELF binaries from +# other platforms is not that useful so exclude the dependency in this case. +# * Technically static-libs is needed on zlib, util-linux and perhaps more, but +# these are used by GIO, which glib[static-libs] consumers don't really seem +# to need at all, thus not imposing the deps for now and once some consumers +# are actually found to static link libgio-2.0.a, we can revisit and either add +# them or just put the (build) deps in that rare consumer instead of recursive +# RDEPEND here (due to lack of recursive DEPEND). +RDEPEND=" + !=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] + >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?] + >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] + introspection? ( + >=dev-libs/gobject-introspection-common-${INTROSPECTION_PV} + ) + kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) + selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] ) + xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) ) + elf? ( virtual/libelf:0= ) + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +# libxml2 used for optional tests that get automatically skipped +BDEPEND=" + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + >=sys-devel/gettext-0.19.8 + doc? ( >=dev-util/gi-docgen-2023.1 ) + dev-python/docutils + systemtap? ( >=dev-debug/systemtap-1.3 ) + ${PYTHON_DEPS} + test? ( >=sys-apps/dbus-1.2.14 ) + virtual/pkgconfig + + introspection? ( + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + virtual/pkgconfig + sys-devel/bison + app-alternatives/lex + ${PYTHON_DEPS} + ) +" +# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen + +PDEPEND=" + dbus? ( gnome-base/dconf ) + mime? ( x11-misc/shared-mime-info ) +" +# shared-mime-info needed for gio/xdgmime, bug #409481 +# dconf is needed to be able to save settings, bug #498436 + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gio-querymodules$(get_exeext) +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch +) + +python_check_deps() { + if use introspection ; then + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" + fi +} + +pkg_setup() { + if use kernel_linux ; then + CONFIG_CHECK="~INOTIFY_USER" + if use test ; then + CONFIG_CHECK="~IPV6" + WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them." + fi + linux-info_pkg_setup + fi + python-any-r1_pkg_setup +} + +src_prepare() { + if use test; then + # TODO: Review the test exclusions, especially now with meson + # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163 + if ! has_version dev-util/desktop-file-utils ; then + ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system," + ewarn "think on installing it to get these tests run." + sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die + sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die + fi + + # gdesktopappinfo requires existing terminal (gnome-terminal or any + # other), falling back to xterm if one doesn't exist + #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then + # ewarn "Some tests will be skipped due to missing terminal program" + # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson + # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready + # for backport (or in a bump) and file new issue if still fails + sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die + # desktop-app-info/launch* might fail similarly + sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die + #fi + + # https://bugzilla.gnome.org/show_bug.cgi?id=722604 + sed -i -e "/timer\/stop/d" glib/tests/timer.c || die + sed -i -e "/timer\/basic/d" glib/tests/timer.c || die + + ewarn "Tests for search-utils have been skipped" + sed -i -e "/search-utils/d" glib/tests/meson.build || die + + # Play nice with network-sandbox, but this approach would defeat the purpose of the test + #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die + else + # Don't build tests, also prevents extra deps, bug #512022 + sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die + fi + + # Don't build fuzzing binaries - not used + sed -i -e '/subdir.*fuzzing/d' meson.build || die + + # gdbus-codegen is a separate package + sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die + sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die + + # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon + sed -i -e '/install_dir/d' gio/tests/meson.build || die + + cat > "${T}/glib-test-ld-wrapper" <<-EOF + #!/usr/bin/env sh + exec \${LD:-ld} "\$@" + EOF + chmod a+x "${T}/glib-test-ld-wrapper" || die + sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die + + # make default sane for us + if use prefix ; then + sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die + # bug #308609, without path, bug #314057 + export PERL=perl + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # fix standards conflicts + sed -i \ + -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \ + -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \ + meson.build || die + sed -i -e '/#define\s\+_POSIX_SOURCE/d' \ + glib/giounix.c || die + fi + + # disable native macOS integrations + sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \ + meson.build || die + sed -i \ + -e '/AvailabilityMacros.h/d' \ + gio/giomodule.c || die + + # Link the glib source to the introspection subproject directory so it can be built there first + if use introspection ; then + ln -s "${S}" "${INTROSPECTION_SOURCE_DIR}/subprojects/glib" + fi + + default + gnome2_environment_reset + # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only +} + +multilib_src_configure() { + # TODO: figure a way to pass appropriate values for all cross properties + # that glib uses (search for get_cross_property) + #if tc-is-cross-compiler ; then + # https://bugzilla.gnome.org/show_bug.cgi?id=756473 + # TODO-meson: This should be in meson cross file as 'growing_stack' + # property; and more, look at get_cross_property + #case ${CHOST} in + #hppa*|metag*) export glib_cv_stack_grows=yes ;; + #*) export glib_cv_stack_grows=no ;; + #esac + #fi + + # Build internal copy of gobject-introspection to avoid circular dependency (Built for native abi only) + if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + einfo "Bootstrapping gobject-introspection..." + INTROSPECTION_BIN_DIR="${T}/usr/bin" + INTROSPECTION_LIB_DIR="${T}/usr/$(get_libdir)" + + local emesonargs=( + -Dpython="${EPYTHON}" + -Dbuild_introspection_data=true + # Build an internal copy of glib for the internal copy of gobject-introspection + --force-fallback-for=glib + # Tell meson to make paths in pkgconfig files relative, because we arent doing an actual install + -Dpkgconfig.relocatable=true + ) + + ORIG_SOURCE_DIR=${EMESON_SOURCE} + EMESON_SOURCE=${INTROSPECTION_SOURCE_DIR} + + ORIG_BUILD_DIR=${BUILD_DIR} + BUILD_DIR=${INTROSPECTION_BUILD_DIR} + + pushd ${INTROSPECTION_SOURCE_DIR} || die + + meson_src_configure + meson_src_compile + # Install to the portage temp directory so that pkgconfig relative paths resolve correctly + meson_src_install --destdir "${T}" --skip-subprojects glib + + popd || die + + EMESON_SOURCE=${ORIG_SOURCE_DIR} + BUILD_DIR=${ORIG_BUILD_DIR} + + # Add gobject-introspection binaries and pkgconfig files to path + export PATH="${INTROSPECTION_BIN_DIR}:${PATH}" + + # Override primary pkgconfig search paths to prioritize our internal copy + export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private" + + # Set the normal primary pkgconfig search paths as secondary + export PKG_CONFIG_PATH="$(pkg-config --variable pc_path pkg-config)" + + # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them + for gliblib in glib gobject gthread gmodule gio girepository; do + export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}" + done + + # Add the paths to the gobject-introspection python modules to python path so they can be imported + export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}" + fi + + use debug && EMESON_BUILD_TYPE=debug + + local emesonargs=( + -Ddefault_library=$(usex static-libs both shared) + -Druntime_dir="${EPREFIX}"/run + $(meson_feature selinux) + $(meson_use xattr) + -Dlibmount=enabled # only used if host_system == 'linux' + -Dman-pages=enabled + $(meson_use systemtap dtrace) + $(meson_use systemtap) + $(meson_feature sysprof) + $(meson_use doc documentation) + $(meson_use test tests) + -Dinstalled_tests=false + -Dnls=enabled + -Doss_fuzz=disabled + $(meson_native_use_feature elf libelf) + -Dmultiarch=false + $(meson_native_use_feature introspection) + ) + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + local native_file="${T}"/meson.${CHOST}.ini.local + cat >> ${native_file} <<-EOF || die + [binaries] + dtrace='stap-dtrace' + EOF + emesonargs+=( --native-file "${native_file}" ) + fi + + meson_src_configure +} + +multilib_src_test() { + export XDG_CONFIG_DIRS=/etc/xdg + export XDG_DATA_DIRS=/usr/local/share:/usr/share + export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp" + export LC_TIME=C # bug #411967 + export TZ=UTC + unset GSETTINGS_BACKEND # bug #596380 + python_setup + + # https://bugs.gentoo.org/839807 + local -x SANDBOX_PREDICT=${SANDBOX_PREDICT} + addpredict /usr/b + + # Related test is a bit nitpicking + mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die + chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die + + meson_src_test --timeout-multiplier 20 --no-suite flaky +} + +multilib_src_install() { + meson_src_install + keepdir /usr/$(get_libdir)/gio/modules +} + +multilib_src_install_all() { + # These are installed by dev-util/glib-utils + # TODO: With patching we might be able to get rid of the python-any deps + # and removals, and test depend on glib-utils instead; revisit now with + # meson + rm "${ED}/usr/bin/glib-genmarshal" || die + rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die + rm "${ED}/usr/bin/glib-mkenums" || die + rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die + rm "${ED}/usr/bin/gtester-report" || die + rm "${ED}/usr/share/man/man1/gtester-report.1" || die + # gdbus-codegen manpage installed by dev-util/gdbus-codegen + rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # Make gschemas.compiled belong to glib alone + local cache="/usr/share/glib-2.0/schemas/gschemas.compiled" + + if [[ -e ${EROOT}${cache} ]]; then + cp "${EROOT}"${cache} "${ED}"/${cache} || die + else + touch "${ED}"${cache} || die + fi + + multilib_pkg_preinst() { + # Make giomodule.cache belong to glib alone + local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache" + + if [[ -e ${EROOT}${cache} ]]; then + cp "${EROOT}"${cache} "${ED}"${cache} || die + else + touch "${ED}"${cache} || die + fi + } + + # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache + # file due to inability to create it and GIO might not look at any of the modules there + if ! tc-is-cross-compiler ; then + multilib_foreach_abi multilib_pkg_preinst + fi +} + +pkg_postinst() { + xdg_pkg_postinst + # glib installs no schemas itself, but we force update for fresh install in case + # something has dropped in a schemas file without direct glib dep; and for upgrades + # in case the compiled schema format could have changed + gnome2_schemas_update + + multilib_pkg_postinst() { + gnome2_giomodule_cache_update \ + || die "Update GIO modules cache failed (for ${ABI})" + } + if ! tc-is-cross-compiler ; then + multilib_foreach_abi multilib_pkg_postinst + else + ewarn "Updating of GIO modules cache skipped due to cross-compilation." + ewarn "You might want to run gio-querymodules manually on the target for" + ewarn "your final image for performance reasons and re-run it when packages" + ewarn "installing GIO modules get upgraded or added to the image." + fi + + for v in ${REPLACING_VERSIONS}; do + if ver_test "$v" "-lt" "2.63.6"; then + ewarn "glib no longer installs the gio-launch-desktop binary. You may need" + ewarn "to restart your session for \"Open With\" dialogs to work." + fi + done +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update + + if [[ -z ${REPLACED_BY_VERSION} ]]; then + multilib_pkg_postrm() { + rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die + } + multilib_foreach_abi multilib_pkg_postrm + rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.2.ebuild new file mode 100644 index 00000000000..0f09238ad66 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.2.ebuild @@ -0,0 +1,409 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_REQ_USE="xml(+)" +PYTHON_COMPAT=( python3_{10..13} ) + +inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg + +DESCRIPTION="The GLib library of C routines" +HOMEPAGE="https://www.gtk.org/" + +INTROSPECTION_PN="gobject-introspection" +INTROSPECTION_PV="1.82.0" +INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}" +SRC_URI=" + ${SRC_URI} + introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} ) +" +INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}" +INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build" + +LICENSE="LGPL-2.1+" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" +RESTRICT="!test? ( test )" + +# * elfutils (via libelf) does not build on Windows. gresources are not embedded +# within ELF binaries on that platform anyway and inspecting ELF binaries from +# other platforms is not that useful so exclude the dependency in this case. +# * Technically static-libs is needed on zlib, util-linux and perhaps more, but +# these are used by GIO, which glib[static-libs] consumers don't really seem +# to need at all, thus not imposing the deps for now and once some consumers +# are actually found to static link libgio-2.0.a, we can revisit and either add +# them or just put the (build) deps in that rare consumer instead of recursive +# RDEPEND here (due to lack of recursive DEPEND). +RDEPEND=" + !=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] + >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?] + >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] + introspection? ( + >=dev-libs/gobject-introspection-common-${INTROSPECTION_PV} + ) + kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) + selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] ) + xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) ) + elf? ( virtual/libelf:0= ) + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +# libxml2 used for optional tests that get automatically skipped +BDEPEND=" + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + >=sys-devel/gettext-0.19.8 + doc? ( >=dev-util/gi-docgen-2023.1 ) + dev-python/docutils + systemtap? ( >=dev-debug/systemtap-1.3 ) + ${PYTHON_DEPS} + test? ( >=sys-apps/dbus-1.2.14 ) + virtual/pkgconfig + + introspection? ( + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + virtual/pkgconfig + sys-devel/bison + app-alternatives/lex + ${PYTHON_DEPS} + ) +" +# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen + +PDEPEND=" + dbus? ( gnome-base/dconf ) + mime? ( x11-misc/shared-mime-info ) +" +# shared-mime-info needed for gio/xdgmime, bug #409481 +# dconf is needed to be able to save settings, bug #498436 + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gio-querymodules$(get_exeext) +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch +) + +python_check_deps() { + if use introspection ; then + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" + fi +} + +pkg_setup() { + if use kernel_linux ; then + CONFIG_CHECK="~INOTIFY_USER" + if use test ; then + CONFIG_CHECK="~IPV6" + WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them." + fi + linux-info_pkg_setup + fi + python-any-r1_pkg_setup +} + +src_prepare() { + if use test; then + # TODO: Review the test exclusions, especially now with meson + # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163 + if ! has_version dev-util/desktop-file-utils ; then + ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system," + ewarn "think on installing it to get these tests run." + sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die + sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die + fi + + # gdesktopappinfo requires existing terminal (gnome-terminal or any + # other), falling back to xterm if one doesn't exist + #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then + # ewarn "Some tests will be skipped due to missing terminal program" + # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson + # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready + # for backport (or in a bump) and file new issue if still fails + sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die + # desktop-app-info/launch* might fail similarly + sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die + #fi + + # https://bugzilla.gnome.org/show_bug.cgi?id=722604 + sed -i -e "/timer\/stop/d" glib/tests/timer.c || die + sed -i -e "/timer\/basic/d" glib/tests/timer.c || die + + ewarn "Tests for search-utils have been skipped" + sed -i -e "/search-utils/d" glib/tests/meson.build || die + + # Play nice with network-sandbox, but this approach would defeat the purpose of the test + #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die + else + # Don't build tests, also prevents extra deps, bug #512022 + sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die + fi + + # Don't build fuzzing binaries - not used + sed -i -e '/subdir.*fuzzing/d' meson.build || die + + # gdbus-codegen is a separate package + sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die + sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die + + # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon + sed -i -e '/install_dir/d' gio/tests/meson.build || die + + cat > "${T}/glib-test-ld-wrapper" <<-EOF + #!/usr/bin/env sh + exec \${LD:-ld} "\$@" + EOF + chmod a+x "${T}/glib-test-ld-wrapper" || die + sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die + + # make default sane for us + if use prefix ; then + sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die + # bug #308609, without path, bug #314057 + export PERL=perl + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # fix standards conflicts + sed -i \ + -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \ + -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \ + meson.build || die + sed -i -e '/#define\s\+_POSIX_SOURCE/d' \ + glib/giounix.c || die + fi + + # disable native macOS integrations + sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \ + meson.build || die + sed -i \ + -e '/AvailabilityMacros.h/d' \ + gio/giomodule.c || die + + # Link the glib source to the introspection subproject directory so it can be built there first + if use introspection ; then + ln -s "${S}" "${INTROSPECTION_SOURCE_DIR}/subprojects/glib" + fi + + default + gnome2_environment_reset + # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only +} + +multilib_src_configure() { + # TODO: figure a way to pass appropriate values for all cross properties + # that glib uses (search for get_cross_property) + #if tc-is-cross-compiler ; then + # https://bugzilla.gnome.org/show_bug.cgi?id=756473 + # TODO-meson: This should be in meson cross file as 'growing_stack' + # property; and more, look at get_cross_property + #case ${CHOST} in + #hppa*|metag*) export glib_cv_stack_grows=yes ;; + #*) export glib_cv_stack_grows=no ;; + #esac + #fi + + # Build internal copy of gobject-introspection to avoid circular dependency (Built for native abi only) + if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + einfo "Bootstrapping gobject-introspection..." + INTROSPECTION_BIN_DIR="${T}/usr/bin" + INTROSPECTION_LIB_DIR="${T}/usr/$(get_libdir)" + + local emesonargs=( + -Dpython="${EPYTHON}" + -Dbuild_introspection_data=true + # Build an internal copy of glib for the internal copy of gobject-introspection + --force-fallback-for=glib + # Tell meson to make paths in pkgconfig files relative, because we arent doing an actual install + -Dpkgconfig.relocatable=true + ) + + ORIG_SOURCE_DIR=${EMESON_SOURCE} + EMESON_SOURCE=${INTROSPECTION_SOURCE_DIR} + + ORIG_BUILD_DIR=${BUILD_DIR} + BUILD_DIR=${INTROSPECTION_BUILD_DIR} + + pushd ${INTROSPECTION_SOURCE_DIR} || die + + meson_src_configure + meson_src_compile + # Install to the portage temp directory so that pkgconfig relative paths resolve correctly + meson_src_install --destdir "${T}" --skip-subprojects glib + + popd || die + + EMESON_SOURCE=${ORIG_SOURCE_DIR} + BUILD_DIR=${ORIG_BUILD_DIR} + + # Add gobject-introspection binaries and pkgconfig files to path + export PATH="${INTROSPECTION_BIN_DIR}:${PATH}" + + # Override primary pkgconfig search paths to prioritize our internal copy + export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private" + + # Set the normal primary pkgconfig search paths as secondary + export PKG_CONFIG_PATH="$(pkg-config --variable pc_path pkg-config)" + + # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them + for gliblib in glib gobject gthread gmodule gio girepository; do + export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}" + done + + # Add the paths to the gobject-introspection python modules to python path so they can be imported + export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}" + fi + + use debug && EMESON_BUILD_TYPE=debug + + local emesonargs=( + -Ddefault_library=$(usex static-libs both shared) + -Druntime_dir="${EPREFIX}"/run + $(meson_feature selinux) + $(meson_use xattr) + -Dlibmount=enabled # only used if host_system == 'linux' + -Dman-pages=enabled + $(meson_use systemtap dtrace) + $(meson_use systemtap) + $(meson_feature sysprof) + $(meson_use doc documentation) + $(meson_use test tests) + -Dinstalled_tests=false + -Dnls=enabled + -Doss_fuzz=disabled + $(meson_native_use_feature elf libelf) + -Dmultiarch=false + $(meson_native_use_feature introspection) + ) + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + local native_file="${T}"/meson.${CHOST}.ini.local + cat >> ${native_file} <<-EOF || die + [binaries] + dtrace='stap-dtrace' + EOF + emesonargs+=( --native-file "${native_file}" ) + fi + + meson_src_configure +} + +multilib_src_test() { + export XDG_CONFIG_DIRS=/etc/xdg + export XDG_DATA_DIRS=/usr/local/share:/usr/share + export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp" + export LC_TIME=C # bug #411967 + export TZ=UTC + unset GSETTINGS_BACKEND # bug #596380 + python_setup + + # https://bugs.gentoo.org/839807 + local -x SANDBOX_PREDICT=${SANDBOX_PREDICT} + addpredict /usr/b + + # Related test is a bit nitpicking + mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die + chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die + + meson_src_test --timeout-multiplier 20 --no-suite flaky +} + +multilib_src_install() { + meson_src_install + keepdir /usr/$(get_libdir)/gio/modules +} + +multilib_src_install_all() { + # These are installed by dev-util/glib-utils + # TODO: With patching we might be able to get rid of the python-any deps + # and removals, and test depend on glib-utils instead; revisit now with + # meson + rm "${ED}/usr/bin/glib-genmarshal" || die + rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die + rm "${ED}/usr/bin/glib-mkenums" || die + rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die + rm "${ED}/usr/bin/gtester-report" || die + rm "${ED}/usr/share/man/man1/gtester-report.1" || die + # gdbus-codegen manpage installed by dev-util/gdbus-codegen + rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # Make gschemas.compiled belong to glib alone + local cache="/usr/share/glib-2.0/schemas/gschemas.compiled" + + if [[ -e ${EROOT}${cache} ]]; then + cp "${EROOT}"${cache} "${ED}"/${cache} || die + else + touch "${ED}"${cache} || die + fi + + multilib_pkg_preinst() { + # Make giomodule.cache belong to glib alone + local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache" + + if [[ -e ${EROOT}${cache} ]]; then + cp "${EROOT}"${cache} "${ED}"${cache} || die + else + touch "${ED}"${cache} || die + fi + } + + # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache + # file due to inability to create it and GIO might not look at any of the modules there + if ! tc-is-cross-compiler ; then + multilib_foreach_abi multilib_pkg_preinst + fi +} + +pkg_postinst() { + xdg_pkg_postinst + # glib installs no schemas itself, but we force update for fresh install in case + # something has dropped in a schemas file without direct glib dep; and for upgrades + # in case the compiled schema format could have changed + gnome2_schemas_update + + multilib_pkg_postinst() { + gnome2_giomodule_cache_update \ + || die "Update GIO modules cache failed (for ${ABI})" + } + if ! tc-is-cross-compiler ; then + multilib_foreach_abi multilib_pkg_postinst + else + ewarn "Updating of GIO modules cache skipped due to cross-compilation." + ewarn "You might want to run gio-querymodules manually on the target for" + ewarn "your final image for performance reasons and re-run it when packages" + ewarn "installing GIO modules get upgraded or added to the image." + fi + + for v in ${REPLACING_VERSIONS}; do + if ver_test "$v" "-lt" "2.63.6"; then + ewarn "glib no longer installs the gio-launch-desktop binary. You may need" + ewarn "to restart your session for \"Open With\" dialogs to work." + fi + done +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update + + if [[ -z ${REPLACED_BY_VERSION} ]]; then + multilib_pkg_postrm() { + rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die + } + multilib_foreach_abi multilib_pkg_postrm + rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild index 1e060d527db..2cef81b66de 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -96,6 +96,8 @@ multilib_src_configure() { # 6.3.0 says it now supports LTO, but needs retesting on a variety # of platforms. Fix was maybe https://gmplib.org/repo/gmp-6.3/rev/9c324044f4b5. filter-lto + # https://gmplib.org/list-archives/gmp-bugs/2024-November/005550.html + append-cflags -std=gnu17 # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/Manifest index f2b1f664fb1..7e5de5698e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/Manifest @@ -1,3 +1,4 @@ DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916 DIST gobject-introspection-1.78.1.tar.xz 1060296 BLAKE2B 115cf9ea27cec2d8d3a84081c909b72144fd1568bc316677c26f49652dc93b34fba10701678ad4977dcf97a89f7608545fbd2d73c2503c87635b2102e66ae024 SHA512 a3081882995a762645b04faa71082dbd523bee845519007e48b13235aad8a4cd4c74f0d042a6c17710125f945bd970e4b76e95a559274e294d595e04725a4e97 DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde1eed97536fa2f42f79a9761ac8ededb0676e46b636545a69e20e63d812844aeb626fa4fb7ce3c7922e51554fdc79560f16443acd9 SHA512 f45c2c1b105086488d974c6134db9910746df8edb187772f2ecd249656a1047c8ac88ba51f5bf7393c3d99c3ace143ecd09be256c2f4d0ceee110c9ad51a839a +DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild new file mode 100644 index 00000000000..e4f7e8c166a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection-common/gobject-introspection-common-1.82.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="gobject-introspection" + +inherit gnome.org + +DESCRIPTION="Build infrastructure for GObject Introspection" +HOMEPAGE="https://gi.readthedocs.io/" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}" +# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like: +# https://forums.gentoo.org/viewtopic-p-7421930.html + +src_configure() { :; } + +src_compile() { :; } + +src_install() { + insinto /usr/share/aclocal + doins m4/introspection.m4 + + insinto /usr/share/gobject-introspection-1.0 + doins Makefile.introspection +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/Manifest index f2b1f664fb1..7e5de5698e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/Manifest @@ -1,3 +1,4 @@ DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916 DIST gobject-introspection-1.78.1.tar.xz 1060296 BLAKE2B 115cf9ea27cec2d8d3a84081c909b72144fd1568bc316677c26f49652dc93b34fba10701678ad4977dcf97a89f7608545fbd2d73c2503c87635b2102e66ae024 SHA512 a3081882995a762645b04faa71082dbd523bee845519007e48b13235aad8a4cd4c74f0d042a6c17710125f945bd970e4b76e95a559274e294d595e04725a4e97 DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde1eed97536fa2f42f79a9761ac8ededb0676e46b636545a69e20e63d812844aeb626fa4fb7ce3c7922e51554fdc79560f16443acd9 SHA512 f45c2c1b105086488d974c6134db9910746df8edb187772f2ecd249656a1047c8ac88ba51f5bf7393c3d99c3ace143ecd09be256c2f4d0ceee110c9ad51a839a +DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild index f1c88150e2d..c692b7610bc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="https://gi.readthedocs.io/" LICENSE="LGPL-2+ GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doctool gtk-doc test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.82.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.82.0.ebuild new file mode 100644 index 00000000000..43e3ccd830a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/gobject-introspection/gobject-introspection-1.82.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit gnome.org meson python-single-r1 xdg + +DESCRIPTION="Introspection system for GObject-based libraries" +HOMEPAGE="https://gi.readthedocs.io/" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +IUSE="doctool gtk-doc test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# virtual/pkgconfig needed at runtime, bug #505408 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.82.0:2 + dev-libs/libffi:= + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + doctool? ( + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) + virtual/pkgconfig + ${PYTHON_DEPS} +" +# Wants real bison, not app-alternatives/yacc +DEPEND="${RDEPEND}" +BDEPEND=" + gtk-doc? ( + >=dev-util/gtk-doc-1.19 + app-text/docbook-xml-dtd:4.3 + app-text/docbook-xml-dtd:4.5 + ) + sys-devel/bison + app-alternatives/lex + test? ( + x11-libs/cairo[glib] + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) +" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_feature test cairo) + $(meson_feature doctool) + #-Dglib_src_dir + $(meson_use gtk-doc gtk_doc) + #-Dcairo_libname + -Dpython="${EPYTHON}" + -Dbuild_introspection_data=true + #-Dgir_dir_prefix + ) + meson_src_configure +} + +src_install() { + meson_src_install + python_fix_shebang "${ED}"/usr/bin/ + python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"/usr/share/aclocal/introspection.m4 \ + "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"/usr/share/aclocal || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild index 582ba35e41c..5f6b3ef8717 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]] ; then else SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.6-c23-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.6-c23-tests.patch new file mode 100644 index 00000000000..dc53b120cd9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/files/libffi-3.4.6-c23-tests.patch @@ -0,0 +1,38 @@ +https://github.com/libffi/libffi/commit/0859f8431242d5adff21420b9cab538d2af527b5 + +From 0859f8431242d5adff21420b9cab538d2af527b5 Mon Sep 17 00:00:00 2001 +From: Joseph Myers +Date: Thu, 24 Oct 2024 18:26:58 +0000 +Subject: [PATCH] Fix testsuite for C23 `va_start` (#861) + +In the C23 revision of the C standard, `va_start` ignores its second +argument, which is no longer required (previously the last named +function parameter - which the compiler knows anyway, so it's +redundant information). + +This has the consequence for the libffi testsuite, when making GCC +default to `-std=gnu23`, of making two tests fail with warnings about +an unused function argument (only passed to `va_start` and not +otherwise used). Fix those test failures by explicitly casting the +argument to `void`. +--- a/testsuite/libffi.call/va_struct2.c ++++ b/testsuite/libffi.call/va_struct2.c +@@ -33,6 +33,7 @@ test_fn (int n, ...) + struct small_tag s2; + struct large_tag l; + ++ (void) n; + va_start (ap, n); + s1 = va_arg (ap, struct small_tag); + l = va_arg (ap, struct large_tag); +--- a/testsuite/libffi.call/va_struct3.c ++++ b/testsuite/libffi.call/va_struct3.c +@@ -33,6 +33,7 @@ test_fn (int n, ...) + struct small_tag s2; + struct large_tag l; + ++ (void) n; + va_start (ap, n); + s1 = va_arg (ap, struct small_tag); + l = va_arg (ap, struct large_tag); + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.6-r2.ebuild index 2235dc0d702..61fa9d5ad84 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.6-r2.ebuild @@ -44,6 +44,7 @@ PATCHES=( "${FILESDIR}"/${P}-asan.patch "${FILESDIR}"/${P}-tests.patch "${FILESDIR}"/${P}-regenerate-autotools.patch + "${FILESDIR}"/${P}-c23-tests.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest index ebb2837e331..a7417773ca1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/Manifest @@ -6,3 +6,5 @@ DIST libgpg-error-1.49.tar.bz2 1081175 BLAKE2B f1d7ce3c8b32a1a98495576b4ed7bf938 DIST libgpg-error-1.49.tar.bz2.sig 238 BLAKE2B ff9b3adbbd587afc09e4b7bc58bfa63446f92b7a42baa541e564ee52d88434bca621686f6db6312e8cd8b81f458ce9ee6307c0e6700ab3dc7d7a46d003c934cc SHA512 39d45939c17755e3dd126506d758a1a86f66827616f270c5b663df50e55692e2ef4f27e6e12a7eb1dbe44afc03b415f1fcb3160990b75980cafe6d9cd5a55ed2 DIST libgpg-error-1.50.tar.bz2 1082003 BLAKE2B 621d9a604585daa1fbd08aaa94f3b177f6265046ccf452317e126e73079c567c555cbb8ab8b63e09b76bdf4f11a1aad7effd118651fe9e9cbcf01229f20ab297 SHA512 96e466d892a50843af6d7c08c0da602518bc6a28836bfc35f0a28cde74d368f57c5c70c65f0f41edb4fc1ca5ebd00f2ece531d8b3eb1bd6db566adbb29bc61ff DIST libgpg-error-1.50.tar.bz2.sig 119 BLAKE2B ee3a8e9221d4df8b37ceef70240ecf79efef045cfbde67f6a8bbc0f58dfa4955ed5a75e3cd31de7644707049919b154c1d9607e370dec7e8f2b0b6cb1b997beb SHA512 02e29838be3225f4894bcebd2c53355a98f5857baa4e9f8a78227a03f849677c35b1d2d009610badd6540dcfe5378b5365abcae77d29ba2d95dd252e9c93c893 +DIST libgpg-error-1.51.tar.bz2 1085510 BLAKE2B 8727a993fb5e589beceafce9d06d843b28ceff80398c33a5655608bdcd3d92ee363389bc209a1dff675b9f78d56f13b78d77e55696c0736612b09275ae0da7f3 SHA512 4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b +DIST libgpg-error-1.51.tar.bz2.sig 119 BLAKE2B 34bacbe1923aebc015ea1b975616836dd80278c8edc293474f83633fef59326edfe4043419729de4c8f26c49a6292f7d13a23c3ccda8aea3d1923913df616a5e SHA512 fc793d674c0f5b26efdc71a4420e9743e9dcf8ab646577be3561dc46f15343be42991cf3fe5c49d049f49e929618e7c05dbd32f9e4ceb1d58b90263058621a9e diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild new file mode 100644 index 00000000000..1ef94303304 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.51.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="Contains error handling functions used by GnuPG software" +HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="common-lisp nls static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +BDEPEND=" + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/gpg-error.h + /usr/include/gpgrt.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gpg-error-config + /usr/bin/gpgrt-config +) + +src_prepare() { + default + elibtoolize + + if use prefix ; then + # don't hardcode /usr/xpg4/bin/sh as shell on Solaris + sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die + fi + + # This check breaks multilib + cat <<-EOF > src/gpg-error-config-test.sh.in || die + #!@INSTALLSHELLPATH@ + exit 0 + EOF + + # only necessary for as long as we run eautoreconf, configure.ac + # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is + # not a pure /bin/sh script, so it fails on some hosts + #sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die + #eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_is_native_abi || echo --disable-languages) + $(use_enable common-lisp languages) + $(use_enable nls) + # required for sys-power/suspend[crypt], bug 751568 + $(use_enable static-libs static) + $(use_enable test tests) + + # See bug #699206 and its duplicates wrt gpgme-config + # Upstream no longer install this by default and we should + # seek to disable it at some point. + --enable-install-gpg-error-config + + --enable-threads + CC_FOR_BUILD="$(tc-getBUILD_CC)" + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/Manifest index ca7d3789110..8d83e556484 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/Manifest @@ -1,2 +1,3 @@ DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da DIST libtool-2.5.3.tar.xz 1050076 BLAKE2B e7bc3421d2273851f894583b879c897239bddaef00dc335176f00ce971d3c77e4d4304ae3b1d1b97d4b6b1b4fd9859ddc0eb5dcadac2e0de959b68cae973f726 SHA512 7a2b86716b2cbefcd45bda7f65af81fcb0aaa3dce96b09f417d6b94721a4dd9e72a9552862783d998ddf785e509315bb49f65c464dbc949d58e36f0960cf9b1b +DIST libtool-2.5.4.tar.xz 1056924 BLAKE2B 47de3c49a690d44d7ddd5e3b5e4090c91dc5fbb9c40fc4a3963e150fb7329326ee3e21b8c149974726171c4b0380028e0efc7a369c4f04357eea46f69852e1cc SHA512 eed207094bcc444f4bfbb13710e395e062e3f1d312ca8b186ab0cbd22dc92ddef176a0b3ecd43e02676e37bd9e328791c59a38ef15846d4eae15da4f20315724 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild new file mode 100644 index 00000000000..b367c10d5e4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.4.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-build/libtool. + +inherit multilib-minimal flag-o-matic + +MY_P="libtool-${PV}" + +DESCRIPTION="A shared library tool for developers" +HOMEPAGE="https://www.gnu.org/software/libtool/" +if false && ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then + SRC_URI="https://alpha.gnu.org/gnu/libtool/${MY_P}.tar.xz" +else + SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +S="${WORKDIR}"/${MY_P}/libltdl + +LICENSE="GPL-2" +SLOT="0" +IUSE="static-libs" +# libltdl doesn't have a testsuite. Don't bother trying. +RESTRICT="test" + +BDEPEND="app-arch/xz-utils" + +multilib_src_configure() { + # bug #907427 + filter-lto + + append-lfs-flags + ECONF_SOURCE="${S}" \ + econf \ + --enable-ltdl-install \ + $(use_enable static-libs static) +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # While the libltdl.la file is not used directly, the m4 ltdl logic + # keys off of its existence when searching for ltdl support. # bug #293921 + #use static-libs || find "${D}" -name libltdl.la -delete +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild index 7d5196c09b2..f3699c74466 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.10.0.ebuild @@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${LIBNL_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch deleted file mode 100644 index b5392677943..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.exim.org/show_bug.cgi?id=2173#c4 - ---- a/pcre_exec.c -+++ b/pcre_exec.c -@@ -509,6 +509,12 @@ - (e.g. stopped by repeated call or recursion limit) - */ - -+#ifdef __GNUC__ -+static int -+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, -+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, -+ unsigned int rdepth) __attribute__((noinline,noclone)); -+#endif - static int - match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, - PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest index 26e7ef66e1a..55b83078468 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest @@ -2,3 +2,4 @@ DIST libunistring-0.9.10.tar.xz 2051320 BLAKE2B 25d162d9d510cc35ad4209acceb9b06b DIST libunistring-1.0.tar.xz 2367800 BLAKE2B 8208fe33d4ac2f015b0efb56b0c7dd87afc4bb1c6ca4eb3ded86d7e2101d7b7f68bfd8991af4b6dd408282ec73f134ee0b884e761ff6d52e8a1e398326aec420 SHA512 70d5ad82722844dbeacdfcb4d7593358e4a00a9222a98537add4b7f0bf4a2bb503dfb3cd627e52e2a5ca1d3da9e5daf38a6bd521197f92002e11e715fb1662d1 DIST libunistring-1.1.tar.xz 2397676 BLAKE2B 721adc90884006480055b95d0fa06cd862417aa02b467f1e14688292ad9c11f1e33520b14ed5dc2d2724c6df8713d3af1e8032014259d8355156cb72edfcb983 SHA512 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6 DIST libunistring-1.2.tar.xz 2502196 BLAKE2B 606c6fdd93f05b01e9b08b3bd30283afcbf9a3425abf900e7672f1d6eb91b51009913d4f5e45a4c1c1b82a84b4870d3eaced9ca76fd570936ad5c39c94038fc7 SHA512 5fbb5a0a864db73a6d18cdea7b31237da907fff0ef288f3a8db6ebdba8ef61ad8855e5fc780c2bbf632218d8fa59dd119734e5937ca64dc77f53f30f13b80b17 +DIST libunistring-1.3.tar.xz 2753448 BLAKE2B 213d24ea4ba5e960a030bd83fc1b6c9d9a5e33d63ade8874e2a15d1b7a0acbe4b2d03df18065f6c17f01bfed94f7e70ef474e713f5c5ad2375cf2438457b0379 SHA512 864d42b1d4ae4941fe5c8327d6726ab8e3a35d2d5f9d25ce4859a72ab2f549a7b68f58638cf8767d863f58161d1a4053495d185860964a942d6750e42facf931 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild new file mode 100644 index 00000000000..4274250915c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.3.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal libtool + +DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard" +HOMEPAGE="https://www.gnu.org/software/libunistring/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" +# Check regularly even on "minor" bumps +SLOT="0/5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc static-libs" + +QA_CONFIG_IMPL_DECL_SKIP=( + # bug #900374 + unreachable + MIN + static_assert + alignof +) + +PATCHES=( + "${FILESDIR}"/${PN}-nodocs.patch +) + +src_prepare() { + default + elibtoolize # for Solaris shared libraries +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf $(use_enable static-libs static) +} + +multilib_src_install_all() { + default + + if use doc ; then + docinto html + dodoc doc/*.html + doinfo doc/*.info + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest index fd05c8a4976..0182ccc2ccb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest @@ -1,7 +1,5 @@ DIST libuv-1.48.0.tar.gz 1314877 BLAKE2B 7595797ab732109516ce280fa2efa3474e82e78890087408c7f5b1457ce8f44e53878581bb8d473795e298d7390dd8a269dd2e8970e10b50a2c0bbe1cce187cc SHA512 7ae3a4c02f654a26056db1541e52ccc4c54aaea39c33585f0cf6949af997d0a0a29f30a294c8df6e92f6f6af7ce64c2766b1a2cc67f342e3e139cd55b7326c94 DIST libuv-1.48.0.tar.gz.sig 833 BLAKE2B f0982f7723fa81afe3fe668fc4497fb182a6093f38b185aba4f7359a3248062e7953acaba3f7fd739c9ff5b590664e4b7b81ee138442ffccd46c989c0a10345b SHA512 3a6441bb250badb7bb54a102dd7a1cf47ee4e0ed93ff0369c5b6a4b1e5440e613d85530f19c9ebdc586a97dfe1e06af09e2f90c13448e875dbaee1c703efa955 -DIST libuv-1.49.0.tar.gz 1331420 BLAKE2B f939df07e7e120cdb5c489a6146b220d9d85aa511342c1d2c143b6754eeeea8435e9410891bd281c6ddccdcb5921239cac0950e5fb7c0dc7f258ed7fdc096187 SHA512 36da82ff3f9b54ebfc8bdbf668ef2ae8845591a9fd01daf4f1ea4d1ac4db93c3f7877f6fc5f0a542eb4ff1eade5fd747a0905d98fe1c55a6effabc1f4131d59d -DIST libuv-1.49.0.tar.gz.sig 833 BLAKE2B aa37c82779d2e904b5b1cdac802573fe30a570f83a818f94eed87d4b7a45a83e6fa02f0f2a06e24a8b01561bbe1b647bc931670c78af79301ba0aa08e6c0c708 SHA512 ad86a158179f5b8961aba701f0fdc16906383158cceb1ab2e23a7d5caa31ee4d87e9260ba6d04aa16719254e9b8d9e85066e2352d02006d231f4898235525fe6 DIST libuv-1.49.1.tar.gz 1332225 BLAKE2B 7a56817c94060629456a53026c142d74d72d2777a4e433bd370d76c93c8ae7a775d9cb9362241ce563948dd01a2b4bbe5d3bc10c014687fa9aff38b2fde98ccf SHA512 f0a55fd5e91b87418ec22b0bd607a9b46510296c8a33600878a6454033b0d1bc7b4b674255007e94b38057635c024f7cbff187e7c0f0e0d627604636c3ad3497 DIST libuv-1.49.1.tar.gz.sig 833 BLAKE2B 826f6c97806a474c6b1f77b11b553d5f26d1c25261d9f25f4318552e1e4291cff56a4d5c9a7059ad938dc792e7015eab11d84132553e66c4ac164a847eb9d6dd SHA512 49ffdb678afb5c1c899745102e7d884d4a7bb933e88066cff82ef7c939bdbde5b2fa8e22094cdb75ed77697eef559dfa7f22d66d6a65b3a43a8a9d2cca4d7fd3 DIST libuv-1.49.2.tar.gz 1331024 BLAKE2B a4a3367053ab3d5b87c502ef4a25b569fc829b3580005333adf2d3f02a799e6fefec9b6c2cf354eb0e8fe003eff4d3bd5d0f91980dd44702595bfdc54a9fad66 SHA512 ecb94edb9393d1f3ace1e01e89a3f693fb813c1ed21a3c706409bdfd8821885e7713f8d6b043d97ab202cbea9edc99ad6672d1144858802dc92031800ffba1a1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.0.ebuild deleted file mode 100644 index 859c1fae34d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.0.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc -inherit autotools verify-sig - -DESCRIPTION="Cross-platform asychronous I/O" -HOMEPAGE="https://github.com/libuv/libuv" - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://github.com/libuv/libuv.git" - inherit git-r3 -else - SRC_URI=" - https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - S="${WORKDIR}/${PN}-v${PV}" -fi - -LICENSE="BSD BSD-2 ISC MIT" -SLOT="0/1" - -BDEPEND=" - dev-build/libtool - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-libuv ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch -) - -src_prepare() { - default - - if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then - eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch - fi - - # Upstream fails to ship a configure script and has missing m4 file. - echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \ - > m4/libuv-extra-automake-flags.m4 || die - eautoreconf -} - -src_configure() { - local myeconfargs=( - cc_cv_cflags__g=no - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild index 859c1fae34d..4e6ae3cdc86 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild @@ -17,7 +17,7 @@ else https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" S="${WORKDIR}/${PN}-v${PV}" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest index f22d2a5fec7..c8251f4b5d4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -5,6 +5,7 @@ DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078 DIST libxml2-2.12.9.tar.xz 2643456 BLAKE2B 769ff564e62c1c0167e5334879ac9e912491c651b6d48a9d21db569002ae86bc4e4490098710a614bc90bbefc44a9dd0af6b02958041dd3bffccf8b5ddc0f7ca SHA512 6e4544ed3ab36d6cb7481d465ceabf223444739d7f41de3e1927309b8716a5eac85520b9bbaf69913f53e052fbfaf68bf27372074daaa24dca9463ce728b4173 DIST libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6 DIST libxml2-2.13.4.tar.xz 2582156 BLAKE2B 6b143fb192625bb1168ecb1e25295761a062923018b39bcabeae07f422c9bb6c7f11e7de8ce728c0d474271407e0777b9e2e5ad30b47e79b9fb79c12beaadf1c SHA512 27bfaa63431798d3aa725b36af2005bda70a20b270e601cc3c8a07cc9fd02a080cb3d2b023eb42606a57b9786469488a7c09b71bdff1a518a0b4271c78c3f940 +DIST libxml2-2.13.5.tar.xz 2586872 BLAKE2B 46c280630638e2c8009c593bbbcf90ccbfffe9ddcc99987c4d91c2223043759f2b4d6511b31b2357c5250ac3b40d96ef05c17b4d2adc61972665f8a0d899dfe8 SHA512 acaecd4e3e95136d1c621f9e5f33976ebca87dfbf83859459e339597c3c57fbc47508a7de16af7fbf0e7e7c59fd6f9a82b2e732e1dd12efd79d666bac64ecf4e DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733 DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild index f7921a43e49..b18992816fd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild @@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 else inherit gnome.org libtool - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.5.ebuild new file mode 100644 index 00000000000..e27b1966092 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.5.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit autotools python-r1 multilib-minimal + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit git-r3 +else + inherit gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +SLOT="2" +IUSE="examples icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.12.9-icu-pkgconfig.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + #elibtoolize + + eautoreconf +} + +multilib_src_configure() { + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + --with-legacy \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39-r1.ebuild index 271c7b528bf..ab5e6b57c5f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39-r1.ebuild @@ -25,7 +25,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" BDEPEND=">=virtual/pkgconfig-1" RDEPEND=" - >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}] + =dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} ) " diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/npth/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/npth/Manifest index 528f8a186b8..9d9d0029d58 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/npth/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/npth/Manifest @@ -1,2 +1,3 @@ DIST npth-1.6.tar.bz2 300486 BLAKE2B 665fdb2f4cbe59750b6b4b7c2701ee80a23a122df10c9f8be47c4af5f3bf5968f709637ab3f4878bb68609752fbb6ce1364e109fdfeba64e4db258733a33f3fc SHA512 2ed1012e14a9d10665420b9a23628be7e206fd9348111ec751349b93557ee69f1176bcf7e6b195b35b1c44a5e0e81ee33b713f03d79a33d1ecd9037035afeda2 DIST npth-1.7.tar.bz2 313213 BLAKE2B 39bc5857fb61a4264bef6ff23c28755d2a3b3ceef93034aefd5cf1c2ad905adf696c6753ebd5cea5e0a875df4ecb97db03e023a50a27f51ec0641bbc36b54089 SHA512 8893023bcf953a3f7c490cf8116bed323a9d4af2bea35277e919f437916fda8b8e68ded28ec1777717cf9187c504892556159cbdb8bc02ed4a8b30b3d897d244 +DIST npth-1.8.tar.bz2 317739 BLAKE2B 554620f6a45f57bb958d245f7464abffd565b592941f0c404ce384c854be57ee35754a78dcf6afac751ee87e1df230bf3d2b78fb37cb1ef3e5ea534ddfd4ef2a SHA512 34fdeea3d8a7a594d8fdbcc6d5d389b5c8e282e8e84c1491b1e51960c0fa007df6a1d62543f0107f0772f3215557d4b25c2a9c7067cb0ae2f8de7b4d63d09fb4 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild new file mode 100644 index 00000000000..b83032c047d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/npth/npth-1.8.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="New GNU Portable Threads Library" +HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + econf \ + $(use_enable test tests) \ + --enable-install-npth-config +} + +src_install() { + default + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch new file mode 100644 index 00000000000..e5ced7df213 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch @@ -0,0 +1,170 @@ +https://github.com/kkos/oniguruma/issues/312 +https://github.com/kkos/oniguruma/commit/5f1408dee4a01dee60c4cd67f2e2e46484ef50a5 +https://github.com/kkos/oniguruma/commit/b803288174dcef9b56836aee1ee78a4f3256d8f6 + +From 5f1408dee4a01dee60c4cd67f2e2e46484ef50a5 Mon Sep 17 00:00:00 2001 +From: "K.Kosako" +Date: Mon, 18 Nov 2024 00:18:12 +0900 +Subject: [PATCH] fix #312: Build failure with GCC 15 (C23) + +--- + src/regparse.c | 44 ++++++++++++++++++++++++++++++++++++-------- + src/st.h | 9 +-------- + 2 files changed, 37 insertions(+), 16 deletions(-) + +diff --git a/src/regparse.c b/src/regparse.c +index 24bcbaac..9acdd6e2 100644 +--- a/src/regparse.c ++++ b/src/regparse.c +@@ -793,8 +793,13 @@ onig_print_names(FILE* fp, regex_t* reg) + #endif /* ONIG_DEBUG */ + + static int +-i_free_name_entry(UChar* key, NameEntry* e, void* arg ARG_UNUSED) ++i_free_name_entry(st_data_t akey, st_data_t ae, st_data_t arg ARG_UNUSED) + { ++ UChar* key; ++ NameEntry* e; ++ ++ key = (UChar* )akey; ++ e = (NameEntry* )ae; + xfree(e->name); + if (IS_NOT_NULL(e->back_refs)) xfree(e->back_refs); + xfree(key); +@@ -850,8 +855,14 @@ typedef struct { + } INamesArg; + + static int +-i_names(UChar* key ARG_UNUSED, NameEntry* e, INamesArg* arg) ++i_names(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t aarg) + { ++ NameEntry* e; ++ INamesArg* arg; ++ ++ e = (NameEntry* )ae; ++ arg = (INamesArg* )aarg; ++ + int r = (*(arg->func))(e->name, + e->name + e->name_len, + e->back_num, +@@ -883,9 +894,14 @@ onig_foreach_name(regex_t* reg, + } + + static int +-i_renumber_name(UChar* key ARG_UNUSED, NameEntry* e, GroupNumMap* map) ++i_renumber_name(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t amap) + { + int i; ++ NameEntry* e; ++ GroupNumMap* map; ++ ++ e = (NameEntry* )ae; ++ map = (GroupNumMap* )amap; + + if (e->back_num > 1) { + for (i = 0; i < e->back_num; i++) { +@@ -1374,9 +1390,14 @@ static int CalloutNameIDCounter; + #ifdef USE_ST_LIBRARY + + static int +-i_free_callout_name_entry(st_callout_name_key* key, CalloutNameEntry* e, +- void* arg ARG_UNUSED) ++i_free_callout_name_entry(st_data_t akey, st_data_t ae, st_data_t arg ARG_UNUSED) + { ++ st_callout_name_key* key; ++ CalloutNameEntry* e; ++ ++ key = (st_callout_name_key* )akey; ++ e = (CalloutNameEntry* )ae; ++ + if (IS_NOT_NULL(e)) { + xfree(e->name); + } +@@ -1870,10 +1891,14 @@ typedef intptr_t CalloutTagVal; + #define CALLOUT_TAG_LIST_FLAG_TAG_EXIST (1<<0) + + static int +-i_callout_callout_list_set(UChar* key, CalloutTagVal e, void* arg) ++i_callout_callout_list_set(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t arg) + { + int num; +- RegexExt* ext = (RegexExt* )arg; ++ CalloutTagVal e; ++ RegexExt* ext; ++ ++ e = (CalloutTagVal )ae; ++ ext = (RegexExt* )arg; + + num = (int )e - 1; + ext->callout_list[num].flag |= CALLOUT_TAG_LIST_FLAG_TAG_EXIST; +@@ -1926,8 +1951,11 @@ onig_callout_tag_is_exist_at_callout_num(regex_t* reg, int callout_num) + } + + static int +-i_free_callout_tag_entry(UChar* key, CalloutTagVal e, void* arg ARG_UNUSED) ++i_free_callout_tag_entry(st_data_t akey, st_data_t e ARG_UNUSED, st_data_t arg ARG_UNUSED) + { ++ UChar* key; ++ ++ key = (UChar* )akey; + xfree(key); + return ST_DELETE; + } +diff --git a/src/st.h b/src/st.h +index 5efee8bb..70798dc5 100644 +--- a/src/st.h ++++ b/src/st.h +@@ -34,13 +34,6 @@ enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK}; + #ifndef _ + # define _(args) args + #endif +-#ifndef ANYARGS +-# ifdef __cplusplus +-# define ANYARGS ... +-# else +-# define ANYARGS +-# endif +-#endif + + st_table *st_init_table _((struct st_hash_type *)); + st_table *st_init_table_with_size _((struct st_hash_type *, int)); +@@ -52,7 +45,7 @@ int st_delete _((st_table *, st_data_t *, st_data_t *)); + int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t)); + int st_insert _((st_table *, st_data_t, st_data_t)); + int st_lookup _((st_table *, st_data_t, st_data_t *)); +-int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t)); ++int st_foreach _((st_table *, int (*)(st_data_t, st_data_t, st_data_t), st_data_t)); + void st_add_direct _((st_table *, st_data_t, st_data_t)); + void st_free_table _((st_table *)); + void st_cleanup_safe _((st_table *, st_data_t)); + +From b803288174dcef9b56836aee1ee78a4f3256d8f6 Mon Sep 17 00:00:00 2001 +From: "K.Kosako" +Date: Tue, 19 Nov 2024 00:01:17 +0900 +Subject: [PATCH] follow up previous fix + +--- + src/regparse.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/regparse.c b/src/regparse.c +index 9acdd6e2..1d00b82a 100644 +--- a/src/regparse.c ++++ b/src/regparse.c +@@ -758,10 +758,14 @@ typedef st_data_t HashDataType; /* 1.6 st.h doesn't define st_data_t type */ + + #ifdef ONIG_DEBUG + static int +-i_print_name_entry(UChar* key, NameEntry* e, void* arg) ++i_print_name_entry(st_data_t akey, st_data_t ae, st_data_t arg) + { + int i; +- FILE* fp = (FILE* )arg; ++ FILE* fp; ++ NameEntry* e; ++ ++ e = (NameEntry* )ae; ++ fp = (FILE* )arg; + + fprintf(fp, "%s: ", e->name); + if (e->back_num == 0) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild new file mode 100644 index 00000000000..97b563b60da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2003-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit multilib-minimal + +if [[ "${PV}" == "9999" ]]; then + inherit autotools git-r3 + + EGIT_REPO_URI="https://github.com/kkos/oniguruma" +fi + +DESCRIPTION="Regular expression library for different character encodings" +HOMEPAGE="https://github.com/kkos/oniguruma" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz" +fi + +LICENSE="BSD-2" +SLOT="0/5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="crnl-as-line-terminator static-libs" + +BDEPEND="" +DEPEND="" +RDEPEND="" + +if [[ "${PV}" != "9999" ]]; then + S="${WORKDIR}/onig-${PV}" +fi + +DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES}) + +PATCHES=( + "${FILESDIR}"/${P}-c23.patch +) + +src_prepare() { + default + + if [[ "${PV}" == "9999" ]]; then + eautoreconf + fi +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-posix-api \ + $(use_enable crnl-as-line-terminator) \ + $(use_enable static-libs static) +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest index d29912a059a..9fd076cd7fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest @@ -1 +1,2 @@ DIST opensc-0.25.1.tar.gz 2395579 BLAKE2B cc7994cad78083c8eeafc947e90c06178209edc825cb14b54bc4281d37c6dae1006ab2c9b9566823ef90626a4134bce96a9806bebc455a389216d7953da6b873 SHA512 6277abb31f903af68b4c19f549fc881b69d7aa9a55ba39936386118eadde86b62853ba2906cd165d9b1ad9090e1aa4d2b236bf19650aa228ed776b3f4d9f8805 +DIST opensc-0.26.0.tar.gz 2415271 BLAKE2B c1fb4f961797291fd9d36eb7b5a58a74c1d5a71c2313813cc715115ccf7a7279f6820b99cb1490daa0287c5d45175f6164e5fc7215fa46ebe5d043556f4ebd31 SHA512 99d88e6f83eb8b6d349bd88d51df652bc44973ac9397d516ad503c256d664a842698093b4e50e0877ece5f05151b5575fc39220620c82c7a000c971f8c98449f diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.0.ebuild new file mode 100644 index 00000000000..42544e82ef4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.26.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 + +DESCRIPTION="Libraries and applications to access smartcards" +HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" +else + SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="LGPL-2.1+ BSD" +SLOT="0/11" +IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib" +RESTRICT="!test? ( test )" + +RDEPEND="zlib? ( sys-libs/zlib ) + readline? ( sys-libs/readline:0= ) + ssl? ( dev-libs/openssl:0= ) + openct? ( >=dev-libs/openct-0.5.0 ) + pace? ( dev-libs/openpace:= ) + pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 ) + notify? ( dev-libs/glib:2 )" +DEPEND="${RDEPEND} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + test? ( + dev-util/cmocka + dev-libs/softhsm + )" +BDEPEND="virtual/pkgconfig" + +REQUIRED_USE=" + pcsc-lite? ( !openct !ctapi ) + openct? ( !pcsc-lite !ctapi ) + ctapi? ( !pcsc-lite !openct ) + || ( pcsc-lite openct ctapi )" + +src_prepare() { + # This test is known to fail, for a long time upstream has carried + # version-specific patches which they would update on every version bump. + # There doesn't appear to be a permanent solution yet. + sed -i "/test-pkcs11-tool-unwrap-wrap-test.sh/d" "tests/Makefile.am" || die + default + eautoreconf +} + +src_configure() { + # don't want to run upstream's clang-tidy checks + export ac_cv_path_CLANGTIDY="" + + econf \ + --with-completiondir="$(get_bashcompdir)" \ + --disable-strict \ + --enable-man \ + $(use_enable ctapi) \ + $(use_enable doc) \ + $(use_enable notify) \ + $(use_enable openct) \ + $(use_enable pace openpace) \ + $(use_enable pcsc-lite pcsc) \ + $(use_enable readline) \ + $(use_enable secure-messaging sm) \ + $(use_enable ssl openssl) \ + $(use_enable test cmocka) \ + $(use_enable zlib) +} + +src_test() { + P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default +} + +src_install() { + default + + insinto /etc/pkcs11/modules/ + doins "${FILESDIR}"/opensc.module + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-9999.ebuild index 874286524ce..42544e82ef4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-9999.ebuild @@ -13,10 +13,10 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" else SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi -LICENSE="LGPL-2.1" +LICENSE="LGPL-2.1+ BSD" SLOT="0/11" IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild index e9367b1e3d5..5a720cc0b9d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.1.ebuild @@ -12,4 +12,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.0.ebuild index 55dd51a2da3..1d00b3ac739 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/${PN}/${PN}" else SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild index 7c2c9700c59..9b87191a875 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.14.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest index 978a522f6f4..0f26608bfba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest @@ -1,2 +1,3 @@ DIST xmlsec1-1.3.4.tar.gz 2435656 BLAKE2B b398f970e5b201971419b537125e9a7430c8d7c1c57e193b2592ee3f01ce797993607a210e87ad44e99bc0ef49ac4c350492268a3ac3bedbb81d937d99837468 SHA512 959a97ed7d7cbdc3e5ef037b2cb4f05bda299274c09ed3dfe24f7203d97e3dfc13bf480e15a2d15bcc7893569d341204884de58cc9b462b6c29306b67672e9c7 DIST xmlsec1-1.3.5.tar.gz 2451506 BLAKE2B 4a265793a7499c4f6421c6d60552bd2ea18f06e3c28435520188c0a7c36a4de8aa40f20658949b93d826a8f6fb20bd8f2be1a78e6d103ae573e6353a2a5380a7 SHA512 69e9f18e2bc6b1b9acaf475a534a666965a561eec6a5a152185d264a4110d97d233af302153577a414e232a8880c6afc66b563118d889e670204d93819fcfdb5 +DIST xmlsec1-1.3.6.tar.gz 2453984 BLAKE2B 217817ef0f7003247b7173a6581ba6428e623ff4e464b4ea08bd93d07c0aaba8ee379cbdd6309e3c2c6f07f5022fe55a51dc1afc001525bf219eff9f06ff5aad SHA512 f38ccc7af0026973a94b1b6f95accd70a2a2c4398985a0002c66d7b43bff6d6bcfb09ae62046cbdac82a0890622aead2df710cb0ab373c3bdf6159797613cdaa diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild index f0324bc0861..819741295b9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}1-${PV}" LICENSE="MIT" # Upstream consider major version bumps to be changes in either X or Y in X.Y.Z SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" IUSE="doc gcrypt gnutls http nss +openssl static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.6.ebuild new file mode 100644 index 00000000000..f0324bc0861 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.6.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML" +HOMEPAGE="https://www.aleksey.com/xmlsec" +SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz" +S="${WORKDIR}/${PN}1-${PV}" + +LICENSE="MIT" +# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc gcrypt gnutls http nss +openssl static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + || ( gnutls nss openssl ) +" + +RDEPEND=" + >=dev-libs/libxml2-2.7.4 + >=dev-libs/libxslt-1.0.20 + dev-libs/libltdl + gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= ) + gnutls? ( >=net-libs/gnutls-3.6.13:= ) + nss? ( + >=dev-libs/nspr-4.4.1 + >=dev-libs/nss-3.9 + ) + openssl? ( dev-libs/openssl:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( + nss? ( + >=dev-libs/nss-3.9[utils] + ) + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-optimisation.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable doc docs) + $(use_enable static-libs static) + $(use_with gcrypt) + $(use_with gnutls) + $(use_with nss nspr) + $(use_with nss) + $(use_with openssl) + + --disable-werror + --enable-mans + --enable-pkgconfig + + --enable-concatkdf + --enable-pbkdf2 + --enable-ec + --enable-dh + --enable-sha3 + + --enable-files + $(use_enable http) + --disable-ftp + ) + + # Bash because of bug #721128 + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" +} + +src_test() { + # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC + TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest index 294d6becd17..7453c370ad8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest @@ -1,2 +1 @@ -DIST cachecontrol-0.14.0.tar.gz 28899 BLAKE2B 158d70333b8e5cbbee31db788c9737a92592c3c342d17e4e1ff4826759e3fe14eb855556f9363c122fbf3fd68ca43a78b34b3327260fe51a15b30dde01302508 SHA512 4bb43475d43a2b83f9196cf02af7a881ab37da3b481777f1ae6b24df0f7dab54629fcdf9e07b00e1226a7707f5c92b0473481ef7cbbcaa4275665a41487c903f DIST cachecontrol-0.14.1.tar.gz 28928 BLAKE2B 9f01bc35c905f0fb489e796f96ccc0063a475bacc24b980ee67f8053412a52d9167b4b96495a8a7f7c561e2485a1b6fcb4ec94b1408ea5111f8661fea59394fd SHA512 f99463ee08199058d0f84a173d6a85276cfe6caec0bec6692e5af74f4c8e684a68ab6910c6c85cbd1f4515c7044ee2fbf149cfd85e4ce9d9ac97e9850698c07f diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild deleted file mode 100644 index 00b7217135e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="httplib2 caching for requests" -HOMEPAGE=" - https://pypi.org/project/CacheControl/ - https://github.com/psf/cachecontrol/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND=" - =dev-python/msgpack-0.5.2[${PYTHON_USEDEP}] - >=dev-python/requests-2.16.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/cherrypy[${PYTHON_USEDEP}] - >=dev-python/filelock-3.8.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.1.ebuild index c5c6239d1e3..3e3e9f8ff85 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND=" src/hatch/_version.py || die - local -x PYTHONPATH="src:${PYTHONPATH}" - - # do not require uv for portability, sigh - mkdir "${T}/bin" || die - cat > "${T}/bin/uv" <<-EOF || die - #!/bin/sh - exit 127 - EOF - chmod +x "${T}/bin/uv" || die - local -x PATH=${T}/bin:${PATH} - - # tests mock cargo subprocess call but the backend raises if CARGO - # is not set and shutil.which() can't find it - local -x CARGO=cargo - - distutils-r1_src_test -} - -python_test() { - if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then - einfo "Skipping tests on ${EPYTHON}" - return - fi - - local -x EPYTEST_DESELECT=( - # most of these run uv to install stuff - # the few remaining tests aren't worth running - tests/backend/dep/test_core.py - # broken if CARGO is set - tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p pytest_mock tests/backend -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.3-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.3-r1.ebuild index 5ad63d90dee..8e5205e5a8f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.25.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.3-r1.ebuild @@ -30,18 +30,13 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 # editables are optional but required for editable installs RDEPEND=" >=dev-python/editables-0.3[${PYTHON_USEDEP}] - >=dev-python/packaging-23.2[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}] ' 3.10) -" -# always depend on the newest version available, at least until upstream -# stops treating unknown classifiers as a fatal error -# https://github.com/pypa/hatch/issues/1368 -RDEPEND+=" - >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] + dev-python/trove-classifiers[${PYTHON_USEDEP}] " BDEPEND=" ${RDEPEND} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild index b89e9480443..abbf2c5a1c9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild @@ -45,7 +45,7 @@ src_prepare() { } pkg_postinst() { - if ! has_version dev-python/Babel; then - elog "For i18n support, please emerge dev-python/Babel." + if ! has_version dev-python/babel; then + elog "For i18n support, please emerge dev-python/babel." fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest index 77683b86ac9..d8e71345210 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest @@ -1,2 +1 @@ -DIST MarkupSafe-2.1.5.tar.gz 19384 BLAKE2B d6ae0e1864983f4ab92f2fd9b58a012a8c76e6f47957681d4acc362b2129d63fe4f4625600a89081afe0e99f868eb604d6c75fec88de9a18ebb32c15f091681b SHA512 3ba5af43d23c266377f5d32b11e1faa7955ea8c67eb1c32886c308527f93e75e387294d0eec7794c0c20aad0c705b27f3d1f86b04202f3b63068d12d4053cc71 DIST markupsafe-3.0.2.tar.gz 20537 BLAKE2B ffccc47eb4b8048aee98b61a3b9dee28eb31323563b943ad96293541467ddb3d0d63906fbbc876ee30947a10afcb580456a10d502874601ba7c4e4d63594f114 SHA512 26946b928b001933f08a5dd90c5fe424a1d9e2bccfbf7194955d031a3df54a03eb48e4e47ea9564a25da33efeb62a043a53008f551fa1e8d71321bc276e19ce2 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-2.1.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-2.1.5.ebuild deleted file mode 100644 index ccc7079aebf..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-2.1.5.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYPI_NO_NORMALIZE=1 -PYPI_PN="MarkupSafe" -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python" -HOMEPAGE=" - https://palletsprojects.com/p/markupsafe/ - https://github.com/pallets/markupsafe/ - https://pypi.org/project/MarkupSafe/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=() - - case ${EPYTHON} in - python3.13) - EPYTEST_DESELECT+=( - # https://github.com/pallets/markupsafe/issues/445 - tests/test_leak.py::test_markup_leaks - ) - ;; - esac - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild index 6c18de7253e..10eb1ecb706 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" IUSE="+native-extensions" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild index 63aa9e4ba6c..1f3e1b6b1bf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="|| ( Apache-2.0 BSD-2 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" ! 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_config.py::test_prompt_for_keyring_if_needed - # broken by system site-packages use - tests/functional/test_check.py::test_basic_check_clean - tests/functional/test_check.py::test_check_skip_work_dir_pkg - tests/functional/test_check.py::test_check_complicated_name_clean - tests/functional/test_check.py::test_check_development_versions_are_also_considered - tests/functional/test_freeze.py::test_freeze_with_setuptools - tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip - tests/functional/test_uninstall.py::test_basic_uninstall_distutils - tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers - # broken by unbundling - "tests/functional/test_debug.py::test_debug[vendored library versions:]" - tests/functional/test_debug.py::test_debug__library_versions - tests/functional/test_python_option.py::test_python_interpreter - tests/functional/test_uninstall.py::test_uninstall_non_local_distutils - ) - local EPYTEST_IGNORE=( - # requires proxy.py - tests/functional/test_proxy.py - ) - - 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 - - case ${EPYTHON} in - python3.10) - EPYTEST_DESELECT+=( - # no clue why they fail - ) - ;; - esac - - local -x PIP_DISABLE_PIP_VERSION_CHECK=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_XDIST=1 - epytest -m "not network" -o tmp_path_retention_policy=all -} - -python_install_all() { - local DOCS=( AUTHORS.txt docs/html/**/*.rst ) - distutils-r1_python_install_all - - newbashcomp completion.bash pip - - insinto /usr/share/zsh/site-functions - newins completion.zsh _pip -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.1.ebuild deleted file mode 100644 index d7613702ae5..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.1.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2024 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=setuptools -PYTHON_TESTED=( python3_{10..13} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) -PYTHON_REQ_USE="ssl(+),threads(+)" - -inherit bash-completion-r1 distutils-r1 - -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 -" - -LICENSE="MIT" -# bundled deps -LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc64 ~riscv ~sparc ~x86" -IUSE="test-rust" - -# see src/pip/_vendor/vendor.txt -RDEPEND=" - >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}] - >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}] - >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}] - >=dev-python/packaging-24.1[${PYTHON_USEDEP}] - >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}] - >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.32.0[${PYTHON_USEDEP}] - >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] - >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}] - >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}] - >=dev-python/tenacity-8.2.3[${PYTHON_USEDEP}] - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}] - - >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-python/scripttest[${PYTHON_USEDEP}] - dev-python/tomli-w[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - dev-python/werkzeug[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - test-rust? ( - dev-python/cryptography[${PYTHON_USEDEP}] - ) - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -distutils_enable_tests pytest - -python_prepare_all() { - local PATCHES=( - "${FILESDIR}/pip-23.1-no-coverage.patch" - # https://github.com/pypa/pip/issues/12786 (and more) - "${FILESDIR}/pip-24.1-test-offline.patch" - # prepare to unbundle dependencies - "${FILESDIR}/pip-24.1-unbundle.patch" - ) - - distutils-r1_python_prepare_all - - # unbundle dependencies - rm -r src/pip/_vendor || die - find -name '*.py' -exec sed -i \ - -e 's:from pip\._vendor import:import:g' \ - -e 's:from pip\._vendor\.:from :g' \ - {} + || die - - if use test; then - local wheels=( - "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl - ) - mkdir tests/data/common_wheels/ || die - cp "${wheels[@]}" tests/data/common_wheels/ || die - fi -} - -python_compile_all() { - # 'pip completion' command embeds full $0 into completion script, which confuses - # 'complete' and causes QA warning when running as "${PYTHON} -m pip". - # This trick sets correct $0 while still calling just installed pip. - local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())' - "${EPYTHON}" -c "${pipcmd}" completion --bash > 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_config.py::test_prompt_for_keyring_if_needed - # broken by system site-packages use - tests/functional/test_check.py::test_basic_check_clean - tests/functional/test_check.py::test_check_skip_work_dir_pkg - tests/functional/test_check.py::test_check_complicated_name_clean - tests/functional/test_check.py::test_check_development_versions_are_also_considered - tests/functional/test_freeze.py::test_freeze_with_setuptools - tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip - tests/functional/test_uninstall.py::test_basic_uninstall_distutils - tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers - # broken by unbundling - "tests/functional/test_debug.py::test_debug[vendored library versions:]" - tests/functional/test_debug.py::test_debug__library_versions - tests/functional/test_python_option.py::test_python_interpreter - tests/functional/test_uninstall.py::test_uninstall_non_local_distutils - ) - local EPYTEST_IGNORE=( - # requires proxy.py - tests/functional/test_proxy.py - ) - - 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 - - case ${EPYTHON} in - python3.10) - EPYTEST_DESELECT+=( - # no clue why they fail - ) - ;; - esac - - local -x PIP_DISABLE_PIP_VERSION_CHECK=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_XDIST=1 - epytest -m "not network" -o tmp_path_retention_policy=all -} - -python_install_all() { - local DOCS=( AUTHORS.txt docs/html/**/*.rst ) - distutils-r1_python_install_all - - newbashcomp completion.bash pip - - insinto /usr/share/zsh/site-functions - newins completion.zsh _pip -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.2.ebuild deleted file mode 100644 index 8b00ccade75..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.1.2.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2024 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=setuptools -PYTHON_TESTED=( python3_{10..13} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) -PYTHON_REQ_USE="ssl(+),threads(+)" - -inherit bash-completion-r1 distutils-r1 - -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 -" - -LICENSE="MIT" -# bundled deps -LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" -IUSE="test-rust" - -# see src/pip/_vendor/vendor.txt -RDEPEND=" - >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}] - >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}] - >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}] - >=dev-python/packaging-24.1[${PYTHON_USEDEP}] - >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}] - >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.32.0[${PYTHON_USEDEP}] - >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] - >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}] - >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}] - >=dev-python/tenacity-8.2.3[${PYTHON_USEDEP}] - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}] - - >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-python/scripttest[${PYTHON_USEDEP}] - dev-python/tomli-w[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - dev-python/werkzeug[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - test-rust? ( - dev-python/cryptography[${PYTHON_USEDEP}] - ) - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -distutils_enable_tests pytest - -python_prepare_all() { - local PATCHES=( - "${FILESDIR}/pip-23.1-no-coverage.patch" - # prepare to unbundle dependencies - "${FILESDIR}/pip-24.1-unbundle.patch" - ) - - distutils-r1_python_prepare_all - - # unbundle dependencies - rm -r src/pip/_vendor || die - find -name '*.py' -exec sed -i \ - -e 's:from pip\._vendor import:import:g' \ - -e 's:from pip\._vendor\.:from :g' \ - {} + || die - - if use test; then - local wheels=( - "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl - ) - mkdir tests/data/common_wheels/ || die - cp "${wheels[@]}" tests/data/common_wheels/ || die - fi -} - -python_compile_all() { - # 'pip completion' command embeds full $0 into completion script, which confuses - # 'complete' and causes QA warning when running as "${PYTHON} -m pip". - # This trick sets correct $0 while still calling just installed pip. - local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())' - "${EPYTHON}" -c "${pipcmd}" completion --bash > 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 - # broken by system site-packages use - tests/functional/test_check.py::test_basic_check_clean - tests/functional/test_check.py::test_check_skip_work_dir_pkg - tests/functional/test_check.py::test_check_complicated_name_clean - tests/functional/test_check.py::test_check_development_versions_are_also_considered - tests/functional/test_freeze.py::test_freeze_with_setuptools - tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip - tests/functional/test_uninstall.py::test_basic_uninstall_distutils - tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers - # broken by unbundling - "tests/functional/test_debug.py::test_debug[vendored library versions:]" - tests/functional/test_debug.py::test_debug__library_versions - tests/functional/test_python_option.py::test_python_interpreter - tests/functional/test_uninstall.py::test_uninstall_non_local_distutils - ) - local EPYTEST_IGNORE=( - # requires proxy.py - tests/functional/test_proxy.py - ) - - if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - tests/functional/test_install.py::test_install_sends_client_cert - tests/functional/test_install_config.py::test_do_not_prompt_for_authentication - tests/functional/test_install_config.py::test_prompt_for_authentication - tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed - ) - fi - - local -x PIP_DISABLE_PIP_VERSION_CHECK=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_XDIST=1 - # rerunfailures because test suite breaks if packages are installed - # in parallel - epytest -m "not network" -o tmp_path_retention_policy=all \ - -p rerunfailures --reruns=5 -} - -python_install_all() { - local DOCS=( AUTHORS.txt docs/html/**/*.rst ) - distutils-r1_python_install_all - - newbashcomp completion.bash pip - - insinto /usr/share/zsh/site-functions - newins completion.zsh _pip -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild deleted file mode 100644 index e4a0442a57f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2024 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=setuptools -PYTHON_TESTED=( python3_{10..13} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) -PYTHON_REQ_USE="ssl(+),threads(+)" - -inherit bash-completion-r1 distutils-r1 - -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 -" - -LICENSE="MIT" -# bundled deps -LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="test-rust" - -# see src/pip/_vendor/vendor.txt -RDEPEND=" - >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}] - >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}] - >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}] - >=dev-python/packaging-24.1[${PYTHON_USEDEP}] - >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}] - >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.32.0[${PYTHON_USEDEP}] - >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] - >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}] - >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - ' 3.10) - >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${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 - # broken by system site-packages use - tests/functional/test_check.py::test_basic_check_clean - tests/functional/test_check.py::test_check_skip_work_dir_pkg - tests/functional/test_check.py::test_check_complicated_name_clean - tests/functional/test_check.py::test_check_development_versions_are_also_considered - tests/functional/test_freeze.py::test_freeze_with_setuptools - tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip - tests/functional/test_uninstall.py::test_basic_uninstall_distutils - tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup - tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers - # broken by unbundling - "tests/functional/test_debug.py::test_debug[vendored library versions:]" - tests/functional/test_debug.py::test_debug__library_versions - tests/functional/test_python_option.py::test_python_interpreter - tests/functional/test_uninstall.py::test_uninstall_non_local_distutils - ) - local EPYTEST_IGNORE=( - # requires proxy.py - tests/functional/test_proxy.py - ) - - if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - tests/functional/test_install.py::test_install_sends_client_cert - tests/functional/test_install_config.py::test_do_not_prompt_for_authentication - tests/functional/test_install_config.py::test_prompt_for_authentication - tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed - ) - fi - - local -x PIP_DISABLE_PIP_VERSION_CHECK=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_XDIST=1 - # rerunfailures because test suite breaks if packages are installed - # in parallel - epytest -m "not network" -o tmp_path_retention_policy=all \ - -p rerunfailures --reruns=5 -} - -python_install_all() { - local DOCS=( AUTHORS.txt docs/html/**/*.rst ) - distutils-r1_python_install_all - - newbashcomp completion.bash pip - - insinto /usr/share/zsh/site-functions - newins completion.zsh _pip -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.3.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.3.1-r2.ebuild index aee9a90317e..dc26ec994c2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.3.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.3.1-r2.ebuild @@ -26,7 +26,7 @@ LICENSE="MIT" # bundled deps LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 sparc x86" IUSE="test-rust" # see src/pip/_vendor/vendor.txt diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-0.3-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-0.3-r3.ebuild index 3393042055f..7b21e90080f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-0.3-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-0.3-r3.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit distutils-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-9999.ebuild index e22af665c57..d78ad0a1562 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pydecomp/pydecomp-9999.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit distutils-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.32.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.32.3.ebuild index 25efdffdbdb..77ca4358cd2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.32.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.32.3.ebuild @@ -27,14 +27,14 @@ RDEPEND=" =dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] ) + socks5? ( >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}] ) " BDEPEND=" test? ( >=dev-python/pytest-httpbin-2.0.0[${PYTHON_USEDEP}] dev-python/pytest-mock[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] + >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}] test-rust? ( dev-python/trustme[${PYTHON_USEDEP}] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild index 1e80fb87bcf..18c923535e3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 sparc x86" BDEPEND=" test? ( 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 647d8f8057c..3d24cd43a3c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest @@ -1,3 +1,2 @@ -DIST setuptools-74.1.3.tar.gz 1356471 BLAKE2B c59476710f10aae77f8b466ce2b072966a889b13c3e2e2a9524497ce43893bcd296412f8e0be8a3ccaa9be46b429680c11fe291095a65a185243701fa667be6c SHA512 7892d1ff0a1cd90f6cd367536392bf2933d354eb61d5177a01218b253bc254b51e74c040601adf35aff1652f1e1c6dbffca3cdce3f4fc32b8bd23c36cd885ddc -DIST setuptools-75.2.0.tar.gz 1350308 BLAKE2B ec4e91f12a76075c26f14c82109258d285840a5ac49a57f3b7e96160ef126e477ba969483d8afc3d35874e14d9d3804f5009d62cb2e1a5245d24d31800d48a4a SHA512 1c508ae3028ae991215b1953398aee5fcf6df0ae2294cc2e31bf8f3c67a306b6cbe2b78e4d855271be8df8a82135fccc8baa05df905fe964d45e5888abf51add -DIST setuptools-75.3.0.tar.gz 1351577 BLAKE2B 1f3812a3b6dea6df6a8b3bec2d570405075dc3ed386d8e4fec0d37f2a3c39e93149b8f01b6044a7fa85578e8d39151f1fe1b896d09a87cde9574b98641b8d510 SHA512 281f5cce6fd4aa51b3642a6aae3dce29551ccef083994f0bd267367d3f8b1f81c92cb8f858d7d052ebd7197295316918b3d16a58c6986bdf59bc1d32c7b6277a +DIST setuptools-75.5.0.tar.gz 1336032 BLAKE2B 3e06713c45212ef64b0f041089aa0621f3c12b850c9716e21181e91192378bb0596f81cfd6c484c3ec2d6f7e29ea7967fb17a7e5bbc2de996968be4fc47c2c32 SHA512 353ad99bb946d5ed07139f3a6d5f0efc9a4ca9721b060fce9095ee6fc74ac0e832fd0ebf7b2d1d68c71021db30561c5fea6abdde42174981f26002390a1e0e67 +DIST setuptools-75.6.0.tar.gz 1337429 BLAKE2B 65ba2e3de8dd0c86ab0ad59a5dc99a860ef5b59f357272eb2568347a496d853ef8e12a2d456dee3effe6f100bfb8d29e2f9f60123b58d791003ce3cddac23e8a SHA512 bdc12309165912f8de84e6f4ceaaf8f6b05dc1506a9205201784eb740346d773a7701af9b570cb13c272d81dcc0b4928e53ea1c4bb7c179debf479701c35bb6e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-75.6.0-disable-trove-classifiers.patch b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-75.6.0-disable-trove-classifiers.patch new file mode 100644 index 00000000000..c5111e985f6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/files/setuptools-75.6.0-disable-trove-classifiers.patch @@ -0,0 +1,32 @@ +From 0d9e8bc7d6df86381ac56770dc95fc75276f49ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 21 Nov 2024 20:40:14 +0100 +Subject: [PATCH] Add an option to disable using trove-classifiers package + +As requested in https://github.com/pypa/setuptools/issues/4459, add +a VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS environment variable that can +be used to disable using trove_classifiers package even if it is +available. This can be used when the system features an outdated +trove_classifiers, and therefore incorrectly triggers validation error. +The change is designed to be absolutely minimal and non-intrusive. +--- + setuptools/config/_validate_pyproject/formats.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/setuptools/config/_validate_pyproject/formats.py b/setuptools/config/_validate_pyproject/formats.py +index aacf4092b..0b05ab17b 100644 +--- a/setuptools/config/_validate_pyproject/formats.py ++++ b/setuptools/config/_validate_pyproject/formats.py +@@ -210,6 +210,9 @@ try: + """See https://pypi.org/classifiers/""" + return value in _trove_classifiers or value.lower().startswith("private ::") + ++ if os.getenv("VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS"): # pragma: no cover ++ raise ImportError() ++ + except ImportError: # pragma: no cover + trove_classifier = _TroveClassifier() + +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.5.0.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.5.0.ebuild index 9cc97e5921d..1eb6021ff9a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.5.0.ebuild @@ -27,10 +27,12 @@ RESTRICT="!test? ( test )" RDEPEND=" !=dev-python/jaraco-functools-4[${PYTHON_USEDEP}] >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}] - >=dev-python/packaging-24[${PYTHON_USEDEP}] - >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] @@ -48,7 +50,7 @@ BDEPEND=" >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}] - dev-python/jaraco-test[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] dev-python/pip[${PYTHON_USEDEP}] dev-python/pip-run[${PYTHON_USEDEP}] dev-python/pyproject-hooks[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0-r1.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0-r1.ebuild index c66232a1e7d..a9961b9303c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0-r1.ebuild @@ -28,11 +28,11 @@ RESTRICT="!test? ( test )" RDEPEND=" !=dev-python/jaraco-functools-4[${PYTHON_USEDEP}] >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}] - >=dev-python/packaging-24[${PYTHON_USEDEP}] - >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] @@ -50,7 +50,7 @@ BDEPEND=" >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}] - dev-python/jaraco-test[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] dev-python/pip[${PYTHON_USEDEP}] dev-python/pip-run[${PYTHON_USEDEP}] dev-python/pyproject-hooks[${PYTHON_USEDEP}] @@ -80,6 +80,8 @@ src_prepare() { local PATCHES=( # TODO: remove this when we're 100% PEP517 mode "${FILESDIR}/setuptools-62.4.0-py-compile.patch" + # https://github.com/abravalheri/validate-pyproject/pull/221 + "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch" ) distutils-r1_src_prepare diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0.ebuild index aa6b581cf0d..8bd616a1e31 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.6.0.ebuild @@ -28,10 +28,10 @@ RESTRICT="!test? ( test )" RDEPEND=" !=dev-python/jaraco-functools-4[${PYTHON_USEDEP}] >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}] - >=dev-python/packaging-24[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest index a20b1463096..2e4cff4dfe0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/Manifest @@ -1,2 +1,4 @@ -DIST tomli-2.0.2-py3-none-any.whl.zip 13237 BLAKE2B 642af1b59a2b2bceeee2480208f3680ec699bc9b572bde186ff8c845526e41e2ebc145f78ae4094ae3ee084ebfde561ec635358ff3df9c5609101c96d0b54ded SHA512 ad8278fc99a6913ebb70a618a7cad7acca9737e6ec546c932b4d0c1caddc1e70ef832340a33f2db974235459ff627949308d517b3c3a15b6baf8a4f1b3095e49 -DIST tomli-2.0.2.gh.tar.gz 135227 BLAKE2B 1d61fd26793c4f814ed606a60b85edb388bf97d6fd17c830504971be725c84e9e6e67904170cff305fdb7be8196b56d0cc29dd36f8b202798788f4839ba8ddc6 SHA512 3eeea334d6d225590a9e074685c65d052e2f5d5286ca895ff7e9532d7289f0daa31ae67b5076d803e5adad4f20a9831058a0c4599715f049079904934d3d9c25 +DIST tomli-2.1.0-py3-none-any.whl.zip 13750 BLAKE2B 8354ca389e2f45bf87749247fa2a6d84a6a60f6c3c42e89946ffef547f7fe9538bce228a2e2f9b3518c1b29ea2bd0c25989e690de2fd633d5df362dc798bc089 SHA512 cb16271d5321f4f6d4ec20884fbe81f5b1a387a0b751418ebee0652ea827bf54344115c1a9f7ce62be013cb2c623c2cfae7d135476cffeccf0a3768a53447219 +DIST tomli-2.1.0.gh.tar.gz 136173 BLAKE2B b67adb38fcc75d2b8f20578446686fdec61359d35fb958ceb16a9618d5d1dcb7865409b7da3d1d36ab1d9c9b8e5b1612efd9e8280023469a0abccb591e28c5a1 SHA512 472aa86543514257808fc68d5015fa1503e5fd674bbab113de685a07cc5a61e0c74e5840f132da88482e62ae0aa4b27e4b0521100ceb6cebe4e3cb3230d318cb +DIST tomli-2.2.1-py3-none-any.whl.zip 14257 BLAKE2B 1806b29c4331a153c3fcadf3eb4ca40576210fdbd91ce2708bc36714949df3aba17a19eb3f8e899a984039ae77d75ab1a630ee4e30eae0605495c38b8bf86279 SHA512 00a2c52a4e580c28d9c54a1b1e73e0c26f3108ffaa538b0bc0011c3c85397f4217ecbd136e77b6571bfcb1e055b28d70ac79a25571e2367e227a9b24aff57a97 +DIST tomli-2.2.1.gh.tar.gz 137745 BLAKE2B 5660d11b8925fd39f3b9bc1957a06026e108cd3fee61988f0d25af2f9634d5fbafc7121ffa7dd1abc28013310c72253b58b7d4d267f4b1848ee6a9e3ff00698a SHA512 6bd2600b06b9d41f45ae34172380d3ec162d0e25a7602e8e77ee37bbe165674ff17afc39c4d1f87c9cec9bd1f02003ba5ebaa313a60efca64ef5124f77a2c887 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.1.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.0.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.1.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild new file mode 100644 index 00000000000..2ff54bd4c53 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/tomli/tomli-2.2.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=no +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A lil' TOML parser" +HOMEPAGE=" + https://pypi.org/project/tomli/ + https://github.com/hukkin/tomli/ +" +SRC_URI=" + https://github.com/hukkin/tomli/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + $(pypi_wheel_url --unpack) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +BDEPEND=" + app-arch/unzip +" + +distutils_enable_tests unittest + +python_compile() { + python_domodule src/tomli "${WORKDIR}"/*.dist-info +} + +python_install() { + distutils-r1_python_install + python_optimize +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.0-r1.ebuild index 32ade3ffdcb..febfd674df1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.0-r1.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P} LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" # setuptools is needed for distutils import DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild index 8b24ec7dce9..fe7b85a05f6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" # The vast majority of tests require Internet access. PROPERTIES="test_network" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.2.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.2.3.ebuild index 713b06d9a5b..31a214a682e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.2.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.2.3.ebuild @@ -34,8 +34,8 @@ RESTRICT="!test? ( test )" # [secure] extra is deprecated and slated for removal, we don't need it: # https://github.com/urllib3/urllib3/issues/2680 RDEPEND=" - >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] - =dev-python/pysocks-1.5.8[${PYTHON_USEDEP}] + =dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) http2? ( /dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + # which BPF compiler should we use? + if use clang; then + export CLANG="$(get_llvm_prefix -b)/bin/clang" + export LLVM_STRIP="$(get_llvm_prefix -b)/bin/llvm-strip" + else + # use bpf-toolchain + export CLANG="bpf-unknown-none-gcc" + export LLVM_STRIP="bpf-unknown-none-strip" + fi + + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild index 4c6ef01a02a..484a512181c 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 @@ -7,7 +7,7 @@ LLVM_COMPAT=( {15..19} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{10..13} ) -inherit bash-completion-r1 linux-info llvm-r1 optfeature python-any-r1 toolchain-funcs +inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" HOMEPAGE="https://github.com/libbpf/bpftool" @@ -41,7 +41,7 @@ fi LICENSE="|| ( GPL-2 BSD-2 )" SLOT="0" -IUSE="caps llvm" +IUSE="caps +clang llvm" REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" RDEPEND=" @@ -59,7 +59,8 @@ BDEPEND=" ${PYTHON_DEPS} app-arch/tar dev-python/docutils - $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}[llvm_targets_BPF]') + clang? ( $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}[llvm_targets_BPF]') ) + !clang? ( sys-devel/bpf-toolchain ) " CONFIG_CHECK="~DEBUG_INFO_BTF" @@ -87,16 +88,33 @@ src_prepare() { # remove hardcoded/unhelpful flags from bpftool sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + if ! use clang; then + # remove bpf target & add assembly annotations to fix CO-RE feature detection + sed -i -e 's/-target bpf/-dA/' src/Makefile.feature || die + + # remove bpf target from skeleton build + sed -i -e 's/--target=bpf//g' src/Makefile || die + fi + # Use rst2man or rst2man.py depending on which one exists (#930076) type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die } bpftool_make() { + # which BPF compiler should we use? + if use clang; then + export CLANG="$(get_llvm_prefix -b)/bin/clang" + export LLVM_STRIP="$(get_llvm_prefix -b)/bin/llvm-strip" + else + # use bpf-toolchain + export CLANG="bpf-unknown-none-gcc" + export LLVM_STRIP="bpf-unknown-none-strip" + fi + tc-export AR CC LD emake \ ARCH="$(tc-arch-kernel)" \ - CLANG="$(get_llvm_prefix -b)/bin/clang" \ HOSTAR="$(tc-getBUILD_AR)" \ HOSTCC="$(tc-getBUILD_CC)" \ HOSTLD="$(tc-getBUILD_LD)" \ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml index 1e8c354ad0e..9f8d8d0dc0a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml @@ -11,6 +11,7 @@ Use sys-libs/libcap to enable unprivileged run support + Use sys-devel/clang instead of sys-devel/bpf-toolchain for BPF CO-RE support Use sys-devel/llvm instead of libbfd (sys-libs/binutils-libs) for JIT disassembly diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild index 31c694a326b..c1499df544a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0.0.ebuild @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{10..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild index 0c6d0cd86b4..c4e2bd3dcf3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild @@ -15,7 +15,7 @@ else S="${WORKDIR}/${MY_P/_/-}" fi -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{10..13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest index 3eb58284cb8..a490c3580c7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest @@ -3,3 +3,5 @@ DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010 DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6 DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a940969563ce9d8d7c38e5f0a32163b95523e09cedc4a57b2af84a57d63dc545abcb31b61a8066ef62ba396fb4f3c SHA512 efdc7dd1e0609b0f2d988a8cc8fd4a3fda96e8450832f905f7686f9063b727cb996e0e4e638aca62f60b76f9f04be62e089a615413e64cf298c7eef26e074570 +DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 +DIST glib-2.82.2.tar.xz 5555528 BLAKE2B 930fa7816082e6ba4b7f394985840bb6abf4fe9a4451286cddd3cfc8a4f3d4e3b4f06f09fbb34486f6fd47d0b72363b06a280ccae62d061724a7a2e00734bc4c SHA512 d5b761ec0c088496f2f9e5767568076a30ff492c272f21133560689f4e6a177d403c78d71ef85da63de331152c4d1f27b65d3e927ebfaf0fb63592f66e564ea1 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild new file mode 100644 index 00000000000..ffae06b4c94 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.80.5.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="glib" +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome.org distutils-r1 + +DESCRIPTION="GDBus code and documentation generator" +HOMEPAGE="https://www.gtk.org/" + +S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +RDEPEND=" + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + >=dev-python/docutils-0.21.1 +" + +python_prepare_all() { + PATCHES=( + "${FILESDIR}/${PN}-2.56.1-sitedir.patch" + ) + distutils-r1_python_prepare_all + + local MAJOR_VERSION=$(ver_cut 1) + local MINOR_VERSION=$(ver_cut 2) + sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die + sed -e "s:@VERSION@:${PV}:" \ + -e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \ + -e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die + cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed" + sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed" +} + +do_xsltproc_command() { + # Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils) + xsltproc \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 0 \ + --stringparam man.copyright.section.enabled 0 \ + -o "${2}" \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \ + "${1}" || die "manpage generation failed" +} + +src_compile() { + distutils-r1_src_compile + rst2man \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.rst" \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} + +src_test() { + einfo "Skipping tests. This package is tested by dev-libs/glib" + einfo "when merged with FEATURES=test" +} + +python_install_all() { + distutils-r1_python_install_all # no-op, but prevents QA warning + doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.2.ebuild new file mode 100644 index 00000000000..ffae06b4c94 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="glib" +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome.org distutils-r1 + +DESCRIPTION="GDBus code and documentation generator" +HOMEPAGE="https://www.gtk.org/" + +S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +RDEPEND=" + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + >=dev-python/docutils-0.21.1 +" + +python_prepare_all() { + PATCHES=( + "${FILESDIR}/${PN}-2.56.1-sitedir.patch" + ) + distutils-r1_python_prepare_all + + local MAJOR_VERSION=$(ver_cut 1) + local MINOR_VERSION=$(ver_cut 2) + sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die + sed -e "s:@VERSION@:${PV}:" \ + -e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \ + -e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die + cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed" + sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed" +} + +do_xsltproc_command() { + # Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils) + xsltproc \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 0 \ + --stringparam man.copyright.section.enabled 0 \ + -o "${2}" \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \ + "${1}" || die "manpage generation failed" +} + +src_compile() { + distutils-r1_src_compile + rst2man \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.rst" \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} + +src_test() { + einfo "Skipping tests. This package is tested by dev-libs/glib" + einfo "when merged with FEATURES=test" +} + +python_install_all() { + distutils-r1_python_install_all # no-op, but prevents QA warning + doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest index 3eb58284cb8..a490c3580c7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest @@ -3,3 +3,5 @@ DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010 DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6 DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a940969563ce9d8d7c38e5f0a32163b95523e09cedc4a57b2af84a57d63dc545abcb31b61a8066ef62ba396fb4f3c SHA512 efdc7dd1e0609b0f2d988a8cc8fd4a3fda96e8450832f905f7686f9063b727cb996e0e4e638aca62f60b76f9f04be62e089a615413e64cf298c7eef26e074570 +DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 +DIST glib-2.82.2.tar.xz 5555528 BLAKE2B 930fa7816082e6ba4b7f394985840bb6abf4fe9a4451286cddd3cfc8a4f3d4e3b4f06f09fbb34486f6fd47d0b72363b06a280ccae62d061724a7a2e00734bc4c SHA512 d5b761ec0c088496f2f9e5767568076a30ff492c272f21133560689f4e6a177d403c78d71ef85da63de331152c4d1f27b65d3e927ebfaf0fb63592f66e564ea1 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.80.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.80.5.ebuild new file mode 100644 index 00000000000..3b9515339d9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.80.5.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) +GNOME_ORG_MODULE="glib" + +inherit gnome.org python-single-r1 + +DESCRIPTION="Build utilities for GLib using projects" +HOMEPAGE="https://www.gtk.org/" + +LICENSE="LGPL-2.1+" +SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND="${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-python/docutils-0.21.1 +" + +src_configure() { :; } + +do_rst2man_command() { + rst2man \ + --syntax-highlight=none \ + "${1}" "${2}" || die "manpage generation failed" +} + +src_compile() { + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die + sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die + do_rst2man_command docs/reference/gobject/glib-genmarshal.rst docs/reference/gobject/glib-genmarshal.1 + do_rst2man_command docs/reference/gobject/glib-mkenums.rst docs/reference/gobject/glib-mkenums.1 + do_rst2man_command docs/reference/glib/gtester-report.rst docs/reference/glib/gtester-report.1 +} + +src_install() { + python_fix_shebang gobject/glib-genmarshal + python_fix_shebang gobject/glib-mkenums + python_fix_shebang glib/gtester-report + exeinto /usr/bin + doexe gobject/glib-genmarshal + doexe gobject/glib-mkenums + doexe glib/gtester-report + doman docs/reference/gobject/glib-genmarshal.1 + doman docs/reference/gobject/glib-mkenums.1 + doman docs/reference/glib/gtester-report.1 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.2.ebuild new file mode 100644 index 00000000000..3b9515339d9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) +GNOME_ORG_MODULE="glib" + +inherit gnome.org python-single-r1 + +DESCRIPTION="Build utilities for GLib using projects" +HOMEPAGE="https://www.gtk.org/" + +LICENSE="LGPL-2.1+" +SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND="${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-python/docutils-0.21.1 +" + +src_configure() { :; } + +do_rst2man_command() { + rst2man \ + --syntax-highlight=none \ + "${1}" "${2}" || die "manpage generation failed" +} + +src_compile() { + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die + sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die + do_rst2man_command docs/reference/gobject/glib-genmarshal.rst docs/reference/gobject/glib-genmarshal.1 + do_rst2man_command docs/reference/gobject/glib-mkenums.rst docs/reference/gobject/glib-mkenums.1 + do_rst2man_command docs/reference/glib/gtester-report.rst docs/reference/glib/gtester-report.1 +} + +src_install() { + python_fix_shebang gobject/glib-genmarshal + python_fix_shebang gobject/glib-mkenums + python_fix_shebang glib/gtester-report + exeinto /usr/bin + doexe gobject/glib-genmarshal + doexe gobject/glib-mkenums + doexe glib/gtester-report + doman docs/reference/gobject/glib-genmarshal.1 + doman docs/reference/gobject/glib-mkenums.1 + doman docs/reference/glib/gtester-report.1 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild index 860133502e0..e6df8e77583 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r2.ebuild @@ -28,6 +28,9 @@ src_prepare() { } src_configure() { + # bug #944112 + append-cflags -std=gnu17 + # Aliasing violation (bug #858377) append-flags -fno-strict-aliasing filter-lto diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest index ef0be16dd83..b0e499b2233 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest @@ -14,12 +14,14 @@ DIST anstyle-wincon-3.0.3.crate 12179 BLAKE2B 37793975a05ad60bb2b670c208db11c5cd DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a DIST anyhow-1.0.89.crate 47078 BLAKE2B fc824e72891bff0cc7aa3b538adfb9af7dc843ab6ed12b8b04eb70e62d32aae1decb9090621d3245dbe89841e73080d2d86973b4aee50873e798956da9b3faa6 SHA512 3c09317089ed78601a56c626700d12c0b49396e25fed9a9f05a2dbfbd6f91ad426c430633006a4043decd1f70a85c161c4f8dd7de0e4c00b82a169b89dda8da0 +DIST anyhow-1.0.93.crate 47490 BLAKE2B 1c64b24d3df3307430deb8189ded345ee2858c1990fc343f2400bd67b6d79ee2cf90876326fb29ea311bd857a941fc8319dccbe6c81f2cca2c085dc0c1fffb27 SHA512 237b36bdefeaf8dd2f7d4c5c92d8f7627a5206ded5fa3dafd5710f2fbd3dd7d7187d4a8ae917ae03d0cf06bc8d101a7663bb7bb022507ac1ec88577a37475efc DIST askama-0.12.1.crate 16976 BLAKE2B 9257c6d292d6399d81a750ff4b55958a0ffbdbd5f96f3e0f2ac1e777a8bc8e11264a89bdd6edea6a6a3d0b3324138c1524b0f00fc2168afd1abd0f4b777e1473 SHA512 b719134fe73080e8360f35ff4ddeb3039ed1c4d20861cd3cae40e20832fcf8b12eb8b04ad82ea49d5c5f5ae6fbb29180aeae7e41be5f72ab97e9abfd60cceb4b DIST askama_derive-0.12.5.crate 31218 BLAKE2B 0646c0df57dd6d3d3f48424db2456df37c11cbf1bb159570f7bb3e878b0abce3ebf9e948554f214dd9f77449ed79ade4ffe88511e66274d3d4beea8a8e1b539a SHA512 37fd963d0aab2f29866931858f3235086170133f86953f70b44003e9505a5c716ffa6ed7429601520716259688cf2e4cb17649e89065d210eff28119416773f9 DIST askama_escape-0.10.3.crate 8875 BLAKE2B 6bb88f18aa0bd05a36e7bf5cfcaed3138ddb96ed366e7da9b9a64c4e0345fba384cfa3e9bfab3674c1697a7722bd59a9428438b78d44bcac78740d4c53c3d3e8 SHA512 1978add567021fac7f086b6091c97de81919877726455828164642c55607d5b5f6f01c0187f8a8a3371c9b3a1ef41f4c3c9e14d9068826c38ee8a6efe2eeb5a2 DIST askama_parser-0.2.1.crate 20707 BLAKE2B 14d385d906295c892543bf917a835b9b354666927a63cb66c6082b8bd7330b07b89a1cb60a88ce0b8a8a58cc23023587fdea2117329bf384a22c097c0e45aaa6 SHA512 50c2a8a1f08006b375c450275ca7b455209aabcaf2b5a2ed903d1f8cf26920d95985e1ce2b6d77397b8dc32cdcbea6c442a1b4f590af64f92e4e5b47e3a52f75 DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c DIST automod-1.0.14.crate 8717 BLAKE2B aaf79cd054645d3fce5e57f96bdc33f0d02c66495353f4155eba37e81160cd3eb3019587770a38bc22cff5f1e673f0af1b0c9e5e6472bd08e9a6c2812c71b576 SHA512 5efdf134f24298f3a522688b3bb87f5e8e43bafd761909a09a1018f7142ef0ce3ed390f7f01cc475391bf8e6e3d433d776c47efce619a403276ed8998b2c531f DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 @@ -43,13 +45,16 @@ DIST cargo-options-0.7.4.crate 18149 BLAKE2B 0ab8537b5c6d05f80e78209f9656dbc8cba DIST cargo-platform-0.1.8.crate 11813 BLAKE2B b074b49e08b2b93e93e08276f2a79546fe1f9ba0a52b3b4ef0ecdd28fa3fe5e842c0291fed158a1a12b90804e0172d5419b7603fd0d5f87f062f44dcaf3428f6 SHA512 187acf1b8cc81078ede3353997bec9010df32aba82f56f9479d4c8eaa13436590a16f3ab6ea11ed2b31d1d1d2299d824d9ad10f04bf5281c92372cc8334b0dd2 DIST cargo-xwin-0.16.5.crate 28602 BLAKE2B 2077c64cd3ec649f9b74a024e6ea6818a212f12ab85301de462d556c0f06d959e7af3efb4a2d1ae2cca8ead95954c52b89b41dc1f63e8fded6a9a6f7bc1676f5 SHA512 bc1288ada6deb3bca456f5c382d4249c42ded462b9bb9f63f088553acfd3dd38f757ced4fbf1d77887ad3867ca10793a3ef8a97e17652869147fc37608ab1365 DIST cargo-zigbuild-0.19.3.crate 41006 BLAKE2B 655e209d108efb665df0aaa45806e28d10a9fd7a0b64c864c0c610b82eb5e62b6007593da04215cd4299279ed77ed5e227b323fa485369934733797183c892fa SHA512 0d26df1706ab21f520a29725719b3815e82bc92e99dcb967f2bc8e8a3d9da854469beb3e943ca9e23f72638093f21d488af150498755ad5ad1938c585960f741 +DIST cargo-zigbuild-0.19.4.crate 41018 BLAKE2B 82eb2a3b0635666bc1e0bbaaa7f5f51275f75b1c4dc50984d7630b717cc27e5b4990c9b76f5c29bba87cca75daf17715fb3aa4e7f8d019e610e0d72e5ab32779 SHA512 72b318aa6030c5ce4a7f450f5d48cb738a8b21e531959918866c26faaad17b879722e01ca722bb97d819f20d2cca49e5799cd23cbfc2d3e8158863de7235f38d DIST cargo_metadata-0.15.4.crate 19993 BLAKE2B 33bb182a4fbf453be323cd657e0927d7ae8f4cada172c482d96ba959155aa0bd5fc392d4e0a6d4a869456be5de8756c92a4ee0642d60db992aca6d8adadb8f0a SHA512 dae54e7d21642a12fe967d832769f2310a18903a0a46694dd441974f037d8a53e148bae2668a177478b91629c5da736ce56aca3e140d442267ff0bc65bb984a0 DIST cargo_metadata-0.18.1.crate 24535 BLAKE2B 9d0018e28a3941e269dbd30291054a882a960905a43d4818c874250356a6c203bf08ed77a8041f08607390b2a382864701c519d71a0b88818ee59c6322c74e86 SHA512 43f87d2b84597ec9a27e9fccf06ec5f2630a0147a9c85779622c25493bd61268c266643f8206a17d76a16329af85f0cc563a9af7e17ca77024c0eaf788555f7d DIST cbindgen-0.26.0.crate 206157 BLAKE2B 4c435ccf9d5ab3cc036691cc51c55334e27a0348002b6303b11974c0aa4908b9f902577ca6e50bf241ca75816775e7bb33901f1f81e3d5293ddd2128b458204b SHA512 2de81f46c9c68c985241a349f13125876667d1460d3658ead8c4ee9788cd139c30dbc08bebddc172cf0bd4644f3f17c02cf66f2a3ef706c52366fdaf0f9d8059 +DIST cbindgen-0.27.0.crate 215957 BLAKE2B 4b88f19edd9ac6b862237e4db25e6e6cf989fc1bfaa88c7543b2c687b1c6ca77d2e09e7ac8ef69a960afeb534be37a98c0c62057c1057bfa31191d3e265a80df SHA512 557fe877f95d52feeb9b3bfe427a1b365e8acb3f87a17263917e1fd9b72fef9e8db1b465564c9f213db0d784ec332a27c96ba223ec53ea584fadade1932930b7 DIST cc-1.0.73.crate 57880 BLAKE2B be8d7a25a54afdd759844e76aec61526fc2bd5ca09480e6cdd3bdcf27e5f9d3a88dc16cbcbf54cd021470a7cc521e1ad468116c112bbd30752bac0d5486939ac SHA512 980f012b90c6410144f6de4995048337e09214f19603076db6d4edb88e9ef9ac9e8c6e25569f66c2be3a47e99298f5886dafc102e1a9122316179aa26bc1c985 DIST cc-1.0.81.crate 66857 BLAKE2B 1f20aa7fe1e41b7d043242ed2e6b840ef7e764fcd844d82441d20dede2bac7386c8089e7dffee5bc22a49bfab2cf9f2c82757bb5068fdfc82610eae7cb2b188e SHA512 00878fcc5e344571cd8756fcd7e0a8e11325cf504eed09ea2ac890368c4d69978fc0de9ef99757cbacdadbf50faadc486d20640b529ac9a4963b3afd71caca6a DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7 DIST cc-1.1.21.crate 83463 BLAKE2B da552ae375ae1dd39e0ba40ad17c21c7edb52326e8d4d6c208aa3ba4ba4f65b87d36126f66343cd8cc85cd5123acbf2f66ebd29444d45d32122eaaf98918e707 SHA512 bf7b3a7bcaa1a46416a614918936bc047b9ab669145c954d92e81da6bbc5c2884ab64a95b290628922c8e1ac7ce0adc914894c8bcbd32a1516576ad6c749e0a1 +DIST cc-1.2.1.crate 92731 BLAKE2B c9cb100964834692781ecc3f47972f83adaf27e019ca212f896b19a853521cf2084da213f2c2fc5c8a1bc794cc83fe9f81faf7751e1b065a3a2a08137cda0b61 SHA512 54bc5d85d48d678d33dc795aa6cc823a59ae6d17b4ec5708a1dd515e3495eabccdd949e9467e9bb3a29e44847a2d3ccd75055dfda241d8abbb16bfad650f2819 DIST cfb-0.9.0.crate 67837 BLAKE2B bab7c813d6636c6e8f371ea8a76ee23361b4f53235cdef2378ebfb9b3df30ddbc6d229a4a904d0711df5dca78711926407a0e2696a4e0d6151b5dcdf8f3067dd SHA512 6bff6dc27f459c7ae15fb537ea0218e17abe2477fa9aafad6b3d0b17773272db61df48ea9cb5055b35459373684b20a0bed031a4a53df42f262c08aa05307d4b DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff DIST charset-0.1.5.crate 15918 BLAKE2B f79d3bb1c8e78598b6084761913dcc5e32b7c0825218845a5619a71987d005fe0c976f7f35064c4795205ac2339b92a58a3bc79b7554558ab7bd7c55ba81e2b6 SHA512 707e1b190cd98917d5f8a1b90c4375980a15afa3da6d7658ba76dff9c63e6a43666224555ba67da9b260619f70f2501ace4aec4490d5f12b1fdd912d033ff91c @@ -90,6 +95,7 @@ DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1 DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 DIST dissimilar-1.0.9.crate 27652 BLAKE2B 2a5d4be38f836dbfc4015c4173156ae1bf769ab3481a4e8ed2a9c2349588403512191d47af7e4210fff7d5c6da40a513a3034e0fbbdb8cdd4bcbaf329da203b6 SHA512 12d9b849b7ed14a4106123ab0a23c96a9f3fffc77eac3d780d0185eed9a6b259f64013460d22a34b01696f947cdee8f12f6a21a7734ef8fa52e9a84c9b60b36a DIST dunce-1.0.5.crate 8244 BLAKE2B 1499ae0bb3d34e8d42e97eaf551308efc95697366b804dc83c51171a939d45bad46fce9f82a39e17b6b92fc833aecc85eabd2104823c7db30396833388125728 SHA512 36d7d75217d629185a9a9187f7d2e2dc346a28be0ad1c21b1b6bcbe3991e9cd11797e53d745c0b3b5ae94cf1e4cf141cdb2322bab86d97cc258b4145e3b97a56 DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 @@ -101,29 +107,42 @@ DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f2566 DIST expect-test-1.5.0.crate 13574 BLAKE2B b5b2676996669436fc7f25f251d339f97ba78d3129eeef410bf563527bf73f7153e6224c747f5b9c6b605a8a4f2a2022bf842f840bc353f6d9e99c58396fa005 SHA512 909b210b2b787d37a7a1c203135f69ccaae28b37296ec025893fdd7499d18b8fb29d6f40acbc4b9d4d09732f5254333de5b21d0db5a106e851e7da57f9087ed5 DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 DIST fat-macho-0.4.8.crate 18658 BLAKE2B 61432b0a49b9e2754222b8b02dda8fcb09d955627abcf3895ef6d2049ec6e2d448f3f2617db9dcc431ac38e56005acab7940e8a4c148be5c9f77f7d51ddf748e SHA512 159bd21cf1f321cc9bb56e08ae561d6a00e0b83de6e4096365b8ce5c29a409f5312a78ec1c5122018f9990030ddc1596dca1ba56997f460f031ff8518025fa4a +DIST fat-macho-0.4.9.crate 18724 BLAKE2B e702c2942ac67a2a8bbb4aca1444ef47792297118b138418f8d9ec7614305337560d1bb3e03575519db6299701c467ad149990cc7addb90eccd757b391444b14 SHA512 3ceb6a338f4d6cfbdacf2d362e8779072306b52d1c457006c87b342c6f06ad5edc77be313cc0003e2321a30428a4c4b3bd095abf4f02a7a76dd23006e49efeba DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3 DIST flate2-1.0.33.crate 108838 BLAKE2B 9fd23b3b0a75c29f750c873f74de8565f0d8f3a574c7d28e11d15e6c3c4686c42ba98b5769a08c21f3b9c6ffe7140196c3e7001153ff5a046ee7af40f7f6d965 SHA512 59a871137518586f1d66810528595acad5ca763ec5acc100098a372194f55f33b48e59c0806fd237c644a6d797b5deb26c541fa871a1194ee3ac725da3b6d134 +DIST flate2-1.0.35.crate 109188 BLAKE2B 8bd6e51c3bcc06044e5b8d7ead950c3beab6c6337052fd48e86175f0fc98c8d12804274308ee515dc6156bbedb2277dfa2706cdcd7baaf2a789122473248486e SHA512 aa2c4f0ad46cfbc7d2bfbdffd226eaa37f5223a34d132d8fb2dfd04c20d15a96c4882cc377fd72afbc7d13e512f5e9934386b0390a0ab2b171d081335c58fad4 DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 DIST fs-err-2.11.0.crate 20449 BLAKE2B 8ffe7c49f4733edcd30ade9b75064e9fcf4ed1c87620d629fcd44dbf87e85e28d23fbaad05a50d8baca877f3eb9e088d8dd744d2ca092c443735fa7129609c9c SHA512 a8bf948b94e7325c583035a04d30c8ecf33d543ac366a550d757d65a0d7575d501e01dd1a80c8b0c278f80b9f3298f8dcd03c3c636810fbfe6a4a910ee8915a7 +DIST fs4-0.11.1.crate 19443 BLAKE2B 5006e20b3695ae422c7c3d5b7fa3a0856346e5b8b35120b8237d645103c9c7833ef4ec60af8e77ef1b1fc65fecdd20141067d8359a992ad285d09dceeec34a27 SHA512 0020cabab9bf3f3bff6400f9bcf5e763d434ea96d25b4c4e4a7dd0420d71a6a9ea3d532dfe363370a0b69f8bbe60f499ed3b56e23e142e2398ea53b413ecd15f DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e +DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c +DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4 +DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 DIST futures-executor-0.3.30.crate 17744 BLAKE2B 927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b SHA512 fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f +DIST futures-executor-0.3.31.crate 17965 BLAKE2B e111467391cc99d1b6a1f5fd3aafdb86922a2d2d9e360112402d68489577527aa35f4f65e6c0dc8f48372927e6d7a6a4a97c7b9525c369cb14e34ca2dafbe64c SHA512 337e70bd3a3bd3075b51e2afe8f157902ebe486696587cc2706b6a5770478ee2ee4216aa9e155e9821ed1d02ba437cdd3abd0c05aa960378ea192e2ed39af564 DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2 +DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf DIST futures-macro-0.3.30.crate 11278 BLAKE2B 6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0 SHA512 220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc +DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3 +DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d +DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 DIST futures-timer-3.0.3.crate 19739 BLAKE2B b7af71c761197056a6a4db03caa30f31c104de0049c09f52b18b80718ad20c95e0e64bc7a3618c29d1c9a5ef0309379044fdd9c1fee8465930d28b2c58927733 SHA512 c50388e38b45dce2a65a8d7ce56bcd9c3544ae677158c4c10c532136e861c16f0f52df5222a14c0f40ad8e4faf93fde8223affa7fd84d24e95aa6994177e7e76 DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951 +DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b DIST globset-0.4.15.crate 25177 BLAKE2B 5556f4cd7c311b2ead3a83fb2c84280a48e493f024bfd7269c91cde6ab81315d2d7f051f7cee9d7d34e6c8563c2452f0ec04a9d5a8ba5273bce66f5ff8f9054b SHA512 b9281b8bf48d2e297be533aa31c701c0115978b4e580b684b78a385eb2ecb4125187605368a6858311d6cdf5caae7d733cf1406c79241b7d19e7193f5a111dad DIST goblin-0.8.2.crate 187412 BLAKE2B 1512c29c78cb53b9ea84cb007f37c983c2a20e33849b118d0f22d82e87efe37ae3c24de284bf3c4402a37debb58443dfcbbd335cbf8176f5c7f5c937926f6af6 SHA512 7c193740543754bbfb833232882cb9170328144bca684a442154127903f76e87558d0b6adc0ad9546505160567ac311d716a754b02728297f9624bdd9dbefb23 +DIST goblin-0.9.2.crate 191510 BLAKE2B a12c0aefbcd941688e895d093a85de35ec9533fca295c5139934d0ccbe5786f05380d057701c1c58d2b37c7fe9bd57a8209bf45bd856c2f350be02c89ed51588 SHA512 1802626a679bd2bf6be1fd69c179cbc837bfc307c2cfc2576ef91e1010ef172f1e72cd732efe0914bf345657e7da510664393133b40084017a2af99657ee3276 DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 @@ -131,7 +150,19 @@ DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c DIST humantime-serde-1.1.1.crate 7886 BLAKE2B 4c66a483276e0cc5f4bd82fd49cfa0ee40c8ceda753919cfb7a8c794d098e9e4e851643fbc42a209d6ab00c5c62d9edc81c3bb1f6da218a09eafc96da9b566f6 SHA512 0bd72554e700f89506d2d1c8191832aed0065ea02aacb99e27139a60c883d3dbabb1fc3d60f499f5aeb20bd155fdcf21dc671aec1ca68d4041bf98ddf324248d +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126 +DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e DIST ignore-0.4.23.crate 55901 BLAKE2B 8c5138e723cbccffe84aa215b2e73daa18d8b2d39136a901ba1514def3a67437f79d932e4762578dd1b28dd8360a397aaba29ab8bb67a93a587a1c71cf5d1aa1 SHA512 ae354b00994ae8570751bc5c09167edd0e2891709d4c4878cf75b24619421d23a1b83e28886d54ed9d31aa427f49153e9a5fc42b5de7262abda20c1c0061b299 DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37 DIST indexmap-2.5.0.crate 85919 BLAKE2B 766da0a2ddc406e3fb1a70a0bee00141045ff72b52cc412adf05972ccef59d416f502c429dada111461cb522a5c442087e01d8fb235c2f1fd5493adea00e79dc SHA512 c4627d43b1bc5c5fd64861d1a7ed66255ec3f790367028b2758a40751286d6677da7170cfb04dd88ca4c2d163df621583d2e0dc4e9db6d7ed9bd0cbea42b1729 @@ -146,15 +177,18 @@ DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd3 DIST keyring-2.3.3.crate 54379 BLAKE2B d6fca88aba978df803487651d66e909119eb784ea5078118c4cdbe29798c76578c801dab1f53a5630c6cc7e8ad8f360d301074bbb95f491e197987ad6f729898 SHA512 258e795e8f140546ea2bafa6d67438aceddcd947a289aa2df03257aaa501a569e5643a0ca9b0b59ad180b1c5c6e54b96c9309a1ad0ead2dcbaea67a94491ba11 DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 DIST lddtree-0.3.5.crate 11488 BLAKE2B ead51314d115bf047e11be4639de3a1927d88cf1b0d46301455247d039a1ce174c030eb00cc2c975930d8a33c7cb5cbac1d200d2250bf20b7a59b21d0225fecb SHA512 42798dee58f29b2192677d716c864102d24dfd896ca62e30fe86fdb2bf439d8ddc9f8308d4e4b71d42833c070c1e6f0705c1b10d002520f294fc68f57b2c7748 +DIST lddtree-0.3.6.crate 11569 BLAKE2B 0ec9637a6f66a34ee95f58b846f272fa02cb4d6631cae3e931751e779612a47aa64b77f3d78ae1fac9cadc6928ca4e4146d0301bd36b68d9c5012a5e2210edc3 SHA512 6368c300352d0b46062ec4f48ea565b8290a917010d79e9ece3fc40eb82e63db1b7429b15517d2342d63216f288fa40e6952e6eb89f90c5bdb24db4ef4f7c38a DIST libc-0.2.134.crate 603330 BLAKE2B afca337bf7120e933c56745a51261156f4af7cc58427f623b9cdf1b2d5fc67fb2bc7c078ccab3cf232024e5013e8edcbbb0baab6a8a3762f9b20d975ed92411d SHA512 fcc142061df7b363b2dacec5fb3c9a19e63addd8210678117f681b8e1b62e5784cb78067639df464f32e22c9ab4d0932bbe1c01cc992348cc0fad4a46cc7b1c3 DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289 DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 DIST libc-0.2.158.crate 751340 BLAKE2B a67318ab24bb86c4df682cdf846d51f5f0a69504567acff43cc6e724f2641521945dc75dddc10c1c265fda960cb28b528575b5d39ce321073844dbddbc77bdb8 SHA512 c2d90d58480cca3464db475d7c70cd66bc1492239d8183038b48def8f5d8a437a1e2a2f084cb2bd9456889221b10aa07981cd5e9bcbb6bea28a2bde3c76f1105 +DIST libc-0.2.161.crate 765389 BLAKE2B 4880efbc347e0b92faa893993f37c486a69afd1a3c741cfb9d3a2d3c87fd56e49788f8aeac17baca217f4ceee9180097386ef481f4e142942802f27983f8e6fa SHA512 264d7a872c10484b9cb19ee858c2ac44bf165297653fbc6220672bd2e0ba10913408130f21d370d2861eef529f9ecafece66515b47b4461d56e6b02f55ea2be8 DIST libmimalloc-sys-0.1.38.crate 196009 BLAKE2B 355f07b19a5fcc54ca95cc449a9c8200abf11984e004d3ed405f0370f29a18b878e9d8fde63c9bf84d5227388905d288ebf1ba2df38d7c5be8b0d3e67b63f55c SHA512 3b0416b06a4692be364b75e324a312e0160f64f8a49930d3e0eb6fb201982b59482f636fca774a254aead6112168acd3d307c2a79c5ce3be3213850c172a7bf9 DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 DIST linux-keyutils-0.2.4.crate 17999 BLAKE2B 8885c1e5daabce113d0e68f526d0f323603f8aa6bebd1ce37e3f64dc553239c1d8d0fa5a662190b901c42cb2ab061962697654b6abb0530333f23655911069e5 SHA512 8bcf2d3eb2c5cf49ce00b91bff578e2dac3c9390ae7b4bb0ad3ceaec9d282a1d4782cb9e642cba75429e7982e6537a72f849a1cc848a939d6e85fd6ea8e1dcb4 DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 @@ -162,6 +196,8 @@ DIST lzxd-0.2.5.crate 22728 BLAKE2B 5822d0d453def5b937e7414e055b637e6aa018a4ced0 DIST mailparse-0.15.0.crate 37293 BLAKE2B 3ef9c0f3e65288066a1a792b3ad5bf4ca08126573fd15d9360b2d7748ba623ee0bf3eff1073b3244f1ca5007c2ea9c4e88310dc3809826ae940b13091df47134 SHA512 85899a2a65d195778615e3cebd2e5b6ad2ea3fd2b5a8929caab7fbd3e50306a5c99328deb7ffad9b3135f3fafca4c4e74f372e42a88d2785ade215334b92b416 DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 DIST maturin-1.7.4.gh.tar.gz 511488 BLAKE2B 008b2d67d553479040fcd3062b93ca12dc6f2b98c3d6cb43cac7ff0d8e4772417b99fbf2a73ed96cfcc8a7372b37d845e8485ba0afc80342943a10d716492377 SHA512 72fb43a10d3cdf35eca224232c59723bff5b9230c7d40ff01537e1ba869254b4b6e9a0c52e8b7154f7b74f0f0b5bace4e7bb9ac5257c9fbc04750160791c35e3 +DIST maturin-1.7.5.gh.tar.gz 525764 BLAKE2B a8d7971f8c6efed32a115d59ca23da048f07d7f82712fd76fd389266ec6ef55ad693ec53de235e75d2c57805fe153025db6913eb53fb57373b50779e135d0794 SHA512 43791fcc5328ea8d2c75a8caf5b67df5ff67189b1b1449c6b374a0a2d59727430439c0b895537cc1b317f07768cc32f7756ce1c625a8d067ed55f9828bcd04a2 +DIST maturin-1.7.6.gh.tar.gz 525922 BLAKE2B 7d0253c8acbfdd84bef10ea4ecdbed4db3701ca5c3161ac69f795877147f709438cec5315afb7ad39f391bef013b59737694989f31b59695af7ea66f8b9d4fc6 SHA512 44b321ae345da119bfcf264175cfefe1bde868c53a8eb91f05fb7e99919bfb9aabcdfeeb606e437265c0c15cd2a17b74b0013f9dd09d5d6806e1e6d2c93e67cb DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55 @@ -171,6 +207,7 @@ DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a0587345 DIST mime_guess-2.0.4.crate 26399 BLAKE2B 667f9b8009bac2e1d8b835ae8825afaaa2ea6eddd4cebbf18de8f8fcde9318eacaeeb08066bdd611883bef5f8a53fa2506b57dffff543c3a57316e07b525f7f5 SHA512 acfbbfdc5bd725edde43e4915858b8d016e90a5b483664f0bcd5e8d2b0b3684bf0f6020aea147b5bf429f218a7af8080761cea4c5c04b68fa66fd6a676376908 DIST mime_guess-2.0.5.crate 27166 BLAKE2B a8ec67e16a336e7d07c9aaa55025c24c3d4a62aae25213ce768786d9f292b76930132a880d662cd9a5d63aa899e9d488ab76fa9d99350e9f448ef484705ba4d9 SHA512 433c876e28394282cfbe14bb9543616cd296879f253ed331c15ace8a7d9f3629f5b596c2d5a64823a97ca9b774acc711b65006c46d54d1e9ee0553cbf1f13b7c DIST minijinja-1.0.21.crate 143627 BLAKE2B ca3305532f286480fd859af3f99bfe346c1316869d60c15c4ed3668f02dc33e6fb0f968fdb820ee924a7f51c9bb079c9001c7180ae3767078eab5a5215803604 SHA512 28a3d116412712f59ce1a6491b80b4c99ed76210d5c326e1a47fbeac234d0fee4f69b953985e526e254846e03fd2d85f93bdda3988794085442cbdade005ceef +DIST minijinja-2.5.0.crate 159958 BLAKE2B 950335f8d9854a074b483146089fe7717ddaf1e7cfbc949d2412b10352ee7ff993b5de8650b6fc050ebc7f79aa4cfc15e2ec6d8e637e79e6c83ac9c49b35f00f SHA512 c77fd7993cbcbce6b7ee6d7bde1ac0050f7efbb3665380cf3a64715eb048870c35afed312634dbf40488a613434a548ab15de0ebd28c470df52c6b6430d07fbb DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 DIST msi-0.7.0.crate 59110 BLAKE2B c0bb6d59acb79566343baffc4d40852b0a8d668c48f3c8a482065efb02e4836428167242e382ecff93a2763b4b5383023d389226619208910e44facf57536f98 SHA512 fd206129952baf8d16611d9e376089fc03f5832f237a8ffb7cb784179f226303fa464cd06034d4457bb52b49c9618fb44875c1c1f94ffd42b4d06ab44aeefec8 @@ -185,6 +222,7 @@ DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5 DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8 DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 DIST openssl-0.10.66.crate 273705 BLAKE2B 7892e96dac3b24ad5622833b4061bd82028210f9f26ec9772cebb65905ff6e45da8b21ad1aabfb87bb5610f534018da6bd20c10eaee8c189dd08a7ebfbf12b4b SHA512 2f4dd6e40dd8aff8c04563517fabeecd5ac0d986764649cc9af9bf4ce25757a67f75655eee207703b46fe57661a216ff00144358ffcbc70525447a063fa086c1 DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c @@ -204,32 +242,42 @@ DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d DIST plain-0.2.3.crate 10664 BLAKE2B b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35 SHA512 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252 DIST platform-info-2.0.3.crate 28454 BLAKE2B 22c60f2db10908c9dd0e07e74ea40823156e2d795bd6e3c279585a424c692762c0d18885c0c5782c3e6caa9a91ee6f3adba2279bb6cd0448041a667a82404fc2 SHA512 305699107d21673ab22e56dc42752f85dae93922dcef93233f355b73838e54c2d157e89db60ffdcfd38f105ca6804f76c524ebb75c4f94845ee0320c46c69d03 +DIST platform-info-2.0.4.crate 28476 BLAKE2B ef2019f0fc3ee02e03f870338bb7eff243ce125653f42d83aaa2c87a5eae9dc3c58299f989663cbb81ae7aef7cbf7025592ee9c85a90f790cd233232501d457d SHA512 a05bec3651c81026e0200ddeb616d801f43e7ae57921729d440669abca609a8f421bcfc8e2e6fe4f860dc133c724916cd9b5f81ed2f7d77468e9be9bbf7a49ac DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2 +DIST portable-atomic-1.9.0.crate 166365 BLAKE2B 9abc31364770923847dac16f532452bc8783a5068c0f757f79122bc5b68863b58c0acfa12d28836188413c2f0b61d494cb53fa07a57e199ecd4910a2534c5bb3 SHA512 1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 DIST proc-macro-crate-3.1.0.crate 11084 BLAKE2B 9a9d02f0f34a30668ba94e34d51199c332209c47fd8bef28c452924f75984dcf3aef2c92c4ab3fb03205d589e4f773d960064b4d08fdb2480168f10b84fafe98 SHA512 eb5ad763aa700f2cb1604c32a4bf2fad499a03ad868a22d06b0697b77875b1cc13c739fcf165b2bd547207ef6dc3bd13ceb75e1a59c596daf916f356ed27d8e2 DIST proc-macro2-1.0.85.crate 48988 BLAKE2B 236f2a07c758d0d8628f003b70d4b25d5f0d2bd8cbd3955fc4262d7d9b271c6571eb0fc45c95fd816b426a84ed5ec5dfeb81d8041d4de955cce6f3b9fceda1f1 SHA512 54c61dd0581bb5802e077a58fa41f113aa1fab59026478268ece293f2643921b7649844c1675a21a3a21674cdb3ccf94928e5bd069a02bf6813ccc1114d37262 DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST proc-macro2-1.0.88.crate 49219 BLAKE2B 793001e2fb15fc6572060ec05276b185b94894f597fbea90663c77f28a67427f93e655fb40d9e52e028ce3e78ec5fec67f0ce12b09dc308a028a7350c7b4699f SHA512 6aea3482742a2a59aacc3efa4a48f6cef0dbd7ca6aee6aadaadf9fa15ef353430a3a2ae21d15319c1464a48cc70f30e5f9f6d5da5597a380cdfb27d533388d37 +DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee DIST psm-0.1.21.crate 23126 BLAKE2B 5972b4bad729d3c8842d4d616b1a469fd59ac7cecac5dc5754f084b7f2c623f715f302a9132cd146f48f323982c837a63cddbabfdc97c73ba88ee60df3d036da SHA512 33e34bb30efa5ec700c135e11fe03447d56e6f0dbca5536fa8bf9ca2c605c65e2dfe0a2a79a0bbe08eb2d2a37e569e31def340e1187bc25060c2f0e6537e3e5b DIST pyo3-0.22.0.crate 535742 BLAKE2B 772a4f8b718bbec32faa3dac4cad07a5b452fb366280753c3316d932663bf367192483fb5cd0bd405321128e67157b982eaa89264685739a141e021f0f7e2b72 SHA512 44e0237fd3a8d4c7b082c48a5c8a52d8f4cc4673d134f680e29504bb46d870015fa210da34de4c1998defbcd4afdf2aaea4e148fbe093e4b2c8b0d064cd48da4 DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c +DIST pyo3-0.23.1.crate 1072552 BLAKE2B 1d83f3d853eada9d10e7502c76ba665ccd75afe51ad8f09e6b72d076aba4eab5da535bcd9f0d636d9a5a120dd632d67bf89b65fc4372511b042a74bb697be56b SHA512 6f0f457669c0d5d54196e4d7f10a78c8ef1f576ffaf01e11fd142634949e9b1e12c8e4dcf041f9bbe21f7e9b4779ff7ac1b625b3d0ecaf8e448b468aaef7b3f5 DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb DIST pyo3-build-config-0.22.0.crate 31205 BLAKE2B 6b9a0de5f431bfc123628c67da040e146e39353d7b42d8d083e1911929dc420622f8a1276229d89b7780bccd02a8e653bcb85bfa51281e72ddfacebadef5277a SHA512 50341f4e5134a275610a5b86e833d1963a0726c2ddc14f4742053c60ad336ee209e73441aca46c8670920ee47a81c76bbd3f9e6412d253a5b389692ff8f3c1f3 DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8 +DIST pyo3-build-config-0.23.1.crate 31755 BLAKE2B 7cac76855763159f61c26bf401545d12a95d8d0970ce4a0ae90e5b7ad1d67747af5414c02b8848042b4e2c2aa773d8cfe3b3db077895d12305097457dbd0ea60 SHA512 ec7b47db39e910760373adf3c035d7bef0cf48595562bf8c70d6ecf98ae3a676f19c94302bcf29dae60797b0dcd180498bf41faa65d6a6a268a0e2b14a309e42 DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82 DIST pyo3-ffi-0.22.0.crate 67420 BLAKE2B 65e4ed1a1ce854f37380aa23637a494226b98941b9e3f13eae8f627db0fea248c3cc93c7e594090407ab169cfdb27ab20c47f7004f2b4646103ee34da9a55f31 SHA512 cede32dc8025badcdd6d00b4a1204c6ceb5ad30fa0b637deecca669f2ee2b8961f88d9d867caa8cae59f498dc4e1c15f3b4049c5f47615e215b0f289fc560bce DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579 +DIST pyo3-ffi-0.23.1.crate 73993 BLAKE2B 4b16d423f6aec1a4b99aad79976dd17a8039e9a37ec35badb50cbd12001f12b88b7223e2dc6bb67257e821ffc935a3f23876f93941f2495e63ac88e631be51d9 SHA512 7533fdd016afb71a482cec07a61b04b0eaee10eb131e11d9c6d650e090a575896fb5ea243880341a2500b0b8442c36ac7792cb6ed39a2f9bd29645556cdc807e DIST pyo3-macros-0.22.0.crate 7889 BLAKE2B 0b61caaed415023341dfd675c578e39cc3e5b2a08eb8c439857c81cf6cb895837f5df28decd7c08a3aa365411ff33a97eb5fe2f20e18427bda133f7df53349ba SHA512 ed9e9d6322fb8d3fd11114899c3ad84ebbc5b5eba58e5aabfc7f9691f02ec053f1c2804cea93d21f2ac9332f5b719b7fee9878faa95f21eb2a2d86f9050c7339 DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a +DIST pyo3-macros-0.23.1.crate 8064 BLAKE2B 26f0c07d230c6a749848094e84e1cd86d151b1d7639aa17debef73a49c9d15210a6f5ddf20d832f1175ba9fca690edc2be3244aef286112d2d097677558348e2 SHA512 2897b64b1e6695526a74822adc2e6bd6fccd0185918ab5e87561341c5e37382e77094a9e102bd6c817cddc919ed45c1a133cdc1e947ecab2c851328fecf14508 DIST pyo3-macros-backend-0.22.0.crate 64837 BLAKE2B 4961b8c8720bfc2bbd11089a658d64cb2b1e43e150e622d53490faec3b905344d256b2092238ebb1dd92290583ee7d04a12eb5759bd55276e7042e1c948c71bd SHA512 09496c7285b9faaad820cfea237ef602569de3adeaa3362727182b0cd1c8377ef55c0c28f14eb703ea73a86c94acbdfb1384b44ef32b318a76c730a0430ca233 DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8 +DIST pyo3-macros-backend-0.23.1.crate 70118 BLAKE2B df6e7db9f88bc0fd039c2b0553c3371fcde654bad4528320e0e8cb8ee5ae98b541bf7fe800a872fb5ee43562e07a5b0cd9543f4b5c66b482818107a53e6e49ea SHA512 bb6df78ad712ab6c85535c60d3d5d8aa1b012b175845c6e073ca7b174c558e4a546fed5e62453bc3ce7f46dfaf3b016c01b88e13c8516b18d5024565464c1bf8 DIST pyproject-toml-0.11.0.crate 6083 BLAKE2B 187c00dbf90bb32081088efd986d2072d8f8f35eefec683403f5a0a509e4673f443293051b7d828a1d917fd0f7bc308852a77c8bc9b4832d361e32135e9c0a79 SHA512 05a2529bf3ff5aab74ed86c71e1a0a2e8247404e2fab2dd24c04a7e832325c30da915d43a1c2e47ed5143824c24d4c961e19bf078e60687faedcec3a43e53b08 DIST python-pkginfo-0.6.3.crate 212171 BLAKE2B b943b04300cdb75011aeb2eb6eccbc21eebc7f5ba17780442d990e76797de81f01b1f550dbb3cc4cecd555ec6c7e66c7d1155b2d4bf8d985bcaf4ab06bb6f427 SHA512 71c8a51860459f0a63ba21d2c9da54a7aba0c65d8c5e7edce695ae1b220e33209b43b058ea8f064d56954dc099c0bca495eb7ba6d4458d582383014af94e1bab DIST python3-dll-a-0.2.6.crate 56866 BLAKE2B e8a83d0e02c281d8a626565fe1cde1158726c9ff718afb0888298454762832d47117d7a1bfd4e3e471e82ce684cd8c36d8d7ee036b07748cbf09aa915c2e046f SHA512 f64be4ed3b217d6905df5787afb3d403580eed1bffc17a251e2c8eab61aee6a187460894b568140c4d38369e77fb51c4d49f6df9127786f344b460951df249d5 DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35 DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 DIST quoted_printable-0.5.0.crate 7604 BLAKE2B 470c2668e1778805ca855f3c65ce4b9f35148bbf4b4556e846f04b0fc263dfe237f65f5d00d64472dcf384003ff077a13ff0c36a1ead38cf0e1073707add9bac SHA512 90e4d03590b678ae39a9be7157d1943e670e44df11a69ef5866b06d8eda772943370c66e41d1d25aaf877fb3a55ea3c20b990a243666ab934e168feb9a12442c DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 @@ -240,10 +288,13 @@ DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea7 DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460 DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4 DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 +DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2 DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 DIST relative-path-1.9.3.crate 22400 BLAKE2B c6bd04b060013de042079a741a864150632c02cdc493ca1cfd746bcc12f6ad903f8f0748ec68261c979d833089c0fc091f7c9da2b2936e8f75dad8d4638a7b10 SHA512 fd5c88d370865870570859a110245e009eba557225e4297783a606227b13b42abf0c7e69a4beb5093a5a9dabac1545afd988f4c831abe912c21ccd8013c30382 DIST rfc2047-decoder-1.0.5.crate 14393 BLAKE2B 530a3921f2c4ea59485e30665170c946da5869af50c4de5ca072980e98dc58e6e6a8077a037b99b91fe8bf8c21311cd8c0719a8b3aa22ceb4fddadc6292fd936 SHA512 9cb031b9edcd47ca5dd6154afc99a8050768f98fb915a540b2d3c1aca28894bec8e92044f335ebf1c2fd439cf9c384700037d76d21cc04b5d0a1ac3a3988fa7b DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358 @@ -257,6 +308,7 @@ DIST rustls-pemfile-2.1.3.crate 26757 BLAKE2B 421c0e829d28d94fed3356195ad0628f7f DIST rustls-pki-types-1.7.0.crate 29555 BLAKE2B 9da5d853671e2e33f46434509e7c83edf487a6a940e1bc8937c3ed7900cac590674bf2c5a5edac6055a2bdf763b132d4624a8c51caf0250d5055ce5e8f4bc5eb SHA512 5502795aebd7058084d0e30d6c09befc4182493113207f539a8d42006d4189158e9028245aa627d6943a88514b6292fbd56b5ea1abef8c83a429bf6d641f6f11 DIST rustls-webpki-0.102.4.crate 200657 BLAKE2B 7d6c27ee182e5b92fef74504d9331c476861b1ef6f67df44b31382d3bebe3c2c1ed666fa535b2a213ad602449fdd23d0ad1a7b89332efeb950686ab6065278a7 SHA512 f5fd01401b74ce3bd3fee6228fa01c29f0ad005eff0314ec19ca9cafe401b056270545b239050cbd72fd22b64a5376bb1d1c3cc5e29303c7d502d5983513d8f6 DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST rustversion-1.0.18.crate 17794 BLAKE2B fa35445404b836214bdbaa3de8e43312b6d8f50eea32540f808a6255908d756bb1a5dcf49ca6268a1d214c535c2ee770e295c0e7d6430268142a190b31032421 SHA512 263d2cef02b6df4d38b35af7a9ee3a6a044f160f3cf7c6771528f23dea342232087f73f89e419ef7869db771e73c273c05b3dccfe9e29f707586b2059e820645 DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c DIST schannel-0.1.23.crate 41667 BLAKE2B 3f34ecf4cc519f5302f0ab5207907a275c68e6fcbb47630aec4ed5d5f1a1cc7475f6d7a8c22361e9878002f9f54314c1f630ab0c1f77ea309714bdb7ada6c9af SHA512 dfce25e3b8bc09d8dd1fce2783fe02ec83f74697cb24aa212ef9369a628685ba488f821cb3e5f863798e0e59995038c8d748f74b89f7929eb8cfd804d5066b84 @@ -271,13 +323,16 @@ DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743 DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec DIST serde-1.0.209.crate 78364 BLAKE2B f6b4c2bd931a8067482ca033211c4e85c0dfd6084cb599c38a9ba666cce30489685a3a6a8a539eb6e41141a52328943dccbfe25dbd857af16665094fdf7c3f45 SHA512 25d2236eedc08fa3b9d078a1971df705c4f428b7a4e6a2d28d9f0f9893c19de745bffffe3fa9f3c08074bf4359aaf09cc28770e4b14c21c66d6a0b9411738f7b DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae +DIST serde-1.0.215.crate 78527 BLAKE2B ca8e1175839ca45a4d78a155f5943396211408a85e0840b065c52948188010653d68fc4fc7b63bf2c39a11a6988abb7f6f3c6d878ca1373596e0a5d62186e109 SHA512 3da13f1a74393f1fcb6d659b5e060a11ecae358f55cdf4a2fd05bfc863fea6f75d3140d3bc74902f8feba8cddf7dae71a3f4e4e78e78e1b08ed46b3e4900281f DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392 DIST serde_derive-1.0.209.crate 56023 BLAKE2B 752bc9f46b880d0ed8a4f7e29ffde1343c63c4be1e9740afb1a28dcbff5bedfe077eb51c7052adecfbdbd9942c30b63a27914deb6401a2ecaf70fef0f64cd80a SHA512 22c4eb76412bd73814d0b86209b110b9e59626f64b41cbc250755144e545ff30fa69972ac93d74f988a3a6a239d9138f4e8a23b283c746a0aa5fcddfbe077cd6 DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 +DIST serde_derive-1.0.215.crate 57092 BLAKE2B f28bb66017599afdcd8d45c514b8e07854eb944c1dcf931e052a01ce421e0de6c20c13b3867da5922e2153e25ce88bf9fa27e2e68ddc9d212977f71fa0bd6352 SHA512 cae686bdf10c683149956ffe1c64fcf3e9b9bf0cd6e33b4ce7429d0ca35b9fdb55443693866c1202fa79348c6ea0f49ab3be3d5f857de4ae0818d2b4c8c67d9b DIST serde_derive_internals-0.29.1.crate 26189 BLAKE2B 09d2fd10c73ab114efe244749678c166afcc3e6217f2a4c08c01a44e546471c5f7cbb7e79ef908fb306975852fe1ae32b7988e04df3741ca82db1e3a3d6979f8 SHA512 ee7c8a35094b8ee1d8958f4aa177e5c536c6c7706d446e875f1ae1b5249738ecee053a0239e1508114b747797fcd080ee33ed88929ff1f4903988f64f038b771 DIST serde_json-1.0.118.crate 146962 BLAKE2B b85f17cbef0cb9fcc8af5d8d18a74850804de631f8ac94193bdb0ff8c95d4c8507876e4802005e0bc8fc4745d52c79be153d825e106090b680b620acc5b1add4 SHA512 1fa7e01d849684e3ed6f9bd67ba9862f822dcecdcb9110a43182367225f559416f855d59f2b8bd943756957932710b930244963a1f47a3d7d530be19dd412f20 DIST serde_json-1.0.127.crate 149465 BLAKE2B da5048f70a0b7594be0112efbfccf8d6575a77b324d59321cbd34d355978aadb2ceea1bbcb182412547587235f58873ddd2232822f020e2db85c1599cb0bca8b SHA512 f14f5eeebe07261daded47c3cbb6d511da4633bfcc46ea1b0600063730dd4211a0c310959e4f8731a688d18d60a46f6dc1c1a1f052f170b6207877b93742a88b DIST serde_json-1.0.128.crate 149520 BLAKE2B 246eb865f64a0f161b79f3d4f783dbadbc930c4a19edb6c0fe8f0c6145c7c47be4b692d3e084b1b500820ece8e94214820978cf898926dd805bd431fb411bbc9 SHA512 9e6290d3a6a971b3c37bbc97097b8179e64c655779b43c7b75303a35ef7030f5401b3a5f62cbc95a7bd5f42ecbefb0b469234d78a76c8c1597726d8e08908a7d +DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f DIST serde_spanned-0.6.6.crate 9120 BLAKE2B 6748b04f30cc63297fe01cacdef743b688aa0777b600d603919d05676913133450c97a179c6cbd4a62534431b74c4bcf63a60c1185ba89cd8266411d3824aff9 SHA512 e07254723645c80d10c1ab9a7282251fcafa0b5144991568b1b1f85e7c8c8bbd82b5992f2ed73fc7a988f6a0175fd79fc927c6b28b7420e83269c3364d7ead4f DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb @@ -289,9 +344,11 @@ DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8 DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 DIST smawk-0.3.2.crate 13831 BLAKE2B 551ed3406db797765034e2ba53d5aa75eec57cce608097eaf0f1a94fd1df8aa8bd248087a8a3b037d844fc91773f74501686180802a6d75165f771ea1f20ba96 SHA512 39f3cab5a6eaaef6f4e7703a6840ce7a805f6175e02968090a58a12d3420f0a144533e5d6542f1e9ec0e36902046a180386548713ef6148064922ff837fa1602 DIST snapbox-0.6.16.crate 54140 BLAKE2B 87e5cbea3a65256bd645127cb7f4c1beb09a25422eb3d043773312f65bd0f079c53c3124778a4ccb0a05b60cae8ae3222b1c28568d464748385d7be708f14f08 SHA512 f00003bd5f166ca3923979d662ed06b25859f5153cfa2ea9dd058b9409fbf3bc0fd0ec4c6b1bf466086f6dc5741f3b4c641d8c9a89ae851d7f5b38c1ce084877 +DIST snapbox-0.6.20.crate 54265 BLAKE2B 6e2b3dcba647d4d4cc47085f4af13873d8441c7285e2326054c5a8defeefe5f447b5eb3bcaa7c59e6afaf95268fd1963877722d4d6129b3b27db3c889d95b5dc SHA512 f556b1d1f76d51ae566ed8eae92053b2d58ae3322b23f7fef3dcd22488a639591719eb586eb34cce525cb8490571212da317b76ba9b514ef70410ea4101b5902 DIST snapbox-macros-0.3.10.crate 7129 BLAKE2B 74bf3d2b0308ecc70dd935bf5a761a9788de2c0da14277117868b892d0ed850018cbc234476a8da9840d5a61be42b29cc8fd51a0d81410f15bbe294a11bdca9d SHA512 560a6d6d236d24cf9e8b59a31d01027cb25beb26080820edc28dac1e6e9392563e3f0fa858c19d47b22919859ac13551266e648d0eb47a434a2008196efde410 DIST socks-0.3.4.crate 13172 BLAKE2B 02fa5e950aae0ae6fadb11f27c455da2ca3ce5db3b63f27ea720bb748e03652038a599c036941240edba0286b61a35699bef8db07716ada851c1077b0592b7dc SHA512 531ab43f277e2dfc6aaefcb584c5fdf910cba51cc5fee73256ef00dae714ace844251cb53ca090fd3e8258115cebbcf65843476913fadba8535cb44166294eb8 DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 DIST stacker-0.1.15.crate 14656 BLAKE2B 972e5872b402d0572686a617ad72af69a3a19406f41bfde3990949a86a4410594838b0a1e7929102bbd529dcf74fcf2413ae4f9d1cdb48d1c069b8cb4319c0b3 SHA512 536cf41f4dea57541941dc89c61e82af3008d0d847243238d622d2e64bff595ebbe077368de87b3844ed0f06ced6cf5b03100e07534f6f5dde7219994369c988 DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c @@ -300,7 +357,11 @@ DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372 DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89 DIST syn-2.0.76.crate 268798 BLAKE2B 5446965c6331fbb445a313ca8da9d8e7454e31d9a36c2f595747edc65c0d2a05e9d8e4e9fb6dbb30da8264c7db36b1cea14110201bb06e40bca69b25c3f79f1c SHA512 c633b9f68e67b3cbf2432d3648e42f8d92403877a0128becd22cb108c0cfab9f1bc6b941b9cde225d8b727890e9f86457fad05b544fd07be4c01c2e60a2cdeaa +DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433 +DIST syn-2.0.89.crate 289852 BLAKE2B 4e2b06d2a0ea9b8970338ab61f8c5569cb7c10466dcf139576d0618c3690cfd23c98b66f0714c34839364dee72df6a6d8571f73dbf03ecc347fb1effb118fc2f SHA512 d172936f04a383b7b5e79dad328e70ea3c4faba4a88d0b6d186645413e8698434d30f53012cc9d3813f617c8bef75e95a2d064fdabae7867678abbed22bcd910 +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa DIST tar-0.4.42.crate 58998 BLAKE2B e3730ff969052b328abdee9c1413540a6cb7829ae08154e2ffa6105876b459eb610c7e9f1ec51a1b64ef64e4d550d102bdd1a0a1a7526600c92726cd6be3097a SHA512 f7ec32f1d5b5b944159d07c0ff0fdc03efcab07f3874a368dedce2920d53c075df131dd41fbbe1acb315a2093de7a5d9564ee382c19b77c528ebd4c2710f5340 +DIST tar-0.4.43.crate 60181 BLAKE2B 0c517cd0ccf1aca093136985513f5ee90312f0b99e34fef9ec8ef21c9537469c3ed31591434a9509ebc6887861e768f52e8dbc1858f0dc1ac5fbcb7d45e805e5 SHA512 d54953e0c7f7e34eb30d85c44527af620e673426592d896261dc2638a9b8a34e2486d0f56dcf93ab3a104c0a43aa3d3478db98fa86fe44ac5be6a10de145447e DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718 DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27 @@ -318,6 +379,7 @@ DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f0638 DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133 DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 DIST tinyvec-1.7.0.crate 46743 BLAKE2B ec9741aaf6900ed2651c222d80688176353fd2ba99ef54db18059bc527b638fea1e9d0ed03b18a8c2f3a4732f94dcfbdf1411050f1d744da5d88cbab569b88de SHA512 9628e5a8861d01e22f00161b3cee58861a2801cd0c64016872bc0c6fb49899a553abd0bbed61064ed91e3a8fbd93e311b2a622fd21d74345e80ec27c1e2f36db DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 @@ -332,12 +394,15 @@ DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0a DIST tracing-serde-0.1.3.crate 7329 BLAKE2B 55d924fc3acfd496abca8b42bf3fa4a2511340cf2ebb060fb31bc0b5d81dcbbaa299daef3cddc3647625afd124b9c83efc1ef104f55dc6d4cd4d91e0e667c160 SHA512 3822ac747df404c33573ad2a5c722f9708066a72c2893dbf507563ef29bebcab79cec17515fa87c0fa64be8a08073c38ab57ccc463c74df8caf3df69c72e131b DIST tracing-subscriber-0.3.18.crate 196312 BLAKE2B bc2f04da63b0313d26073eb4a39b549ae37701e4dbf1fe06a2483279a03d9dde981f0efea6ceb5cd441ab313bfe7eaf812971c3ca60dfd4b5d9cf0d2eb7bacd4 SHA512 72f91855637aa476f03077d5f523cbc94989d40b12d7328167f88b081869ed096e6370450831f6cd5f0686cae5628f14eed4696c06a2ec75f56808b64445e0c1 DIST trycmd-0.15.6.crate 33582 BLAKE2B d5d4df13d462bd5eb57d7103a60ef86d4df6f5a9cb7febb73656f0884b29f1bccdfa75201cd7147b565e859102e56025b34745c629dd66fa5b22b0fc86e458b7 SHA512 34fdb36f61f2332540e531485de0d065bb38ef74d1179f652eb71514bcf65a5e0c9258f4cc572cf2afb2f0e7f3e45c7075318ba1c20dd04e9a40d86a72dd2e58 +DIST trycmd-0.15.7.crate 33688 BLAKE2B 603dc63404b92311968082d8c4d50ad160ae9907e46c33860d9879ce61e868c3c7535ffb63b5f2ce8649ceb3cdbdbf7d4084d3c49b163e98337d6d1e6142932a SHA512 4b4e7471e391f629979be1938690c3e7c14f6206b530c46fb7049a0460481e0f09bd7c1d0408db87bcea8833d5325b04ce06d625099ddadd35f5848ea94d05d7 DIST twox-hash-1.6.3.crate 21842 BLAKE2B 67c261b2b0a93293717a4e2e07dc11df2abde09da6fe713b9d04917ace73de1b59b8d4fd9449ab46cb7cf496fad1e440effdfa1fae6f5cae4ca78af8cd019c42 SHA512 f7ce63e6e5ca79ce9330caf40b32578a5d2088c5d8ed371604268760d6e212d447d9e3a95378378a283024155bccdaea47597902c488a94c5d5f79770baec8fc DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828 DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 +DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a DIST unicode-ident-1.0.5.crate 35455 BLAKE2B 7e14ce97ac53a88ccec015dea690918a673dc5b49e44de7fdcb5421871da35c4f514c6db9a363d6f4bfcf2e9a61a50a593d345d0b6f388ea882b17a00cd0335d SHA512 d355370daac356d900cd4c0a792d6c0eff114524c4bffce4d7e74469fe2117883ee00bf0e27d950b72e88739473f2045d5f83440a0aedfede97b4d9163b64a6c DIST unicode-linebreak-0.1.5.crate 15324 BLAKE2B dc560d5b36ed01357c22750feb7f09fd0f57fb0ea543180f6e31c0b71b51df4faaa70ac8482f9cd60e5d1faa5bfd4bebfbfd628dd5913c2c4a858ec04beeca3f SHA512 f37be2f7b04b886e95bb7d0f33bd392b78bb940ef9a01cec487062cf31ec0367306650fad7004df556887a324c714eeb28f697044aad9a429ce07b7b7344af60 DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 @@ -366,7 +431,10 @@ DIST unscanny-0.1.0.crate 10338 BLAKE2B fd725928107d4d2ed2686709335ef01136bcd54d DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416 DIST ureq-2.9.7.crate 113834 BLAKE2B e80ea64d610ab01d129527a120878ac3eb38248885c772aead6fb983f777b7469f7debd042ce93c0bfb6adeeb7ed476f7dd96c62de386ec2d64dbed28973a829 SHA512 33893aa1df316b5987571ce6b46373c625ed89e452a313f9490d63896f144e56ee0c35c1eaec77eb8d2a66e7726f3dae6e96bd2ee0db7c0604485105fc69bef4 DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a +DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d DIST urlencoding-2.1.3.crate 6538 BLAKE2B 65777b0990aa6b3d27a47f36114da8622026ac8946b5ffb6e04172b666ec7244a55c250a7fb626472bb2b636eb32ee945599cee5ce7351c3cef2322366db15ff SHA512 035848d9243ed6a4528377b56edd7f8bcb5f824381b420dc8f5c4bfc3f1246655c54eaa7de0e4aaa7138e0b08fd796b9ace140ab919aed2d94f6952b577386ac +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5 DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387 @@ -388,6 +456,7 @@ DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35cee DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f @@ -417,10 +486,18 @@ DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cac DIST winnow-0.5.40.crate 159316 BLAKE2B aae5076d59b3459c901d918d8aaa97ba8bfcc993b8484344f52e45f1f37deb96d6cd3a1663a67f3c367be2b05d633286f270274c621bda9f3ab72b98bb652cc2 SHA512 525156f08514b0110697360be6e331a68d08f0cb65ee4ba3ac9d101dd2d42a8c89601e7409bdb5652c5b05145626506651010f58a854c47712065334c61ff39c DIST winnow-0.6.13.crate 162649 BLAKE2B f088396ccdc6e96e56b822c20ea483eaead57794e101bff3df6ea35fe039fa2dcf2eac98dabebc3decb4129c200490633f05ba5dd4325cec29d28c78887c3de1 SHA512 a8a94c26afc4cc4db6ec2e65e7bff325fbe6816d4a80fb97e2014e202af0f549a77518f0435157985822aa9fd8642b95258b6cf87a9e695f4b9a11b5fe514d86 DIST winsafe-0.0.19.crate 492820 BLAKE2B 4eba26861f85f668e134b08c60e9522b698aed61eaa5e6d4e89ef31c1b97953fa08a5157add52d9a306075df4ad97e9aaf1767eea4208b72401ec0bc1c3eb0e9 SHA512 0555ec74c5acbb69ab08e54d920094e806258079bffaff3f90297bb94a000c7da36d6eba0eae445d425c781465235dd70a198437cf83a1f113438bfd9baf4c21 +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 DIST xattr-1.3.1.crate 12580 BLAKE2B 25c414d761a7fcd23bbe057add62c6da971cf33149066aa024320ab80e0ec8e8e8d5d3d0506e8de954b8f8c178d34c52a00a5fa9aa109510678098a3e3564b7f SHA512 4047abda42b949cf58f820e15ee99850de483857bbaaef737eeee48e1a2132972470f15bb2ddda56438f6a934918be96607a8de518a5a3dcec7c8ee6c00ad280 DIST xwin-0.5.1.crate 65009 BLAKE2B 91403c2d890b2ab48a94356eab78f3bae08d18d98746824be64c9be6f6af5e1856ab7c7ba1faaf3ef4a2e92e4767cb45ed69c3d24bf668082db22ca988adb805 SHA512 2bbd5336155f7a4dca1671f5018965f875c26eb71b34806664d9a2051d875886eaaaa9b9a989fbca6d22b4a29bf8acaa453b006724102717d2c57c1636ab972e DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 +DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef +DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6 DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148 DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63 +DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544 +DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298 DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 DIST zip-0.6.6.crate 65789 BLAKE2B acefc076297468d72cb20d8c6234fe5406875056fbf78fc0eac3ac430af78f320ed839f8683bd96fa1a03c457d6ac568d42bd703a902bc37bd126791d8b4c709 SHA512 affd46c17ceaa0545a155250dfd16756f8706dda43bae8a322ec0481dbfb41e4cf3166bf9662fc139ef9d0ab3b0f9f158535b21d2a61b21d38b8b2407813eeef diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.5.ebuild new file mode 100644 index 00000000000..6e9a4c955da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.5.ebuild @@ -0,0 +1,609 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.93 + autocfg@1.3.0 + automod@1.0.14 + base64@0.21.7 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + bstr@1.10.0 + byteorder@1.5.0 + bytesize@1.3.0 + bytes@1.7.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cab@0.5.0 + camino@1.1.9 + cargo-config2@0.1.26 + cargo-options@0.7.4 + cargo-platform@0.1.8 + cargo-xwin@0.16.5 + cargo-zigbuild@0.19.4 + cargo_metadata@0.18.1 + cbindgen@0.26.0 + cc@1.2.1 + cfb@0.9.0 + cfg-if@1.0.0 + charset@0.1.5 + chumsky@0.9.3 + clap@4.5.7 + clap_builder@4.5.7 + clap_complete@4.5.5 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.5 + clap_lex@0.7.1 + cli-table@0.4.7 + colorchoice@1.0.1 + configparser@3.1.0 + console@0.15.8 + content_inspector@0.2.4 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crc-catalog@2.4.0 + crc@3.2.1 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crypto-common@0.1.6 + data-encoding@2.6.0 + deranged@0.3.11 + derivative@2.2.0 + dialoguer@0.11.0 + diff@0.1.13 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + dissimilar@1.0.9 + dunce@1.0.5 + dyn-clone@1.0.17 + either@1.13.0 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + expect-test@1.5.0 + fastrand@2.1.0 + fat-macho@0.4.9 + filetime@0.2.23 + flate2@1.0.35 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs4@0.11.1 + fs-err@2.11.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + getrandom@0.2.15 + globset@0.4.15 + glob@0.3.1 + goblin@0.9.2 + hashbrown@0.12.3 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + home@0.5.9 + humantime-serde@1.1.1 + humantime@2.1.0 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@1.0.3 + idna_adapter@1.2.0 + ignore@0.4.23 + indexmap@1.9.3 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + instant@0.1.13 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itoa@1.0.11 + keyring@2.3.3 + lazy_static@1.4.0 + lddtree@0.3.6 + libc@0.2.158 + libmimalloc-sys@0.1.38 + libredox@0.1.3 + linux-keyutils@0.2.4 + linux-raw-sys@0.4.14 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.21 + lzxd@0.2.5 + mailparse@0.15.0 + matchers@0.1.0 + memchr@2.7.2 + mimalloc@0.1.42 + mime@0.3.17 + mime_guess@2.0.4 + minijinja@1.0.21 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + msi@0.7.0 + multipart@0.18.0 + native-tls@0.2.12 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.2.0 + number_prefix@0.4.0 + num-conv@0.1.0 + nu-ansi-term@0.46.0 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + os_pipe@1.2.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + path-slash@0.2.1 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + platform-info@2.0.4 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + pretty_assertions@1.4.1 + proc-macro2@1.0.92 + proc-macro-crate@3.1.0 + psm@0.1.21 + pyproject-toml@0.11.0 + python-pkginfo@0.6.3 + quoted_printable@0.5.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + relative-path@1.9.3 + rfc2047-decoder@1.0.5 + ring@0.17.8 + rstest@0.22.0 + rstest_macros@0.22.0 + rustc_version@0.4.1 + rustflags@0.1.6 + rustix@0.38.34 + rustls-pemfile@2.1.3 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.4 + rustls@0.22.4 + rustversion@1.0.18 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + scroll@0.12.0 + scroll_derive@0.12.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + serde@1.0.215 + serde_derive@1.0.215 + serde_derive_internals@0.29.1 + serde_json@1.0.133 + serde_spanned@0.6.6 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + similar@2.5.0 + slab@0.4.9 + smallvec@1.13.2 + smawk@0.3.2 + snapbox-macros@0.3.10 + snapbox@0.6.20 + socks@0.3.4 + spin@0.9.8 + stable_deref_trait@1.2.0 + stacker@0.1.15 + static_assertions@1.1.0 + strsim@0.11.1 + subtle@2.5.0 + synstructure@0.13.1 + syn@1.0.109 + syn@2.0.89 + target-lexicon@0.12.16 + tar@0.4.43 + tempfile@3.11.0 + termcolor@1.4.1 + terminal_size@0.3.0 + textwrap@0.16.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinystr@0.7.6 + toml@0.5.11 + toml@0.8.15 + toml_datetime@0.6.6 + toml_edit@0.21.1 + toml_edit@0.22.16 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-serde@0.1.3 + tracing-subscriber@0.3.18 + tracing@0.1.40 + trycmd@0.15.7 + twox-hash@1.6.3 + typenum@1.17.0 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-width@0.1.13 + unicode-xid@0.2.6 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.9.7 + urlencoding@2.1.3 + url@2.5.4 + utf8parse@0.2.2 + utf8_iter@1.0.4 + utf16_iter@1.0.5 + uuid@1.8.0 + valuable@0.1.0 + vcpkg@0.2.15 + versions@6.2.0 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + webpki-roots@0.26.2 + which@5.0.0 + which@6.0.3 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.5.40 + winnow@0.6.13 + winsafe@0.0.19 + write16@1.0.0 + writeable@0.5.5 + xattr@1.3.1 + xwin@0.5.1 + yansi@1.0.1 + yoke-derive@0.7.5 + yoke@0.7.5 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.5 + zerofrom@0.1.5 + zeroize@1.8.1 + zerovec-derive@0.10.3 + zerovec@0.10.4 + zip@0.6.6 +" +# additional crates used by test-crates/* test packages, +# `grep test-crates tests/run.rs` to see which are needed +CRATES_TEST=" + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.86 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + autocfg@1.1.0 + autocfg@1.4.0 + basic-toml@0.1.9 + bincode@1.3.3 + bytes@1.6.0 + camino@1.1.7 + cargo_metadata@0.15.4 + cc@1.0.73 + cc@1.0.81 + cc@1.0.83 + clap@4.5.16 + clap_builder@4.5.15 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + getrandom@0.2.10 + goblin@0.8.2 + indoc@2.0.4 + is_terminal_polyfill@1.70.1 + libc@0.2.134 + libc@0.2.147 + libc@0.2.149 + libc@0.2.155 + libc@0.2.161 + log@0.4.22 + memchr@2.7.4 + memoffset@0.9.0 + memoffset@0.9.1 + mime_guess@2.0.5 + once_cell@1.15.0 + once_cell@1.18.0 + once_cell@1.19.0 + portable-atomic@1.7.0 + portable-atomic@1.9.0 + proc-macro2@1.0.86 + proc-macro2@1.0.88 + pyo3-build-config@0.18.3 + pyo3-build-config@0.23.1 + pyo3-ffi@0.18.3 + pyo3-ffi@0.23.1 + pyo3-macros-backend@0.23.1 + pyo3-macros@0.23.1 + pyo3@0.23.1 + python3-dll-a@0.2.6 + python3-dll-a@0.2.9 + quote@1.0.37 + serde@1.0.203 + serde@1.0.209 + serde_derive@1.0.203 + serde_derive@1.0.209 + serde_json@1.0.118 + serde_json@1.0.127 + siphasher@0.3.11 + syn@2.0.68 + syn@2.0.72 + syn@2.0.79 + target-lexicon@0.12.11 + target-lexicon@0.12.14 + thiserror-impl@1.0.61 + thiserror-impl@1.0.63 + thiserror@1.0.61 + thiserror@1.0.63 + unicode-ident@1.0.5 + unicode-ident@1.0.11 + unicode-ident@1.0.13 + unicode-ident@1.0.14 + uniffi@0.28.0 + uniffi@0.28.1 + uniffi_bindgen@0.28.0 + uniffi_bindgen@0.28.1 + uniffi_build@0.28.0 + uniffi_build@0.28.1 + uniffi_checksum_derive@0.28.0 + uniffi_checksum_derive@0.28.1 + uniffi_core@0.28.0 + uniffi_core@0.28.1 + uniffi_macros@0.28.0 + uniffi_macros@0.28.1 + uniffi_meta@0.28.0 + uniffi_meta@0.28.1 + uniffi_testing@0.28.0 + uniffi_testing@0.28.1 + uniffi_udl@0.28.0 + uniffi_udl@0.28.1 + unindent@0.2.3 + version_check@0.9.5 + weedle2@5.0.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_msvc@0.52.5 +" +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..13} ) +RUST_MIN_VER=1.74.0 +inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs + +DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" +HOMEPAGE="https://www.maturin.rs/" +SRC_URI=" + https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} + test? ( $(cargo_crate_uris ${CRATES_TEST}) ) +" + +# note: rustls+ring is unused, so openssl license can be skipped +LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + openssl Unicode-3.0 Unicode-DFS-2016 +" # crates +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc +ssl test" +RESTRICT="!test? ( test )" + +RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" +DEPEND="ssl? ( dev-libs/openssl:= )" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/mdbook ) + test? ( + ${RDEPEND} + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-vcs/git + elibc_musl? ( dev-util/patchelf ) + ) +" +RDEPEND+=" ${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + distutils-r1_src_prepare + + # we build the Rust executable (just once) via cargo_src_compile + sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die + + if use test; then + # used to prevent use of network during tests, and silence pip + # if it finds unrelated issues with system packages (bug #913613) + cat > "${T}"/pip.conf <<-EOF || die + [global] + quiet = 2 + + [install] + no-index = yes + no-dependencies = yes + EOF + + # used by *git_sdist_generator tests + git init -q || die + git config --global user.email "larry@gentoo.org" || die + git config --global user.name "Larry the Cow" || die + git add . || die + git commit -qm init || die + fi +} + +src_configure() { + export OPENSSL_NO_VENDOR=1 + + # bug #938847 (TODO?: should probably be an eclass default for musl) + use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" + + # https://github.com/rust-lang/stacker/issues/79 + use s390 && ! is-flagq '-march=*' && + append-cflags $(test-flags-CC -march=z10) + + local myfeatures=( + # like release.yml + native-tls for better platform support than rustls + full + password-storage + $(usev ssl native-tls) + ) + + cargo_src_configure --no-default-features +} + +python_compile_all() { + cargo_src_compile + + use !doc || mdbook build -d html guide || die + + if ! tc-is-cross-compiler; then + local maturin=$(cargo_target_dir)/maturin + "${maturin}" completions bash > "${T}"/${PN} || die + "${maturin}" completions fish > "${T}"/${PN}.fish || die + "${maturin}" completions zsh > "${T}"/_${PN} || die + else + ewarn "shell completion files were skipped due to cross-compilation" + fi +} + +python_test() { + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + # need this for (new) python versions not yet recognized by pyo3 + local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + + local skip=( + # picky cli output test that easily benignly fail (bug #937992) + --skip cli_tests + # avoid need for wasm over a single hello world test + --skip integration_wasm_hello_world + # fragile depending on rust version, also wants libpypy*-c.so for pypy + --skip pyo3_no_extension_module + # unimportant tests that use uv, and it does not seem to be able + # to find the system's dev-python/uv (not worth the trouble) + --skip develop_hello_world::case_2 + --skip develop_pyo3_ffi_pure::case_2 + # fails on sparc since rust-1.74 (bug #934573), skip for now given + # should not affect the pep517 backend which is all we need on sparc + $(usev sparc '--skip build_context::test::test_macosx_deployment_target') + ) + + cargo_src_test -- "${skip[@]}" +} + +python_install_all() { + cargo_src_install + + dodoc Changelog.md README.md + use doc && dodoc -r guide/html + + if ! tc-is-cross-compiler; then + dobashcomp "${T}"/${PN} + dofishcomp "${T}"/${PN}.fish + dozshcomp "${T}"/_${PN} + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.6.ebuild new file mode 100644 index 00000000000..908fb41158e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.6.ebuild @@ -0,0 +1,607 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.93 + autocfg@1.3.0 + automod@1.0.14 + base64@0.21.7 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + bstr@1.10.0 + byteorder@1.5.0 + bytesize@1.3.0 + bytes@1.7.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cab@0.5.0 + camino@1.1.9 + cargo-config2@0.1.26 + cargo-options@0.7.4 + cargo-platform@0.1.8 + cargo-xwin@0.16.5 + cargo-zigbuild@0.19.4 + cargo_metadata@0.18.1 + cbindgen@0.27.0 + cc@1.2.1 + cfb@0.9.0 + cfg-if@1.0.0 + charset@0.1.5 + chumsky@0.9.3 + clap@4.5.7 + clap_builder@4.5.7 + clap_complete@4.5.5 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.5 + clap_lex@0.7.1 + cli-table@0.4.7 + colorchoice@1.0.1 + configparser@3.1.0 + console@0.15.8 + content_inspector@0.2.4 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crc-catalog@2.4.0 + crc@3.2.1 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crypto-common@0.1.6 + data-encoding@2.6.0 + deranged@0.3.11 + derivative@2.2.0 + dialoguer@0.11.0 + diff@0.1.13 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + dissimilar@1.0.9 + dunce@1.0.5 + dyn-clone@1.0.17 + either@1.13.0 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + expect-test@1.5.0 + fastrand@2.1.0 + fat-macho@0.4.9 + filetime@0.2.23 + flate2@1.0.35 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs4@0.11.1 + fs-err@2.11.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + getrandom@0.2.15 + globset@0.4.15 + glob@0.3.1 + goblin@0.9.2 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + home@0.5.9 + humantime-serde@1.1.1 + humantime@2.1.0 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@1.0.3 + idna_adapter@1.2.0 + ignore@0.4.23 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + instant@0.1.13 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itoa@1.0.11 + keyring@2.3.3 + lazy_static@1.4.0 + lddtree@0.3.6 + libc@0.2.158 + libmimalloc-sys@0.1.38 + libredox@0.1.3 + linux-keyutils@0.2.4 + linux-raw-sys@0.4.14 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.21 + lzxd@0.2.5 + mailparse@0.15.0 + matchers@0.1.0 + memchr@2.7.2 + mimalloc@0.1.42 + mime@0.3.17 + mime_guess@2.0.4 + minijinja@2.5.0 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + msi@0.7.0 + multipart@0.18.0 + native-tls@0.2.12 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.2.0 + number_prefix@0.4.0 + num-conv@0.1.0 + nu-ansi-term@0.46.0 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + os_pipe@1.2.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + path-slash@0.2.1 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + platform-info@2.0.4 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + pretty_assertions@1.4.1 + proc-macro2@1.0.92 + proc-macro-crate@3.1.0 + psm@0.1.21 + pyproject-toml@0.11.0 + python-pkginfo@0.6.3 + quoted_printable@0.5.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + relative-path@1.9.3 + rfc2047-decoder@1.0.5 + ring@0.17.8 + rstest@0.22.0 + rstest_macros@0.22.0 + rustc_version@0.4.1 + rustflags@0.1.6 + rustix@0.38.34 + rustls-pemfile@2.1.3 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.4 + rustls@0.22.4 + rustversion@1.0.18 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + scroll@0.12.0 + scroll_derive@0.12.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + serde@1.0.215 + serde_derive@1.0.215 + serde_derive_internals@0.29.1 + serde_json@1.0.133 + serde_spanned@0.6.6 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + similar@2.5.0 + slab@0.4.9 + smallvec@1.13.2 + smawk@0.3.2 + snapbox-macros@0.3.10 + snapbox@0.6.20 + socks@0.3.4 + spin@0.9.8 + stable_deref_trait@1.2.0 + stacker@0.1.15 + static_assertions@1.1.0 + strsim@0.11.1 + subtle@2.5.0 + synstructure@0.13.1 + syn@1.0.109 + syn@2.0.89 + target-lexicon@0.12.16 + tar@0.4.43 + tempfile@3.11.0 + termcolor@1.4.1 + terminal_size@0.3.0 + textwrap@0.16.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinystr@0.7.6 + toml@0.8.15 + toml_datetime@0.6.6 + toml_edit@0.21.1 + toml_edit@0.22.16 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-serde@0.1.3 + tracing-subscriber@0.3.18 + tracing@0.1.40 + trycmd@0.15.7 + twox-hash@1.6.3 + typenum@1.17.0 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-width@0.1.13 + unicode-xid@0.2.6 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.9.7 + urlencoding@2.1.3 + url@2.5.4 + utf8parse@0.2.2 + utf8_iter@1.0.4 + utf16_iter@1.0.5 + uuid@1.8.0 + valuable@0.1.0 + vcpkg@0.2.15 + versions@6.2.0 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + webpki-roots@0.26.2 + which@5.0.0 + which@6.0.3 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.5.40 + winnow@0.6.13 + winsafe@0.0.19 + write16@1.0.0 + writeable@0.5.5 + xattr@1.3.1 + xwin@0.5.1 + yansi@1.0.1 + yoke-derive@0.7.5 + yoke@0.7.5 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.5 + zerofrom@0.1.5 + zeroize@1.8.1 + zerovec-derive@0.10.3 + zerovec@0.10.4 + zip@0.6.6 +" +# additional crates used by test-crates/* test packages, +# `grep test-crates tests/run.rs` to see which are needed +CRATES_TEST=" + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.86 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + autocfg@1.1.0 + autocfg@1.4.0 + basic-toml@0.1.9 + bincode@1.3.3 + bytes@1.6.0 + camino@1.1.7 + cargo_metadata@0.15.4 + cc@1.0.73 + cc@1.0.81 + cc@1.0.83 + clap@4.5.16 + clap_builder@4.5.15 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + getrandom@0.2.10 + goblin@0.8.2 + indoc@2.0.4 + is_terminal_polyfill@1.70.1 + libc@0.2.134 + libc@0.2.147 + libc@0.2.149 + libc@0.2.155 + libc@0.2.161 + log@0.4.22 + memchr@2.7.4 + memoffset@0.9.0 + memoffset@0.9.1 + mime_guess@2.0.5 + once_cell@1.15.0 + once_cell@1.18.0 + once_cell@1.19.0 + portable-atomic@1.7.0 + portable-atomic@1.9.0 + proc-macro2@1.0.86 + proc-macro2@1.0.88 + pyo3-build-config@0.18.3 + pyo3-build-config@0.23.1 + pyo3-ffi@0.18.3 + pyo3-ffi@0.23.1 + pyo3-macros-backend@0.23.1 + pyo3-macros@0.23.1 + pyo3@0.23.1 + python3-dll-a@0.2.6 + python3-dll-a@0.2.9 + quote@1.0.37 + serde@1.0.203 + serde@1.0.209 + serde_derive@1.0.203 + serde_derive@1.0.209 + serde_json@1.0.118 + serde_json@1.0.127 + siphasher@0.3.11 + syn@2.0.68 + syn@2.0.72 + syn@2.0.79 + target-lexicon@0.12.11 + target-lexicon@0.12.14 + thiserror-impl@1.0.61 + thiserror-impl@1.0.63 + thiserror@1.0.61 + thiserror@1.0.63 + toml@0.5.11 + unicode-ident@1.0.5 + unicode-ident@1.0.11 + unicode-ident@1.0.13 + unicode-ident@1.0.14 + uniffi@0.28.0 + uniffi@0.28.1 + uniffi_bindgen@0.28.0 + uniffi_bindgen@0.28.1 + uniffi_build@0.28.0 + uniffi_build@0.28.1 + uniffi_checksum_derive@0.28.0 + uniffi_checksum_derive@0.28.1 + uniffi_core@0.28.0 + uniffi_core@0.28.1 + uniffi_macros@0.28.0 + uniffi_macros@0.28.1 + uniffi_meta@0.28.0 + uniffi_meta@0.28.1 + uniffi_testing@0.28.0 + uniffi_testing@0.28.1 + uniffi_udl@0.28.0 + uniffi_udl@0.28.1 + unindent@0.2.3 + version_check@0.9.5 + weedle2@5.0.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_msvc@0.52.5 +" +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..13} ) +RUST_MIN_VER=1.74.0 +inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs + +DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" +HOMEPAGE="https://www.maturin.rs/" +SRC_URI=" + https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} + test? ( $(cargo_crate_uris ${CRATES_TEST}) ) +" + +# note: rustls+ring is unused, so openssl license can be skipped +LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + openssl Unicode-3.0 Unicode-DFS-2016 +" # crates +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc +ssl test" +RESTRICT="!test? ( test )" + +RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" +DEPEND="ssl? ( dev-libs/openssl:= )" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/mdbook ) + test? ( + ${RDEPEND} + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-vcs/git + elibc_musl? ( dev-util/patchelf ) + ) +" +RDEPEND+=" ${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + distutils-r1_src_prepare + + # we build the Rust executable (just once) via cargo_src_compile + sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die + + if use test; then + # used to prevent use of network during tests, and silence pip + # if it finds unrelated issues with system packages (bug #913613) + cat > "${T}"/pip.conf <<-EOF || die + [global] + quiet = 2 + + [install] + no-index = yes + no-dependencies = yes + EOF + + # used by *git_sdist_generator tests + git init -q || die + git config --global user.email "larry@gentoo.org" || die + git config --global user.name "Larry the Cow" || die + git add . || die + git commit -qm init || die + fi +} + +src_configure() { + export OPENSSL_NO_VENDOR=1 + + # bug #938847 (TODO?: should probably be an eclass default for musl) + use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" + + # https://github.com/rust-lang/stacker/issues/79 + use s390 && ! is-flagq '-march=*' && + append-cflags $(test-flags-CC -march=z10) + + local myfeatures=( + # like release.yml + native-tls for better platform support than rustls + full + password-storage + $(usev ssl native-tls) + ) + + cargo_src_configure --no-default-features +} + +python_compile_all() { + cargo_src_compile + + use !doc || mdbook build -d html guide || die + + if ! tc-is-cross-compiler; then + local maturin=$(cargo_target_dir)/maturin + "${maturin}" completions bash > "${T}"/${PN} || die + "${maturin}" completions fish > "${T}"/${PN}.fish || die + "${maturin}" completions zsh > "${T}"/_${PN} || die + else + ewarn "shell completion files were skipped due to cross-compilation" + fi +} + +python_test() { + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + # need this for (new) python versions not yet recognized by pyo3 + local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + + local skip=( + # picky cli output test that easily benignly fail (bug #937992) + --skip cli_tests + # avoid need for wasm over a single hello world test + --skip integration_wasm_hello_world + # fragile depending on rust version, also wants libpypy*-c.so for pypy + --skip pyo3_no_extension_module + # unimportant tests that use uv, and it does not seem to be able + # to find the system's dev-python/uv (not worth the trouble) + --skip develop_hello_world::case_2 + --skip develop_pyo3_ffi_pure::case_2 + # fails on sparc since rust-1.74 (bug #934573), skip for now given + # should not affect the pep517 backend which is all we need on sparc + $(usev sparc '--skip build_context::test::test_macosx_deployment_target') + ) + + cargo_src_test -- "${skip[@]}" +} + +python_install_all() { + cargo_src_install + + dodoc Changelog.md README.md + use doc && dodoc -r guide/html + + if ! tc-is-cross-compiler; then + dobashcomp "${T}"/${PN} + dofishcomp "${T}"/${PN}.fish + dozshcomp "${T}"/_${PN} + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/files/patchelf-0.17.2-dt-mips-xhash.patch b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/files/patchelf-0.17.2-dt-mips-xhash.patch new file mode 100644 index 00000000000..a5e18fb4e8e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/files/patchelf-0.17.2-dt-mips-xhash.patch @@ -0,0 +1,14 @@ +--- /dev/null 2024-11-05 18:50:26.176666244 +0000 ++++ b/src/elfmips.h 2024-11-10 19:02:29.662347993 +0000 +@@ -0,0 +1,3 @@ ++#ifndef DT_MIPS_XHASH ++#define DT_MIPS_XHASH 0x70000036 ++#endif +--- a/src/patchelf.h 2024-11-10 18:59:50.300318823 +0000 ++++ b/src/patchelf.h 2024-11-10 19:11:20.597382739 +0000 +@@ -1,3 +1,5 @@ ++#include "elfmips.h" ++ + using FileContents = std::shared_ptr>; + + #define ElfFileParams class Elf_Ehdr, class Elf_Phdr, class Elf_Shdr, class Elf_Addr, class Elf_Off, class Elf_Dyn, class Elf_Sym, class Elf_Verneed, class Elf_Versym diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild new file mode 100644 index 00000000000..092f5dd68b5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2-r1.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executables" +HOMEPAGE="https://github.com/NixOS/patchelf" +SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux" +LICENSE="GPL-3" + +PATCHES=("${FILESDIR}"/${PN}-0.17.2-dt-mips-xhash.patch) + +src_prepare() { + default + rm src/elf.h || die + + sed -i \ + -e 's:-Werror::g' \ + configure.ac || die + + eautoreconf +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest index e2bc9f93960..977f179955c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest @@ -1,4 +1,4 @@ -DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea +DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548 DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad -DIST patch-6.10.4.xz 303168 BLAKE2B d38bbcdd2f730a030add5b38c1ab09c7081c311ed716d3ae976a058dd34b235078700cdff05d79dc93d9badb75c95566a3bdfc39dfa045d54857d82ee2c92e9d SHA512 5f5e8b19d114fed733c8c98a581fe339f8896e05e5da6a37deb1d7d8aa9dd83b3c80a97b1c6f3f51b6f20cca9c435b20c28c2c511da2026980d9fa72624cf420 +DIST patch-6.11.7.xz 669756 BLAKE2B f2ec79bd337eaa61c7203c00ce61b3e5afa9eee38a3e38e63a7fc9270af86674e5c369ca7ddfe4fa5f79601b1c874af1ce732bd8987529c7db2f2f9ca54ba85b SHA512 031c22e2fa7e1c7808f50dc2120a35d10a0b81d30636c5d19146fe12558999517f132213b72c39a32d8cc2c0e14e16ff64cac63ef97f8be0ebe8e709a3de8156 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-bpf-capstone.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-bpf-capstone.patch deleted file mode 100644 index ebae9a3ad08..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-bpf-capstone.patch +++ /dev/null @@ -1,456 +0,0 @@ -From a7728af2f25fe99ee72d211bb4ddec17a8601f5f Mon Sep 17 00:00:00 2001 -From: Guilherme Amadio -Date: Tue, 6 Aug 2024 11:34:05 +0200 -Subject: [PATCH] Fix bug #936439. Replay of upstream commit onto v6.10. - -Signed-off-by: Guilherme Amadio ---- - tools/perf/util/Build | 1 + - tools/perf/util/disasm.c | 187 +-------------------------------- - tools/perf/util/disasm_bpf.c | 197 +++++++++++++++++++++++++++++++++++ - tools/perf/util/disasm_bpf.h | 12 +++ - 4 files changed, 211 insertions(+), 186 deletions(-) - create mode 100644 tools/perf/util/disasm_bpf.c - create mode 100644 tools/perf/util/disasm_bpf.h - -diff --git a/tools/perf/util/Build b/tools/perf/util/Build -index da64efd8718f..384c4e06b838 100644 ---- a/tools/perf/util/Build -+++ b/tools/perf/util/Build -@@ -13,6 +13,7 @@ perf-y += copyfile.o - perf-y += ctype.o - perf-y += db-export.o - perf-y += disasm.o -+perf-y += disasm_bpf.o - perf-y += env.o - perf-y += event.o - perf-y += evlist.o -diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c -index 72aec8f61b94..766cbd005f32 100644 ---- a/tools/perf/util/disasm.c -+++ b/tools/perf/util/disasm.c -@@ -15,6 +15,7 @@ - #include "build-id.h" - #include "debug.h" - #include "disasm.h" -+#include "disasm_bpf.h" - #include "dso.h" - #include "env.h" - #include "evsel.h" -@@ -1164,192 +1165,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil - return 0; - } - --#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --#define PACKAGE "perf" --#include --#include --#include --#include --#include --#include --#include -- --#include "bpf-event.h" --#include "bpf-utils.h" -- --static int symbol__disassemble_bpf(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct bpf_prog_linfo *prog_linfo = NULL; -- struct bpf_prog_info_node *info_node; -- int len = sym->end - sym->start; -- disassembler_ftype disassemble; -- struct map *map = args->ms.map; -- struct perf_bpil *info_linear; -- struct disassemble_info info; -- struct dso *dso = map__dso(map); -- int pc = 0, count, sub_id; -- struct btf *btf = NULL; -- char tpath[PATH_MAX]; -- size_t buf_size; -- int nr_skip = 0; -- char *buf; -- bfd *bfdf; -- int ret; -- FILE *s; -- -- if (dso->binary_type != DSO_BINARY_TYPE__BPF_PROG_INFO) -- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -- -- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -- sym->name, sym->start, sym->end - sym->start); -- -- memset(tpath, 0, sizeof(tpath)); -- perf_exe(tpath, sizeof(tpath)); -- -- bfdf = bfd_openr(tpath, NULL); -- if (bfdf == NULL) -- abort(); -- -- if (!bfd_check_format(bfdf, bfd_object)) -- abort(); -- -- s = open_memstream(&buf, &buf_size); -- if (!s) { -- ret = errno; -- goto out; -- } -- init_disassemble_info_compat(&info, s, -- (fprintf_ftype) fprintf, -- fprintf_styled); -- info.arch = bfd_get_arch(bfdf); -- info.mach = bfd_get_mach(bfdf); -- -- info_node = perf_env__find_bpf_prog_info(dso->bpf_prog.env, -- dso->bpf_prog.id); -- if (!info_node) { -- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -- goto out; -- } -- info_linear = info_node->info_linear; -- sub_id = dso->bpf_prog.sub_id; -- -- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -- info.buffer_length = info_linear->info.jited_prog_len; -- -- if (info_linear->info.nr_line_info) -- prog_linfo = bpf_prog_linfo__new(&info_linear->info); -- -- if (info_linear->info.btf_id) { -- struct btf_node *node; -- -- node = perf_env__find_btf(dso->bpf_prog.env, -- info_linear->info.btf_id); -- if (node) -- btf = btf__new((__u8 *)(node->data), -- node->data_size); -- } -- -- disassemble_init_for_target(&info); -- --#ifdef DISASM_FOUR_ARGS_SIGNATURE -- disassemble = disassembler(info.arch, -- bfd_big_endian(bfdf), -- info.mach, -- bfdf); --#else -- disassemble = disassembler(bfdf); --#endif -- if (disassemble == NULL) -- abort(); -- -- fflush(s); -- do { -- const struct bpf_line_info *linfo = NULL; -- struct disasm_line *dl; -- size_t prev_buf_size; -- const char *srcline; -- u64 addr; -- -- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -- count = disassemble(pc, &info); -- -- if (prog_linfo) -- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -- addr, sub_id, -- nr_skip); -- -- if (linfo && btf) { -- srcline = btf__name_by_offset(btf, linfo->line_off); -- nr_skip++; -- } else -- srcline = NULL; -- -- fprintf(s, "\n"); -- prev_buf_size = buf_size; -- fflush(s); -- -- if (!annotate_opts.hide_src_code && srcline) { -- args->offset = -1; -- args->line = strdup(srcline); -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) { -- annotation_line__add(&dl->al, -- ¬es->src->source); -- } -- } -- -- args->offset = pc; -- args->line = buf + prev_buf_size; -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- pc += count; -- } while (count > 0 && pc < len); -- -- ret = 0; --out: -- free(prog_linfo); -- btf__free(btf); -- fclose(s); -- bfd_close(bfdf); -- return ret; --} --#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, -- struct annotate_args *args __maybe_unused) --{ -- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; --} --#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -- --static int --symbol__disassemble_bpf_image(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct disasm_line *dl; -- -- args->offset = -1; -- args->line = strdup("to be implemented"); -- args->line_nr = 0; -- args->fileloc = NULL; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- zfree(&args->line); -- return 0; --} -- - #ifdef HAVE_LIBCAPSTONE_SUPPORT - #include - -diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c -new file mode 100644 -index 000000000000..010b961c4ae9 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.c -@@ -0,0 +1,197 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#include "util/annotate.h" -+#include "util/disasm_bpf.h" -+#include "util/symbol.h" -+#include -+#include -+ -+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+#define PACKAGE "perf" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "util/bpf-event.h" -+#include "util/bpf-utils.h" -+#include "util/debug.h" -+#include "util/dso.h" -+#include "util/map.h" -+#include "util/env.h" -+#include "util/util.h" -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct bpf_prog_linfo *prog_linfo = NULL; -+ struct bpf_prog_info_node *info_node; -+ int len = sym->end - sym->start; -+ disassembler_ftype disassemble; -+ struct map *map = args->ms.map; -+ struct perf_bpil *info_linear; -+ struct disassemble_info info; -+ struct dso *dso = map__dso(map); -+ int pc = 0, count, sub_id; -+ struct btf *btf = NULL; -+ char tpath[PATH_MAX]; -+ size_t buf_size; -+ int nr_skip = 0; -+ char *buf; -+ bfd *bfdf; -+ int ret; -+ FILE *s; -+ -+ if (dso->binary_type != DSO_BINARY_TYPE__BPF_PROG_INFO) -+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -+ -+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -+ sym->name, sym->start, sym->end - sym->start); -+ -+ memset(tpath, 0, sizeof(tpath)); -+ perf_exe(tpath, sizeof(tpath)); -+ -+ bfdf = bfd_openr(tpath, NULL); -+ if (bfdf == NULL) -+ abort(); -+ -+ if (!bfd_check_format(bfdf, bfd_object)) -+ abort(); -+ -+ s = open_memstream(&buf, &buf_size); -+ if (!s) { -+ ret = errno; -+ goto out; -+ } -+ init_disassemble_info_compat(&info, s, -+ (fprintf_ftype) fprintf, -+ fprintf_styled); -+ info.arch = bfd_get_arch(bfdf); -+ info.mach = bfd_get_mach(bfdf); -+ -+ info_node = perf_env__find_bpf_prog_info(dso->bpf_prog.env, -+ dso->bpf_prog.id); -+ if (!info_node) { -+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -+ goto out; -+ } -+ info_linear = info_node->info_linear; -+ sub_id = dso->bpf_prog.sub_id; -+ -+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -+ info.buffer_length = info_linear->info.jited_prog_len; -+ -+ if (info_linear->info.nr_line_info) -+ prog_linfo = bpf_prog_linfo__new(&info_linear->info); -+ -+ if (info_linear->info.btf_id) { -+ struct btf_node *node; -+ -+ node = perf_env__find_btf(dso->bpf_prog.env, -+ info_linear->info.btf_id); -+ if (node) -+ btf = btf__new((__u8 *)(node->data), -+ node->data_size); -+ } -+ -+ disassemble_init_for_target(&info); -+ -+#ifdef DISASM_FOUR_ARGS_SIGNATURE -+ disassemble = disassembler(info.arch, -+ bfd_big_endian(bfdf), -+ info.mach, -+ bfdf); -+#else -+ disassemble = disassembler(bfdf); -+#endif -+ if (disassemble == NULL) -+ abort(); -+ -+ fflush(s); -+ do { -+ const struct bpf_line_info *linfo = NULL; -+ struct disasm_line *dl; -+ size_t prev_buf_size; -+ const char *srcline; -+ u64 addr; -+ -+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -+ count = disassemble(pc, &info); -+ -+ if (prog_linfo) -+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -+ addr, sub_id, -+ nr_skip); -+ -+ if (linfo && btf) { -+ srcline = btf__name_by_offset(btf, linfo->line_off); -+ nr_skip++; -+ } else -+ srcline = NULL; -+ -+ fprintf(s, "\n"); -+ prev_buf_size = buf_size; -+ fflush(s); -+ -+ if (!annotate_opts.hide_src_code && srcline) { -+ args->offset = -1; -+ args->line = strdup(srcline); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) { -+ annotation_line__add(&dl->al, -+ ¬es->src->source); -+ } -+ } -+ -+ args->offset = pc; -+ args->line = buf + prev_buf_size; -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ pc += count; -+ } while (count > 0 && pc < len); -+ -+ ret = 0; -+out: -+ free(prog_linfo); -+ btf__free(btf); -+ fclose(s); -+ bfd_close(bfdf); -+ return ret; -+} -+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, -+ struct annotate_args *args __maybe_unused) -+{ -+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; -+} -+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+ -+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct disasm_line *dl; -+ -+ args->offset = -1; -+ args->line = strdup("to be implemented"); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ zfree(&args->line); -+ return 0; -+} -+ -diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h -new file mode 100644 -index 000000000000..2ecb19545388 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.h -@@ -0,0 +1,12 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#ifndef __PERF_DISASM_BPF_H -+#define __PERF_DISASM_BPF_H -+ -+struct symbol; -+struct annotate_args; -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args); -+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args); -+ -+#endif /* __PERF_DISASM_BPF_H */ --- -2.45.2 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-expr.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-expr.patch deleted file mode 100644 index b4220a062f6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10-expr.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config -index bc980fd..a7f1e1e 100644 ---- a/tools/perf/Makefile.config -+++ b/tools/perf/Makefile.config -@@ -1184,7 +1184,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) - CFLAGS += -DHAVE_LIBTRACEEVENT $(LIBTRACEEVENT_CFLAGS) - LDFLAGS += $(LIBTRACEEVENT_LDFLAGS) - EXTLIBS += ${TRACEEVENTLIBS} -- LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent) -+ LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent).0 - LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION))) - LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION))) - LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION))) -@@ -1198,7 +1198,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) - $(call feature_check,libtracefs) - ifeq ($(feature-libtracefs), 1) - EXTLIBS += -ltracefs -- LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs) -+ LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0 - LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION))) - LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION))) - LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION))) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch deleted file mode 100644 index 57b298d8ccd..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch +++ /dev/null @@ -1,455 +0,0 @@ -From b382a433e0178d3840a8fb4b05ba3dbecba075fa Mon Sep 17 00:00:00 2001 -From: Guilherme Amadio -Date: Tue, 6 Aug 2024 11:34:05 +0200 -Subject: [PATCH] Fix bug #936439. Replay of upstream commit onto v6.10.3. - -Signed-off-by: Guilherme Amadio ---- - tools/perf/util/Build | 1 + - tools/perf/util/disasm.c | 187 +-------------------------------- - tools/perf/util/disasm_bpf.c | 196 +++++++++++++++++++++++++++++++++++ - tools/perf/util/disasm_bpf.h | 12 +++ - 4 files changed, 210 insertions(+), 186 deletions(-) - create mode 100644 tools/perf/util/disasm_bpf.c - create mode 100644 tools/perf/util/disasm_bpf.h - -diff --git a/tools/perf/util/Build b/tools/perf/util/Build -index da64efd8718f..384c4e06b838 100644 ---- a/tools/perf/util/Build -+++ b/tools/perf/util/Build -@@ -13,6 +13,7 @@ perf-y += copyfile.o - perf-y += ctype.o - perf-y += db-export.o - perf-y += disasm.o -+perf-y += disasm_bpf.o - perf-y += env.o - perf-y += event.o - perf-y += evlist.o -diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c -index e10558b79504..766cbd005f32 100644 ---- a/tools/perf/util/disasm.c -+++ b/tools/perf/util/disasm.c -@@ -15,6 +15,7 @@ - #include "build-id.h" - #include "debug.h" - #include "disasm.h" -+#include "disasm_bpf.h" - #include "dso.h" - #include "env.h" - #include "evsel.h" -@@ -1164,192 +1165,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil - return 0; - } - --#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --#define PACKAGE "perf" --#include --#include --#include --#include --#include --#include --#include -- --#include "bpf-event.h" --#include "bpf-utils.h" -- --static int symbol__disassemble_bpf(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct bpf_prog_linfo *prog_linfo = NULL; -- struct bpf_prog_info_node *info_node; -- int len = sym->end - sym->start; -- disassembler_ftype disassemble; -- struct map *map = args->ms.map; -- struct perf_bpil *info_linear; -- struct disassemble_info info; -- struct dso *dso = map__dso(map); -- int pc = 0, count, sub_id; -- struct btf *btf = NULL; -- char tpath[PATH_MAX]; -- size_t buf_size; -- int nr_skip = 0; -- char *buf; -- bfd *bfdf; -- int ret; -- FILE *s; -- -- if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO) -- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -- -- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -- sym->name, sym->start, sym->end - sym->start); -- -- memset(tpath, 0, sizeof(tpath)); -- perf_exe(tpath, sizeof(tpath)); -- -- bfdf = bfd_openr(tpath, NULL); -- if (bfdf == NULL) -- abort(); -- -- if (!bfd_check_format(bfdf, bfd_object)) -- abort(); -- -- s = open_memstream(&buf, &buf_size); -- if (!s) { -- ret = errno; -- goto out; -- } -- init_disassemble_info_compat(&info, s, -- (fprintf_ftype) fprintf, -- fprintf_styled); -- info.arch = bfd_get_arch(bfdf); -- info.mach = bfd_get_mach(bfdf); -- -- info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env, -- dso__bpf_prog(dso)->id); -- if (!info_node) { -- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -- goto out; -- } -- info_linear = info_node->info_linear; -- sub_id = dso__bpf_prog(dso)->sub_id; -- -- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -- info.buffer_length = info_linear->info.jited_prog_len; -- -- if (info_linear->info.nr_line_info) -- prog_linfo = bpf_prog_linfo__new(&info_linear->info); -- -- if (info_linear->info.btf_id) { -- struct btf_node *node; -- -- node = perf_env__find_btf(dso__bpf_prog(dso)->env, -- info_linear->info.btf_id); -- if (node) -- btf = btf__new((__u8 *)(node->data), -- node->data_size); -- } -- -- disassemble_init_for_target(&info); -- --#ifdef DISASM_FOUR_ARGS_SIGNATURE -- disassemble = disassembler(info.arch, -- bfd_big_endian(bfdf), -- info.mach, -- bfdf); --#else -- disassemble = disassembler(bfdf); --#endif -- if (disassemble == NULL) -- abort(); -- -- fflush(s); -- do { -- const struct bpf_line_info *linfo = NULL; -- struct disasm_line *dl; -- size_t prev_buf_size; -- const char *srcline; -- u64 addr; -- -- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -- count = disassemble(pc, &info); -- -- if (prog_linfo) -- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -- addr, sub_id, -- nr_skip); -- -- if (linfo && btf) { -- srcline = btf__name_by_offset(btf, linfo->line_off); -- nr_skip++; -- } else -- srcline = NULL; -- -- fprintf(s, "\n"); -- prev_buf_size = buf_size; -- fflush(s); -- -- if (!annotate_opts.hide_src_code && srcline) { -- args->offset = -1; -- args->line = strdup(srcline); -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) { -- annotation_line__add(&dl->al, -- ¬es->src->source); -- } -- } -- -- args->offset = pc; -- args->line = buf + prev_buf_size; -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- pc += count; -- } while (count > 0 && pc < len); -- -- ret = 0; --out: -- free(prog_linfo); -- btf__free(btf); -- fclose(s); -- bfd_close(bfdf); -- return ret; --} --#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, -- struct annotate_args *args __maybe_unused) --{ -- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; --} --#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -- --static int --symbol__disassemble_bpf_image(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct disasm_line *dl; -- -- args->offset = -1; -- args->line = strdup("to be implemented"); -- args->line_nr = 0; -- args->fileloc = NULL; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- zfree(&args->line); -- return 0; --} -- - #ifdef HAVE_LIBCAPSTONE_SUPPORT - #include - -diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c -new file mode 100644 -index 000000000000..c76a7d2be1a7 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.c -@@ -0,0 +1,196 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#include "util/annotate.h" -+#include "util/disasm_bpf.h" -+#include "util/symbol.h" -+#include -+#include -+ -+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+#define PACKAGE "perf" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "util/bpf-event.h" -+#include "util/bpf-utils.h" -+#include "util/debug.h" -+#include "util/dso.h" -+#include "util/map.h" -+#include "util/env.h" -+#include "util/util.h" -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct bpf_prog_linfo *prog_linfo = NULL; -+ struct bpf_prog_info_node *info_node; -+ int len = sym->end - sym->start; -+ disassembler_ftype disassemble; -+ struct map *map = args->ms.map; -+ struct perf_bpil *info_linear; -+ struct disassemble_info info; -+ struct dso *dso = map__dso(map); -+ int pc = 0, count, sub_id; -+ struct btf *btf = NULL; -+ char tpath[PATH_MAX]; -+ size_t buf_size; -+ int nr_skip = 0; -+ char *buf; -+ bfd *bfdf; -+ int ret; -+ FILE *s; -+ -+ if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO) -+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -+ -+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -+ sym->name, sym->start, sym->end - sym->start); -+ -+ memset(tpath, 0, sizeof(tpath)); -+ perf_exe(tpath, sizeof(tpath)); -+ -+ bfdf = bfd_openr(tpath, NULL); -+ if (bfdf == NULL) -+ abort(); -+ -+ if (!bfd_check_format(bfdf, bfd_object)) -+ abort(); -+ -+ s = open_memstream(&buf, &buf_size); -+ if (!s) { -+ ret = errno; -+ goto out; -+ } -+ init_disassemble_info_compat(&info, s, -+ (fprintf_ftype) fprintf, -+ fprintf_styled); -+ info.arch = bfd_get_arch(bfdf); -+ info.mach = bfd_get_mach(bfdf); -+ -+ info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env, -+ dso__bpf_prog(dso)->id); -+ if (!info_node) { -+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -+ goto out; -+ } -+ info_linear = info_node->info_linear; -+ sub_id = dso__bpf_prog(dso)->sub_id; -+ -+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -+ info.buffer_length = info_linear->info.jited_prog_len; -+ -+ if (info_linear->info.nr_line_info) -+ prog_linfo = bpf_prog_linfo__new(&info_linear->info); -+ -+ if (info_linear->info.btf_id) { -+ struct btf_node *node; -+ -+ node = perf_env__find_btf(dso__bpf_prog(dso)->env, -+ info_linear->info.btf_id); -+ if (node) -+ btf = btf__new((__u8 *)(node->data), -+ node->data_size); -+ } -+ -+ disassemble_init_for_target(&info); -+ -+#ifdef DISASM_FOUR_ARGS_SIGNATURE -+ disassemble = disassembler(info.arch, -+ bfd_big_endian(bfdf), -+ info.mach, -+ bfdf); -+#else -+ disassemble = disassembler(bfdf); -+#endif -+ if (disassemble == NULL) -+ abort(); -+ -+ fflush(s); -+ do { -+ const struct bpf_line_info *linfo = NULL; -+ struct disasm_line *dl; -+ size_t prev_buf_size; -+ const char *srcline; -+ u64 addr; -+ -+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -+ count = disassemble(pc, &info); -+ -+ if (prog_linfo) -+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -+ addr, sub_id, -+ nr_skip); -+ -+ if (linfo && btf) { -+ srcline = btf__name_by_offset(btf, linfo->line_off); -+ nr_skip++; -+ } else -+ srcline = NULL; -+ -+ fprintf(s, "\n"); -+ prev_buf_size = buf_size; -+ fflush(s); -+ -+ if (!annotate_opts.hide_src_code && srcline) { -+ args->offset = -1; -+ args->line = strdup(srcline); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) { -+ annotation_line__add(&dl->al, -+ ¬es->src->source); -+ } -+ } -+ -+ args->offset = pc; -+ args->line = buf + prev_buf_size; -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ pc += count; -+ } while (count > 0 && pc < len); -+ -+ ret = 0; -+out: -+ free(prog_linfo); -+ btf__free(btf); -+ fclose(s); -+ bfd_close(bfdf); -+ return ret; -+} -+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, struct annotate_args *args __maybe_unused) -+{ -+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; -+} -+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+ -+int -+symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct disasm_line *dl; -+ -+ args->offset = -1; -+ args->line = strdup("to be implemented"); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ zfree(&args->line); -+ return 0; -+} -diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h -new file mode 100644 -index 000000000000..2ecb19545388 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.h -@@ -0,0 +1,12 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#ifndef __PERF_DISASM_BPF_H -+#define __PERF_DISASM_BPF_H -+ -+struct symbol; -+struct annotate_args; -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args); -+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args); -+ -+#endif /* __PERF_DISASM_BPF_H */ --- -2.45.2 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11-bpf-capstone.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11-bpf-capstone.patch deleted file mode 100644 index 7d8b376869f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11-bpf-capstone.patch +++ /dev/null @@ -1,469 +0,0 @@ -commit ea59b70a8418a313d6f2ab48a957de015fc33018 -Author: Arnaldo Carvalho de Melo -Date: Wed Jul 31 11:58:56 2024 -0300 - - perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers - - There is a clash of the libbpf and capstone libraries, that ends up - with: - - In file included from /usr/include/capstone/capstone.h:325, - from util/disasm.c:1513: - /usr/include/capstone/bpf.h:94:14: error: ‘bpf_insn’ defined as wrong kind of tag - 94 | typedef enum bpf_insn { - - So far we're just trying to avoid this by not having both headers - included in the same .c or .h file, do it one more time by moving the - BPF diassembly routines from util/disasm.c to util/disasm_bpf.c. - - This is only being hit when building with BUILD_NONDISTRO=1, i.e. - building with binutils-devel, that isn't the in the default build due to - a licencing clash. We need to reimplement what is now isolated in - util/disasm_bpf.c using some other library to have BPF annotation - feature that now only is available with BUILD_NONDISTRO=1. - - Fixes: 6d17edc113de1e21 ("perf annotate: Use libcapstone to disassemble") - Cc: Adrian Hunter - Cc: Ian Rogers - Cc: Jiri Olsa - Cc: Kan Liang - Cc: Namhyung Kim - Link: https://lore.kernel.org/lkml/ZqpUSKPxMwaQKORr@x1 - Signed-off-by: Arnaldo Carvalho de Melo - -diff --git a/tools/perf/util/Build b/tools/perf/util/Build -index 0f18fe81ef0b..b24360c04aae 100644 ---- a/tools/perf/util/Build -+++ b/tools/perf/util/Build -@@ -13,6 +13,7 @@ perf-util-y += copyfile.o - perf-util-y += ctype.o - perf-util-y += db-export.o - perf-util-y += disasm.o -+perf-util-y += disasm_bpf.o - perf-util-y += env.o - perf-util-y += event.o - perf-util-y += evlist.o -diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c -index 410e52cd9cfd..85fb0cfedf94 100644 ---- a/tools/perf/util/disasm.c -+++ b/tools/perf/util/disasm.c -@@ -16,6 +16,7 @@ - #include "build-id.h" - #include "debug.h" - #include "disasm.h" -+#include "disasm_bpf.h" - #include "dso.h" - #include "env.h" - #include "evsel.h" -@@ -1323,192 +1324,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil - return 0; - } - --#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --#define PACKAGE "perf" --#include --#include --#include --#include --#include --#include --#include -- --#include "bpf-event.h" --#include "bpf-utils.h" -- --static int symbol__disassemble_bpf(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct bpf_prog_linfo *prog_linfo = NULL; -- struct bpf_prog_info_node *info_node; -- int len = sym->end - sym->start; -- disassembler_ftype disassemble; -- struct map *map = args->ms.map; -- struct perf_bpil *info_linear; -- struct disassemble_info info; -- struct dso *dso = map__dso(map); -- int pc = 0, count, sub_id; -- struct btf *btf = NULL; -- char tpath[PATH_MAX]; -- size_t buf_size; -- int nr_skip = 0; -- char *buf; -- bfd *bfdf; -- int ret; -- FILE *s; -- -- if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO) -- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -- -- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -- sym->name, sym->start, sym->end - sym->start); -- -- memset(tpath, 0, sizeof(tpath)); -- perf_exe(tpath, sizeof(tpath)); -- -- bfdf = bfd_openr(tpath, NULL); -- if (bfdf == NULL) -- abort(); -- -- if (!bfd_check_format(bfdf, bfd_object)) -- abort(); -- -- s = open_memstream(&buf, &buf_size); -- if (!s) { -- ret = errno; -- goto out; -- } -- init_disassemble_info_compat(&info, s, -- (fprintf_ftype) fprintf, -- fprintf_styled); -- info.arch = bfd_get_arch(bfdf); -- info.mach = bfd_get_mach(bfdf); -- -- info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env, -- dso__bpf_prog(dso)->id); -- if (!info_node) { -- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -- goto out; -- } -- info_linear = info_node->info_linear; -- sub_id = dso__bpf_prog(dso)->sub_id; -- -- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -- info.buffer_length = info_linear->info.jited_prog_len; -- -- if (info_linear->info.nr_line_info) -- prog_linfo = bpf_prog_linfo__new(&info_linear->info); -- -- if (info_linear->info.btf_id) { -- struct btf_node *node; -- -- node = perf_env__find_btf(dso__bpf_prog(dso)->env, -- info_linear->info.btf_id); -- if (node) -- btf = btf__new((__u8 *)(node->data), -- node->data_size); -- } -- -- disassemble_init_for_target(&info); -- --#ifdef DISASM_FOUR_ARGS_SIGNATURE -- disassemble = disassembler(info.arch, -- bfd_big_endian(bfdf), -- info.mach, -- bfdf); --#else -- disassemble = disassembler(bfdf); --#endif -- if (disassemble == NULL) -- abort(); -- -- fflush(s); -- do { -- const struct bpf_line_info *linfo = NULL; -- struct disasm_line *dl; -- size_t prev_buf_size; -- const char *srcline; -- u64 addr; -- -- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -- count = disassemble(pc, &info); -- -- if (prog_linfo) -- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -- addr, sub_id, -- nr_skip); -- -- if (linfo && btf) { -- srcline = btf__name_by_offset(btf, linfo->line_off); -- nr_skip++; -- } else -- srcline = NULL; -- -- fprintf(s, "\n"); -- prev_buf_size = buf_size; -- fflush(s); -- -- if (!annotate_opts.hide_src_code && srcline) { -- args->offset = -1; -- args->line = strdup(srcline); -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) { -- annotation_line__add(&dl->al, -- ¬es->src->source); -- } -- } -- -- args->offset = pc; -- args->line = buf + prev_buf_size; -- args->line_nr = 0; -- args->fileloc = NULL; -- args->ms.sym = sym; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- pc += count; -- } while (count > 0 && pc < len); -- -- ret = 0; --out: -- free(prog_linfo); -- btf__free(btf); -- fclose(s); -- bfd_close(bfdf); -- return ret; --} --#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) --static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, -- struct annotate_args *args __maybe_unused) --{ -- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; --} --#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -- --static int --symbol__disassemble_bpf_image(struct symbol *sym, -- struct annotate_args *args) --{ -- struct annotation *notes = symbol__annotation(sym); -- struct disasm_line *dl; -- -- args->offset = -1; -- args->line = strdup("to be implemented"); -- args->line_nr = 0; -- args->fileloc = NULL; -- dl = disasm_line__new(args); -- if (dl) -- annotation_line__add(&dl->al, ¬es->src->source); -- -- zfree(&args->line); -- return 0; --} -- - #ifdef HAVE_LIBCAPSTONE_SUPPORT - #include - -diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c -new file mode 100644 -index 000000000000..1fee71c79b62 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.c -@@ -0,0 +1,195 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#include "util/annotate.h" -+#include "util/disasm_bpf.h" -+#include "util/symbol.h" -+#include -+#include -+ -+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+#define PACKAGE "perf" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "util/bpf-event.h" -+#include "util/bpf-utils.h" -+#include "util/debug.h" -+#include "util/dso.h" -+#include "util/map.h" -+#include "util/env.h" -+#include "util/util.h" -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct bpf_prog_linfo *prog_linfo = NULL; -+ struct bpf_prog_info_node *info_node; -+ int len = sym->end - sym->start; -+ disassembler_ftype disassemble; -+ struct map *map = args->ms.map; -+ struct perf_bpil *info_linear; -+ struct disassemble_info info; -+ struct dso *dso = map__dso(map); -+ int pc = 0, count, sub_id; -+ struct btf *btf = NULL; -+ char tpath[PATH_MAX]; -+ size_t buf_size; -+ int nr_skip = 0; -+ char *buf; -+ bfd *bfdf; -+ int ret; -+ FILE *s; -+ -+ if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO) -+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE; -+ -+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__, -+ sym->name, sym->start, sym->end - sym->start); -+ -+ memset(tpath, 0, sizeof(tpath)); -+ perf_exe(tpath, sizeof(tpath)); -+ -+ bfdf = bfd_openr(tpath, NULL); -+ if (bfdf == NULL) -+ abort(); -+ -+ if (!bfd_check_format(bfdf, bfd_object)) -+ abort(); -+ -+ s = open_memstream(&buf, &buf_size); -+ if (!s) { -+ ret = errno; -+ goto out; -+ } -+ init_disassemble_info_compat(&info, s, -+ (fprintf_ftype) fprintf, -+ fprintf_styled); -+ info.arch = bfd_get_arch(bfdf); -+ info.mach = bfd_get_mach(bfdf); -+ -+ info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env, -+ dso__bpf_prog(dso)->id); -+ if (!info_node) { -+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF; -+ goto out; -+ } -+ info_linear = info_node->info_linear; -+ sub_id = dso__bpf_prog(dso)->sub_id; -+ -+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns); -+ info.buffer_length = info_linear->info.jited_prog_len; -+ -+ if (info_linear->info.nr_line_info) -+ prog_linfo = bpf_prog_linfo__new(&info_linear->info); -+ -+ if (info_linear->info.btf_id) { -+ struct btf_node *node; -+ -+ node = perf_env__find_btf(dso__bpf_prog(dso)->env, -+ info_linear->info.btf_id); -+ if (node) -+ btf = btf__new((__u8 *)(node->data), -+ node->data_size); -+ } -+ -+ disassemble_init_for_target(&info); -+ -+#ifdef DISASM_FOUR_ARGS_SIGNATURE -+ disassemble = disassembler(info.arch, -+ bfd_big_endian(bfdf), -+ info.mach, -+ bfdf); -+#else -+ disassemble = disassembler(bfdf); -+#endif -+ if (disassemble == NULL) -+ abort(); -+ -+ fflush(s); -+ do { -+ const struct bpf_line_info *linfo = NULL; -+ struct disasm_line *dl; -+ size_t prev_buf_size; -+ const char *srcline; -+ u64 addr; -+ -+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id]; -+ count = disassemble(pc, &info); -+ -+ if (prog_linfo) -+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo, -+ addr, sub_id, -+ nr_skip); -+ -+ if (linfo && btf) { -+ srcline = btf__name_by_offset(btf, linfo->line_off); -+ nr_skip++; -+ } else -+ srcline = NULL; -+ -+ fprintf(s, "\n"); -+ prev_buf_size = buf_size; -+ fflush(s); -+ -+ if (!annotate_opts.hide_src_code && srcline) { -+ args->offset = -1; -+ args->line = strdup(srcline); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) { -+ annotation_line__add(&dl->al, -+ ¬es->src->source); -+ } -+ } -+ -+ args->offset = pc; -+ args->line = buf + prev_buf_size; -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ args->ms.sym = sym; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ pc += count; -+ } while (count > 0 && pc < len); -+ -+ ret = 0; -+out: -+ free(prog_linfo); -+ btf__free(btf); -+ fclose(s); -+ bfd_close(bfdf); -+ return ret; -+} -+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, struct annotate_args *args __maybe_unused) -+{ -+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; -+} -+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT) -+ -+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args) -+{ -+ struct annotation *notes = symbol__annotation(sym); -+ struct disasm_line *dl; -+ -+ args->offset = -1; -+ args->line = strdup("to be implemented"); -+ args->line_nr = 0; -+ args->fileloc = NULL; -+ dl = disasm_line__new(args); -+ if (dl) -+ annotation_line__add(&dl->al, ¬es->src->source); -+ -+ zfree(&args->line); -+ return 0; -+} -diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h -new file mode 100644 -index 000000000000..2ecb19545388 ---- /dev/null -+++ b/tools/perf/util/disasm_bpf.h -@@ -0,0 +1,12 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+ -+#ifndef __PERF_DISASM_BPF_H -+#define __PERF_DISASM_BPF_H -+ -+struct symbol; -+struct annotate_args; -+ -+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args); -+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args); -+ -+#endif /* __PERF_DISASM_BPF_H */ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch new file mode 100644 index 00000000000..ca6e7bb07cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-6.11.7-annotate.patch @@ -0,0 +1,19 @@ + +Fix for bug #943203. + +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5363c306787c88d41a41493f81b4308643696f6e + +diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c +index a18927d792afc5..3bbf173ad822bc 100644 +--- a/tools/perf/util/symbol.c ++++ b/tools/perf/util/symbol.c +@@ -1931,6 +1931,9 @@ int dso__load(struct dso *dso, struct map *map) + if (next_slot) { + ss_pos++; + ++ if (dso__binary_type(dso) == DSO_BINARY_TYPE__NOT_FOUND) ++ dso__set_binary_type(dso, symtab_type); ++ + if (syms_ss && runtime_ss) + break; + } else { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild deleted file mode 100644 index 7668df3a67d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild +++ /dev/null @@ -1,342 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit bash-completion-r1 estack flag-o-matic linux-info llvm toolchain-funcs python-r1 - -DESCRIPTION="Userland tools for Linux Performance Counters" -HOMEPAGE="https://perf.wiki.kernel.org/" - -LINUX_V="${PV:0:1}.x" -if [[ ${PV} == *_rc* ]] ; then - LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) - PATCH_VERSION=$(ver_cut 1-3) - LINUX_PATCH=patch-${PV//_/-}.xz - SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} - https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" -elif [[ ${PV} == *.*.* ]] ; then - # stable-release series - LINUX_VER=$(ver_cut 1-2) - LINUX_PATCH=patch-${PV}.xz - SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" -else - LINUX_VER=${PV} -fi - -LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" -SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} -" - -# setuptools (and Python) are always needed even if not building Python bindings -BDEPEND=" - ${LINUX_PATCH+dev-util/patchutils} - ${PYTHON_DEPS} - >=app-arch/tar-1.34-r2 - dev-python/setuptools[${PYTHON_USEDEP}] - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - doc? ( - app-text/asciidoc - app-text/sgml-common - app-text/xmlto - sys-process/time - ) -" - -RDEPEND=" - audit? ( sys-process/audit ) - babeltrace? ( dev-util/babeltrace:0/1 ) - bpf? ( - dev-libs/libbpf - dev-util/bpftool - dev-util/pahole - sys-devel/clang:= - sys-devel/llvm:= - ) - caps? ( sys-libs/libcap ) - capstone? ( dev-libs/capstone ) - crypt? ( dev-libs/openssl:= ) - gtk? ( x11-libs/gtk+:2 ) - java? ( virtual/jre:* ) - libpfm? ( dev-libs/libpfm:= ) - libtraceevent? ( dev-libs/libtraceevent ) - libtracefs? ( dev-libs/libtracefs ) - lzma? ( app-arch/xz-utils ) - numa? ( sys-process/numactl ) - perl? ( dev-lang/perl:= ) - python? ( ${PYTHON_DEPS} ) - slang? ( sys-libs/slang ) - systemtap? ( dev-debug/systemtap ) - tcmalloc? ( dev-util/google-perftools ) - unwind? ( sys-libs/libunwind:= ) - zstd? ( app-arch/zstd:= ) - dev-libs/elfutils - sys-libs/binutils-libs:= - sys-libs/zlib - virtual/libcrypt -" - -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-5.10 - java? ( virtual/jdk ) -" - -QA_FLAGS_IGNORED=( - 'usr/bin/perf-read-vdso32' # not linked with anything except for libc - 'usr/libexec/perf-core/dlfilters/.*' # plugins -) - -pkg_pretend() { - if ! use doc ; then - ewarn "Without the doc USE flag you won't get any documentation nor man pages." - ewarn "And without man pages, you won't get any --help output for perf and its" - ewarn "sub-tools." - fi -} - -pkg_setup() { - local CONFIG_CHECK=" - ~DEBUG_INFO - ~FTRACE - ~FTRACE_SYSCALLS - ~FUNCTION_TRACER - ~KALLSYMS - ~KALLSYMS_ALL - ~KPROBES - ~KPROBE_EVENTS - ~PERF_EVENTS - ~UPROBES - ~UPROBE_EVENTS - " - - use bpf && llvm_pkg_setup - # We enable python unconditionally as libbpf always generates - # API headers using python script - python_setup - - if use bpf ; then - CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT" - fi - - linux-info_pkg_setup -} - -# src_unpack and src_prepare are copied to dev-util/bpftool since -# it's building from the same tarball, please keep it in sync with bpftool -src_unpack() { - local paths=( - kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts} - scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools" - ) - - # We expect the tar implementation to support the -j option (both - # GNU tar and libarchive's tar support that). - echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" - gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ - "${paths[@]/#/linux-${LINUX_VER}/}" || die - - if [[ -n ${LINUX_PATCH} ]] ; then - eshopts_push -o noglob - ebegin "Filtering partial source patch" - filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ - > ${P}.patch - eend $? || die "filterdiff failed" - eshopts_pop - fi - - local a - for a in ${A}; do - [[ ${a} == ${LINUX_SOURCES} ]] && continue - [[ ${a} == ${LINUX_PATCH} ]] && continue - unpack ${a} - done -} - -src_prepare() { - default - if [[ -n ${LINUX_PATCH} ]] ; then - pushd "${S_K}" >/dev/null || die - eapply "${WORKDIR}"/${P}.patch - popd || die - fi - - pushd "${S_K}" >/dev/null || die - eapply "${FILESDIR}"/perf-6.4-libtracefs.patch - eapply "${FILESDIR}"/perf-6.10-bpf-capstone.patch - eapply "${FILESDIR}"/perf-6.10-expr.patch - popd || die - - # Drop some upstream too-developer-oriented flags and fix the - # Makefile in general - sed -i \ - -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ - "${S}"/Makefile.perf || die - # A few places still use -Werror w/out $(WERROR) protection. - sed -i -e 's@-Werror@@' \ - "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ - "${S_K}"/tools/lib/perf/Makefile || die - - # Avoid the call to make kernelversion - sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die - echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE - - # The code likes to compile local assembly files which lack ELF markings. - find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + -} - -puse() { usex $1 "" 1; } -perf_make() { - # The arch parsing is a bit funky. The perf tools package is integrated - # into the kernel, so it wants an ARCH that looks like the kernel arch, - # but it also wants to know about the split value -- i386/x86_64 vs just - # x86. We can get that by telling the func to use an older linux version. - # It's kind of a hack, but not that bad ... - - # LIBDIR sets a search path of perf-gtk.so. Bug 515954 - - local arch=$(tc-arch-kernel) - local java_dir - use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" - - # sync this with the whitelist in tools/perf/Makefile.config - local disable_libdw - if ! use amd64 && ! use x86 && \ - ! use arm && \ - ! use arm64 && \ - ! use ppc && ! use ppc64 \ - ! use s390 && \ - ! use riscv && \ - ! use loong - then - disable_libdw=1 - fi - - # perf directly invokes LD for linking without going through CC, on mips - # it is required to specify the emulation. port of below buildroot patch - # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ - local linker="$(tc-getLD)" - if use mips - then - if use big-endian - then - use abi_mips_n64 && linker+=" -m elf64btsmip" - use abi_mips_n32 && linker+=" -m elf32btsmipn32" - use abi_mips_o32 && linker+=" -m elf32btsmip" - else - use abi_mips_n64 && linker+=" -m elf64ltsmip" - use abi_mips_n32 && linker+=" -m elf32ltsmipn32" - use abi_mips_o32 && linker+=" -m elf32ltsmip" - fi - fi - - # FIXME: NO_CORESIGHT - local emakeargs=( - V=1 VF=1 - HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" - CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" - CLANG="${CHOST}-clang" - PKG_CONFIG="$(tc-getPKG_CONFIG)" - prefix="${EPREFIX}/usr" bindir_relative="bin" - tipdir="share/doc/${PF}" - EXTRA_CFLAGS="${CFLAGS}" - EXTRA_LDFLAGS="${LDFLAGS}" - ARCH="${arch}" - BUILD_BPF_SKEL=$(usex bpf 1 "") \ - BUILD_NONDISTRO=1 - JDIR="${java_dir}" - CORESIGHT= - GTK2=$(usex gtk 1 "") - feature-gtk2-infobar=$(usex gtk 1 "") - NO_AUXTRACE= - NO_BACKTRACE= - NO_CAPSTONE=$(puse capstone) - NO_DEMANGLE= - NO_JEVENTS=$(puse python) - NO_JVMTI=$(puse java) - NO_LIBAUDIT=$(puse audit) - NO_LIBBABELTRACE=$(puse babeltrace) - NO_LIBBIONIC=1 - NO_LIBBPF=$(puse bpf) - NO_LIBCAP=$(puse caps) - NO_LIBCRYPTO=$(puse crypt) - NO_LIBDW_DWARF_UNWIND="${disable_libdw}" - NO_LIBELF= - NO_LIBNUMA=$(puse numa) - NO_LIBPERL=$(puse perl) - NO_LIBPFM4=$(puse libpfm) - NO_LIBPYTHON=$(puse python) - NO_LIBTRACEEVENT=$(puse libtraceevent) - NO_LIBUNWIND=$(puse unwind) - NO_LIBZSTD=$(puse zstd) - NO_SDT=$(puse systemtap) - NO_SHELLCHECK=1 - NO_SLANG=$(puse slang) - NO_LZMA=$(puse lzma) - NO_ZLIB= - TCMALLOC=$(usex tcmalloc 1 "") - WERROR=0 - DEBUG=$(usex debug 1 "") - LIBDIR="/usr/libexec/perf-core" - libdir="${EPREFIX}/usr/$(get_libdir)" - plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" - "$@" - ) - emake "${emakeargs[@]}" -} - -src_compile() { - filter-lto - - perf_make -f Makefile.perf - use doc && perf_make -C Documentation man -} - -src_test() { - : -} - -src_install() { - _install_python_ext() { - perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" - } - - perf_make -f Makefile.perf install DESTDIR="${D}" - - if use python; then - python_foreach_impl _install_python_ext - fi - - if use gtk; then - local libdir - libdir="$(get_libdir)" - # on some arches it ends up in lib even on 64bit, ppc64 for instance. - [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" - mv "${ED}"/usr/${libdir}/libperf-gtk.so \ - "${ED}"/usr/libexec/perf-core || die - fi - - dodoc CREDITS - - dodoc *txt Documentation/*.txt - - # perf needs this decompressed to print out tips for users - docompress -x /usr/share/doc/${PF}/tips.txt - - if use doc ; then - doman Documentation/*.1 - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.7.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.7.ebuild index b523d8477bf..9b0cb46b57c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.11.7.ebuild @@ -34,7 +34,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" REQUIRED_USE=" @@ -177,11 +177,11 @@ src_prepare() { if [[ -n ${LINUX_PATCH} ]] ; then pushd "${S_K}" >/dev/null || die eapply "${WORKDIR}"/${P}.patch + eapply "${FILESDIR}"/perf-6.11.7-annotate.patch popd || die fi pushd "${S_K}" >/dev/null || die - eapply "${FILESDIR}"/perf-6.11-bpf-capstone.patch popd || die # Drop some upstream too-developer-oriented flags and fix the diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.12.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.12.ebuild index df1101c9dc1..c3d4af9bc2f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.12.ebuild @@ -3,8 +3,9 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) -inherit bash-completion-r1 estack flag-o-matic linux-info llvm toolchain-funcs python-r1 +LLVM_COMPAT=( {16..19} ) +PYTHON_COMPAT=( python3_{10..13} python3_13t) +inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 DESCRIPTION="Userland tools for Linux Performance Counters" HOMEPAGE="https://perf.wiki.kernel.org/" @@ -64,8 +65,10 @@ RDEPEND=" dev-libs/libbpf dev-util/bpftool dev-util/pahole - sys-devel/clang:= - sys-devel/llvm:= + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) @@ -110,7 +113,9 @@ pkg_pretend() { pkg_setup() { local CONFIG_CHECK=" + ~!SCHED_OMIT_FRAME_POINTER ~DEBUG_INFO + ~FRAME_POINTER ~FTRACE ~FTRACE_SYSCALLS ~FUNCTION_TRACER @@ -119,17 +124,19 @@ pkg_setup() { ~KPROBES ~KPROBE_EVENTS ~PERF_EVENTS + ~STACKTRACE + ~TRACEPOINTS ~UPROBES ~UPROBE_EVENTS " - use bpf && llvm_pkg_setup + use bpf && llvm-r1_pkg_setup # We enable python unconditionally as libbpf always generates # API headers using python script python_setup if use bpf ; then - CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT" + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER" fi linux-info_pkg_setup @@ -178,9 +185,7 @@ src_prepare() { fi pushd "${S_K}" >/dev/null || die - eapply "${FILESDIR}"/perf-6.4-libtracefs.patch - eapply "${FILESDIR}"/perf-6.10-expr.patch - eapply "${FILESDIR}"/perf-6.10.3-bpf-capstone.patch + # Gentoo patches go here popd || die # Drop some upstream too-developer-oriented flags and fix the 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 c9337818246..be612f49d31 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.30.tar.gz 378098 BLAKE2B f80224d707f7656ca45f58932936e1ce780d670be596312532b88940fbe1cfb1c7e14a877a955fc4f21fb003a2ee5c6095c2c6919475cdc95db9be0736050b50 SHA512 078ba2275e39e645eca22a265c9f06c6dd7d1cb310979ab5e48bb86a374b42edc50c0ca8d0bd671a3b51341b7fae80ff2c9adf2dc2eeabd93a545c84373902b4 DIST pkgcheck-0.10.31.tar.gz 379079 BLAKE2B b3e308a8d496c954d649677a41394b1fe1fbab43ce6c629616249306fafaad8e5c2cfa38fc9c838117f7abc381a0c04cea60ba5a2b3ab6a1612bbfc68d858832 SHA512 539cf262c950547dbd85441a7b40e76fcdc0810fdd633ab9042a13c7b19db4826c05ea1bbacf64b50c68884e31fff6a88e6b2baf94b2e6a4b2738123441da6ec +DIST pkgcheck-0.10.32.tar.gz 380032 BLAKE2B a424f49932c1a55d39cb1869aedb2adb5fe25f9edd0d87037b8364dcacb263fba12db601966da983fc62e142f3bc8d07259a05e0be92b6ece5cf26111c0a6db1 SHA512 86aa47bd71c2553e1b9e4fcf7ca1749a7e249e8f2656438fd0d9527583625bb57cae07e64d39e35345ca11831b1cf7d489e9c68d220e2f39e8af01bc8dc37017 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.32.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.32.ebuild new file mode 100644 index 00000000000..e8720591938 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.32.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..13} ) +inherit elisp-common distutils-r1 optfeature + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcheck.git + https://github.com/pkgcore/pkgcheck.git" + inherit git-r3 +else + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="pkgcore-based QA utility for ebuild repos" +HOMEPAGE="https://github.com/pkgcore/pkgcheck" + +LICENSE="BSD MIT" +SLOT="0" +IUSE="emacs" + +if [[ ${PV} == *9999 ]]; then + RDEPEND=" + ~dev-python/snakeoil-9999[${PYTHON_USEDEP}] + ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" +else + RDEPEND=" + >=dev-python/snakeoil-0.10.8[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.25[${PYTHON_USEDEP}]" +fi +RDEPEND+=" + >=dev-libs/tree-sitter-bash-0.21.0[python,${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/lazy-object-proxy[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pathspec[${PYTHON_USEDEP}] + >=dev-python/tree-sitter-0.23.0[${PYTHON_USEDEP}] + =app-editors/emacs-24.1:* + app-emacs/ebuild-mode + app-emacs/flycheck + ) +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-python/requests[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +SITEFILE="50${PN}-gentoo.el" + +distutils_enable_tests pytest + +export USE_SYSTEM_TREE_SITTER_BASH=1 + +src_compile() { + distutils-r1_src_compile + + if use emacs ; then + pushd "${S}"/contrib/emacs >/dev/null || die + elisp-compile *.el + popd >/dev/null || die + fi +} + +python_install_all() { + local DOCS=( NEWS.rst ) + [[ ${PV} == *9999 ]] || doman build/sphinx/man/* + distutils-r1_python_install_all + + if use emacs ; then + elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen + + optfeature "Network check support" dev-python/requests + optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild index 09d0e362795..23b3cffe185 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" else SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild index d9f822703a4..92b5f670063 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-3.1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/skvadrik/re2c/releases/download/${PV}/${P}.tar.xz" LICENSE="public-domain" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="debug test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest b/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest index 350fc367880..8fc74a095af 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/Manifest @@ -2,11 +2,14 @@ DIST git-2.44.2.tar.xz 7435020 BLAKE2B 625071528e6575af86aa51d7d5baeaa9b1b8be0e9 DIST git-2.45.2.tar.xz 7487680 BLAKE2B 477acc786c26e0b04843ad6d07333607b2274d587263d72c6d036cade725e6f62f8c773903f401c799de71527d0473589afc507eec02f445e0c148dd7cbf407c SHA512 dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73 DIST git-2.46.2.tar.xz 7581344 BLAKE2B 1ea2a166bd2717d581020a9921cf7e82dc2c77e2a9bd6bc70f4b6396c214c74b30e8ae6815eba33bd2995f7a6e2570b96c51acbfce25ab85e05d5fdbd09d870c SHA512 d8d1cec9a4ddc7b1892b7f5b3c808d235bcd4bfb1714ce0ce0e721242acc94f9ae7c2ae3181311feb5b458b04e89cd32acd3e9c90adbc4e86e05e7d5589d8a00 DIST git-2.47.0.tar.xz 7652728 BLAKE2B f1d767aad6a917efe0c2e7f52163daca796640fb7f7ac8c1d6ead91ce3019f9a5ddd7ce8890ff37aaff1320d1b0b59399469fc9cb0f66cfc6893d2b3bbeee56e SHA512 58683aa59dba25ffec9fe2c185267c77b34d573e9738c133a15d25071e37095e99486c231c35b8f71aabe3c1e305238b56d2c10039318bfc08f137919bad66ec +DIST git-2.47.1.tar.xz 7654244 BLAKE2B 5dd5d1bde226469d8de0952456dbaa408739f8613cfefdd76715e6a2bc1fdf8695740f005cc3b2caab876fccfbff0609201a827e0bd9837ec68056ba2a41da34 SHA512 6abe551c464b307bc3f6f474257e0be3e1a9eba1406af6463216b796c55a35356009c2f7bd9b4fa2d1798da5f885a3843f6ad8750ab69595f748f9ea8ed76fea DIST git-htmldocs-2.44.2.tar.xz 1559412 BLAKE2B 9a62ab1d70b009a9bc29250c49ca835a46928703a73ec004ea57e7dc74212c5a29d7e0784cd752c8d2c1e23b70702e2c2f280904dfedefb3d4a687002a950596 SHA512 2a82e3c37aaca91643976d21fac3bd82b23fe2374856d73b0ba726339450ea6f8a5e8e38326546292f83923e28da280ca3bed549afff1aad684ebfb3926e4992 DIST git-htmldocs-2.45.2.tar.xz 1569148 BLAKE2B 5013a13da54d87728f621a09d04dee1cba7b44d230360394b86e04269bf276399cf44de74ffc14a76ec1724e1015b630300d551b3a268273a768e0edc1a7fa45 SHA512 272bb31d8d43b270d5281c5d1beadea8e5a580c738ece2580d2c6ba7e7fe6fdbca71b672a2811273119495e62613f7a4d34764b4dfbc26e4dbf9dee5797fb440 DIST git-htmldocs-2.46.2.tar.xz 1553104 BLAKE2B 9a7b784c1a01153dc660b4fe6eaa3ceac2d30eeb96015ab4ec73296811d27cc84715abd19f723ad16c64028114c2aceee2727380e7c9f8ff220ae4538dcc9c62 SHA512 51c5363ac48f04118071218ea095dae97676ac299a482511ef55e9267724f08e7c021ffa15418d9e32e676333ba31643c9049860f154f58a67d9604e141376c3 DIST git-htmldocs-2.47.0.tar.xz 1564012 BLAKE2B 9d9d234ac8c7eb6861a2ee1bd9000ae7150b33346adf8e830712c0fa2c068e5173a52ff0f937f64a2f2a2270853ca7d62965361d124a98bfe4e39d63a8e0aae6 SHA512 4e8cfabfcdfaa12d23ba21ee3612a841e1731c174cb1d73c9fee12a345e5ee792c1ad0f5c15b4f73ad6eb4496a1e3450aaacdd65e5f875e60c9eb355cc4134fe +DIST git-htmldocs-2.47.1.tar.xz 1564776 BLAKE2B ff8c313e00867423ddb122572e730868541ab22c76cb73aad54ee5dab298c4a8fdc29d50ebdceb658d7799132258dad9ffcaa582439a74463a8c212c3d82005c SHA512 7df2c572413d42f954c0ca01577f9324a60810dd712a8a36b0b503708d9795a90ffa95ee96b13c082796e276bcbc65094de32ade0f71ff744f6e45869cbbb4d7 DIST git-manpages-2.44.2.tar.xz 574316 BLAKE2B ecfca8e05ca682097376ce6a1e8b9de8fcc36472860321987be12291a53d1a92befb950fd856775df65f28300b267b80975775cba046cfb89159887e8cba5516 SHA512 2ad6d922acf46028b3b7dd5a686c0396e5452e4d50b32ba9af0cc51cc3431003524b91279e2a795065a179af3d760ce72530580295ed09a53673274cf9567cc6 DIST git-manpages-2.45.2.tar.xz 576428 BLAKE2B c89ebd25c0caf391fcd29cc8609252daf2cf742a8cc78ce5b64931befb126c951ebb7504bc8ccbee06b81727dc3e4ded67c69adf8d737f4df38dfda758e3c734 SHA512 d39a5c92c1cfcae145713b8ff1a84258947392a3cf1490e3f7d4f87836d05e79dc4fecbff16b7c1bc314572d6d32aa2c29e7fcde993b549b2fab71620734c19b DIST git-manpages-2.46.2.tar.xz 584812 BLAKE2B dd5592a1fd61b6eda0afa4f9292ce86dd14bca6a88016f96c53617f6505f27cc9a2ba9437c6330bb8003b3f57cd1e75bf441bf2a2168554bbda9c26db37db4cb SHA512 ce7a2a1fbb9376182b8ce3ed772fbeeef2cf338bc06bf9bcf3c07a65419e41b3754d6851a44886d0b07dfd82f8eefe7b8b1d9f5c28ed6b6a0ea4168ed457e121 DIST git-manpages-2.47.0.tar.xz 586352 BLAKE2B 87a1de077672e3246df26d2603221bcd06ed1844bf43a092afb630335a7da62866f497144b97106aec8565fd847010aa20e64ee24a87fc05d3e24884047e9a89 SHA512 898bf91b88910a8046fc4eefc1bfb98910d38db28846e4e04c44664f34723e406566622fd443ff332556545ca90c6519557389b75f159bbaf07044ab0cc83ac5 +DIST git-manpages-2.47.1.tar.xz 586432 BLAKE2B df4eafa03ba235202c361d16fd6db1c6b2a4fea5501f62dcd7b53e3764542a2b70ab44e1525d5f4437dad9505c507ba88aa14b1e8e828713b81cb66b6d9a73c2 SHA512 9acd5207e6c2751ec87708eedc4f060ee6bed0841564f787cd3fd5dbce712c4c2afbb9ce4e85a466fb52a8f399420ca24c7cd4eb8e14edb7ea7a5c06e3c82a5e diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.0-r1.ebuild index 0de66a8aadb..02512210c10 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.0-r1.ebuild @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -326,6 +326,9 @@ git_emake() { } src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + exportmakeopts } diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.1.ebuild new file mode 100644 index 00000000000..39ba0bb5efe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.47.1.ebuild @@ -0,0 +1,670 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd + +PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" + + inherit git-r3 + # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. + # See https://git-scm.com/docs/gitworkflows#_graduation + # In order of stability: + # 9999-r0: maint + # 9999-r1: master + # 9999-r2: next + # 9999-r3: seen + case ${PVR} in + 9999) EGIT_BRANCH=maint ;; + 9999-r1) EGIT_BRANCH=master ;; + 9999-r2) EGIT_BRANCH=next;; + 9999-r3) EGIT_BRANCH=seen ;; + esac +fi + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER="${MY_PV}" + +DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" +HOMEPAGE="https://www.git-scm.com/" + +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" + + [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' + + SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + sys-libs/zlib + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + iconv? ( virtual/libiconv ) + pcre? ( dev-libs/libpcre2:= ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:= ) +" +RDEPEND=" + ${DEPEND} + gpg? ( app-crypt/gnupg ) + perl? ( + dev-perl/Error + dev-perl/MailTools + dev-perl/Authen-SASL + >=virtual/perl-libnet-3.110.0-r4[ssl] + cgi? ( + dev-perl/CGI + highlight? ( app-text/highlight ) + ) + cvs? ( + >=dev-vcs/cvsps-2.1:0 + dev-perl/DBI + dev-perl/DBD-SQLite + ) + mediawiki? ( + dev-perl/DateTime-Format-ISO8601 + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + subversion? ( + dev-vcs/subversion[-dso(-),perl] + dev-perl/libwww-perl + dev-perl/TermReadKey + ) + ) + perforce? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-git ) +" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +BDEPEND=" + doc? ( + app-text/asciidoc + app-text/docbook2X + app-text/xmlto + sys-apps/texinfo + ) + keyring? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( app-crypt/gnupg ) +" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + BDEPEND+=" app-text/asciidoc" +fi + +SITEFILE="50${PN}-gentoo.el" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + perforce? ( ${PYTHON_REQUIRED_USE} ) + subversion? ( perl ) + webdav? ( curl ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + # Avoid automagic CVS, bug #350330 + "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch +) + +pkg_setup() { + if use subversion && has_version "dev-vcs/subversion[dso]" ; then + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" + ewarn "with USE=dso, there may be weird crashes in git-svn. You" + ewarn "have been warned!" + fi + + if use perforce ; then + python-single-r1_pkg_setup + fi +} + +# This is needed because for some obscure reasons future calls to make don't +# pick up these exports if we export them in src_unpack() +exportmakeopts() { + local extlibs myopts + + myopts=( + ASCIIDOC_NO_ROFF=YesPlease + + $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) + + $(usev elibc_musl NO_REGEX=NeedsStartEnd) + $(usev !cvs NO_CVS=YesPlease) + $(usev !iconv NO_ICONV=YesPlease) + $(usev !nls NO_GETTEXT=YesPlease) + $(usev !perforce NO_PYTHON=YesPlease) + $(usev !subversion NO_SVN_TESTS=YesPlease) + $(usev !tk NO_TCLTK=YesPlease) + ) + + if use blksha1 ; then + myopts+=( BLK_SHA1=YesPlease ) + fi + + if use curl ; then + use webdav || myopts+=( NO_EXPAT=YesPlease ) + else + myopts+=( NO_CURL=YesPlease ) + fi + + # Broken assumptions because of static build system + myopts+=( + NO_FINK=YesPlease + NO_DARWIN_PORTS=YesPlease + INSTALL=install + TAR=tar + SHELL_PATH="${EPREFIX}/bin/sh" + SANE_TOOL_PATH= + OLD_ICONV= + NO_EXTERNAL_GREP= + ) + + # Can't define this to null, since the entire makefile depends on it + sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die + + if use pcre; then + myopts+=( USE_LIBPCRE2=YesPlease ) + extlibs+=( -lpcre2-8 ) + fi + + if [[ ${CHOST} == *-solaris* ]]; then + myopts+=( + NEEDS_LIBICONV=YesPlease + HAVE_CLOCK_MONOTONIC=1 + ) + + if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then + myopts+=( HAVE_GETDELIM=1 ) + fi + fi + + myopts+=( ASCIIDOC8=YesPlease ) + + export MY_MAKEOPTS="${myopts[@]}" + export EXTLIBS="${extlibs[@]}" +} + +src_unpack() { + if [[ ${PV} != *9999 ]] ; then + unpack ${MY_P}.tar.${SRC_URI_SUFFIX} + + cd "${S}" || die + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + + if use doc ; then + pushd "${S}"/Documentation &>/dev/null || die + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + popd &>/dev/null || die + fi + else + git-r3_src_unpack + #cp "${FILESDIR}"/GIT-VERSION-GEN . || die + fi + +} + +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default + + if use prefix ; then + # bug #757309 + sed -i \ + -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ + -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ + config.mak.uname || die + fi + + sed -i \ + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + Makefile || die + + # Fix docbook2texi command + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ + Documentation/Makefile || die +} + +git_emake() { + # bug #320647: PYTHON_PATH + local PYTHON_PATH="" + use perforce && PYTHON_PATH="${PYTHON}" + + local mymakeargs=( + ${MY_MAKEOPTS} + + prefix="${EPREFIX}"/usr + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html + perllibdir="$(use perl && perl_get_raw_vendorlib)" + sysconfdir="${EPREFIX}"/etc + + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + + # TODO: --verbose? + GIT_TEST_OPTS="--no-color" + + OPTAR="$(tc-getAR)" + OPTCC="$(tc-getCC)" + OPTCFLAGS="${CFLAGS}" + OPTLDFLAGS="${LDFLAGS}" + + CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config" + CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)" + CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)" + + PERL_PATH="${EPREFIX}/usr/bin/perl" + PERL_MM_OPT="" + + PYTHON_PATH="${PYTHON_PATH}" + + V=1 + "$@" + ) + + emake "${mymakeargs[@]}" +} + +src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + + exportmakeopts +} + +src_compile() { + git_emake + + if use perl && use cgi ; then + git_emake gitweb + fi + + if use perl ; then + git_emake -C contrib/credential/netrc + fi + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + git_emake -C contrib/credential/osxkeychain + fi + + pushd Documentation &>/dev/null || die + if [[ ${PV} == *9999 ]] ; then + git_emake man + if use doc ; then + git_emake info html + fi + else + if use doc ; then + git_emake info + fi + fi + popd &>/dev/null || die + + if use keyring ; then + git_emake -C contrib/credential/libsecret + fi + + pushd contrib/subtree &>/dev/null || die + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 + popd &>/dev/null || die + + git_emake -C contrib/diff-highlight + + if use mediawiki ; then + git_emake -C contrib/mw-to-git + fi +} + +src_test() { + local disabled=( + # We make safe-directory optional + t0033-safe-directory.sh + ) + + local tests_cvs=( + t9200-git-cvsexportcommit.sh + t9400-git-cvsserver-server.sh + t9401-git-cvsserver-crlf.sh + t9402-git-cvsserver-refs.sh + t9600-cvsimport.sh + t9601-cvsimport-vendor-branch.sh + t9602-cvsimport-branches-tags.sh + t9603-cvsimport-patchsets.sh + t9604-cvsimport-timestamps.sh + ) + + local tests_perl=( + t3701-add-interactive.sh + t5502-quickfetch.sh + t5512-ls-remote.sh + t5520-pull.sh + t7106-reset-unborn-branch.sh + t7501-commit.sh + ) + # Bug #225601 - t0004 is not suitable for root perm + # Bug #219839 - t1004 is not suitable for root perm + # t0001-init.sh - check for init notices EPERM* fails + local tests_nonroot=( + t0001-init.sh + t0004-unwritable.sh + t0070-fundamental.sh + t1004-read-tree-m-u-wf.sh + t3700-add.sh + t7300-clean.sh + ) + # t9100 still fails with symlinks in SVN 1.7 + local test_svn=( t9100-git-svn-basic.sh ) + + # Unzip is used only for the testcase code, not by any normal parts of Git. + if ! has_version app-arch/unzip ; then + einfo "Disabling tar-tree tests" + disabled+=( t5000-tar-tree.sh ) + fi + + local cvs=0 + use cvs && let cvs=${cvs}+1 + if [[ ${EUID} -eq 0 ]] ; then + if [[ ${cvs} -eq 1 ]] ; then + ewarn "Skipping CVS tests because CVS does not work as root!" + ewarn "You should retest with FEATURES=userpriv!" + disabled+=( ${tests_cvs[@]} ) + fi + einfo "Skipping other tests that require being non-root" + disabled+=( ${tests_nonroot[@]} ) + else + if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then + let cvs=${cvs}+1 + fi + + if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then + let cvs=${cvs}+1 + fi + + if [[ ${cvs} -lt 3 ]] ; then + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" + disabled+=( ${tests_cvs[@]} ) + fi + fi + + if ! use perl ; then + einfo "Disabling tests that need Perl" + disabled+=( ${tests_perl[@]} ) + fi + + einfo "Disabling tests that fail with SVN 1.7" + disabled+=( ${test_svn[@]} ) + + # Reset all previously disabled tests + pushd t &>/dev/null || die + local i + for i in *.sh.DISABLED ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" + done + einfo "Disabled tests:" + for i in ${disabled[@]} ; do + if [[ -f "${i}" ]] ; then + mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" + fi + done + + # Avoid the test system removing the results because we want them ourselves + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die + + # Clean old results first, must always run + nonfatal git_emake clean + popd &>/dev/null || die + + # Now run the tests, keep going if we hit an error, and don't terminate on + # failure + local rc + # t0610-reftable-basics.sh uses $A + local -x A= + einfo "Start test run" + #MAKEOPTS=-j1 + nonfatal git_emake --keep-going test + rc=$? + + # Display nice results, now print the results + pushd t &>/dev/null || die + nonfatal git_emake aggregate-results + + # And bail if there was a problem + [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!" + + popd &>/dev/null || die + if use perl ; then + emake -C contrib/credential/netrc testverbose + fi +} + +src_install() { + git_emake DESTDIR="${D}" install + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + dobin contrib/credential/osxkeychain/git-credential-osxkeychain + fi + + # Depending on the tarball and manual rebuild of the documentation, the + # manpages may exist in either OR both of these directories. + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] + dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} + use doc && dodir /usr/share/doc/${PF}/html + local d + for d in / /howto/ /technical/ ; do + docinto ${d} + dodoc Documentation${d}*.txt + if use doc ; then + docinto ${d}/html + dodoc Documentation${d}*.html + fi + done + docinto / + # Upstream does not ship this pre-built :-( + use doc && doinfo Documentation/{git,gitman}.info + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # git-subtree + pushd contrib/subtree &>/dev/null || die + git_emake DESTDIR="${D}" install + if use doc ; then + # Do not move git subtree install-man outside USE=doc! + git_emake DESTDIR="${D}" install-man install-html + fi + newdoc README README.git-subtree + dodoc git-subtree.txt + popd &>/dev/null || die + + if use mediawiki ; then + git_emake -C contrib/mw-to-git DESTDIR="${D}" install + fi + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + # git-contacts + exeinto /usr/libexec/git-core/ + doexe contrib/contacts/git-contacts + dodoc contrib/contacts/git-contacts.txt + + if use keyring ; then + pushd contrib/credential/libsecret &>/dev/null || die + dobin git-credential-libsecret + popd &>/dev/null || die + fi + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # diff-highlight - done above + # emacs - removed upstream + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - build seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + hooks + remotes2config.sh + rerere-train.sh + stats + workdir + ) + local i + for i in "${contrib_objects[@]}" ; do + cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" + done + + if use perl && use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym ../gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + for d in "${ED}"/usr/lib{,64}/perl5/ ; do + if [[ -d "${d}" ]] ; then + find "${d}" -name .packlist -delete || die + fi + done + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if use perl ; then + pushd contrib/credential/netrc &>/dev/null || die + dobin git-credential-netrc + popd &>/dev/null || die + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if ! use prefix ; then + newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + perl_delete_localpod + + # Remove disabled linguas + # we could remove sources in src_prepare, but install does not + # handle missing locale dir well + rm_loc() { + if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then + rm -r "${ED}/usr/share/locale/${1}" || die + fi + } + plocale_for_each_disabled_locale rm_loc +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Please read /usr/share/bash-completion/completions/git for Git bash command" + elog "completion." + elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + elog "Note that the prompt bash code is now in that separate script" + fi + + optfeature_header "Some scripts require additional dependencies:" + optfeature git-quiltimport dev-util/quilt + optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx +} diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild index 17a8afd1ac8..39ba0bb5efe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r1.ebuild @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -323,6 +323,9 @@ git_emake() { } src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + exportmakeopts } diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild index 17a8afd1ac8..39ba0bb5efe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r2.ebuild @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -323,6 +323,9 @@ git_emake() { } src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + exportmakeopts } diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild index 17a8afd1ac8..39ba0bb5efe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -323,6 +323,9 @@ git_emake() { } src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + exportmakeopts } diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild index 17a8afd1ac8..39ba0bb5efe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999.ebuild @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -323,6 +323,9 @@ git_emake() { } src_configure() { + # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ + append-cflags -std=gnu17 + exportmakeopts } diff --git a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass index 7ab8dcae326..a65dd3ef2a8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass @@ -256,7 +256,7 @@ _distutils_set_globals() { ;; flit_scm) bdep+=' - >=dev-python/flit_scm-1.7.0[${PYTHON_USEDEP}] + >=dev-python/flit-scm-1.7.0[${PYTHON_USEDEP}] ' ;; hatchling) @@ -271,7 +271,7 @@ _distutils_set_globals() { ;; maturin) bdep+=' - >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}] + >=dev-util/maturin-1.7.4[${PYTHON_USEDEP}] ' ;; no) @@ -836,7 +836,7 @@ _distutils-r1_print_package_versions() { flit_scm) packages+=( dev-python/flit-core - dev-python/flit_scm + dev-python/flit-scm dev-python/setuptools-scm ) ;; @@ -1257,13 +1257,21 @@ distutils_pep517_install() { cmd+=( cargo_env ) fi + # set it globally in case we were using "standalone" wrapper + local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1 + local -x VALIDATE_PYPROJECT_NO_NETWORK=1 + local -x VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1 + if in_iuse debug && use debug; then + local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev + fi + case ${DISTUTILS_USE_PEP517} in maturin) # `maturin pep517 build-wheel --help` for options local maturin_args=( "${DISTUTILS_ARGS[@]}" + --auditwheel=skip # see bug #831171 --jobs="$(makeopts_jobs)" - --skip-auditwheel # see bug #831171 $(in_iuse debug && usex debug '--profile=dev' '') ) @@ -1348,9 +1356,6 @@ distutils_pep517_install() { ) ;; setuptools) - if in_iuse debug && use debug; then - local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev - fi if [[ -n ${DISTUTILS_ARGS[@]} ]]; then config_settings=$( "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die diff --git a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass index 477e1e954ab..5cb781a7a75 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: fcaps.eclass @@ -66,6 +66,12 @@ esac # # Note: If you override pkg_postinst, you must call fcaps_pkg_postinst yourself. +# @ECLASS_VARIABLE: FCAPS_DENY_WORLD_READ +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# When set, deny read access on files updated by the fcaps function. + # @FUNCTION: fcaps # @USAGE: [-o ] [-g ] [-m ] [-M ] # @DESCRIPTION: @@ -96,8 +102,13 @@ fcaps() { # Process the user options first. local owner='0' local group='0' - local mode='4711' - local caps_mode='711' + local mode=u+s + local caps_mode= + + if [[ -n ${FCAPS_DENY_WORLD_READ} ]]; then + mode=u+s,go-r + caps_mode=go-r + fi while [[ $# -gt 0 ]] ; do case $1 in @@ -137,9 +148,10 @@ fcaps() { # fs doesn't support it, but abort on all others. debug-print "${FUNCNAME}: setting caps '${caps}' on '${file}'" - # If everything goes well, we don't want the file to be readable - # by people. - chmod ${caps_mode} "${file}" || die + # Remove the read bits if requested. + if [[ -n ${caps_mode} ]]; then + chmod ${caps_mode} "${file}" || die + fi if ! out=$(LC_ALL=C setcap "${caps}" "${file}" 2>&1) ; then case ${out} in @@ -170,9 +182,14 @@ fcaps() { fi # If we're still here, setcaps failed. - debug-print "${FUNCNAME}: setting owner/mode on '${file}'" - chown "${owner}:${group}" "${file}" || die - chmod ${mode} "${file}" || die + if [[ -n ${owner} || -n ${group} ]]; then + debug-print "${FUNCNAME}: setting owner on '${file}'" + chown "${owner}:${group}" "${file}" || die + fi + if [[ -n ${mode} ]]; then + debug-print "${FUNCNAME}: setting mode on '${file}'" + chmod ${mode} "${file}" || die + fi done } diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass index 0c01a49f900..adc7b1bfec4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass @@ -167,8 +167,7 @@ inherit python-utils-r1 # @CODE _python_any_set_globals() { - local usestr deps i PYTHON_PKG_DEP - [[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]" + local deps i PYTHON_PKG_DEP _python_set_impls @@ -259,7 +258,7 @@ python_gen_any_dep() { local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}} i_depstr=${i_depstr//\$\{PYTHON_SINGLE_USEDEP\}/${PYTHON_SINGLE_USEDEP}} # note: need to strip '=' slot operator for || deps - out="( ${PYTHON_PKG_DEP%:=} ${i_depstr} ) ${out}" + out="( ${PYTHON_PKG_DEP/:=} ${i_depstr} ) ${out}" done echo "|| ( ${out})" } diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass index 555b6c561a1..0cb132b72e3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass @@ -40,8 +40,8 @@ inherit multiprocessing toolchain-funcs # All supported Python implementations, most preferred last. _PYTHON_ALL_IMPLS=( pypy3 - python3_{10..13} python3_13t + python3_{10..13} ) readonly _PYTHON_ALL_IMPLS @@ -450,20 +450,15 @@ _python_export() { local d case ${impl} in python*) - PYTHON_PKG_DEP="dev-lang/python:${impl#python}" + PYTHON_PKG_DEP="dev-lang/python:${impl#python}${PYTHON_REQ_USE:+[${PYTHON_REQ_USE}]}" ;; pypy3) - PYTHON_PKG_DEP="dev-python/${impl}:=" + PYTHON_PKG_DEP=">=dev-lang/pypy-3.10:=[symlink${PYTHON_REQ_USE:+,${PYTHON_REQ_USE}}]" ;; *) die "Invalid implementation: ${impl}" esac - # use-dep - if [[ ${PYTHON_REQ_USE} ]]; then - PYTHON_PKG_DEP+=[${PYTHON_REQ_USE}] - fi - export PYTHON_PKG_DEP debug-print "${FUNCNAME}: PYTHON_PKG_DEP = ${PYTHON_PKG_DEP}" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass index f293e96d7ce..68983f688e4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass @@ -13,8 +13,10 @@ # a given Rust slot. To use the eclass: # # 1. If required, set RUST_{MAX,MIN}_SLOT to the range of supported slots. +# # 2. If rust is optional, set RUST_OPTIONAL to a non-empty value then -# appropriately gate ${RUST_DEPEND} +# appropriately gate ${RUST_DEPEND} +# # 3. Use rust_pkg_setup, get_rust_prefix or RUST_SLOT. # Example use for a package supporting Rust 1.72.0 to 1.82.0: @@ -65,6 +67,7 @@ fi # @DESCRIPTION: # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( + ["1.83.0"]=19 ["1.82.0"]=19 ["1.81.0"]=18 ["1.80.1"]=18 @@ -82,6 +85,7 @@ declare -A -g -r _RUST_LLVM_MAP=( # While _RUST_LLVM_MAP stores useful info about the relationship between Rust and LLVM slots, # this array is used to store the Rust slots in a more convenient order for iteration. declare -a -g -r _RUST_SLOTS_ORDERED=( + "1.83.0" "1.82.0" "1.81.0" "1.80.1" @@ -106,7 +110,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # Lowest Rust slot supported by the package. Needs to be set before # rust_pkg_setup is called. If unset, no lower bound is assumed. -# @eclass-variable: RUST_NEEDS_LLVM +# @ECLASS_VARIABLE: RUST_NEEDS_LLVM # @DEFAULT_UNSET # @DESCRIPTION: # If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated @@ -118,7 +122,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( # an invalid combination of RUST and LLVM slots is detected; this probably # means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered. -# @eclass-variable: RUST_MULTILIB +# @ECLASS_VARIABLE: RUST_MULTILIB # @DEFAULT_UNSET # @DESCRIPTION: # If set to a non-empty value insert MULTILIB_USEDEP into the generated diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 1f043de0b54..be8bfcddfaf 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -33,7 +33,12 @@ tc_is_live() { } if tc_is_live ; then - EGIT_REPO_URI="https://gcc.gnu.org/git/gcc.git https://github.com/gcc-mirror/gcc" + EGIT_REPO_URI=" + https://gcc.gnu.org/git/gcc.git + https://git.sr.ht/~sourceware/gcc + https://gitlab.com/x86-gcc/gcc.git + https://github.com/gcc-mirror/gcc.git + " # Naming style: # gcc-10.1.0_pre9999 -> gcc-10-branch # Note that the micro version is required or lots of stuff will break. @@ -333,6 +338,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then # it was disabled in 13. tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust" TC_FEATURES+=( rust ) tc_version_is_at_least 14.2.1_p20241026 ${PV} && IUSE+=" time64" + tc_version_is_at_least 15.0.0_pre20241124 ${PV} && IUSE+=" libgdiagnostics" fi if tc_version_is_at_least 10; then @@ -575,6 +581,19 @@ toolchain_pkg_pretend() { _tc_use_if_iuse objc++ && \ ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"' fi + + # Do the check for pure source builds only, since the override + # cannot work with binary packages, see https://bugs.gentoo.org/944198 + if [[ ${BUILD_TYPE} == source ]] && in_iuse time64 && ! use time64 && + has_version -r "${CATEGORY}/${PN}[time64(-)]" && + [[ ! ${TC_FORCE_TIME32} ]] + then + eerror "Attempting to build USE=-time64 version of gcc when at least" + eerror "one USE=time64 version is installed. Did you accidentally" + eerror "switch back to a non-time64 profile? If this is really" + eerror "desirable, set TC_FORCE_TIME32=1 to force the build." + die "Attempting to build USE=-time64 on a USE=time64 system" + fi } #---->> pkg_setup <<---- @@ -833,19 +852,107 @@ setup_multilib_osdirnames() { sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die } +# @FUNCTION: _get_bootstrap_gcc_info +# @USAGE: [gcc_pkg|gcc_bin_base]... +# @DESCRIPTION: +# Get some information about the gcc that would be used to build this package. +# All the variables that are passed as arguments will be set to their apropriate +# values: +# +# - bootstrap_gcc_pkg = the ${CATEGORY}/${PN} that provides the build gcc +# +# - bootstrap_gcc_bin_base = the directory up to /gcc-bin but excluding the slot, of +# the aformentioned package. +_get_bootstrap_gcc_info() { + crossp() { + tc-is-cross-compiler && echo "${2}" || echo "${1}" + } + + local arg + for arg ; do + case "${arg}" in + bootstrap_gcc_pkg) + bootstrap_gcc_pkg=$(crossp sys-devel/gcc cross-${CHOST}/gcc) + ;; + bootstrap_gcc_bin_base) + bootstrap_gcc_bin_base=${BROOT}/usr/$(crossp ${CHOST} ${CBUILD}/${CHOST})/gcc-bin + ;; + *) + die "Unknown argument '${arg}' passed to ${FUNCNAME}" + esac + done +} + +# @FUNCTION: _find_bootstrap_gcc_with +# @USAGE: +# @RETURN: Shell true if a matching gcc installation was found, false otherwise +# @INTERNAL +# @DESCRIPTION: +# Check installed versions of gcc that can be used as a compiler for the current +# build for one matching a certain USE expression. The order of preference is +# checking for the same SLOT we are building, then iterate downwards until (and +# including) minimum_slot, then iterate upward starting with SLOT+1. When +# cross-compiling only SLOT is checked. +# +# If a proper installation is discovered this function will set +# ${bootstrap_gcc_bin_dir} to the full path of the directory in which +# ${CHOST}-gcc and friends are found and ${bootstrap_gcc_slot} to the slot that +# was found. If nothing was found those variables will be empty. +# +# This function is provided to aid languages like ada and d that require +# bootstraping. +_find_bootstrap_gcc_with() { + local use="${1}" + local pretty_use="${2}" + local bootstrap_gcc_pkg bootstrap_gcc_bin_base + _get_bootstrap_gcc_info bootstrap_gcc_pkg bootstrap_gcc_bin_base + + local min_slot max_slot + if tc-is-cross-compiler ; then + min_slot="${SLOT}" + max_slot="${SLOT}" + else + min_slot="${3}" + max_slot=$(best_version -b "${bootstrap_gcc_pkg}") + max_slot="${max_slot#${bootstrap_gcc_pkg}-}" + max_slot=$(ver_cut 1 ${max_slot}) + fi + + local candidate result + for candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 ${min_slot}) $(seq $((${SLOT} + 1)) ${max_slot}) ; do + has_version -b "${bootstrap_gcc_pkg}:${candidate}" || continue + + ebegin "Testing ${bootstrap_gcc_pkg}:${candidate} for ${pretty_use}" + if has_version -b "${bootstrap_gcc_pkg}:${candidate}${use}" ; then + result=${candidate} + + eend 0 + break + fi + eend 1 + done + + if [[ ${result} ]] ; then + bootstrap_gcc_bin_dir="${bootstrap_gcc_bin_base}/${result}" + bootstrap_gcc_slot=${result} + return 0 + else + bootstrap_gcc_bin_dir= + bootstrap_gcc_slot= + return 1 + fi +} + # @FUNCTION: toolchain_setup_ada # @INTERNAL # @DESCRIPTION: # Determine the most suitable GNAT (Ada compiler) for bootstrapping # and setup the environment, including wrappers, for building. toolchain_setup_ada() { - local latest_gcc=$(best_version -b "sys-devel/gcc") - latest_gcc="${latest_gcc#sys-devel/gcc-}" - latest_gcc=$(ver_cut 1 ${latest_gcc}) - local ada_bootstrap local ada_candidate local ada_bootstrap_type + local ada_bootstrap_bin_dir # GNAT can usually be built using the last major version and # the current version, at least. # @@ -853,19 +960,12 @@ toolchain_setup_ada() { # 1) Match the version being built; # 2) Iterate downwards from the version being built; # 3) Iterate upwards from the version being built to the greatest version installed. - for ada_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do - has_version -b "sys-devel/gcc:${ada_candidate}" || continue - - ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada" - if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then - ada_bootstrap=${ada_candidate} - ada_bootstrap_type=gcc - - eend 0 - break - fi - eend 1 - done + local bootstrap_gcc_slot bootstrap_gcc_bin_dir + if _find_bootstrap_gcc_with "[ada(-)]" "Ada" 10 ; then + ada_bootstrap=${bootstrap_gcc_slot} + ada_bootstrap_type=gcc + ada_bootstrap_bin_dir="${bootstrap_gcc_bin_dir}" + fi # As a penultimate resort, try dev-lang/ada-bootstrap. if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then @@ -878,6 +978,7 @@ toolchain_setup_ada() { #latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap}) ada_bootstrap="10" ada_bootstrap_type=ada-bootstrap + ada_bootstrap_bin_dir="${BROOT}/usr/lib/ada-bootstrap/bin" eend 0 else @@ -891,6 +992,7 @@ toolchain_setup_ada() { if has_version -b "dev-lang/gnat-gpl" ; then ada_bootstrap=10 ada_bootstrap_type=gcc + ada_bootstrap_bin_dir="${BROOT}/usr/${CHOST}/gcc-bin/${ada_bootstrap}" eend 0 else eend 1 @@ -955,10 +1057,10 @@ toolchain_setup_ada() { case ${ada_bootstrap_type} in ada-bootstrap) export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}" - gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1 + gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1 ;; *) - gnat1_path=${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1 + gnat1_path=${BROOT}/usr/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1 ;; esac @@ -975,7 +1077,7 @@ toolchain_setup_ada() { # work for us as the stage1 compiler doesn't necessarily have Ada # support. Substitute the Ada compiler we found earlier. local adalib - adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed") + adalib=$("${ada_bootstrap_bin_dir}"/${CHOST}-gcc -print-libgcc-file-name || die "Finding adalib dir failed") adalib="${adalib%/*}/adalib" sed -i \ -e "s:adalib=.*:adalib=${adalib}:" \ @@ -988,7 +1090,7 @@ toolchain_setup_ada() { for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do cat <<-EOF > "${T}"/ada-wrappers/${tool} || die #!/bin/sh - exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) "\$@" + exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@" EOF export "${tool^^}"="${T}"/ada-wrappers/${tool} @@ -1005,47 +1107,20 @@ toolchain_setup_ada() { # Determine the most suitable GDC (D compiler) for bootstrapping # and setup the environment for building. toolchain_setup_d() { - local gcc_pkg gcc_bin_base - if tc-is-cross-compiler ; then - gcc_pkg=cross-${CHOST}/gcc - gcc_bin_base=${BROOT}/usr/${CBUILD}/${CHOST}/gcc-bin - else - gcc_pkg=sys-devel/gcc - gcc_bin_base=${BROOT}/usr/${CHOST}/gcc-bin - fi - - local latest_gcc=$(best_version -b "${gcc_pkg}") - latest_gcc="${latest_gcc#${gcc_pkg}-}" - latest_gcc=$(ver_cut 1 ${latest_gcc}) - - local d_bootstrap - local d_candidate - # Order of preference (descending): - # 1) Match the version being built; - # 2) Iterate downwards from the version being built; - # 3) Iterate upwards from the version being built to the greatest version installed. - for d_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do - has_version -b "${gcc_pkg}:${d_candidate}" || continue - - ebegin "Testing ${gcc_pkg}:${d_candidate} for D" - if has_version -b "${gcc_pkg}:${d_candidate}[d(-)]" ; then - d_bootstrap=${d_candidate} - - eend 0 - break - fi - eend 1 - done + local bootstrap_gcc_slot bootstrap_gcc_bin_dir + _find_bootstrap_gcc_with "[d(-)]" "D" 11 - if [[ -z ${d_bootstrap} ]] ; then + if [[ -z ${bootstrap_gcc_bin_dir} ]] ; then if tc-is-cross-compiler ; then # We can't add cross-${CHOST}/gcc[d] to BDEPEND but we can # print a useful message to the user. - eerror "No ${gcc_pkg}[d] was found installed." + local bootstrap_gcc_pkg + _get_bootstrap_gcc_info bootstrap_gcc_pkg + eerror "No ${bootstrap_gcc_pkg}[d] was found installed." eerror "When cross-compiling GDC a bootstrap GDC is required." eerror "Either disable the d USE flag or add:" eerror "" - eerror " ${gcc_pkg} d" + eerror " ${bootstrap_gcc_pkg} d" eerror "" eerror "In your package.use and re-emerge it." eerror "" @@ -1054,7 +1129,7 @@ toolchain_setup_d() { die "Did not find any appropriate GDC compiler installed" fi - export GDC=${gcc_bin_base}/${d_bootstrap}/${CHOST}-gdc + export GDC=${bootstrap_gcc_bin_dir}/${CHOST}-gdc } #---->> src_configure <<---- @@ -1065,7 +1140,7 @@ toolchain_src_configure() { downgrade_arch_flags gcc_do_filter_flags - if tc_version_is_at_least 14.2.1_p20241026 ${PV}; then + if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] && tc_version_is_at_least 14.2.1_p20241026 ${PV}; then append-cppflags "-D_GENTOO_TIME64_FORCE=$(usex time64 1 0)" fi @@ -1185,11 +1260,13 @@ toolchain_src_configure() { if grep -q "experimental" gcc/DEV-PHASE ; then # Tell users about the non-obvious behavior here so they don't think # e.g. the next GCC release is super slow to compile things. - ewarn "Unreleased GCCs default to extra runtime checks even with USE=-debug," - ewarn "matching upstream default behavior. We recommend keeping these enabled." - ewarn "The checks (sometimes substantially) increase build time but provide important protection" - ewarn "from potential miscompilations (wrong code) by turning them into build-time errors." - ewarn "To override (not recommended), set: GCC_CHECKS_LIST=\"release\"." + if ! use debug ; then + ewarn "Unreleased GCCs default to extra runtime checks even with USE=-debug," + ewarn "matching upstream default behavior. We recommend keeping these enabled." + ewarn "The checks (sometimes substantially) increase build time but provide important protection" + ewarn "from potential miscompilations (wrong code) by turning them into build-time errors." + ewarn "To override (not recommended), set: GCC_CHECKS_LIST=\"release\"." + fi # - USE=debug for pre-releases: yes,extra,rtl (stornger than USE=debug for releases) # - USE=-debug for pre-releases: yes,extra (following upstream default) @@ -1295,8 +1372,31 @@ toolchain_src_configure() { confgcc+=( --enable-shared --disable-threads ) ;; nvptx*) - # "LTO is not supported for this target" - confgcc+=( --disable-lto ) + needed_libc=newlib + confgcc+=( + # "LTO is not supported for this target" + --disable-lto + ) + + # --enable-as-accelerator-for= seems to disable + # installing nvtpx-none-cc etc, so we have to + # avoid passing that for the stage1-build that + # crossdev does. If we pass it unconditionally, + # we can't build newlib after building stage1 gcc. + if has_version ${CATEGORY}/${PN} ; then + confgcc+=( + # It's unlikely that anyone will want + # to build nvptx-none as a pure standalone + # toolchain (which will be single-threaded, etc). + # + # If someone really wants it, we can see about + # adding a USE=offload or similar based on CTARGET + # for cross targets. But for now, we always assume + # we're being built as an offloading compiler (accelerator). + --enable-as-accelerator-for=${CHOST} + --disable-sjlj-exceptions + ) + fi ;; esac @@ -1373,7 +1473,7 @@ toolchain_src_configure() { # __cxa_atexit is "essential for fully standards-compliant handling of # destructors", but apparently requires glibc. case ${CTARGET} in - *-elf|*-eabi) + nvptx*|*-elf|*-eabi) confgcc+=( --with-newlib ) ;; *-musl*) @@ -1530,6 +1630,12 @@ toolchain_src_configure() { [[ ${CTARGET} == *-darwin* ]] && \ confgcc+=( --enable-version-specific-runtime-libs ) + # TODO: amdgcn-amdhsa? + [[ ${CTARGET} == x86_64* ]] && confgcc+=( + --enable-offload-defaulted + --enable-offload-targets=nvptx-none + ) + ### library options if in_iuse openmp ; then @@ -1588,6 +1694,7 @@ toolchain_src_configure() { enable_cet_for 'x86_64' 'gnu' 'cet' enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection' + [[ ${CTARGET} == i[34567]86-* ]] && confgcc+=( --disable-cet ) fi if in_iuse systemtap ; then @@ -1729,8 +1836,8 @@ toolchain_src_configure() { gcc_shell="${BROOT}"/bin/sh fi - if is_jit ; then - einfo "Configuring JIT gcc" + if is_jit || _tc_use_if_iuse libgdiagnostics ; then + einfo "Configuring shared gcc for JIT/libgdiagnostics" local confgcc_jit=( "${confgcc[@]}" @@ -1754,8 +1861,10 @@ toolchain_src_configure() { --disable-nls --disable-objc-gc --disable-systemtap + --enable-host-shared --enable-languages=jit + # Might be used for the just-built GCC. Easier to just # respect USE=graphite here in case the user passes some # graphite flags rather than try strip them out. @@ -1764,6 +1873,10 @@ toolchain_src_configure() { --with-system-zlib ) + if tc_version_is_at_least 15.0.0_pre20241124 ${PV} ; then + confgcc_jit+=( $(use_enable libgdiagnostics) ) + fi + if tc_version_is_at_least 13.1 ; then confgcc_jit+=( --disable-fixincludes ) fi @@ -1943,6 +2056,9 @@ gcc_do_filter_flags() { fi fi + # https://gcc.gnu.org/PR100431 + filter-flags -Werror=format-security + if ver_test -lt 13.6 ; then # These aren't supported by the just-built compiler either. filter-flags -fharden-compares -fharden-conditional-branches \ @@ -1956,6 +2072,7 @@ gcc_do_filter_flags() { if ver_test -lt 15.1 ; then filter-flags -fdiagnostics-explain-harder -fdiagnostics-details + filter-flags -fdiagnostics-set-output=text:experimental-nesting=yes fi if is_d ; then @@ -2267,10 +2384,6 @@ toolchain_src_test() { GCC_TESTS_CFLAGS+=" -fno-stack-clash-protection" GCC_TESTS_CXXFLAGS+=" -fno-stack-clash-protection" - # configure defaults to '-O2 -g' and some tests expect it - # accordingly. - GCC_TESTS_CFLAGS+=" -g" - # TODO: Does this handle s390 (-m31) correctly? # TODO: What if there are multiple ABIs like x32 too? # XXX: Disabled until validate_failures.py can handle 'variants' @@ -2646,6 +2759,24 @@ gcc_movelibs() { fix_libtool_libdir_paths "${LIBPATH}/${MULTIDIR}" done + # Without this, we end up either unable to find the libgomp spec/archive, or + # we underlink and can't find gomp_nvptx_main (presumably because we can't find the plugin) + # https://src.fedoraproject.org/rpms/gcc/blob/02c34dfa3627ef05d676d30e152a66e77b58529b/f/gcc.spec#_1445 + if [[ ${CTARGET} == nvptx* ]] && has_version ${CATEGORY}/${PN} ; then + rm -rf "${ED}"/usr/libexec/gcc/nvptx-none/${GCCMAJOR}/install-tools + rm -rf "${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951} + rm -rf "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/{install-tools,plugin} + rm -rf "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,include-fixed} + mv "${ED}"/usr/nvptx-none/lib/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/ + mv "${ED}"/usr/nvptx-none/lib/mgomp/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/ + mv "${ED}"/usr/nvptx-none/lib/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mptx-3.1/ + mv "${ED}"/usr/nvptx-none/lib/mgomp/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/mptx-3.1/ + mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/ || die + mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mgomp/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/ || die + mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mptx-3.1/ || die + mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mgomp/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/mptx-3.1/ || die + fi + # We remove directories separately to avoid this case: # mv SRC/lib/../lib/*.o DEST # rmdir SRC/lib/../lib/ diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild index b5669bf7bc5..4ace5f1cac5 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.44.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="libpng2" SLOT="0/16" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="apng cpu_flags_x86_sse static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild index 554d1e93064..35ba7901bc3 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/netperf/netperf-2.7.0_p20210121.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}-${COMMIT}" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 ~riscv sparc x86" IUSE="demo sctp" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild index 61873bd17aa..d0dbaebdee2 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="MPL-2.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="+caps dnsrps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest index ba13462a82d..108221619ec 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest @@ -2,19 +2,9 @@ DIST c-ares-1.28.1.tar.gz 1312102 BLAKE2B 2d0f12aeb4b947f76fe6c45e2bb0a7401c5d3a DIST c-ares-1.28.1.tar.gz.asc 488 BLAKE2B 90f3aedc3b56f31519a9b2746e528bb952364748b6053ecebaa3edf4269aab6b3badad459a14e8afe623340b294fd072b13c60af540eb59d7f4d82eb5204be83 SHA512 62659e3c41ea7158c7fdaab3246fee6a6a1502dec12d322efd353e5a0fb1b0aa4c1caf7ace37e1d3ea0b2937522814fdf66af2d19a501e9b9995b86e2369410d DIST c-ares-1.29.0.tar.gz 1329299 BLAKE2B 7dd6a0dc85d3383087726cd48e75b481f4ef7551a41590de21b7f30f9e588d7bef87c852203b91f281b0fbf44dca75f0ae538f6a3c17fe8ff29c802d05d36189 SHA512 0287fd59aa6d831e0d1705deb6b4b1ab3b97a28c5c42feeeaa1eeab55ffb429998c7f0735f15cf5eaeb9177cb77800e6b0b01107bd28fb082cf737f8c12766d0 DIST c-ares-1.29.0.tar.gz.asc 488 BLAKE2B 3d955b0a130dce562436d9629f1403e30ee5ebd2e981a9c2220b51d129222c3760d6bd8a681cab6115e3f2ef0bcf8e8d600792fc498bc0c05638ce7fcac0d509 SHA512 a379f3c5338073810b7bf932fecf0ce1f0b382cfbc75521f4b135cb78d0a9fd418b06f7affd747fa00d11479186db248fe8ef8120858de2b8f562b56cc41ecb2 -DIST c-ares-1.31.0.tar.gz 1012373 BLAKE2B d302862148998fbfb737e5f78826a3152b299fbbf04db4d80580daeaade77e4ea1a9513f4d194746733c33a35474f39dce43dd0562b3faa8673b366a2190c87c SHA512 571d2555b4aaf3bf9cd7b5c89be8448ca26fe0ea1f3d664b07a01b42d28af4f5412b30485ef01d4bacc4e08de487dc6eeda98acf212a6a08edec6805f17210cc -DIST c-ares-1.31.0.tar.gz.asc 228 BLAKE2B 41d35804e4f5d0e11c2c6c192453a0d48f779be999a3f9c1bd8066c547e0ed9959083d953b7735ca15699444913bcdd7d43c3871e11a381e9c8ee508086fc3d8 SHA512 ea2decdec5913f25e690e6c7437fad1682b2df807397e4b764ebb2a8b010804f77b91a889e8aa00471cd1bba3b96c5f90d815ffa677598e9b516909e29b7f960 -DIST c-ares-1.32.0.tar.gz 1021855 BLAKE2B b60c924581ba7db1d87350929d22b5e15684484579e0a7d46068438ca8a953bfb7945cb38cad42f008631bb7ea51e10acb074053d485cd91a52eef742f09fdc1 SHA512 15b9dc967f66a355095f68ef84238776f6ed826fc9077702ffbb6b136be1befadcb9da1f07956079efe593434c1e912993f6e93e948291668b806be50f03136c -DIST c-ares-1.32.0.tar.gz.asc 228 BLAKE2B d9cf726e42d79ccdaeca2aafc028c1d03aa56acd1cf03b118070968a31655046a3d609e8ea529f03465341d6decaa7f8eace4310487e7028e3a1ad355d25fa4c SHA512 7554b37e470a57ad0175050c1966e1b72bf67791aa860b113a66688ac28e525b93a633a472dd43c8a16bddb366e918b202760efab5ab311c4b6ee63e72869552 -DIST c-ares-1.32.1.tar.gz 1022052 BLAKE2B 662f15e7f1ae39614f0212745fe7883bbf831da667905e4595e011922b37c95b2037423dde96b0a62122a304d6edd04d36e99e428bdbf8f89d6ff9ecb4cfd712 SHA512 20339b92c5355c01f71a0ab5fe4b823b41ad09269dbdaf4f1567324735d7e90812c9f3f7ce197247be0bd793df35b85aa1747675762a2344e4f506346466d349 -DIST c-ares-1.32.1.tar.gz.asc 228 BLAKE2B d3d44263673c79b2dae594f5a2b3be076528c9c9f3c672e9c5cf3db68eb1b7da6ba74f8ae44605d783440f3bbada4033073e4feeee8ed9833226f76068022dc4 SHA512 3a1dc1f1066bb4d35024ef9e7246c2f630d309a1843e32574f29c07ce01e0461176dd9d53b1a7d2df279959a8b13c10cb4396ee7fafbac534e1b4d44bcefc47a -DIST c-ares-1.32.2.tar.gz 1026293 BLAKE2B 1acd4d90d0e9d8abcbc49561db8ae2e55295398353896a7ab0108c1ac8718eb08c655dff8aa6c0efa138524805972ac4033d0c49cfcebaeca1a019021073e981 SHA512 f552dbe9cb7f7b28ed05d93ee866a161e77c841453cde3659cb1e0bf6d501894bf5f6b8db308f7397e6ead4b42f34ce17e1c2ef307352de50f2aad25e4610de8 -DIST c-ares-1.32.2.tar.gz.asc 228 BLAKE2B 6a09ff532d1334f994f9e9365ce6074aae4227b27c0a5ef40e441192b6b23c728772278fec7c8c34fc93d20309b04b9e31802d4491dc3e1313818eadbe8a4afc SHA512 385ca9bd72a2131f2eb51c035e50d21d816361872a0db42c6a9dc60a1a3971d464f34c2518c759e01e6c88b5bf100ddaa87862e877187a9b59800070b2bef7af -DIST c-ares-1.33.0.tar.gz 1040626 BLAKE2B 730ca3ca9ebb03228fc17d87f1a659f77f91d2a4cc840fa21d7bf083878cc2714a2695808f53de2182e3cf2be367a95bb9625473cfbace40536cb3a33fd0d338 SHA512 3cf1b94d6e8e53742703a679d7e35d3f985320720f41fa58189a0bcad4aca80405c73c4689abe7879df292dbe8f3ddca34b2d48429af5afcc9d2933edb075788 -DIST c-ares-1.33.0.tar.gz.asc 228 BLAKE2B 945ebedb47c998aa917aebc6180cc9f601bc4f10c648955cc9af84e09d5832e06cf7c7afa7ddc1591474f23758c7d269c722d4dce34e4680edc69ce93be483ad SHA512 bd6386a917d072ac41adb604affa314b8e05e8cfeff5ade7e9d6f520baf4d73d7adf68cff35f4748aeee45d4d646ca6d6cf438e75e1c7125f1ababd561809e8c DIST c-ares-1.33.1.tar.gz 1044943 BLAKE2B d8084db84da252ced8cc91b4ed523a5309dbc788bf25f1ab46f3e4817b4c12a3d3d4565179287b7542ac8a7b4f812c20dcc44d9f7284153a9e43765ca7aaf996 SHA512 b5ec4f08539be552f01d49f03327e3999754b940d83c63fbd934c2ed34cf7f05c3f90c9eb64a78a3d7862280bf75765296576a70a6029257daaf90e3e35ab3e4 DIST c-ares-1.33.1.tar.gz.asc 228 BLAKE2B 4908cc70133d75f926387873b0bf7b274c8ab162391b73da2a9f25658bda52763f41ffb1aa4236cdc14efa7bcbbba32d3b0be8bd95161654901c304a4f14f6f8 SHA512 f9c8c8965046176104487939b04a38f3f6e68693ff1ef239ce988cf4c56dfacf2766482857d480a4022d6101c2591c013d8687d4bbf009e40863c1d7a95c2fad -DIST c-ares-1.34.1.tar.gz 1008224 BLAKE2B 7094cf3a3fba4df6367d56c1d251d1f682b37b1f094c66286951c8e2b2d519935b58a039aa926869de90bf0674fec2c6e127327820ae3f50b4d27fdf0c560947 SHA512 193a4b304dd81dcaf9854ae26662868187521eddd3514a7ba32b2f4f45dc158081bf5829b07e36436e2f16344120e83fe1b9369a11d701ad053824d0b03371bb -DIST c-ares-1.34.1.tar.gz.asc 228 BLAKE2B 9d5dd6858e5686420c73ed269d6c5d3376f6fefe09122f993800c93682633995eb90e30a244e435f209a8014c32279949cfd044aa755852408ffa1b869431df8 SHA512 a198cae7cd010f31034835ae0b35d828aeccd443e56d3d04d18eb0fd2bcfa71847d3c3da66d8d15700400bd9576a2ee73aee08f3af2ee77f6d2219b2ff45e565 DIST c-ares-1.34.2.tar.gz 1008432 BLAKE2B 4879de256a35e33bbe37cfc3e7af14a6998821a36efbac6b26f265b6f8d782ee22016b92e9285efc745f6a667336c8c1c0b51b380fe9fbee295f73f62331e579 SHA512 ddcda2f4c82ece7d670d0beb11485253a0f0db1f01131164e7253a20405c081844d2c69e366300c76ca0419a025e0fed516ee54314443afc39d55ce292354ad9 DIST c-ares-1.34.2.tar.gz.asc 228 BLAKE2B 6338c1726907e893ae63927eb2ba31211f31857640d4c9659bc9b8ef84278bc873f0b744f1c449452bd6283ebd945eafc87135830f3b603363a63274c8e3f11c SHA512 f37cca24c2fcb3310ebfa4996a86a59a5b714005e42bb0019f590c70f60f0e0ececab0bbbb0826b5bed7423b8c18c23fa6efc16ab03420b154163917bf4e43c4 +DIST c-ares-1.34.3.tar.gz 997244 BLAKE2B fb66f4c8ae4c2e03e8f75ee72259dbe83d7bed5e72a7936f785121c3d02267375f67c734bae7213ec48bac9277d48e3bed4225fd03ba69dacd120b97dcc3e421 SHA512 f122d27cc76c20b41f9659b8bc662a8d82b857f8c066b1216b0349228d996224e42a7a0535bcdd6a3928b437c67d18726bfcb51c93f3a9801eebda6574e39c78 +DIST c-ares-1.34.3.tar.gz.asc 228 BLAKE2B 40e76fbc23a8aece1749a66499e469299e9df8174923ceeac788dd0ef0a8f029e79c550db1e8850e472b0d584215b52e3cedb5b7c4d3eb1daad8fc96864ad536 SHA512 f6ffcd6ef2571f51899f138d0f13003243e3031a2e4a1f96878c4fdd114c8682ee24c2826f9cfaa2022750058a2e11cb188972e9f369b87974b5abc351a5bc7b diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.31.0.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.31.0.ebuild deleted file mode 100644 index dc3ab06507e..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.31.0.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Both Daniel and Brad are listed as possible signers on the homepage -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc -inherit edo multilib-minimal verify-sig - -DESCRIPTION="C library that resolves names asynchronously" -HOMEPAGE="https://c-ares.org/" -SRC_URI=" - https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) -" - -# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) -LICENSE="MIT ISC" -# Subslot = SONAME of libcares.so.2 -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( dev-cpp/gtest ) - verify-sig? ( sec-keys/openpgp-keys-bradhouse ) -" - -DOCS=( AUTHORS README.md RELEASE-NOTES.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ares_build.h -) - -A__QA_CONFIG_IMPL_DECL_SKIP=( - # Checking for obsolete headers - malloc - calloc - free - - # Non-existent on Linux - closesocket - CloseSocket - ioctlsocket - bitncmp - ConvertInterfaceIndexToLuid - ConvertInterfaceLuidToNameA -) - -multilib_src_configure() { - local myeconfargs=( - --enable-symbol-hiding - $(use_enable static-libs static) - $(use_enable test tests) - ) - - # Needed for running unit tests only - # Violates sandbox and tests pass fine without - export ax_cv_uts_namespace=no - export ax_cv_user_namespace=no - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd "${BUILD_DIR}"/test || die - - # We're skipping the "real" network tests with the filter - # see https://github.com/c-ares/c-ares/tree/main/test - local network_tests=( - # Most live tests have Live in the name - *Live* - # These don't but are still in ares-test-live.cc => live - *GetTCPSock* - *TimeoutValue* - *GetSock* - *GetSock_virtualized* - *VerifySocketFunctionCallback* - # Seems flaky, even run manually - # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d - *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* - ) - - # The format for disabling test1, test2, and test3 looks like: - # -test1:test2:test3 - edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild deleted file mode 100644 index dc3ab06507e..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.0.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Both Daniel and Brad are listed as possible signers on the homepage -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc -inherit edo multilib-minimal verify-sig - -DESCRIPTION="C library that resolves names asynchronously" -HOMEPAGE="https://c-ares.org/" -SRC_URI=" - https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) -" - -# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) -LICENSE="MIT ISC" -# Subslot = SONAME of libcares.so.2 -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( dev-cpp/gtest ) - verify-sig? ( sec-keys/openpgp-keys-bradhouse ) -" - -DOCS=( AUTHORS README.md RELEASE-NOTES.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ares_build.h -) - -A__QA_CONFIG_IMPL_DECL_SKIP=( - # Checking for obsolete headers - malloc - calloc - free - - # Non-existent on Linux - closesocket - CloseSocket - ioctlsocket - bitncmp - ConvertInterfaceIndexToLuid - ConvertInterfaceLuidToNameA -) - -multilib_src_configure() { - local myeconfargs=( - --enable-symbol-hiding - $(use_enable static-libs static) - $(use_enable test tests) - ) - - # Needed for running unit tests only - # Violates sandbox and tests pass fine without - export ax_cv_uts_namespace=no - export ax_cv_user_namespace=no - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd "${BUILD_DIR}"/test || die - - # We're skipping the "real" network tests with the filter - # see https://github.com/c-ares/c-ares/tree/main/test - local network_tests=( - # Most live tests have Live in the name - *Live* - # These don't but are still in ares-test-live.cc => live - *GetTCPSock* - *TimeoutValue* - *GetSock* - *GetSock_virtualized* - *VerifySocketFunctionCallback* - # Seems flaky, even run manually - # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d - *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* - ) - - # The format for disabling test1, test2, and test3 looks like: - # -test1:test2:test3 - edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild deleted file mode 100644 index dc3ab06507e..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.1.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Both Daniel and Brad are listed as possible signers on the homepage -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc -inherit edo multilib-minimal verify-sig - -DESCRIPTION="C library that resolves names asynchronously" -HOMEPAGE="https://c-ares.org/" -SRC_URI=" - https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) -" - -# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) -LICENSE="MIT ISC" -# Subslot = SONAME of libcares.so.2 -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( dev-cpp/gtest ) - verify-sig? ( sec-keys/openpgp-keys-bradhouse ) -" - -DOCS=( AUTHORS README.md RELEASE-NOTES.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ares_build.h -) - -A__QA_CONFIG_IMPL_DECL_SKIP=( - # Checking for obsolete headers - malloc - calloc - free - - # Non-existent on Linux - closesocket - CloseSocket - ioctlsocket - bitncmp - ConvertInterfaceIndexToLuid - ConvertInterfaceLuidToNameA -) - -multilib_src_configure() { - local myeconfargs=( - --enable-symbol-hiding - $(use_enable static-libs static) - $(use_enable test tests) - ) - - # Needed for running unit tests only - # Violates sandbox and tests pass fine without - export ax_cv_uts_namespace=no - export ax_cv_user_namespace=no - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd "${BUILD_DIR}"/test || die - - # We're skipping the "real" network tests with the filter - # see https://github.com/c-ares/c-ares/tree/main/test - local network_tests=( - # Most live tests have Live in the name - *Live* - # These don't but are still in ares-test-live.cc => live - *GetTCPSock* - *TimeoutValue* - *GetSock* - *GetSock_virtualized* - *VerifySocketFunctionCallback* - # Seems flaky, even run manually - # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d - *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* - ) - - # The format for disabling test1, test2, and test3 looks like: - # -test1:test2:test3 - edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.0.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.0.ebuild deleted file mode 100644 index 6f65e746ad8..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.0.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Both Daniel and Brad are listed as possible signers on the homepage -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc -inherit edo multilib-minimal verify-sig - -DESCRIPTION="C library that resolves names asynchronously" -HOMEPAGE="https://c-ares.org/" -SRC_URI=" - https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) -" - -# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) -LICENSE="MIT ISC" -# Subslot = SONAME of libcares.so.2 -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( dev-cpp/gtest ) - verify-sig? ( sec-keys/openpgp-keys-bradhouse ) -" - -DOCS=( AUTHORS README.md RELEASE-NOTES.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ares_build.h -) - -A__QA_CONFIG_IMPL_DECL_SKIP=( - # Checking for obsolete headers - malloc - calloc - free - - # Non-existent on Linux - closesocket - CloseSocket - ioctlsocket - bitncmp - ConvertInterfaceIndexToLuid - ConvertInterfaceLuidToNameA -) - -src_prepare() { - default - - if [[ ${CHOST} == *-darwin* ]] ; then - # warnings are default, but enable -std=c90 which doesn't define - # 'bool' which is a type used/assumed in macOS system headers - sed -i -e 's/-std=c90/& -Dbool=int/' configure{.ac,} || die - # sysconfig integration requires deep framework compatibility - # and is not really desired in Prefix - sed -i -e 's/__APPLE__/__DISABLED__/' \ - src/lib/ares_sysconfig_mac.c || die - sed -i -e '/elif defined(__APPLE__)/s/__APPLE__/__DISABLED__/' \ - src/lib/ares_sysconfig.c || die - fi -} - -multilib_src_configure() { - local myeconfargs=( - --enable-symbol-hiding - $(use_enable static-libs static) - $(use_enable test tests) - ) - - # Needed for running unit tests only - # Violates sandbox and tests pass fine without - export ax_cv_uts_namespace=no - export ax_cv_user_namespace=no - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd "${BUILD_DIR}"/test || die - - # We're skipping the "real" network tests with the filter - # see https://github.com/c-ares/c-ares/tree/main/test - local network_tests=( - # Most live tests have Live in the name - *Live* - # These don't but are still in ares-test-live.cc => live - *GetTCPSock* - *TimeoutValue* - *GetSock* - *GetSock_virtualized* - *VerifySocketFunctionCallback* - # Seems flaky, even run manually - # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d - *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* - ) - - # The format for disabling test1, test2, and test3 looks like: - # -test1:test2:test3 - edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.1.ebuild index 50d00053a96..f0fb03d70d0 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.1.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT ISC" # Subslot = SONAME of libcares.so.2 SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.1.ebuild deleted file mode 100644 index 6f65e746ad8..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.1.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Both Daniel and Brad are listed as possible signers on the homepage -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc -inherit edo multilib-minimal verify-sig - -DESCRIPTION="C library that resolves names asynchronously" -HOMEPAGE="https://c-ares.org/" -SRC_URI=" - https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) -" - -# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) -LICENSE="MIT ISC" -# Subslot = SONAME of libcares.so.2 -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( dev-cpp/gtest ) - verify-sig? ( sec-keys/openpgp-keys-bradhouse ) -" - -DOCS=( AUTHORS README.md RELEASE-NOTES.md ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/ares_build.h -) - -A__QA_CONFIG_IMPL_DECL_SKIP=( - # Checking for obsolete headers - malloc - calloc - free - - # Non-existent on Linux - closesocket - CloseSocket - ioctlsocket - bitncmp - ConvertInterfaceIndexToLuid - ConvertInterfaceLuidToNameA -) - -src_prepare() { - default - - if [[ ${CHOST} == *-darwin* ]] ; then - # warnings are default, but enable -std=c90 which doesn't define - # 'bool' which is a type used/assumed in macOS system headers - sed -i -e 's/-std=c90/& -Dbool=int/' configure{.ac,} || die - # sysconfig integration requires deep framework compatibility - # and is not really desired in Prefix - sed -i -e 's/__APPLE__/__DISABLED__/' \ - src/lib/ares_sysconfig_mac.c || die - sed -i -e '/elif defined(__APPLE__)/s/__APPLE__/__DISABLED__/' \ - src/lib/ares_sysconfig.c || die - fi -} - -multilib_src_configure() { - local myeconfargs=( - --enable-symbol-hiding - $(use_enable static-libs static) - $(use_enable test tests) - ) - - # Needed for running unit tests only - # Violates sandbox and tests pass fine without - export ax_cv_uts_namespace=no - export ax_cv_user_namespace=no - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd "${BUILD_DIR}"/test || die - - # We're skipping the "real" network tests with the filter - # see https://github.com/c-ares/c-ares/tree/main/test - local network_tests=( - # Most live tests have Live in the name - *Live* - # These don't but are still in ares-test-live.cc => live - *GetTCPSock* - *TimeoutValue* - *GetSock* - *GetSock_virtualized* - *VerifySocketFunctionCallback* - # Seems flaky, even run manually - # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d - *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* - ) - - # The format for disabling test1, test2, and test3 looks like: - # -test1:test2:test3 - edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.2.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.32.2.ebuild rename to sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild index 107d47dbf6f..5cf41c4ac93 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild @@ -5,7 +5,7 @@ EAPI=8 LUA_COMPAT=( lua5-{1..4} luajit ) -inherit toolchain-funcs lua-single systemd +inherit flag-o-matic toolchain-funcs lua-single systemd DESCRIPTION="Small forwarding DNS server" HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html" @@ -114,6 +114,9 @@ src_prepare() { } src_configure() { + # https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2024q4/017855.html (bug #945183) + append-cflags -std=gnu17 + COPTS=( $(use_have -n auth-dns auth) $(use_have conntrack) diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/conntrack-tools/conntrack-tools-1.4.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/conntrack-tools/conntrack-tools-1.4.8-r1.ebuild index ff8d0251fc4..c11278aa667 100644 --- a/sdk_container/src/third_party/portage-stable/net-firewall/conntrack-tools/conntrack-tools-1.4.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-firewall/conntrack-tools/conntrack-tools-1.4.8-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 ~arm64 ~hppa ppc ppc64 ~riscv x86" IUSE="doc +cthelper +cttimeout systemd" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest index ec396df38fd..64d4c300e9f 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/Manifest @@ -12,3 +12,5 @@ DIST gnutls-3.8.6.tar.xz 6517476 BLAKE2B 58910e252231c02cfaa1183b38f3127f61aa991 DIST gnutls-3.8.6.tar.xz.sig 119 BLAKE2B 044d0e31a5fa402daa73e88ce140f57e30cb143324c7cce1515a3bc6c444fe2f1fa2dd954dec69de09c7b4726766e17ec05410bbbbcf5b35dda1cb0f6452a0a5 SHA512 3f9552cdf5fa96184fbe394dd484fb55e6a3577d1e048aea373b82cda335ea0f174f2fb11926dc58532c1f950cd10a6a35bc36e9fe813a1259eae5c5364920b2 DIST gnutls-3.8.7.1.tar.xz 6695404 BLAKE2B 43334190ce1e45c5302b195f17d06e767d1bea7376278bfbc6ff181a2f57423ba5f334c00ae1833938c7a7a8d15cf607ac862e57435a756ccfa98527d469fd3a SHA512 429cea78e227d838105791b28a18270c3d2418bfb951c322771e6323d5f712204d63d66a6606ce9604a92d236a8dd07d651232c717264472d27eb6de26ddc733 DIST gnutls-3.8.7.1.tar.xz.sig 580 BLAKE2B ca627d7b3f089205c94f556bee9c06428ada9e0116bb50486dc7dd70f611ae744416d96b17452749d102ccd16bf7b400577b1886a7c8be55833c9e2fde85f9ae SHA512 53ebdaa9775ae22f7eb5e7d6f5411ec667c9c880cea84e23651b6d1994fb1398c09d8efa39b21c96f8be29fa09c2436bdd732a061308956ca1650e3e1878ed57 +DIST gnutls-3.8.8.tar.xz 6696460 BLAKE2B d1498b0b9f14789599fd5b984d5370b632611f2702e9f4fc504ddba2a3e0dd4137bec858eb6150d031f9f50e6b3a3a7d905864f0a9f50a1f01e5ea8f37a44ba8 SHA512 4f617c63e8e8392e400d72c9e39989fcd782268b4a4c4e36bbfb0444a4b5bcb0f53054f04a6dce99ab89c0f38f57430c95aaaec6eb9209b8e9329140abf230c3 +DIST gnutls-3.8.8.tar.xz.sig 580 BLAKE2B 11a30f09e3a478615df2c6a0e40c0b9b2aad5794a82ae0cc871fcf3699b5d9725c9d04708c6f0b983da6e21f90a81f7550e723d0d04f97d1a16d526efbe91b1e SHA512 fdff792511e9e5de203a1dfd66bf521c12fb74a19de651ffa1f7359dafdd1dad59ae57d0f95fa363c4167f798e6b624b4ae1f84d4e0737ff690c2fb0e5a5bdce diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.8.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.8.ebuild new file mode 100644 index 00000000000..fe1458fb632 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.8.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnutls.asc +inherit autotools multilib-minimal verify-sig + +DESCRIPTION="A secure communications library implementing the SSL, TLS and DTLS protocols" +HOMEPAGE="https://www.gnutls.org/" +SRC_URI="mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz" +SRC_URI+=" verify-sig? ( mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz.sig )" +if [[ ${PV} == 3.8.7.1 ]] ; then + # Workaround for botched dist tarball + S="${WORKDIR}"/gnutls-3.8.7 +fi + +LICENSE="GPL-3 LGPL-2.1+" +# As of 3.8.0, the C++ library is header-only, but we won't drop the subslot +# component for it until libgnutls.so breaks ABI, to avoid pointless rebuilds. +# Subslot format: +# . +SLOT="0/30.30" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd" +REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 seccomp tls-heartbeat tools )" +RESTRICT="!test? ( test )" + +# >=nettle-3.10 as a workaround for bug #936011 +RDEPEND=" + >=dev-libs/libtasn1-4.9:=[${MULTILIB_USEDEP}] + dev-libs/libunistring:=[${MULTILIB_USEDEP}] + >=dev-libs/nettle-3.10:=[gmp,${MULTILIB_USEDEP}] + >=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}] + brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] ) + dane? ( >=net-dns/unbound-1.4.20:=[${MULTILIB_USEDEP}] ) + nls? ( >=virtual/libintl-0-r1:=[${MULTILIB_USEDEP}] ) + pkcs11? ( >=app-crypt/p11-kit-0.23.1[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-0.16-r1:=[${MULTILIB_USEDEP}] ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) + zstd? ( >=app-arch/zstd-1.3.0:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + test? ( + seccomp? ( sys-libs/libseccomp ) + ) +" +BDEPEND=" + dev-build/gtk-doc-am + >=virtual/pkgconfig-0-r1 + doc? ( dev-util/gtk-doc ) + nls? ( sys-devel/gettext ) + test-full? ( + app-crypt/dieharder + || ( sys-libs/libfaketime >=app-misc/datefudge-1.22 ) + dev-libs/softhsm:2[-bindist(-)] + net-dialup/ppp + net-misc/socat + ) + verify-sig? ( >=sec-keys/openpgp-keys-gnutls-20240415 ) +" + +DOCS=( README.md doc/certtool.cfg ) + +HTML_DOCS=() + +QA_CONFIG_IMPL_DECL_SKIP=( + # gnulib FPs + MIN + alignof + static_assert +) + +src_prepare() { + default + + # bug #520818 + export TZ=UTC + + use doc && HTML_DOCS+=( doc/gnutls.html ) + + # don't try to use system certificate store on macOS, it is + # confusingly ignoring our ca-certificates and more importantly + # fails to compile in certain configurations + sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die + + # Use sane .so versioning on FreeBSD. + #elibtoolize + + # Switch back to elibtoolize after 3.8.7.1 + eautoreconf +} + +multilib_src_configure() { + LINGUAS="${LINGUAS//en/en@boldquot en@quot}" + + local libconf=() + + # TPM needs to be tested before being enabled + # Note that this may add a libltdl dep when enabled. Check configure.ac. + libconf+=( + --without-tpm + --without-tpm2 + ) + + # hardware-accel is disabled on OSX because the asm files force + # GNU-stack (as doesn't support that) and when that's removed ld + # complains about duplicate symbols + [[ ${CHOST} == *-darwin* ]] && libconf+=( --disable-hardware-acceleration ) + + # -fanalyzer substantially slows down the build and isn't useful for + # us. It's useful for upstream as it's static analysis, but it's not + # useful when just getting something built. + export gl_cv_warn_c__fanalyzer=no + + local myeconfargs=( + --disable-valgrind-tests + $(multilib_native_enable manpages) + $(multilib_native_use_enable doc gtk-doc) + $(multilib_native_use_enable doc) + $(multilib_native_use_enable seccomp seccomp-tests) + $(multilib_native_use_enable test tests) + $(multilib_native_use_enable test-full full-test-suite) + $(multilib_native_use_enable tools) + $(use_enable cxx) + $(use_enable dane libdane) + $(use_enable nls) + $(use_enable openssl openssl-compatibility) + $(use_enable sslv2 ssl2-support) + $(use_enable sslv3 ssl3-support) + $(use_enable static-libs static) + $(use_enable tls-heartbeat heartbeat-support) + $(use_with brotli) + $(use_with idn) + $(use_with pkcs11 p11-kit) + $(use_with zlib) + $(use_with zstd) + --disable-rpath + --with-default-trust-store-file="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + --with-unbound-root-key-file="${EPREFIX}"/etc/dnssec/root-anchors.txt + --without-included-libtasn1 + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}" + + if [[ ${CHOST} == *-solaris* ]] ; then + # gnulib ends up defining its own pthread_mutexattr_gettype + # otherwise, which is causing versioning problems + echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >> config.h || die + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + + if use examples; then + docinto examples + dodoc doc/examples/*.c + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.1.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.1.0.ebuild index 59cb76336eb..d2468a2851d 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.1.0.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND=" >=net-libs/libmnl-1.0.3 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.8.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.8.ebuild index 9356110ea5b..ec50cf89c56 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnftnl/libnftnl-1.2.8.ebuild @@ -17,7 +17,7 @@ else https://netfilter.org/projects/${PN}/files/${P}.tar.xz verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.xz.sig ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )" fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild index 7805861241c..e33e867ea9c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild @@ -19,7 +19,7 @@ else SRC_URI+=" verify-sig? ( https://chrony-project.org/releases/${P/_/-}-tar-gz-asc.txt -> ${P/_/-}.tar.gz.asc )" if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv sparc x86" fi fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.17.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.17.1.ebuild index a963e442414..8443a1f6c25 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iperf/iperf-3.17.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/esnet/iperf/releases/download/${PV}/${P}.tar.gz" LICENSE="BSD" SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" IUSE="sctp" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild index 9f4e50654ca..15ba4cd93df 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/iputils/iputils-20240905.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/iputils/iputils/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="Network monitoring tools including ping and ping6" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild index 129f86bd6eb..026cf4390af 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild index cbe9b5281c7..3a11a5ea884 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.3.0-r1.ebuild @@ -108,6 +108,9 @@ src_prepare() { } src_configure() { + # Should be fixed upstream in next release (>3.3.0) (bug #943745) + append-cflags -std=gnu17 + local myeconfargs=( --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf --without-included-popt diff --git a/sdk_container/src/third_party/portage-stable/net-misc/wget/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/wget/Manifest index e044038e618..b3c356603f5 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/wget/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/wget/Manifest @@ -2,3 +2,5 @@ DIST wget-1.21.4.tar.gz 5059591 BLAKE2B ced6fb9a20343d41e4d8e0c8f171c60535847504 DIST wget-1.21.4.tar.gz.sig 854 BLAKE2B 162c4f358e781bbfb0fa73910191c29dd411f48c9b2c8e8fe00a12741153e624955393d769aa7311b03115d04b6b946a84b636f643d7cdc8c8cd81387b9cf143 SHA512 72603493c2d799dca08700175a2010d8736fd6d3cb9bea3987db8814e9f133ab0fbd1477892115f7fbbd1a7d4d416ec370bdbff6dbe8f00d1eea84f0c4f8d84b DIST wget-1.24.5.tar.lz 2545954 BLAKE2B 8057e5992ddaf39b3daffbde99871ddec1328c6bbafbc6b9f1d3cd294bb928b2a80f813024d4cd664c396f84477f1d93d5a21c60c6fe2932f9196d29bb9aa896 SHA512 d8972e94d9125133d115750542e0f126b85a311634d5563a69d8fe85ecf1200836dcc83528ee4285d56834c58c722be580bfe749b26436158fbe4afc566f5cc0 DIST wget-1.24.5.tar.lz.sig 854 BLAKE2B 395e7da40e33f9a1df4978440f79e69eec951344d6c78a71e2867e4764ce552ccda3a4d34fa211b0d8abf18d87cf15dd8a0c5a8c43ffcc92e1b75c8d3bce9665 SHA512 5bc3e578fe55b7f954aec61101cb2d7f97a9464e61d5500caa47ac8b22048910c91f8ad22966fcb05c62414be76a1275805ac27ed434fa9de4d30f7a3631fd29 +DIST wget-1.25.0.tar.lz 2582072 BLAKE2B 58edd7393b5109804d7a6ce77466d30e1fba3c5ae4b5b8634758c9ebd7fa95cf106d35ad0b4f9151833d88b0221fc488a1005ec0b98417766bf2092309744954 SHA512 79403f594636e5d703817ceec59e5155940cd4734746ef793ef3bdabd100d0014a44c5e24f705656cf1e0762d87003fa1dc3e1b5605fae392bc9d7f121d90bae +DIST wget-1.25.0.tar.lz.sig 854 BLAKE2B 0698971ffdab274ee20d84b84096e9d4bd4a75b57df41643c55304188b3fcce69624a4d7043fb47280a63fb74748c2ce67ff1c6efc929680c8d2aee93498d309 SHA512 06a575b3e16f586c7c7affa2c80b4714bfbcd0aa03305126b16dcc34bd011b1690c71935111cde5f43e0fea214dc11d2da1fb98828c4e913da8c83159d8791e0 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0.ebuild new file mode 100644 index 00000000000..22310e928f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/wget/wget-1.25.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wget.asc +inherit flag-o-matic python-any-r1 toolchain-funcs unpacker verify-sig + +DESCRIPTION="Network utility to retrieve files from the WWW" +HOMEPAGE="https://www.gnu.org/software/wget/" +SRC_URI="mirror://gnu/wget/${P}.tar.lz" +SRC_URI+=" verify-sig? ( mirror://gnu/wget/${P}.tar.lz.sig )" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="cookie-check debug gnutls idn ipv6 libproxy metalink nls ntlm pcre +ssl static test uuid zlib" +REQUIRED_USE="ntlm? ( !gnutls ssl ) gnutls? ( ssl )" +RESTRICT="!test? ( test )" + +# * Force a newer libidn2 to avoid libunistring deps. #bug #612498 +# * Metalink can use gpgme automagically (so let's always depend on it) +# for signed metalink resources. +LIB_DEPEND=" + cookie-check? ( net-libs/libpsl ) + idn? ( >=net-dns/libidn2-0.14:=[static-libs(+)] ) + libproxy? ( net-libs/libproxy ) + metalink? ( + app-crypt/gpgme + media-libs/libmetalink + ) + pcre? ( dev-libs/libpcre2[static-libs(+)] ) + ssl? ( + gnutls? ( net-libs/gnutls:=[static-libs(+)] ) + !gnutls? ( dev-libs/openssl:=[static-libs(+)] ) + ) + uuid? ( sys-apps/util-linux[static-libs(+)] ) + zlib? ( sys-libs/zlib[static-libs(+)] ) +" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + $(unpacker_src_uri_depends) + app-arch/xz-utils + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + nls? ( sys-devel/gettext ) + test? ( + ${PYTHON_DEPS} + >=dev-perl/HTTP-Daemon-6.60.0 + dev-perl/HTTP-Message + dev-perl/IO-Socket-SSL + ) + verify-sig? ( >=sec-keys/openpgp-keys-wget-20241111 ) +" + +DOCS=( AUTHORS MAILING-LIST NEWS README ) + +# gnulib FPs +QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN alignof static_assert fpurge ) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_unpack() { + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig} + unpacker ${P}.tar.lz +} + +src_prepare() { + default + sed -i -e "s:/usr/local/etc:${EPREFIX}/etc:g" doc/{sample.wgetrc,wget.texi} || die +} + +src_configure() { + # fix compilation on Solaris, we need filio.h for FIONBIO as used in + # the included gnutls -- force ioctl.h to include this header + [[ ${CHOST} == *-solaris* ]] && append-cppflags -DBSD_COMP=1 + + if use static ; then + append-ldflags -static + tc-export PKG_CONFIG + PKG_CONFIG+=" --static" + fi + + # There is no flag that controls this. libunistring-prefix only + # controls the search path (which is why we turn it off below). + # Further, libunistring is only needed w/older libidn2 installs, + # and since we force the latest, we can force off libunistring. # bug #612498 + local myeconfargs=( + ac_cv_libunistring=no + --disable-assert + --disable-pcre + --disable-rpath + --without-included-libunistring + --without-libunistring-prefix + $(use_enable debug) + $(use_enable idn iri) + $(use_enable ipv6) + $(use_enable nls) + $(use_enable ntlm) + $(use_enable pcre pcre2) + $(use_enable ssl digest) + $(use_enable ssl opie) + $(use_with cookie-check libpsl) + $(use_enable idn iri) + $(use_enable libproxy) + $(use_with metalink) + $(use_with ssl ssl $(usex gnutls gnutls openssl)) + $(use_with uuid libuuid) + $(use_with zlib) + ) + + econf "${myeconfargs[@]}" +} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild index 7208b423f38..1a795cb4b9c 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ BIS_PV=20140524 BIS_P="${BIS_PN}-${BIS_PV}" DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.OpenLDAP.org/" +HOMEPAGE="https://www.openldap.org/" # upstream mirrors are mostly not working, using canonical URI SRC_URI=" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild index 0e7632529f1..db3dbdeb8d0 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild @@ -13,7 +13,7 @@ BIS_PV=20140524 BIS_P="${BIS_PN}-${BIS_PV}" DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.OpenLDAP.org/" +HOMEPAGE="https://www.openldap.org/" # upstream mirrors are mostly not working, using canonical URI SRC_URI=" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild index 08d15cbdf45..4830a68178e 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild @@ -26,7 +26,7 @@ S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" diff --git a/sdk_container/src/third_party/portage-stable/perl-core/File-Temp/File-Temp-0.231.100-r1.ebuild b/sdk_container/src/third_party/portage-stable/perl-core/File-Temp/File-Temp-0.231.100-r1.ebuild index dfb9db88db6..c115814898a 100644 --- a/sdk_container/src/third_party/portage-stable/perl-core/File-Temp/File-Temp-0.231.100-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/perl-core/File-Temp/File-Temp-0.231.100-r1.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="File::Temp can be used to create and open temporary files in a safe way" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="" PATCHES=( 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 a2555c50fdc..2bee87254d5 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,11 +1,15 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Christopher Byrne (2024-12-01) +# requires dev-libs/hidapi to be keyworded +dev-libs/libfido2 hidapi + # Felix Janda (2024-10-20) # requires dev-libs/libcss and net-libs/libdom to be keyworded www-client/elinks libcss -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test @@ -381,10 +385,6 @@ dev-db/percona-server cjk app-admin/sudo sssd sys-auth/pambase sssd -# Thomas Deutschmann (2018-06-06) -# Needs sys-apps/fakechroot which isn't keyworded -app-arch/rpm test - # Tomáš Mózes (2018-06-05) # Unkeyworded dependencies. app-admin/syslog-ng amqp kafka mongodb diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask index fdece9536c3..bf67734e79d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask @@ -17,14 +17,26 @@ #--- END OF EXAMPLES --- +# Viorel Munteanu (2024-11-30) +# Dependency dev-python/asyncssh is keyworded here. +net-misc/dropbear -test-async + +# Sv. Lockal (2024-11-30) +# Masked in base profile, supported on this arch +dev-debug/gdb -rocm + +# Paul Zander (2024-11-16) +# Only available on amd64 for now +media-gfx/openscad -manifold + +# Joonas Niilola (2024-11-16) +# Available on amd64. +www-client/firefox -wasm + # Sam James (2024-10-29) # Only available on amd64 for now dev-libs/elfutils -stacktrace -# Viorel Munteanu (2024-10-23) -# Dependency dev-python/asyncssh is keyworded here. -net-misc/dropbear -test - # MichaÅ‚ Górny (2024-10-23) # Debug-enabled binary packages are built for a subset of architectures. sys-kernel/gentoo-kernel-bin -debug @@ -53,7 +65,7 @@ sys-kernel/installkernel -ugrd # uasm and jwasm include amd64-specific ASM app-arch/7zip -uasm -jwasm -# Andrew Ammerlaan (2024-04-25) +# Nowa Ammerlaan (2024-04-25) # ROCm and Level-Zero are amd64-only at the moment sys-apps/hwloc -rocm -l0 @@ -65,7 +77,7 @@ media-gfx/blender -gnome -oneapi -renderdoc -vulkan # dev-qt/qtlanguageserver:6 is keyworded here dev-qt/qtdeclarative:6 -qmlls -# Andrew Ammerlaan (2024-03-17) +# Nowa Ammerlaan (2024-03-17) # virt-firmware is keyworded here sys-kernel/installkernel -efistub @@ -86,7 +98,7 @@ sys-libs/glibc -cet # net-libs/paho-mqtt-c is only available for amd64 and x86 app-admin/syslog-ng -mqtt -# Andrew Ammerlaan (2024-02-09) +# Nowa Ammerlaan (2024-02-09) # Refind is only available on a subset of arches sys-kernel/installkernel -refind @@ -94,7 +106,7 @@ sys-kernel/installkernel -refind # virtiofsd is available here app-emulation/libvirt -virtiofsd -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -102,14 +114,14 @@ sys-kernel/installkernel -grub # Requires dev-libs/level-zero. dev-lang/ispc -gpu -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # Experimental and only available on a subset of architectures sys-kernel/gentoo-kernel -generic-uki sys-kernel/gentoo-kernel-bin -generic-uki # Ionen Wolkens (2023-12-02) # dev-qt/qtwebengine:6 and dev-qt/qtremoteobjects:6 are keyworded here. -dev-python/PyQt6 -pdfium -remoteobjects +dev-python/pyqt6 -pdfium -remoteobjects # Jimi Huotari (2023-11-22) # Unmask on amd64. @@ -156,7 +168,7 @@ dev-python/pymongo -test-full # net-libs/rustls-ffi is keyworded here www-servers/apache -apache2_modules_tls -# Andrew Ammerlaan (2023-04-22) +# Nowa Ammerlaan (2023-04-22) # snap only works on amd64 gnome-extra/gnome-software -snap kde-plasma/discover -snap @@ -179,16 +191,11 @@ sys-libs/libomp -llvm_targets_AMDGPU # libomptarget is only supported on 64-bit architectures. >=sys-libs/libomp-16.0.0_pre20230124 -offload -# Sam James (2023-01-05) -# asm is only available for amd64 and arm, but for arm, is gated -# behind an experimental flag. ->=dev-libs/libsecp256k1-0.2.0 -asm - # Sam James (2022-12-11) # net-libs/rustls-ffi is keyworded here net-misc/curl -rustls -curl_ssl_rustls -# Andrew Ammerlaan (2022-12-06) +# Nowa Ammerlaan (2022-12-06) # Quick Sync Video (through intel-mediasdk or libvpl) is # only keyworded on amd64 media-video/ffmpeg -qsv diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask index 7c637e7434d..e51faa8535f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask @@ -19,13 +19,13 @@ # Ionen Wolkens (2024-09-27) # dev-qt/qtremoteobjects:6 has not been stabilized yet. -dev-python/PyQt6 remoteobjects +dev-python/pyqt6 remoteobjects -# Andrew Ammerlaan (2024-07-24) +# Nowa Ammerlaan (2024-07-24) # No stable versions of ROCm at the moment sys-apps/hwloc rocm -# Andrew Ammerlaan (2024-03-17) +# Nowa Ammerlaan (2024-03-17) # Experimental, virt-firmware is keyworded only unstable sys-kernel/installkernel efistub @@ -37,7 +37,7 @@ media-libs/opencv cudnn # Pulls in pandoc with all of its glory (haskell). #921501 www-apps/hugo test -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # This is still experimental, prebuilt images may not boot on all systems. sys-kernel/gentoo-kernel generic-uki sys-kernel/gentoo-kernel-bin generic-uki diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask index 2b5672cf531..653012d0161 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -amd64 +# Thomas Bettler (2024-11-04) +# media-libs/tiff only keyworded on amd64 +-lerc + # Paul Zander (2024-04-14) # media-libs/quirc is keyworded on amd64 -quirc @@ -28,7 +32,7 @@ # ROCm/HIP works here -hip -# Andrew Ammerlaan (2023-07-11) +# Nowa Ammerlaan (2023-07-11) # Unmask secureboot flag on arches where sbsigntools is keyworded -secureboot @@ -60,7 +64,6 @@ # Michael Orlitzky (2018-01-07) # Oracle database stuff should work on amd64. -oci8 --oci8-instant-client -oracle # Sven Wegener (2017-05-31) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask index d3420293228..29805df0f1e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.mask @@ -27,14 +27,14 @@ media-libs/intel-hybrid-codec-driver net-analyzer/gsa net-analyzer/gsad -# Andrew Ammerlaan (2022-02-13) +# Nowa Ammerlaan (2022-02-13) # Requires qtwebengine sci-electronics/eagle sci-geosciences/gpsbabel sci-geosciences/qgis sci-geosciences/viking -# Andrew Ammerlaan (2021-09-09) +# Nowa Ammerlaan (2021-09-09) # Jupyterlab and friends require net-libs/nodejs dev-python/jupyterlab dev-python/jupyterlab-lsp @@ -66,13 +66,12 @@ media-gfx/freecad # reverse-dependencies. dev-qt/qtwebengine dev-qt/qtwebview -dev-python/PyQt6-WebEngine -dev-python/PyQtWebEngine +dev-python/pyqt6-webengine +dev-python/pyqtwebengine app-admin/calamares app-text/zeal app-editors/ghostwriter app-editors/retext -app-misc/anki app-office/merkuro app-office/kmymoney app-office/skrooge diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask index 55395b68f36..f0d01d3ea28 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/x32/package.use.mask @@ -24,7 +24,7 @@ net-p2p/ktorrent rss # Tests require net-libs/nodejs which is unavailable on amd64/x32. dev-lang/dafny test -# Andrew Ammerlaan (2023-07-20) +# Nowa Ammerlaan (2023-07-20) # depends on dev-python/notebook which depends on nodejs dev-python/ipython notebook dev-python/iminuit test @@ -55,13 +55,13 @@ media-libs/libva-intel-driver hybrid # dev-qt/qtwebengine requires net-libs/nodejs, plus mask all # reverse-dependencies. app-i18n/fcitx-libpinyin dictionary-manager +app-misc/anki gui dev-lang/idris2 test-full dev-python/cloudscraper test games-util/lgogdownloader gui kde-apps/kde-apps-meta pim kde-apps/kdenetwork-meta bittorrent kde-apps/kleopatra pim -kde-apps/umbrello php kde-misc/kio-gdrive share kde-plasma/plasma-nm openconnect net-irc/quassel urlpreview @@ -96,7 +96,7 @@ dev-ruby/tilt test net-analyzer/netdata nodejs www-apps/jekyll test www-apps/xpra-html5 minify -dev-python/QtPy test +dev-python/qtpy test # Davide Pesavento (2011-11-30) # The QML (V4) and JSC JITs do not work on x32 (bug #932192). diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask index cf27cc4874a..a394a90b2ff 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask @@ -10,7 +10,7 @@ media-libs/opencv java net-misc/plowshare javascript sci-libs/gdal java -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test @@ -49,11 +49,11 @@ kde-frameworks/purpose:5 kaccounts app-crypt/pinentry qt6 app-office/libreoffice qt6 -# Andrew Ammerlaan (2024-06-01) +# Nowa Ammerlaan (2024-06-01) # qtnetworkauth not yet keyworded here dev-python/pyside6 network-auth -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # virt-firmware is keyworded here sys-kernel/installkernel -efistub @@ -81,7 +81,7 @@ media-libs/zita-resampler cpu_flags_arm_neon # No sys-block/nbdkit on arm, yet app-emulation/libvirt nbd -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -109,7 +109,7 @@ sys-block/tgt rbd # media-libs/openpgl and media-libs/embree only supports amd64 and arm64 media-gfx/blender embree openpgl -# Andrew Ammerlaan (2023-03-07) +# Nowa Ammerlaan (2023-03-07) # nbval/nbclassic docs require pandoc which is not keyworded here yet dev-python/nbval doc dev-python/nbclassic doc @@ -120,7 +120,7 @@ dev-python/nbclassic doc app-i18n/fcitx-libpinyin dictionary-manager dev-lang/idris2 test-full dev-python/cloudscraper test -dev-python/QtPy test +dev-python/qtpy test games-util/lgogdownloader gui net-irc/quassel urlpreview net-misc/fatrat bittorrent diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask index 064bda55ee0..022ae0014eb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.stable.mask @@ -13,7 +13,7 @@ x11-misc/xdg-utils plasma # media-libs/libplacebo is not stable here media-video/ffmpeg libplacebo -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # Experimental, virt-firmware is keyworded only unstable sys-kernel/installkernel efistub @@ -94,7 +94,6 @@ media-libs/mesa vulkan-overlay app-text/asciidoc test net-misc/openssh security-key dev-util/geany-plugins markdown -app-arch/rpm test # MichaÅ‚ Górny (2019-09-08) # virtual/jdk is not stable here. 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 5639e41e50d..dcfc80695b9 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask @@ -1,6 +1,14 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alexey Shvetsov (2024-11-21) +# sci-libs/caffe2 is not keyworded on arm64 +sci-chemistry/gromacs nnpot + +# Joonas Niilola (2024-11-16) +# Available on arm64. +www-client/firefox -wasm + # MichaÅ‚ Górny (2024-10-23) # Debug-enabled binary packages are built for a subset of architectures. sys-kernel/gentoo-kernel-bin -debug @@ -13,7 +21,7 @@ sys-cluster/slurm nvml ucx # Unmask the dynarec flag which has arm64 asm. games-emulation/rmg -dynarec -# Andrew Ammerlaan (2024-07-16) +# Nowa Ammerlaan (2024-07-16) # Unmask the ugrd flag for installkernel. It is keyworded here sys-kernel/installkernel -ugrd @@ -39,7 +47,7 @@ x11-libs/libdrm -video_cards_vmware # Supports 64-bit NEON media-libs/opencv -cpu_flags_arm_neon -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # virt-firmware is keyworded here sys-kernel/installkernel -efistub @@ -63,18 +71,18 @@ media-libs/zita-resampler -cpu_flags_arm_neon # No sys-block/nbdkit on arm, yet app-emulation/libvirt nbd -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # Experimental and only available on a subset of architectures sys-kernel/gentoo-kernel -generic-uki sys-kernel/gentoo-kernel-bin -generic-uki # Ionen Wolkens (2023-12-02) # dev-qt/qtwebengine:6 is keyworded here. -dev-python/PyQt6 -pdfium +dev-python/pyqt6 -pdfium # Takuya Wakazono (2023-11-21) # app-crypt/rpm-sequoia is keyworded here. 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 f9768504e9b..94fd9546f29 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 @@ -9,15 +9,15 @@ dev-libs/mongo-c-driver test # dev-libs/capstone hasn't been stabilized yet app-emulation/qemu capstone -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # Experimental, virt-firmware is keyworded only unstable sys-kernel/installkernel efistub # Ionen Wolkens (2024-01-27) # dev-python/pyside6 is not stable here yet -dev-python/QtPy pyside6 +dev-python/qtpy pyside6 -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # This is still experimental, prebuilt images may not boot on all systems. sys-kernel/gentoo-kernel generic-uki sys-kernel/gentoo-kernel-bin generic-uki @@ -122,10 +122,6 @@ media-plugins/gst-plugins-meta aac dts dv lame libvisual taglib vcd wavpack x11-wm/i3 test dev-python/ipython nbconvert -# Mikle Kolyada (2020-03-19) -# deps not yet stable -kde-apps/umbrello php - # Luke Dashjr (2019-09-21) # iasl is keyworded ~arm64 sys-firmware/seabios debug diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask index 964b358c1de..1c2ad46544d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask @@ -16,7 +16,7 @@ # dev-util/sysprof-capture is keyworded on arm64 -sysprof -# Andrew Ammerlaan (2023-07-11) +# Nowa Ammerlaan (2023-07-11) # Unmask secureboot flag on arches where sbsigntools is keyworded -secureboot 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 c1eddd2ac0f..25950953d95 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask @@ -1,14 +1,22 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Viorel Munteanu (2024-11-30) +# Missing keywords on dev-python/asyncssh. +net-misc/dropbear test-async + +# Sv. Lockal (2024-11-30) +# Only available for amd64. +dev-debug/gdb rocm + +# Paul Zander (2024-11-16) +# Only available on amd64 for now +media-gfx/openscad manifold + # Sam James (2024-10-29) # Only available on amd64 for now dev-libs/elfutils stacktrace -# Viorel Munteanu (2024-10-23) -# Missing keywords on dev-python/asyncssh. -net-misc/dropbear test - # MichaÅ‚ Górny (2024-10-23) # Debug-enabled binary packages are built for a subset of architectures. sys-kernel/gentoo-kernel-bin debug @@ -43,7 +51,7 @@ sys-kernel/installkernel ugrd # uasm and jwasm include amd64-specific ASM app-arch/7zip uasm jwasm -# Andrew Ammerlaan (2024-04-25) +# Nowa Ammerlaan (2024-04-25) # ROCm and Level-Zero are amd64-only at the moment sys-apps/hwloc rocm l0 @@ -59,7 +67,7 @@ dev-qt/qtdeclarative:6 qmlls # Missing keywords on dev-python/looseversion. sys-fs/fuse:3 test -# Andrew Ammerlaan (2024-03-17) +# Nowa Ammerlaan (2024-03-17) # Experimental, only keyworded for amd64 currently sys-kernel/installkernel efistub @@ -72,7 +80,7 @@ media-libs/libplacebo libdovi # net-libs/paho-mqtt-c is only available for amd64 and x86 app-admin/syslog-ng mqtt -# Andrew Ammerlaan (2024-02-09) +# Nowa Ammerlaan (2024-02-09) # Refind is only available on a subset of arches sys-kernel/installkernel refind @@ -80,7 +88,7 @@ sys-kernel/installkernel refind # virtiofsd is only available on some arches app-emulation/libvirt virtiofsd -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel grub @@ -88,14 +96,14 @@ sys-kernel/installkernel grub # Requires dev-libs/level-zero. dev-lang/ispc gpu -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # Experimental and only available on a subset of architectures sys-kernel/gentoo-kernel generic-uki sys-kernel/gentoo-kernel-bin generic-uki # Ionen Wolkens (2023-12-02) # dev-qt/qtwebengine:6 and dev-qt/qtremoteobjects:6 have few keywords. -dev-python/PyQt6 pdfium remoteobjects +dev-python/pyqt6 pdfium remoteobjects # Jimi Huotari (2023-11-22) # media-libs/libvpl is only keyworded for amd64 at this time. @@ -138,7 +146,7 @@ dev-python/pymongo test-full # Unkeyworded dependencies www-servers/apache apache2_modules_tls -# Andrew Ammerlaan (2023-04-22) +# Nowa Ammerlaan (2023-04-22) # snap only works on amd64 gnome-extra/gnome-software snap kde-plasma/discover snap @@ -152,16 +160,11 @@ dev-python/tables cpudetection # libomptarget is only supported on 64-bit architectures. >=sys-libs/libomp-16.0.0_pre20230124 offload -# Sam James (2023-01-05) -# asm is only available for amd64 and arm, but for arm, is gated -# behind an experimental flag. ->=dev-libs/libsecp256k1-0.2.0 asm - # Sam James (2022-12-11) # Unkeyworded dependencies net-misc/curl rustls curl_ssl_rustls -# Andrew Ammerlaan (2022-12-06) +# Nowa Ammerlaan (2022-12-06) # Quick Sync Video (through intel-mediasdk or oneVPL) is # only keyworded on amd64 media-video/ffmpeg qsv diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask index d511d857840..fb453f1da68 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Thomas Bettler (2024-11-04) +# media-libs/tiff only keyworded on amd64 +lerc + # Paul Zander (2024-04-14) # media-libs/quirc only keyworded on amd64, x86 quirc @@ -17,7 +21,7 @@ jasper # sci-libs/atlas is only supported on specific architectures atlas -# Andrew Ammerlaan (2023-07-11) +# Nowa Ammerlaan (2023-07-11) # Mask secureboot flag on arches where sbsigntools is not keyworded secureboot 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 863b9ad67c5..2e4d91b30d8 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. +# Christopher Byrne (2024-12-01) +# requires dev-libs/hidapi to be keyworded +dev-libs/libfido2 hidapi + +# Ian Jordan (2024-11-11) +# net-misc/networkmanager modemmanger and iwd not keyworded +net-misc/networkmanager modemmanager iwd + + # Felix Janda (2024-10-20) # requires dev-libs/libcss and net-libs/libdom to be keyworded www-client/elinks libcss @@ -12,7 +21,7 @@ www-client/elinks libcss # app-i18n/fcitx:5 is not yet keyworded media-libs/libsdl2 fcitx -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask index 14afbb12801..c36b38f644f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.stable.mask @@ -21,7 +21,7 @@ # Qt 6 not stable here. dev-build/cmake gui -# Andrew Ammerlaan (2024-07-25) +# Nowa Ammerlaan (2024-07-25) # Moved to stable.mask, issue is fixed in unstable v40 # Sam James (2024-06-19) # The systemd implementation of installkernel doesn't currently support @@ -168,7 +168,7 @@ app-misc/mc spell net-nds/openldap smbkrb5passwd # Matt Turner (2020-12-23) -# dev-python/subunit is not stable on hppa +# dev-python/python-subunit is not stable on hppa dev-libs/check subunit # Matt Turner (2020-12-23) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask index e988802889d..2a84e716714 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask @@ -181,10 +181,6 @@ ocamlopt # sys-devel/gcc fails to build with USE=d (bug #178896). d -# Jeroen Roovers (2007-05-02) -# Lack of user/dev support for WiFi (bug #176517) -networkmanager - # Samuli Suominen (2007-03-02) # See bug #157881#c3 battery @@ -232,10 +228,6 @@ ieee1394 # mono is not yet supported on hppa mono -# Guy Martin (2004-08-08) -# Wifi stuff not test yet because of lack of hardware -wifi - # Guy Martin (2003-02-26) # No lirc support on hppa lirc diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.force index 9d9e368b610..4953c56c5fa 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.force @@ -1,6 +1,10 @@ # Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Holger Hoffstätte +# sys-devel/bpf-toolchain not yet kw'ed on loong (#938169) +dev-util/bpftool clang + # Sam James (2024-02-03) # We only have MariaDB on loong, not MySQL. dev-perl/DBD-MariaDB mariadb diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask index 9c6483e3115..1e5ffa7fd1b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask @@ -1,7 +1,7 @@ # Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test @@ -23,7 +23,7 @@ media-libs/assimp collada # Andreas Sturmlechner (2024-09-13) # dev-python/pyside6 isn't keyworded here -dev-python/QtPy pyside6 +dev-python/qtpy pyside6 # Andreas Sturmlechner (2024-09-07) # kde-plasma/plasma-workspace:6 is not keyworded @@ -104,7 +104,7 @@ www-servers/nginx test # We only have MariaDB on loong, not MySQL. dev-perl/DBD-MariaDB mysql -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -160,7 +160,7 @@ sys-devel/llvm -debuginfod dev-python/cattrs test dev-python/requests-cache test -# Andrew Ammerlaan (2023-08-30) +# Nowa Ammerlaan (2023-08-30) # Avoid having to keyword more Qt deps dev-python/pyside2 3d datavis location scxml dev-python/pyside6 3d location scxml @@ -245,7 +245,7 @@ net-vpn/openconnect test # WANG Xuerui (2022-12-06) # dev-python/pyside2 not keyworded yet -dev-python/QtPy pyside2 +dev-python/qtpy pyside2 dev-python/qtconsole test # WANG Xuerui (2022-12-05) @@ -302,8 +302,8 @@ dev-libs/boost -context # WANG Xuerui (2022-12-02) # dev-qt/qtlocation:5 fails to compile with gcc-13 for now. -dev-python/PyQt5 location -dev-python/QtPy test +dev-python/pyqt5 location +dev-python/qtpy test # WANG Xuerui (2022-12-01) # Mask GRUB2 platforms not applicable to loong. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask index 5351d18a96b..fdf21faab0c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask @@ -88,6 +88,7 @@ dev-python/numpydoc test dev-python/objgraph test dev-python/pip-run test dev-python/pytest-regressions test +dev-python/pytest-subprocess test dev-python/requests test dev-python/sphinx test dev-python/urllib3 test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask index 7710390e180..ff5e265339d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Christopher Byrne (2024-12-01) +# requires dev-libs/hidapi to be keyworded +dev-libs/libfido2 hidapi + # Matt Jolly (2024-11-03) # Requires llvm 16 which is not keyworded =dev-lang/rust-1.71.1-r100 system-llvm @@ -9,7 +13,7 @@ # requires dev-libs/libcss and net-libs/libdom to be keyworded www-client/elinks libcss -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask index 46e3f5c6c54..1c923c402fb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask @@ -46,7 +46,7 @@ mail-mta/postfix mongodb # tests require dev-db/mongodb which is not keyworded dev-libs/mongo-c-driver test -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -88,12 +88,12 @@ dev-java/openjdk:17 systemtap # librttopo has not been tested on this arch dev-db/spatialite rttopo -# Andrew Ammerlaan (2023-08-30) +# Nowa Ammerlaan (2023-08-30) # Avoid keywordming more Qt stuff dev-python/pyside2 3d datavis scxml dev-python/pyside6 3d scxml -# Andrew Ammerlaan (2023-03-07) +# Nowa Ammerlaan (2023-03-07) # nbval/nbclassic docs require pandoc which is not keyworded here yet dev-python/nbval doc dev-python/nbclassic doc @@ -119,10 +119,10 @@ app-admin/conky doc # dev-cpp/notcurses not keyworded here media-sound/snd notcurses -# Andrew Ammerlaan (2022-09-23) +# Nowa Ammerlaan (2022-09-23) # pyside2 is not keyworded on powerpc at the moment. # Mask the other Qt4Python implementations -dev-python/QtPy pyside2 pyside6 +dev-python/qtpy pyside2 pyside6 # Matt Turner (2022-04-18) # app-text/nuspell is not keyworded diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.stable.mask index a2533a871ac..dacfb769f01 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.stable.mask @@ -60,7 +60,7 @@ x11-wm/mutter screencast media-sound/abcde replaygain # Andreas Sturmlechner (2018-06-20) -# dev-python/PyQt5 is not stable. +# dev-python/pyqt5 is not stable. dev-python/matplotlib qt5 test net-print/hplip qt5 dev-python/pyudev qt5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask index 7791ac8e255..d436252591a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask @@ -1,10 +1,13 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andreas Sturmlechner (2024-09-04) -# KF6 and media-libs/phonon have dropped ppc keyword -app-office/texstudio video -net-irc/kvirc phonon +# Mike Gilbert (2024-11-17) +# Cannot compile rust-based thin-provisioning-tools (bug #922236). +sys-fs/lvm2 thin + +# MichaÅ‚ Górny (2024-11-16) +# Generated C files are too big for PPC ISA to handle. +dev-python/mypy native-extensions # Matt Jolly (2024-08-14) # QUIC dependencies are not keyworded @@ -21,7 +24,7 @@ x11-misc/xdg-utils plasma # Ionen Wolkens (2024-07-02) # Needs dev-qt/qtquick3d:6 which itself needs media-libs/assimp that # is no longer keyworded here and currently fails tests (bug #935313). -dev-python/PyQt6 quick3d +dev-python/pyqt6 quick3d dev-qt/qtmultimedia:6 qml # Sam James (2024-05-19) @@ -98,10 +101,10 @@ dev-util/diffoscope opendocument pascal pdf R # Fails to compile because of size, bug #829602. sys-devel/clang extra -# Andrew Ammerlaan (2022-09-23) +# Nowa Ammerlaan (2022-09-23) # The corresponding Qt5 modules are not keyworded on ppc, and we don't want to # keyword them solely because of PyQt5 while there are no other in-tree users. -dev-python/PyQt5 bluetooth location speech +dev-python/pyqt5 bluetooth location speech # Arthur Zamarin (2022-08-15) # deps not keyworded diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask index 17c6e7bac2b..48a6950381d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask @@ -22,7 +22,7 @@ media-gfx/graphicsmagick jpeg2k # Sam James (2024-03-23) # dev-qt/qtwebengine not available here -dev-python/QtPy webengine test +dev-python/qtpy webengine test # Michal Privoznik (2024-01-21) # virtiofsd is available here diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask index 554106eb843..7255f28d9dd 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.stable.mask @@ -19,7 +19,7 @@ # Andreas Sturmlechner (2024-09-12) # dev-python/pyside6 is not stable here -dev-python/QtPy pyside6 +dev-python/qtpy pyside6 # Sam James (2024-04-30) # sys-block/nbdkit is not yet marked stable here @@ -45,10 +45,10 @@ dev-ruby/kramdown unicode # app-emacs/flycheck is not marked stable here yet dev-util/pkgcheck emacs -# Andrew Ammerlaan (2022-09-23) +# Nowa Ammerlaan (2022-09-23) # The corresponding Qt5 modules are not stable keyworded on ppc64, and we don't want to # keyword them solely because of PyQt5 while there are no other in-tree users. -dev-python/PyQt5 bluetooth +dev-python/pyqt5 bluetooth # Sam James (2022-03-07) # sys-cluster/torque not marked stable on ppc64 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 a08711d7484..b77ede00e41 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 @@ -5,7 +5,7 @@ # media-libs/libavif is not keyworded media-libs/opencv avif -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask index 2e47c70d8f4..6d27d353fb2 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask @@ -1,6 +1,10 @@ # Copyright 2019-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alexey Shvetsov (2024-11-21) +# sci-libs/caffe2 is not keyworded on arm64 +sci-chemistry/gromacs nnpot + # Benda Xu (2024-10-10) # dev-util/nvidia-cuda-toolkit or sys-cluster/ucx are not keyworded on riscv sys-cluster/slurm nvml ucx @@ -52,7 +56,7 @@ media-gfx/openvdb alembic # No sys-block/nbdkit on riscv, yet app-emulation/libvirt nbd -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -65,7 +69,7 @@ media-libs/libplacebo -shaderc sys-apps/openrc s6 sys-apps/openrc-navi s6 -# Andrew Ammerlaan (2023-08-30) +# Nowa Ammerlaan (2023-08-30) # Avoid keywording more Qt stuff dev-python/pyside2 datavis @@ -144,7 +148,7 @@ dev-libs/cyrus-sasl berkdb # Avoid dragging in "heavy" parts of dev-qt/* unless/until # somebody needs them. bug #816981, bug #854261. # Unfortunately, tests demand qtwebengine too. -dev-python/QtPy test +dev-python/qtpy test # Marek Szuba (2022-04-30) # net-wireless/sdrplay contains prebuilt binaries, currently available diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask index 3c391371624..9d3e36ad24d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask @@ -11,7 +11,7 @@ -ecl -gcl -# Andrew Ammerlaan (2023-07-11) +# Nowa Ammerlaan (2023-07-11) # Unmask secureboot flag on arches where sbsigntools is keyworded -secureboot diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask index d261b48daa8..ae41e70a698 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask @@ -1,6 +1,14 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Christopher Byrne (2024-12-01) +# requires dev-libs/hidapi to be keyworded +dev-libs/libfido2 hidapi + +# Pacho Ramos (2024-11-28) +# Needs gi-docgen +dev-libs/glib doc + # Hans de Graaff (2024-09-01) # Requires large parts of dev-ruby/rails to be keyworded dev-ruby/minitest-hooks test @@ -53,7 +61,7 @@ dev-libs/mongo-c-driver test # net-libs/grpc not keyworded here app-admin/syslog-ng grpc -# Andrew Ammerlaan (2024-01-12) +# Nowa Ammerlaan (2024-01-12) # dracut is not keyworded here sys-kernel/installkernel dracut @@ -244,8 +252,6 @@ app-editors/vim lua # not keyworded yet media-gfx/imagemagick raw dev-db/mariadb numa -# not tested yet -app-arch/rpm test # no ceph keyworded net-analyzer/rrdtool rados 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 2392bf02dd4..c564fac167c 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 @@ -9,7 +9,7 @@ www-client/elinks libcss # Exposes a kernel bug which causes system lockup (bug #899540) sys-libs/liburing test -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test @@ -82,7 +82,7 @@ dev-libs/mongo-c-driver test # net-libs/grpc not keyworded here app-admin/syslog-ng grpc -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -184,7 +184,7 @@ dev-python/nbval test # Needs dev-db/mariadb for tests, see entry in use.mask dev-python/pymysql test -# Andrew Ammerlaan (2023-03-07) +# Nowa Ammerlaan (2023-03-07) # nbval/nbclassic docs require pandoc which is not keyworded here yet dev-python/nbval doc dev-python/nbclassic doc diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask index ce9c6f0cb82..85ffefd06d3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask @@ -1,7 +1,7 @@ # Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask index e056ec06816..9fea6b67f3a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask @@ -4,32 +4,3 @@ # Joshua Kinard (2024-02-27) # app-arch/lrzip-next does not support 32-bit arches (#925548) app-arch/lrzip-next - -# Andreas Sturmlechner (2023-02-06) -# Successful build of dev-qt/qtwebengine depends on 64-bit host -# Bug #893234 -dev-qt/qtwebengine -dev-qt/qtwebview -dev-python/PyQtWebEngine -app-text/zeal -app-editors/retext -app-misc/anki -app-office/kmymoney:5 -app-office/skrooge:5 -app-office/texmaker -app-text/bibletime -app-text/cb2bib -app-text/kchmviewer -dev-python/spyder -dev-python/spyder-terminal -dev-python/spyder-unittest -dev-python/spyder-line-profiler -dev-python/spyder-vim -dev-python/spyder-notebook -kde-apps/cantor:5 -media-gfx/luminance-hdr -media-sound/frescobaldi -media-sound/teamspeak-client:3 -net-analyzer/nmapsi -sci-geosciences/qmapshack -www-client/otter diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask index 9a0897cf523..a6c8ef16e94 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask @@ -60,7 +60,7 @@ dev-tex/abntex lyx # additional dev-qt/qtwebengine revdeps. kde-frameworks/purpose:5 kaccounts -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # virt-firmware is keyworded here sys-kernel/installkernel -efistub @@ -72,7 +72,7 @@ sys-kernel/installkernel -efistub # net-libs/paho-mqtt-c is only available for amd64 and x86 app-admin/syslog-ng -mqtt -# Andrew Ammerlaan (2024-02-09) +# Nowa Ammerlaan (2024-02-09) # Refind is only available on a subset of arches sys-kernel/installkernel -refind @@ -82,7 +82,7 @@ sys-kernel/installkernel -refind # supporting this arch. net-libs/xrootd xrdec -# Andrew Ammerlaan (2024-01-13) +# Nowa Ammerlaan (2024-01-13) # Unmask only where grub is keyworded sys-kernel/installkernel -grub @@ -137,9 +137,10 @@ media-tv/mythtv nvdec # Successful build of dev-qt/qtwebengine depends on 64-bit host # Bug #893234 app-i18n/fcitx-libpinyin dictionary-manager +app-misc/anki gui dev-lang/idris2 test-full dev-python/cloudscraper test -dev-python/QtPy test +dev-python/qtpy test games-util/lgogdownloader gui kde-apps/kde-apps-meta pim kde-apps/kdenetwork-meta bittorrent diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask index ea02d85ddea..f8f0a5b0f58 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask @@ -19,7 +19,7 @@ # Andreas Sturmlechner (2024-09-20) # dev-python/pyside6 is not stable here. -dev-python/QtPy pyside6 +dev-python/qtpy pyside6 # Andreas Sturmlechner (2024-09-02) # kde-plasma/plasma-workspace is not stable here. @@ -38,11 +38,11 @@ virtual/notification-daemon kde # sys-block/nbdkit is not yet marked stable here app-emulation/libvirt nbd -# Andrew Ammerlaan (2024-03-21) +# Nowa Ammerlaan (2024-03-21) # Experimental, virt-firmware is keyworded only unstable sys-kernel/installkernel efistub -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # This is still experimental, prebuilt images may not boot on all systems. sys-kernel/gentoo-kernel generic-uki sys-kernel/gentoo-kernel-bin generic-uki diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask index 63c1d355568..9c9ee57d55b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask @@ -20,7 +20,7 @@ openimageio # media-libs/jasper works on x86 -jasper -# Andrew Ammerlaan (2023-07-11) +# Nowa Ammerlaan (2023-07-11) # Unmask secureboot flag on arches where sbsigntools is keyworded -secureboot diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force index 6da238d6942..a5ba2145c04 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force @@ -1,6 +1,33 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Jolly (2024-11-13) +# Force the use of the appropriate llvm_slot_x USE for Rust. +# This is strictly papercut prevention; the ebuild will enforce the correct +# selection via LLVM_REQUIRED_USE. This prevents users from deselecting +# the correct slot by (e.g.) setting -llvm_slot_# globally. +# source ../eclass/rust.eclass +# for slot in ${_RUST_SLOTS_ORDERED[@]}; do +# echo "dev-lang/rust:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" +# echo "dev-lang/rust-bin:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" +# done +dev-lang/rust:1.82.0 llvm_slot_19 +dev-lang/rust-bin:1.82.0 llvm_slot_19 +dev-lang/rust:1.81.0 llvm_slot_18 +dev-lang/rust-bin:1.81.0 llvm_slot_18 +dev-lang/rust:1.80.1 llvm_slot_18 +dev-lang/rust-bin:1.80.1 llvm_slot_18 +dev-lang/rust:1.79.0 llvm_slot_18 +dev-lang/rust-bin:1.79.0 llvm_slot_18 +dev-lang/rust:1.77.1 llvm_slot_17 +dev-lang/rust-bin:1.77.1 llvm_slot_17 +dev-lang/rust:1.75.0 llvm_slot_17 +dev-lang/rust-bin:1.75.0 llvm_slot_17 +dev-lang/rust:1.74.1 llvm_slot_17 +dev-lang/rust-bin:1.74.1 llvm_slot_17 +dev-lang/rust:1.71.1 llvm_slot_16 +dev-lang/rust-bin:1.71.1 llvm_slot_16 + # Sam James (2024-09-30) # gnat-gpl only exists for (bootstrapping) Ada. Until bug #940471 is handled, # force Ada on. Once it is split/moved/gutted, this won't be necessary diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask index 537ce0d4eff..265fce60440 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask @@ -3,6 +3,35 @@ # New entries go on top. +# Andreas Sturmlechner (2024-11-24) +# sci-libs/vtk[qt5] cleanup, bug #944817 +sci-libs/vtk qt5 +~sci-chemistry/avogadro2-1.97.0 vtk +~sci-libs/avogadrolibs-1.97.0 vtk + +# Andreas Sturmlechner (2024-11-23) +# dev-python/pyside2 last-rites +dev-python/qtpy pyside2 + +# Mats Lidell (2024-11-20) +# The dependency x11-libs/dnd blocks gcc-14, is only used by XEmacs, +# and upstream is not sure it even works so dropping use. #908831 +app-editors/xemacs dnd + +# Sam James (2024-11-17) +# The example bindings fail to build. +~sys-libs/ncurses-6.5_p20241109 cxx + +# Joonas Niilola (2024-11-16) +# Wasm support is (currently) only available on amd64 and arm64. +www-client/firefox wasm + +# Matt Jolly (2024-11-11) +# ICU 76.1 is not compatible with Chromium. Bug #943216. +# We'll mask it for a few weeks to use the bundled ICU +# while Google fixes the issue. +www-client/chromium system-icu + # Joonas Niilola (2024-11-07) # Dependency for generating docs not packaged in Gentoo. #942992 dev-util/repolite doc @@ -56,10 +85,6 @@ app-alternatives/yacc reference # Causes crashes with e.g. dlz+samba (bug #938955) net-dns/bind jemalloc -# Andreas Sturmlechner (2024-09-01) -# Prepare for dev-util/kdevelop:5 removal -kde-apps/umbrello:5 php - # Andreas Sturmlechner (2024-08-31) # Prepare for KDE PIM 5 removal and avoid conflicts w/ KDE PIM 6 app-office/kmymoney:5 addressbook @@ -332,11 +357,6 @@ app-misc/pax-utils seccomp # Broken when trying to use sys-libs/binutils-libs header, bug #879067 >=x11-libs/cairo-1.17.6 debug -# Bernd Waibel (2022-11-25) -# USE=tbb is broken in 7.7.0 -# https://tracker.dev.opencascade.org/view.php?id=33152 - (2022-11-22) # app-text/pandoc is not keyworded on most architectures net-libs/gssdp man diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask index 02b9f1e3049..2f013f1f828 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask @@ -4,10 +4,6 @@ # This file requires eapi 5 or later. New entries go on top. # Please use the same syntax as in package.use.mask -# MichaÅ‚ Górny (2024-10-26) -# Unblock the support in python-exec while the target is masked. -dev-lang/python-exec -python_targets_python3_13 - # Volkmar W. Pogatzki (2024-10-11) # No suitable version of dev-libs/protobuf available. =dev-java/protobuf-java-4.28.1 system-protoc diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask index b4845b0b52e..8a628cb5aba 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask @@ -4,6 +4,21 @@ # This file is only for generic masks. For arch-specific masks (i.e. # mask everywhere, unmask on arch/*) use arch/base. +# Robin H. Johnson (2024-11-17) +# bug 943698 +# Poor upstream code quality, unmaintained upstream; +# no hardware for testing # anymore. +# https://public-inbox.gentoo.org/gentoo-dev/robbat2-20240529T185323-477923075Z@orbis-terrarum.net/ +lcd_devices_g15 +g15 + +# Michael Orlitzky (2024-11-13) +# The 8.1 slot is masked, so the USE flag that pulls it in has to be +# masked too. The bare "php8-1" is for www-servers/nginx-unit which +# has a non-standard flag name. +php_targets_php8-1 +php8-1 + # Andreas K. Hüttel (2024-10-21) # Mechanism for coping with the time64 transition of 32bit arches # Will be unmasked in the time64 profiles diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask index d1197864f26..e474311a509 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.stable.mask @@ -14,8 +14,6 @@ llvm_slot_19 # MichaÅ‚ Górny (2024-05-08) # Python implementations without stable keywords. -python_targets_python3_13 -python_single_target_python3_13 python_targets_python3_13t python_single_target_python3_13t python_targets_pypy3 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/parent new file mode 100644 index 00000000000..d5a56a13f69 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/desktop/gnome diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/parent new file mode 100644 index 00000000000..288aeccdce8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/gnome/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../../targets/desktop/gnome/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/parent new file mode 100644 index 00000000000..fae96e8d36b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/desktop diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/parent new file mode 100644 index 00000000000..0317df26cc9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/desktop/plasma diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/parent new file mode 100644 index 00000000000..5d9d87f6d91 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/desktop/plasma/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/parent new file mode 100644 index 00000000000..e5d746a4ea0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../features/hardened/x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/parent new file mode 100644 index 00000000000..23c5fe07a24 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/hardened/selinux/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../features/selinux diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/parent new file mode 100644 index 00000000000..b34bc39063e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../../targets/desktop/gnome diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/parent new file mode 100644 index 00000000000..b2a33c35daf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/desktop diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/parent new file mode 100644 index 00000000000..04c17e07380 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../../targets/desktop/plasma diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/parent new file mode 100644 index 00000000000..e2f1a20d383 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../features/hardened/x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/parent new file mode 100644 index 00000000000..d148b9ae67c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../../features/selinux diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/parent new file mode 100644 index 00000000000..d9e9cc8f6c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/split-usr/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../features/split-usr 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 f37645ffb46..f4e0f77dc13 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 @@ -40,7 +40,7 @@ kde-apps/grantlee-editor kde-apps/akregator dev-util/kdevelop dev-qt/qtwebview -dev-python/PyQtWebEngine +dev-python/pyqtwebengine app-text/kchmviewer app-office/merkuro app-editors/ghostwriter diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask index bbde951452d..36f1a652498 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.use.mask @@ -24,7 +24,7 @@ media-plugins/gst-plugins-meta vpx net-p2p/ktorrent rss webengine net-irc/quassel urlpreview kde-apps/kalarm pim -dev-python/QtPy pyqt5 +dev-python/qtpy pyqt5 gnome-base/gnome extras # matoro (2023-11-16) diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask index 949d2a81b76..49140e594c9 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-11-19) +# Not ported to musl (bug #717252, bug #938613) +sys-apps/dog + # Robert Siebeck (2024-10-30) # musl not supported by upstream app-editors/zed @@ -19,7 +23,7 @@ net-nds/nsscache # Sam James (2024-09-30) # Needs porting to musl (bug #940130) -=sys-auth/elogind-255.5 +=sys-auth/elogind-255.5-r1 # Sam James (2024-08-31) # sys-devel/binutils[gprofng] is masked on musl @@ -213,7 +217,7 @@ www-client/chromium net-misc/netkit-telnetd net-misc/sitecopy -# Andrew Ammerlaan (2024-01-20) +# Nowa Ammerlaan (2024-01-20) # Binary package linked to glibc (rolling mask, use for all such binpkgs) app-admin/awscli-bin app-admin/bitwarden-desktop-bin diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask index aca87a7d4c8..0440e25ba43 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andrew Ammerlaan (2024-10-08) +# Nowa Ammerlaan (2024-10-08) # Not all required dependencies are keyworded here sys-kernel/dracut test @@ -19,7 +19,7 @@ gui-apps/wayvnc tracing # Requires sys-libs/libcxx. dev-cpp/benchmark libcxx -# Andrew Ammerlaan (2024-07-25) +# Nowa Ammerlaan (2024-07-25) # Requires systemd-detect-virt app-emulation/virt-firmware test @@ -40,7 +40,7 @@ dev-php/pecl-mongodb test dev-python/pymongo test-full net-analyzer/zmap mongo -# Andrew Ammerlaan (2024-04-25) +# Nowa Ammerlaan (2024-04-25) # No Level-Zero on musl sys-apps/hwloc l0 @@ -87,7 +87,7 @@ sys-devel/binutils gprofng # this, however it seems to be unreliable, see bug #922897. gui-libs/gtk cpu_flags_x86_f16c -# Andrew Ammerlaan (2024-01-12) +# Nowa Ammerlaan (2024-01-12) # The systemd flag is globally masked on musl. But we need # systemd's kernel-install to use systemd-boot which is still # possible on musl via systemd-utils[boot]. @@ -97,7 +97,7 @@ sys-kernel/installkernel -systemd # Requires dev-libs/level-zero. dev-lang/ispc gpu -# Andrew Ammerlaan (2023-12-18) +# Nowa Ammerlaan (2023-12-18) # Requires systemd sys-kernel/gentoo-kernel generic-uki sys-kernel/gentoo-kernel-bin generic-uki diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/make.defaults index 3f95c0a0e32..0527e21a0bb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/make.defaults @@ -1,2 +1,5 @@ # Set an environment variable so we can easily test for the profile type PROFILE_23_USRTYPE="split-usr" + +# Avoid warnings about legacy symlinks, #945390 +UNINSTALL_IGNORE="${UNINSTALL_IGNORE} /lib/systemd /lib/udev" 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 8da20c80caf..b2dc38f0dc2 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 @@ -110,7 +110,7 @@ dev-python/pyghmi dev-python/omemo-dr net-im/transwhat dev-python/noiseprotocol -dev-python/mitmproxy_wireguard +dev-python/mitmproxy-wireguard dev-python/magic-wormhole dev-python/magic-wormhole-transit-relay dev-python/magic-wormhole-mailbox-server @@ -122,7 +122,7 @@ dev-python/jupyter-kernel-test dev-python/jellyfish www-apps/novnc dev-python/jsonmerge -dev-python/jinja2_pluralize +dev-python/jinja2-pluralize dev-python/fido2 dev-python/github3-py dev-python/google-auth-oauthlib @@ -130,7 +130,7 @@ dev-python/elasticsearch dev-python/dns-lexicon dev-python/dissononce dev-python/consonance -dev-python/PyGithub +dev-python/pygithub dev-python/adblock dev-python/pysnmp dev-python/pysnmp-mibs @@ -151,6 +151,7 @@ app-text/fblog app-shells/nushell app-misc/rpick app-misc/skim +app-misc/anki app-i18n/yaskkserv2 app-emulation/cloud-init app-forensics/yara-x @@ -177,7 +178,7 @@ app-backup/duply dev-util/bugbite-cli dev-util/cargo-nextest -# Andrew Ammerlaan (2024-03-19) +# Nowa Ammerlaan (2024-03-19) # Requires dev-python/cryptography app-emulation/virt-firmware diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask index 582010e4e3e..d3cabe26cd4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2024-11-12) +# Requires rust/cargo. +sys-kernel/dracut dracut-cpio + # MichaÅ‚ Górny (2024-11-02) # Optional Rust extensions. dev-python/dulwich native-extensions @@ -48,7 +52,7 @@ app-misc/gramps test app-forensics/volatility3 jsonschema app-emulation/libguestfs test -# Andrew Ammerlaan (2024-03-19) +# Nowa Ammerlaan (2024-03-19) # Requires dev-python/cryptography sys-kernel/installkernel efistub diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated index fcc2feaf833..97652ea0ef1 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated +++ b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated @@ -29,7 +29,7 @@ dev-python/sentry-sdk # from the removed cgi module rather than rely on this. dev-python/legacy-cgi -# Andrew Ammerlaan (2024-03-09) +# Nowa Ammerlaan (2024-03-09) # Unmaintained upstream. Does not build with llvm-16 and up, nor with # python-3.12 and up. Please port to Qt6. # Bug: https://bugs.gentoo.org/920544 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 80887c34973..7961495a654 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -33,6 +33,225 @@ #--- END OF EXAMPLES --- +# MichaÅ‚ Górny (2024-12-01) +# Superseded by dev-lang/pypy:2.7. +# Removal on 2024-12-15. +dev-python/pypy + +# Patrick Lauer (2024-12-01) +# ROCm 6.2 builds but doesn't work at all for me +>=dev-libs/roct-thunk-interface-6.2 +>=dev-libs/rocm-comgr-6.2 +>=dev-libs/rocm-device-libs-6.2 +>=dev-libs/rocr-runtime-6.2 +>=dev-libs/rocm-opencl-runtime-6.2 +>=dev-util/hipcc-6.2 +>=dev-util/hip-6.2 + + +# Florian Schmaus (2024-11-29) +# TeX Live 2024 is currently masked for testing. +# Please report issues by creating a new bug report +# at https://bugs.gentoo.org. +>=app-text/dvisvgm-2024 +>=app-text/ps2pkm-1.8_p20240311 +>=app-text/texlive-2024 +>=app-text/texlive-core-2024 +>=dev-libs/kpathsea-6.4.0 +>=dev-libs/ptexenc-1.4.6 +dev-python/latexrestricted +>=dev-tex/biber-2.20 +>=dev-tex/biblatex-3.20 +>=dev-tex/bibtexu-3.72_p20240311 +>=dev-tex/glossaries-4.55 +dev-tex/latex2pydata +>=dev-tex/latexmk-4.85 +>=dev-tex/minted-3.4.0 +>=dev-tex/tex4ht-20240311 +>=dev-texlive/texlive-basic-2024 +>=dev-texlive/texlive-bibtexextra-2024 +>=dev-texlive/texlive-binextra-2024 +>=dev-texlive/texlive-context-2024 +>=dev-texlive/texlive-fontsextra-2024 +>=dev-texlive/texlive-fontsrecommended-2024 +>=dev-texlive/texlive-fontutils-2024 +>=dev-texlive/texlive-formatsextra-2024 +>=dev-texlive/texlive-games-2024 +>=dev-texlive/texlive-humanities-2024 +>=dev-texlive/texlive-langarabic-2024 +>=dev-texlive/texlive-langchinese-2024 +>=dev-texlive/texlive-langcjk-2024 +>=dev-texlive/texlive-langcyrillic-2024 +>=dev-texlive/texlive-langczechslovak-2024 +>=dev-texlive/texlive-langenglish-2024 +>=dev-texlive/texlive-langeuropean-2024 +>=dev-texlive/texlive-langfrench-2024 +>=dev-texlive/texlive-langgerman-2024 +>=dev-texlive/texlive-langgreek-2024 +>=dev-texlive/texlive-langitalian-2024 +>=dev-texlive/texlive-langjapanese-2024 +>=dev-texlive/texlive-langkorean-2024 +>=dev-texlive/texlive-langother-2024 +>=dev-texlive/texlive-langpolish-2024 +>=dev-texlive/texlive-langportuguese-2024 +>=dev-texlive/texlive-langspanish-2024 +>=dev-texlive/texlive-latex-2024 +>=dev-texlive/texlive-latexextra-2024 +>=dev-texlive/texlive-latexrecommended-2024 +>=dev-texlive/texlive-luatex-2024 +>=dev-texlive/texlive-mathscience-2024 +>=dev-texlive/texlive-metapost-2024 +>=dev-texlive/texlive-music-2024 +>=dev-texlive/texlive-pictures-2024 +>=dev-texlive/texlive-plaingeneric-2024 +>=dev-texlive/texlive-pstricks-2024 +>=dev-texlive/texlive-publishers-2024 +>=dev-texlive/texlive-xetex-2024 + +# Andreas Sturmlechner (2024-11-28) +# Grave data loss bug. See also: +# https://github.com/nicotine-plus/nicotine-plus/issues/3152 +=net-p2p/nicotine+-3.3.5 + +# Takuya Wakazono (2024-11-27) +# Replaced by sys-boot/woeusb-ng, which has more recent upstream +# activity and optional GUI support. +# Removal on 2024-12-24. +sys-boot/woeusb + +# Michael Orlitzky (2024-11-25) +# Several consumers are failing to build with this version, bugs 944380, +# 944404, and others. Masking until we can figure out what's wrong. +=dev-python/cysignals-1.12.0 + +# MichaÅ‚ Górny (2024-11-23) +# Implementation detail of dev-python/pyproject-fmt. New versions +# integrate the Rust code into the main package. +# Removal on 2024-12-07. Bug #944782. +dev-python/pyproject-fmt-rust + +# Andreas Sturmlechner (2024-11-23) +# dev-python/pyside2 last-rites, no more revdeps +# Removal on 2024-12-23 +dev-python/pyside2 +dev-python/pyside2-tools +dev-python/shiboken2 + +# Ionen Wolkens (2024-11-19) +# NVIDIA dropped support for the 470.xx branch in September 2024[1]. +# +# Users are free to unmask and keep using, but be warned it is very +# likely to be affected by security issues[2] as NVIDIA does not +# track nor fix these for this branch anymore. +# +# Gentoo will keep it packaged for as long as reasonably possible +# (albeit masked) but no true support will be given nor patches +# for newer kernels. It is recommended to use 6.6.x LTS kernels or +# older (6.6.x will be supported until at least December 2026). +# +# Major issues will lead to removal without further warning, e.g. +# if no usable kernels left in tree, or if broken with a newer Xorg. +# +# >> It is recommended to switch to nouveau[3] drivers (regardless +# of its worse performance), or ideally replace the hardware. +# +# [1] https://nvidia.custhelp.com/app/answers/detail/a_id/3142 +# https://nvidia.custhelp.com/app/answers/detail/a_id/5202 +# [2] https://bugs.gentoo.org/942031#c7 +# [3] https://wiki.gentoo.org/wiki/Nouveau +x11-drivers/nvidia-drivers:0/470 + +# Andreas Sturmlechner (2024-11-18) +# All classes were moved to >=x11-libs/qwt-6.2.0. No revdeps. +# Removal on 2024-12-18. +x11-libs/qwtpolar + +# Robin H. Johnson (2024-11-17) +# bug 943698 +# Poor upstream code quality, unmaintained upstream; +# no hardware for testing # anymore. +# https://public-inbox.gentoo.org/gentoo-dev/robbat2-20240529T185323-477923075Z@orbis-terrarum.net/ +app-misc/g15composer +app-misc/g15daemon +app-misc/g15macro +app-misc/g15message +app-misc/g15mpd +app-misc/g15stats +dev-libs/libg15 +dev-libs/libg15render + +# MichaÅ‚ Górny (2024-11-17) +# Superseded by dev-lang/pypy:3.10. This version is vulnerable. +# Removal on 2024-12-01. +dev-python/pypy3_10 + +# Alfredo Tupone (2024-11-17) +# Included in dev-ml/odoc, the only rdep +# Removal on 2024-12-17. +dev-ml/odoc-parser + +# Matt Turner (2024-11-16) +# Masked for testing +=dev-util/intel_clc-24.3* +=media-libs/mesa-24.3* + +# Andreas K. Hüttel (2024-11-17) +# Needs a header from libusb that doesnt exist anymore. Will never build. +# Furthermore, modern C problems. Bug 874645. No maintainer. +# Removal in 30 days. +dev-util/usb-robot + +# Andreas K. Hüttel (2024-11-17) +# Fails to build on modern compilers, bug 874291. Various open bugs. +# No maintainer. Removal in 30 days. +app-emulation/spim + +# Hans de Graaff (2024-11-16) +# Mask obsolete shoulda-related slots. Use the newer slots instead. +# Removal on 2024-12-16. +dev-ruby/shoulda:3 +dev-ruby/shoulda-context:0 +dev-ruby/shoulda-matchers:3 + +# Hans de Graaff (2024-11-16) +# Mask obsolete Rails 6.1-only slot. Please use the newer slot instead. +# Removal on 2024-12-16. +dev-ruby/database_cleaner-active_record:2.1 + +# Jaco Kroon (2024-11-15) +# clippy exists purely for frr (even comes from the same sources). This +# package split is no longer implemented from frr-9.1.2 onwards, so this +# package is no longer required. +dev-util/clippy + +# Michael Orlitzky (2024-11-13) +# PHP 8.1.x no longer receives bug fixes unless they address security +# issues. That means no build fixes, no updates for modern compilers, +# and no tweaks for newer versions of dependencies. We can't really +# afford to maintain our own little fork of this, so it's time to +# upgrade (sorry). With it goes any unmaintained PECL packages +# that don't support 8.2 or newer. +dev-lang/php:8.1 +dev-php/pecl-dbase +dev-php/pecl-gnupg +dev-php/pecl-http +dev-php/pecl-lzf +dev-php/pecl-mcrypt +dev-php/pecl-memcache +dev-php/pecl-oauth +dev-php/pecl-pam +dev-php/pecl-ps +dev-php/pecl-psr +dev-php/pecl-raphf +dev-php/pecl-timezonedb +dev-php/pecl-translit +dev-php/pecl-zmq +dev-php/realpath_turbo +dev-php/snuffleupagus +dev-php/swoole +=virtual/httpd-php-8.1 + (2024-11-10) # Fails to build with gcc-14. Horrible code. Not touched by a # maintainer since 2010. Bugs 729134, 870541, 909625, 933773 @@ -129,17 +348,6 @@ sci-chemistry/molden # slot instead. Removal on 2024-12-03. dev-ruby/pdf-reader:0 -# Hans de Graaff (2024-11-01) -# Does not work with current versions of dependencies. ruby32-only -# because of it. No release in two years. No reverse -# dependencies. Removal on 2024-12-01. -dev-ruby/typhoeus - -# Hans de Graaff (2024-11-01) -# No longer compiles with modern C compilers, bug 881245. Last upstream -# release 6 years ago. No reverse dependencies. Removal on 2024-12-01. -dev-ruby/ruby-opengl - # MichaÅ‚ Górny (2024-10-29) # Unmaintained in Gentoo. The latter is multiple versions behind. # Ebuilds without working tests. The only revdep has its "doc" flag @@ -148,46 +356,6 @@ dev-ruby/ruby-opengl dev-python/mkdocs-ansible dev-python/mkdocs-macros-plugin -# Marc Schiffbauer (2024-10-28) -# New style opencpn plugins depend on specific snapshots of -# "opencpn-libs", a collection of bundled 3rd party libs or -# forks thereof. -# This makes it virtually impossible to package opencpn and -# its plugins in a sane way. -# Use the flatpak version instead. -# removal on 2024-11-28. -# Bug #928960, #933606 -sci-geosciences/opencpn -sci-geosciences/opencpn-plugin-aisradar -sci-geosciences/opencpn-plugin-climatology -sci-geosciences/opencpn-plugin-dr -sci-geosciences/opencpn-plugin-findit -sci-geosciences/opencpn-plugin-gxradar -sci-geosciences/opencpn-plugin-iacfleet -sci-geosciences/opencpn-plugin-launcher -sci-geosciences/opencpn-plugin-logbookkonni -sci-geosciences/opencpn-plugin-objsearch -sci-geosciences/opencpn-plugin-ocpn_draw -sci-geosciences/opencpn-plugin-ocpndebugger -sci-geosciences/opencpn-plugin-oesenc -sci-geosciences/opencpn-plugin-otcurrent -sci-geosciences/opencpn-plugin-polar -sci-geosciences/opencpn-plugin-radar -sci-geosciences/opencpn-plugin-route -sci-geosciences/opencpn-plugin-squiddio -sci-geosciences/opencpn-plugin-statusbar -sci-geosciences/opencpn-plugin-watchdog -sci-geosciences/opencpn-plugin-weather_routing -sci-geosciences/opencpn-plugin-weatherfax -sci-geosciences/opencpn-plugins-meta - -# Hans de Graaff (2024-10-27) -# Obsolete slots without reverse dependencies. dev-util/cucumber will -# use other slots when installed. Removal on 2024-11-27. -dev-util/cucumber-gherkin:26 -dev-util/cucumber-messages:17 -dev-util/cucumber-messages:20 - # Arthur Zamarin (2024-10-23) # Doesn't support latest Rust/Cargo ebuild format and standard. Confuses # developers who tries to use it, and then see pkgcheck warnings on the @@ -229,25 +397,6 @@ dev-python/sentry-sdk # Removal on 2024-11-14. Bug #247500. app-emacs/quilt-el -# Alfredo Tupone (2024-10-14) -# These packages are no more needed. -# Use dev-ml/opam, dev-ml/opam-file-format, -# dev-ml/opam-installer -# that include these -# remove on 2024-11-14. -dev-ml/opam-client -dev-ml/opam-repository -dev-ml/opam-state -dev-ml/opam-format -dev-ml/opam-core -dev-ml/opam-solver - -# Hans de Graaff (2024-10-13) -# Obsolete slots without reverse dependencies. Use a newer slot -# instead. Removal on 2024-11-13. -dev-ruby/io-event:1.2 -dev-ruby/io-event:1.3 - # Holger Hoffstätte (2024-10-11) # Vendors an unreleased libbpf version and generates ABI-breaking code. # Bug #941185. Removal on 2024-12-03. @@ -276,17 +425,12 @@ app-i18n/fcitx-unikey:4 app-i18n/fcitx:4 app-i18n/kcm-fcitx -# Michael Orlitzky (2024-10-09) -# This is the new stable series of webkit-gtk, but it has a new -# less-portable rendering engine, and doesn't yet build on ~riscv for -# reasons unrelated to that. It's easier to play around with it in -# the tree, but it's not ready for end users yet. ->=net-libs/webkit-gtk-2.46.0 - # Ionen Wolkens (2024-10-08) -# Masked for testing and (mostly) to avoid upgrade noise given -# PyQt6-6.7.x is known broken with it and depends on <6.8. Feel -# free to unmask early if not using PyQt6. +# Masked for testing, and odds are (at this point) that 6.8.0 will +# never be unmasked and will skip to 6.8.1 instead given the large +# amount of regressions there's been.. +=dev-python/pyqt6-6.8.0_pre* +=dev-python/pyqt6-webengine-6.8.0_pre* =dev-python/pyside6-6.8.0* =dev-python/pyside6-tools-6.8.0* =dev-python/shiboken6-6.8.0* @@ -323,7 +467,7 @@ app-i18n/kcm-fcitx =dev-qt/qtwebsockets-6.8.0* =dev-qt/qtwebview-6.8.0* -# Andrew Ammerlaan (2024-10-05) +# Nowa Ammerlaan (2024-10-05) # This version is known to break on certain systems. At the # same time it fixes several reported issues. Masked until # we can work out how to resolve the situation. @@ -342,12 +486,6 @@ app-i18n/kcm-fcitx # Beware that if you upgrade to it, you may need to reset your keyrings. >=app-crypt/gnupg-2.5 -# Eli Schwartz (2024-09-19) -# Breaks parallel builds with fatal compiler errors. -# Bug #939798, #939875. ->=dev-python/ensurepip-setuptools-75.1.0 ->=dev-python/setuptools-75.1.0 - # Ulrich Müller (2024-09-12) # Pretest versions, masked for testing. =dev-ml/camlp4-5 dev-ml/textutils_kernel:0/0.17 -# MichaÅ‚ Górny (2024-06-08) -# Prereleases of Xfce 4.20. Masking upon popular request, due to -# a large number of regressions in every new release. ->=dev-build/xfce4-dev-tools-4.19 ->=xfce-base/exo-4.19 ->=xfce-base/garcon-4.19 ->=xfce-base/libxfce4ui-4.19 ->=xfce-base/libxfce4util-4.19 ->=xfce-base/libxfce4windowing-4.19.5 ->=xfce-base/thunar-4.19 ->=xfce-base/thunar-volman-4.19 ->=xfce-base/tumbler-4.19 ->=xfce-base/xfce4-appfinder-4.19 ->=xfce-base/xfce4-meta-4.19 ->=xfce-base/xfce4-panel-4.19 ->=xfce-base/xfce4-power-manager-4.19 ->=xfce-base/xfce4-session-4.19 ->=xfce-base/xfce4-settings-4.19 ->=xfce-base/xfconf-4.19 ->=xfce-base/xfdesktop-4.19 ->=xfce-base/xfwm4-4.19 - -# Sam James (2024-04-28) -# Masked for testing. Tracker bug: bug #930805. ->=sys-libs/ncurses-6.5 - # Sam James (2024-03-28) # Newer 5.4.x releases were signed by a potentially compromised upstream maintainer. # There is no evidence that these releases contain malicious code, but masked @@ -564,12 +676,6 @@ sec-keys/openpgp-keys-jiatan =sci-libs/suitesparseconfig-7.0.0 =sci-libs/umfpack-6.1.0 -# Sam James (2023-05-10) -# Lots of package breakage as usual for new versions. Masked until most/all -# reverse dependencies are fixed. Tracker bug is bug #906077. ->=dev-libs/libfmt-10 ->=games-emulation/dolphin-2407 - # Ionen Wolkens (2023-03-30) # NVIDIA dropped support for the 390.xx branch in December 2022[1]. # diff --git a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc index 445189fc42e..c6e64424c35 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc @@ -576,6 +576,21 @@ x86 default/linux/x86/23.0/i686/split-usr/prefix exp x86 default/linux/x86/23.0/i686/split-usr/prefix/kernel-2.6.32+ exp x86 default/linux/x86/23.0/i686/split-usr/prefix/kernel-2.6.16+ exp x86 default/linux/x86/23.0/i686/split-usr/prefix/kernel-3.2+ exp +x86 default/linux/x86/23.0/i686/time64 exp +x86 default/linux/x86/23.0/i686/time64/systemd exp +x86 default/linux/x86/23.0/i686/time64/hardened exp +x86 default/linux/x86/23.0/i686/time64/hardened/selinux exp +x86 default/linux/x86/23.0/i686/time64/desktop exp +x86 default/linux/x86/23.0/i686/time64/desktop/gnome exp +x86 default/linux/x86/23.0/i686/time64/desktop/gnome/systemd exp +x86 default/linux/x86/23.0/i686/time64/desktop/plasma exp +x86 default/linux/x86/23.0/i686/time64/desktop/plasma/systemd exp +x86 default/linux/x86/23.0/i686/time64/split-usr exp +x86 default/linux/x86/23.0/i686/time64/split-usr/hardened exp +x86 default/linux/x86/23.0/i686/time64/split-usr/hardened/selinux exp +x86 default/linux/x86/23.0/i686/time64/split-usr/desktop exp +x86 default/linux/x86/23.0/i686/time64/split-usr/desktop/gnome exp +x86 default/linux/x86/23.0/i686/time64/split-usr/desktop/plasma exp x86 default/linux/x86/23.0/i486 stable x86 default/linux/x86/23.0/i486/systemd stable x86 default/linux/x86/23.0/i486/hardened dev diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use index 0df2c18de1d..b4f3a3a296f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use @@ -4,7 +4,6 @@ # Andreas Sturmlechner (2024-08-30) # Resolve conflicting REQUIRED_USE defaults (qt5 vs. qt6) media-libs/simage -qt5 -net-p2p/transmission -qt5 # Andreas Sturmlechner (2024-03-07) # Required by kde-frameworks/kio:6 @@ -33,7 +32,7 @@ x11-base/xwayland libei dev-build/cmake -gui -qt6 # Andreas Sturmlechner (2023-07-29) -# Required by dev-python/PyQt5[multimedia] +# Required by dev-python/pyqt5[multimedia] dev-qt/qtmultimedia:5 widgets # Andreas Sturmlechner (2023-05-21) @@ -91,7 +90,7 @@ app-text/xmlto text # Ben de Groot (2015-02-18) # Enable sensible defaults for desktop users (bug #540046) -dev-python/PyQt5 gui multimedia network printsupport widgets +dev-python/pyqt5 gui multimedia network printsupport widgets # Chí-Thanh Christopher Nguyá»…n (2014-05-08) # Enable x11-libs/libxcb[xkb] as it is needed by x11-libs/libxkbcommon[X] diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use index 47695fff68d..365fff91265 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use @@ -16,7 +16,7 @@ dev-libs/libjcat gpg pkcs7 # qtwebchannel package is fairly small, and python bindings are # required by some popular desktop packages such as calibre, # qutebrowser, and freecad (or indirectly through PyQt*WebEngine). -dev-python/PyQt6 webchannel +dev-python/pyqt6 webchannel dev-python/pyside6 webchannel # Required by sys-apps/flatpak, a dependency of kde-plasma/discover diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2020 b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2020 index c8acb329539..8d1fd16d86c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2020 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2020 @@ -3,7 +3,7 @@ move dev-python/neovim-python-client dev-python/pynvim move games-action/openastromenace games-action/astromenace move dev-python/pyzor mail-filter/pyzor move dev-python/python-sqlparse dev-python/sqlparse -move dev-python/git-python dev-python/GitPython +move dev-python/git-python dev-python/gitpython move www-servers/automx2 net-mail/automx2 move dev-python/pysnmp-apps net-analyzer/snmpclitools move net-im/slack-bin net-im/slack diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2022 b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2022 deleted file mode 100644 index 552ae3af00d..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2022 +++ /dev/null @@ -1,2 +0,0 @@ -move dev-python/textx dev-python/textX -move dev-python/arpeggio dev-python/Arpeggio diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2022 b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2022 index ec603251f24..832b2195ef4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2022 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/3Q-2022 @@ -1,20 +1,17 @@ move dev-python/async_timeout dev-python/async-timeout -move dev-python/configargparse dev-python/ConfigArgParse -move dev-python/frozen-flask dev-python/Frozen-Flask -move dev-python/ipy dev-python/IPy move sci-libs/shapely dev-python/shapely move games-action/brutal-legend games-action/brutal-legend-hb move kde-apps/kdesdk-kioslaves dev-util/kio-perldoc move kde-apps/zeroconf-ioslave net-misc/kio-zeroconf move net-misc/cni-plugins app-containers/cni-plugins move gnome-extra/chrome-gnome-shell gnome-extra/gnome-browser-connector -move dev-python/PyQt6_sip dev-python/PyQt6-sip -move dev-python/PyQt6_WebEngine dev-python/PyQt6-WebEngine +move dev-python/PyQt6_sip dev-python/pyqt6-sip +move dev-python/PyQt6_WebEngine dev-python/pyqt6-webengine move net-p2p/go-ipfs net-p2p/kubo move app-admin/ansible-base app-admin/ansible-core slotmove =dev-ruby/rack-test-2.0.2 1.0 2 move app-office/gnome-todo app-office/endeavour -move dev-python/python-levenshtein dev-python/Levenshtein +move dev-python/python-levenshtein dev-python/levenshtein move mail-mta/protonmail-bridge mail-mta/proton-mail-bridge move app-emulation/distrobox app-containers/distrobox move www-servers/tornado dev-python/tornado diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2022 b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2022 index a21fddfd183..962e6ae4138 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2022 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2022 @@ -7,4 +7,3 @@ move dev-python/retworkx dev-python/rustworkx move dev-lang/open-cobol dev-lang/gnucobol move virtual/awk app-alternatives/awk move virtual/yacc app-alternatives/yacc -move dev-python/nuitka dev-python/Nuitka diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 index aedc958dd30..d8e1f112588 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 @@ -4,3 +4,60 @@ slotmove media-sound/kmetronome 5 0 move net-im/sendxmpp-amm net-im/sendxmpp-scala move dev-python/jinja dev-python/jinja2 move dev-python/gmpy dev-python/gmpy2 +move dev-python/tlsh dev-python/python-tlsh +move dev-python/tappy dev-python/tap-py +move dev-python/subunit dev-python/python-subunit +move dev-python/rpy dev-python/rpy2 +move dev-python/qscintilla-python dev-python/qscintilla +move dev-python/python-netlink dev-python/netlink +move dev-python/python-lhafile dev-python/lhafile +move dev-python/pysvg dev-python/pysvg-py3 +move dev-python/libpillowfight dev-python/pypillowfight +move dev-python/cchardet dev-python/faust-cchardet +move dev-python/protobuf-python dev-python/protobuf +move media-libs/oneVPL-intel-gpu media-libs/vpl-gpu-rt +move net-analyzer/RustScan net-analyzer/rustscan +move dev-python/APScheduler dev-python/apscheduler +move dev-python/Arpeggio dev-python/arpeggio +move dev-python/Babel dev-python/babel +move dev-python/BitVector dev-python/bitvector +move dev-python/ConfigArgParse dev-python/configargparse +move dev-python/CppHeaderParser dev-python/cppheaderparser +move dev-python/Events dev-python/events +move dev-python/eyeD3 dev-python/eyed3 +move dev-python/flit_scm dev-python/flit-scm +move dev-python/Faker dev-python/faker +move dev-python/Frozen-Flask dev-python/frozen-flask +move dev-python/GitPython dev-python/gitpython +move dev-python/GridDataFormats dev-python/griddataformats +move dev-python/ipython_genutils dev-python/ipython-genutils +move dev-python/IPy dev-python/ipy +move dev-python/jinja2_pluralize dev-python/jinja2-pluralize +move dev-python/Levenshtein dev-python/levenshtein +move dev-python/MechanicalSoup dev-python/mechanicalsoup +move dev-python/mitmproxy_wireguard dev-python/mitmproxy-wireguard +move dev-python/mypy_extensions dev-python/mypy-extensions +move dev-python/Nuitka dev-python/nuitka +move dev-python/Opcodes dev-python/opcodes +move dev-python/OutputCheck dev-python/outputcheck +move dev-python/PeachPy dev-python/peachpy +move dev-python/requests_download dev-python/requests-download +move dev-python/sphinx_selective_exclude dev-python/sphinx-selective-exclude +move dev-python/txAMQP dev-python/txamqp +move dev-python/textX dev-python/textx +move dev-python/pyClamd dev-python/pyclamd +move dev-python/pyDes dev-python/pydes +move dev-python/pyxDamerauLevenshtein dev-python/pyxdameraulevenshtein +move dev-python/PyGithub dev-python/pygithub +move dev-python/Pyro5 dev-python/pyro5 +move dev-python/PyRSS2Gen dev-python/pyrss2gen +move dev-python/PySDL2 dev-python/pysdl2 +move dev-python/PySocks dev-python/pysocks +move dev-python/QtPy dev-python/qtpy +move dev-python/PyQt-builder dev-python/pyqt-builder +move dev-python/PyQt6-WebEngine dev-python/pyqt6-webengine +move dev-python/PyQt6-sip dev-python/pyqt6-sip +move dev-python/PyQtWebEngine dev-python/pyqtwebengine +move dev-python/PyQt5-sip dev-python/pyqt5-sip +move dev-python/PyQt5 dev-python/pyqt5 +move dev-python/PyQt6 dev-python/pyqt6 diff --git a/sdk_container/src/third_party/portage-stable/profiles/use.desc b/sdk_container/src/third_party/portage-stable/profiles/use.desc index 7b0ba9c60bf..78dc6069505 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/use.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/use.desc @@ -168,6 +168,7 @@ lash - Add LASH Audio Session Handler support latex - Add support for LaTeX (typesetting package) lcms - Add lcms support (color management engine) ldap - Add LDAP support (Lightweight Directory Access Protocol) +lerc - Add LERC suppport (Limited Error Raster Compression) libass - SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support libcaca - Add support for colored ASCII-art graphics libedit - Use the libedit library (replacement for readline) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/Manifest index ce0b749d1fa..23616f3e3b3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/Manifest @@ -1,3 +1,4 @@ DIST bubblewrap-0.10.0.tar.xz 119328 BLAKE2B 2b4b08409612e08c1ee7cde1dabb422cdc3e994f12ad8df94c99ad15c6355e605f73159df6ea32a54a7cf219e72c55a8ad72a73c3138f06b375fca36eff0c53e SHA512 d9e60c1999f8e205d4126cbc0680f6ee6cd316a461ad81563bc0aa606f3b257da5f36d4934b13d6ab1745aa78946224223455d44edff41d16238e8633f0eced9 +DIST bubblewrap-0.11.0.tar.xz 115228 BLAKE2B 753ae172ccceb9de08422f03702922966cb6e6d2da262ffb61e3e207ff616166f4047a1cc47801e091cf9e85d6d179450704b3e99743c81d8f77e9c37094d816 SHA512 4b083ac42410dacfa75ad8764bbb300048ce8f28543ece393b9b7180b152108ee4b337f82539d63196b6f8f5bf194d9e10f49207e3b8417ee2cb4bde88a63eee DIST bubblewrap-0.8.0.tar.xz 149088 BLAKE2B 5853cf42a7ab653540ec5134866c6f2459aa101e9eea724a4f283405cbcae2beb3551b7c1a7aa93d82016d4eb0d12f9c97c47df53a6d9b589db40483696253de SHA512 1cbc33f3c834ff83f4c1808d3ec2555921277d495f903ad152cbd5065a6e100c5420b4b5c62386bb2d303eb1734e074b09625013e55e3bd8631cfb3582d70e1c DIST bubblewrap-0.9.0.tar.xz 118984 BLAKE2B 52a4e87e502da44a25031b6d6044da7712dccb2c58a2debad9a8562fd1e48805d783bec571adc0df8880a63595825a4204ceaaa4f3df2672252c631f7fe5b0c7 SHA512 3a3af355e4fdb19a91c40020d68fd83f7c74ebef92d989c932933293758bc0175fa41220c47fe829b84ba29457a12f0e225c19afe674ecbf983b0826dbc1c878 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.11.0.ebuild new file mode 100644 index 00000000000..24ced9e9b7f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/bubblewrap/bubblewrap-0.11.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 linux-info meson + +DESCRIPTION="Unprivileged sandboxing tool, namespaces-powered chroot-like solution" +HOMEPAGE="https://github.com/containers/bubblewrap/" +SRC_URI="https://github.com/containers/${PN}/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="selinux suid" + +RDEPEND=" + sys-libs/libseccomp + sys-libs/libcap + selinux? ( >=sys-libs/libselinux-2.1.9 ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/docbook-xml-dtd:4.3 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" + +# tests require root privileges +RESTRICT="test" + +pkg_setup() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + CONFIG_CHECK="~UTS_NS ~IPC_NS ~USER_NS ~PID_NS ~NET_NS" + linux-info_pkg_setup + fi +} + +src_configure() { + local emesonargs=( + -Dbash_completion=enabled + -Dbash_completion_dir="$(get_bashcompdir)" + -Dman=enabled + -Dtests=false + -Dzsh_completion=enabled + $(meson_feature selinux) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + if use suid; then + chmod u+s "${ED}"/usr/bin/bwrap + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.6.ebuild index 938ef02c359..8f27d558168 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.6.ebuild @@ -25,7 +25,7 @@ LICENSE="GPL-2" SLOT="0" IUSE="debug" -RDEPEND=">=sys-libs/libsepol-${PV}:=[static-libs(+)]" +RDEPEND="~sys-libs/libsepol-${PV}" DEPEND="${RDEPEND}" BDEPEND="sys-devel/flex sys-devel/bison" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/Manifest index 3bca2a9fbcc..df415dd5bae 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/Manifest @@ -1,3 +1,2 @@ -DIST dtc-1.6.0.tar.xz 158584 BLAKE2B 47b15b5df7f5d87369d6daaad87f2989a80865f2fab19f89d050d390a9f8319bcd86a36e12f7cc8d62947bb4d1335769071d0e3ea0a6e16861aea163e78f4696 SHA512 15433b24f1d6b7ed1f8066d050bd1bcbf988731aa38147564e3dd04b5f69af8d69e03befdc621a768526c620425a9bdd24aad4f9ff135930d6a1eeb0625f7de3 -DIST dtc-1.7.0.tar.xz 165548 BLAKE2B de433a1034b7ef75559bf39f85695d0b275cfd17bf100c12b6186e226a65659053f9b5a053f20e64a5a0670ea3e728edd0e624c26287bd264594569408065bab SHA512 d3ba6902a9a2f2cdbaff55f12fca3cfe4a1ec5779074a38e3d8b88097c7abc981835957e8ce72971e10c131e05fde0b1b961768e888ff96d89e42c75edb53afb DIST dtc-1.7.1.tar.xz 169524 BLAKE2B c9d9d7c60ce13c8e138ab8ddf3e8166d7cf3867ca4e5ea53621bf73514319faf6a6bac09fb96c971554db9f77dd3428e01d53990586041092a64849685d8854b SHA512 3195924b374680e367d7be6b9793691efc0441858068c8bc8d8a908db00bbae781a99184b5c5e272af39045ec58cb0f92adbdd00ff808480b635bd632aa74719 +DIST dtc-1.7.2.tar.xz 169668 BLAKE2B d345027614a4caff9912b39286e35c1a889bbfd88630bac1c9c48223a6171bd6a8661342c89355e63301b395d1c238be82d21d870b0dd5fc05ae5dd552e730a6 SHA512 30f3611175a5c29556282f3f2894701a5837eb869608d89d78c280af448bbc3a5b6c83f51c28f991847c0eb7c42aa57599bbc31433f1b3b2c8d162cb2169b91f diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.6.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.6.0.ebuild deleted file mode 100644 index 5490e3ded51..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.6.0.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/dtc/dtc.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -DESCRIPTION="Open Firmware device tree compiler" -HOMEPAGE="https://devicetree.org/ https://git.kernel.org/cgit/utils/dtc/dtc.git/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="static-libs yaml" - -BDEPEND=" - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig -" -RDEPEND="yaml? ( dev-libs/libyaml )" -DEPEND="${RDEPEND}" - -DOCS=" - Documentation/dt-object-internal.txt - Documentation/dts-format.txt - Documentation/manual.txt -" - -_emake() { - # valgrind is used only in 'make checkm' - emake \ - NO_PYTHON=1 \ - NO_VALGRIND=1 \ - NO_YAML=$(usex !yaml 1 0) \ - \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - \ - V=1 \ - \ - PREFIX="${EPREFIX}/usr" \ - \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - \ - "$@" -} - -src_prepare() { - default - - sed -i \ - -e '/^CFLAGS =/s:=:+=:' \ - -e '/^CPPFLAGS =/s:=:+=:' \ - -e 's:-Werror::' \ - -e 's:-g -Os::' \ - Makefile || die - - tc-export AR CC PKG_CONFIG -} - -src_compile() { - _emake -} - -src_test() { - _emake check -} - -src_install() { - _emake DESTDIR="${D}" install - - use static-libs || find "${ED}" -name '*.a' -delete -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2.ebuild similarity index 82% rename from sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2.ebuild index 664c10ab974..29954f8a0e3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-1.7.2.ebuild @@ -31,9 +31,11 @@ BDEPEND=" " RDEPEND=" python? ( ${PYTHON_DEPS} ) - yaml? ( dev-libs/libyaml ) + yaml? ( >=dev-libs/libyaml-0.2.3[static-libs?] ) +" +DEPEND=" + ${RDEPEND} " -DEPEND="${RDEPEND}" DOCS=( Documentation/dt-object-internal.txt @@ -41,12 +43,6 @@ DOCS=( Documentation/manual.txt ) -PATCHES=( - "${FILESDIR}"/${P}-meson-tests.patch - "${FILESDIR}"/${P}-meson-macos.patch - "${FILESDIR}"/fix-tests-for-Python3.12.patch -) - pkg_setup() { if use python ; then export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} @@ -54,19 +50,12 @@ pkg_setup() { fi } -src_prepare() { - default - - if ! use test ; then - sed -i -e "/subdir('tests')/d" meson.build || die - fi -} - src_configure() { local emesonargs=( -Dtools=true -Dvalgrind=disabled # only used for some tests $(meson_feature python) + $(meson_use test tests) $(meson_feature yaml) ) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-9999.ebuild index 6da2ddea52c..27573a12263 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/dtc-9999.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="Open Firmware device tree compiler" @@ -31,7 +31,7 @@ BDEPEND=" " RDEPEND=" python? ( ${PYTHON_DEPS} ) - yaml? ( >=dev-libs/libyaml-0.2.3 ) + yaml? ( >=dev-libs/libyaml-0.2.3[static-libs?] ) " DEPEND=" ${RDEPEND} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-macos.patch b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-macos.patch deleted file mode 100644 index 473cd9a29e1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-macos.patch +++ /dev/null @@ -1,39 +0,0 @@ -https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=71a8b8ef0adf01af4c78c739e04533a35c1dc89c - -From 71a8b8ef0adf01af4c78c739e04533a35c1dc89c Mon Sep 17 00:00:00 2001 -From: Otavio Salvador -Date: Wed, 31 May 2023 11:41:42 -0300 -Subject: libfdt: meson: Fix linking on macOS linker - --undefined error is the equivalent of --no-undefined for the macOS -linker, but -undefined would also be understood as a valid argument for -GNU ld so we use the supported linker variant. - -Signed-off-by: Otavio Salvador -Signed-off-by: David Gibson ---- a/libfdt/meson.build -+++ b/libfdt/meson.build -@@ -16,10 +16,20 @@ sources = files( - 'fdt_wip.c', - ) - -+link_args = [] -+if cc.has_link_argument('-Wl,--no-undefined') -+ link_args += '-Wl,--no-undefined' -+else -+ # -undefined error is the equivalent of --no-undefined for the macOS linker, -+ # but -undefined would also be understood as a valid argument for GNU ld! -+ link_args += cc.get_supported_link_arguments('-Wl,-undefined,error') -+endif -+ -+link_args += version_script - libfdt = library( - 'fdt', sources, - version: '1.6.0', -- link_args: ['-Wl,--no-undefined', version_script], -+ link_args: link_args, - link_depends: 'version.lds', - install: true, - ) --- -cgit diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-tests.patch b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-tests.patch deleted file mode 100644 index 0bc2d71aea1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/dtc-1.7.0-meson-tests.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=32174a66efa4ad19fc6a2a6422e4af2ae4f055cb - -From 32174a66efa4ad19fc6a2a6422e4af2ae4f055cb Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Tue, 28 Feb 2023 10:33:58 +1100 -Subject: meson: Fix cell overflow tests when running from meson - -Because meson always builds out-of-tree we need to reference things in the -original source tree via $SRCDIR from run_tests.sh. We forgot a couple of -cases for the cell overflow tests. Fix them. - -Signed-off-by: David Gibson ---- a/tests/run_tests.sh -+++ b/tests/run_tests.sh -@@ -519,8 +519,8 @@ libfdt_tests () { - check_tests "$SRCDIR/phandle-args-overflow.dts" clocks_property - - ## https://github.com/dgibson/dtc/issues/74 -- run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb cell-overflow-results.dts -- run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb cell-overflow.dts -+ run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb "$SRCDIR/cell-overflow-results.dts" -+ run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb "$SRCDIR/cell-overflow.dts" - run_test dtbs_equal_ordered cell-overflow.test.dtb cell-overflow-results.test.dtb - - # check full tests --- -cgit diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/fix-tests-for-Python3.12.patch b/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/fix-tests-for-Python3.12.patch deleted file mode 100644 index 7a08648f383..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/dtc/files/fix-tests-for-Python3.12.patch +++ /dev/null @@ -1,43 +0,0 @@ -Description: Python3.12 causes breakage for get_mem_rsv in pylibfdt. - - Author: Héctor Orón Martínez - ---- - -Bug: https://github.com/dgibson/dtc/issues/123 -Bug-Debian: https://bugs.debian.org/1061318 -Bug-Ubuntu: https://launchpad.net/bugs/2051399 -Last-Update: 2024-01-30 - ---- device-tree-compiler-1.7.0.orig/tests/pylibfdt_tests.py -+++ device-tree-compiler-1.7.0/tests/pylibfdt_tests.py -@@ -418,9 +418,14 @@ class PyLibfdtBasicTests(unittest.TestCa - def testReserveMap(self): - """Test that we can access the memory reserve map""" - self.assertEqual(2, self.fdt.num_mem_rsv()) -- self.assertEqual([ 0xdeadbeef00000000, 0x100000], -- self.fdt.get_mem_rsv(0)) -- self.assertEqual([123456789, 0o10000], self.fdt.get_mem_rsv(1)) -+ if sys.version_info.major >= 3 and sys.version_info.minor >= 12: -+ self.assertEqual([0, 0xdeadbeef00000000, 0x100000], -+ self.fdt.get_mem_rsv(0)) -+ self.assertEqual([0, 123456789, 0o10000], self.fdt.get_mem_rsv(1)) -+ else: -+ self.assertEqual([0xdeadbeef00000000, 0x100000], -+ self.fdt.get_mem_rsv(0)) -+ self.assertEqual([123456789, 0o10000], self.fdt.get_mem_rsv(1)) - - def testEmpty(self): - """Test that we can create an empty tree""" -@@ -615,7 +620,10 @@ class PyLibfdtSwTests(unittest.TestCase) - - fdt = sw.as_fdt() - self.assertEqual(2, fdt.num_mem_rsv()) -- self.assertEqual([TEST_ADDR_1, TEST_SIZE_1], fdt.get_mem_rsv(0)) -+ if sys.version_info.major >= 3 and sys.version_info.minor >= 12: -+ self.assertEqual([0, TEST_ADDR_1, TEST_SIZE_1], fdt.get_mem_rsv(0)) -+ else: -+ self.assertEqual([TEST_ADDR_1, TEST_SIZE_1], fdt.get_mem_rsv(0)) - - # Make sure we can add a few more things - with sw.add_node('another'): diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild index cb6df20a3a0..cd0bd783b1a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://www.kernel.org/pub/software/network/ethtool/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86" IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/file/Manifest index c4c8697aff6..f7d2cb41c4e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/Manifest @@ -1,2 +1,4 @@ DIST file-5.45.tar.gz 1246503 BLAKE2B 30fc77c091e6624f2e9a950f4c6fe69ea6aa46d4a8ad9f20d49320a3675617c5bfbc9ff1ebba5eeb2cf4435c38d71b47b8beeb5146c9f55fe3bac11fe65e89bd SHA512 12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a DIST file-5.45.tar.gz.asc 163 BLAKE2B 1405080c63412e9c66bfe06086ecee28b276b77cc2ddacb20cfd370c539a0d983812fd29dcf7a33bad69d6490cd439ef8d1219bfaf3928fb835a38da85013af3 SHA512 56bf131b2f35e896788be19b4d8cd1c7ec942c794fb584d5e589375d22fbccebdd04c03e779fafc0c10840586dc41e64251b3de1767ae9ab95f5d3300f9af254 +DIST file-5.46.tar.gz 1312892 BLAKE2B 2b1df136f01c253cc490b483c644403da0674692ef97ef9e1239878328cfb8ce2bc418c14626145719c69acab00d56b63b5340a2b56c276c996b1e6ad1bfe9b6 SHA512 a6cb7325c49fd4af159b7555bdd38149e48a5097207acbe5e36deb5b7493ad6ea94d703da6e0edece5bb32959581741f4213707e5cb0528cd46d75a97a5242dc +DIST file-5.46.tar.gz.asc 195 BLAKE2B 7a2a65f10cbfe921ae633a9bee3a56a98b8e3100b8cbfe4b4871ce3960f28e62bb9e7425f5c1bfe9b126f43d7dd4ddcb36220f07f979072a8ef5fe62c14b5ef8 SHA512 93f99b468bbda29eab6e37fdee1f1806a10b18206a85c68e888e967678cfd128bb9c34bc9835a699e447623ddf0e2ea041039a682f7be1db2ab37935fd4aafa0 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46.ebuild new file mode 100644 index 00000000000..782ba5774cc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 toolchain-funcs multilib-minimal + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/glensc/file.git" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/file.asc + inherit autotools verify-sig + SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz" + SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" +fi + +DESCRIPTION="Identify a file's format by scanning binary data for patterns" +HOMEPAGE="https://www.darwinsys.com/file/" + +LICENSE="BSD-2" +SLOT="0" +IUSE="bzip2 lzip lzma python seccomp static-libs zlib zstd" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND=" + bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) + lzip? ( app-arch/lzlib ) + lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] ) + seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +RDEPEND=" + ${DEPEND} + python? ( + ${PYTHON_DEPS} + !dev-python/python-magic + ) + seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] ) +" +BDEPEND+=" + python? ( + ${PYTHON_DEPS} + ${DISTUTILS_DEPS} + ) +" + +# https://bugs.gentoo.org/898676 +QA_CONFIG_IMPL_DECL_SKIP=( makedev ) + +PATCHES=( + "${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.45-seccomp-sandbox.patch" +) + +src_prepare() { + default + + #if [[ ${PV} == 9999 ]] ; then + # eautoreconf + #else + # elibtoolize + #fi + # Just for file-5.45-32-bit-time_t-deux.patch, drop in 5.46 + eautoreconf + + # Don't let python README kill main README, bug #60043 + mv python/README.md python/README.python.md || die + + # bug #662090 + sed -i 's@README.md@README.python.md@' python/setup.py || die +} + +multilib_src_configure() { + local myeconfargs=( + --enable-fsect-man5 + $(use_enable bzip2 bzlib) + $(multilib_native_use_enable lzip lzlib) + $(use_enable lzma xzlib) + $(use_enable seccomp libseccomp) + $(use_enable static-libs static) + $(use_enable zlib) + $(use_enable zstd zstdlib) + ) + + econf "${myeconfargs[@]}" +} + +build_src_configure() { + local myeconfargs=( + --disable-shared + --disable-libseccomp + --disable-bzlib + --disable-xzlib + --disable-zlib + ) + + econf_build "${myeconfargs[@]}" +} + +need_build_file() { + # When cross-compiling, we need to build up our own file + # because people often don't keep matching host/target + # file versions, bug #362941 + tc-is-cross-compiler && ! has_version -b "~${CATEGORY}/${P}" +} + +src_configure() { + local ECONF_SOURCE="${S}" + + if need_build_file ; then + mkdir -p "${WORKDIR}"/build || die + cd "${WORKDIR}"/build || die + build_src_configure + fi + + multilib-minimal_src_configure +} + +multilib_src_compile() { + if multilib_is_native_abi ; then + emake + else + # bug #586444 + emake -C src magic.h + emake -C src libmagic.la + fi +} + +src_compile() { + if need_build_file ; then + # bug #586444 + emake -C "${WORKDIR}"/build/src magic.h + emake -C "${WORKDIR}"/build/src file + local -x PATH="${WORKDIR}/build/src:${PATH}" + fi + + multilib-minimal_src_compile + + if use python ; then + cd python || die + distutils-r1_src_compile + fi +} + +src_test() { + multilib-minimal_src_test + + if use python ; then + cd python || die + distutils-r1_src_test + fi +} + +python_test() { + eunittest +} + +multilib_src_install() { + if multilib_is_native_abi ; then + default + else + emake -C src install-{nodist_includeHEADERS,libLTLIBRARIES} DESTDIR="${D}" + fi +} + +multilib_src_install_all() { + dodoc ChangeLog MAINT # README + + # Required for `file -C` + insinto /usr/share/misc/magic + doins -r magic/Magdir/* + + if use python ; then + cd python || die + distutils-r1_src_install + fi + + find "${ED}" -type f -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild index e06e6cd952a..b554a76d881 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="kernel routing and traffic control utilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0.ebuild index 26b79a0d084..debd258b42e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="kernel routing and traffic control utilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild index c8af4693cfe..7513e15106e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then else SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz" [[ "${PV}" == *_rc* ]] || \ - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 ~arm64 ~ppc64 x86" fi DESCRIPTION="Load another kernel from the currently executing Linux kernel" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kmod/kmod-33.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kmod/kmod-33.ebuild index 739a4ff3a86..6946c9b652f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kmod/kmod-33.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kmod/kmod-33.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then inherit git-r3 else SRC_URI="https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi LICENSE="LGPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild index 57c09fbfd9a..899b82ee180 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-668.ebuild @@ -25,7 +25,7 @@ else SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest index 391e8cc9143..eb76ee1fc0e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest @@ -1 +1,2 @@ DIST pcsc-lite-2.0.1.tar.bz2 815103 BLAKE2B a9eea4a4da1a78fc22797b17c128889b2f7caf8c4aa02dd77f4ac79e4ec458fb0162578b5422552545cd39303750d5396f3687f8cfee7603fad8d60cb54ee1e8 SHA512 af007f00f43e8d897710580f6f27814c9e7d3ca489ff01edf2e3b979e46267915aa04d9c15f225a420fa681de936e42a1d4779d962717cf9a9f4a3d1ca31502b +DIST pcsc-lite-2.3.0.tar.xz 209064 BLAKE2B 48fc1a513a217ff499e8da63e026ce6adcd37987c878a0dda50756cfac5cc64245c95715df40df14e29883410c3d55670432ba0c658eff84add25b76c1828b11 SHA512 194c175ba7cf4610f09c08d463edf12f63e8e6a694938049988efb10c91e15b05d91747d58013f2f35452427996e8fe2ffb3706806d17ee278dc4896eab901c0 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.2.3-change-setup-spy-script-location.patch b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.2.3-change-setup-spy-script-location.patch new file mode 100644 index 00000000000..035c49b653a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/files/pcsc-lite-2.2.3-change-setup-spy-script-location.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index acb51ddf..0c7b3a8f 100644 +--- a/meson.build ++++ b/meson.build +@@ -202,7 +202,7 @@ install_data('src/spy/pcsc-spy', + install_dir : get_option('bindir')) + + install_data('src/spy/setup_spy.sh', +- install_dir : 'share/doc/pcsc-lite') ++ install_dir : get_option('datadir') / 'doc' / meson.project_name()+'-'+meson.project_version()) + + run_command('pod2man', + ['--date=2024-01-01', 'src/spy/pcsc-spy.pod', 'pcsc-spy.1'], diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.0.ebuild new file mode 100644 index 00000000000..5b9b77db734 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit meson-multilib python-single-r1 tmpfiles udev + +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr https://github.com/LudovicRousseau/PCSC" +SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.xz" + +# GPL-2 is there for the init script; everything else comes from +# upstream. +LICENSE="BSD GPL-3+ BSD-2 ISC GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +# This is called libusb so that it doesn't fool people in thinking that +# it is _required_ for USB support. Otherwise they'll disable udev and +# that's going to be worse. +IUSE="doc embedded libusb policykit selinux systemd +udev" +REQUIRED_USE="^^ ( udev libusb ) ${PYTHON_REQUIRED_USE}" + +# No dependencies need the MULTILIB_DEPS because the libraries are actually +# standalone, the deps are only needed for the daemon itself. +DEPEND=" + libusb? ( virtual/libusb:1 ) + udev? ( virtual/libudev:= ) + policykit? ( >=sys-auth/polkit-0.111 ) + acct-group/openct + acct-group/pcscd + acct-user/pcscd + ${PYTHON_DEPS}" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-pcscd )" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch + "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch + "${FILESDIR}"/${PN}-2.2.3-change-setup-spy-script-location.patch +) + +multilib_src_configure() { + local emesonargs=( + -Dusbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb + -Dipcdir=/run/pcscd + -Dsystemdunit=system + $(meson_native_use_bool embedded) + $(meson_native_use_bool systemd libsystemd) + $(meson_native_use_bool udev libudev) + $(meson_native_use_bool libusb) + $(meson_native_use_bool policykit polkit) + ) + + meson_src_configure +} + +multilib_src_install_all() { + einstalldocs + dodoc HELP SECURITY + + newinitd "${FILESDIR}"/pcscd-init.7 pcscd + dotmpfiles "${FILESDIR}"/pcscd.conf + + if use udev; then + exeinto "$(get_udevdir)" + newexe "${FILESDIR}"/pcscd-udev pcscd.sh + + insinto "$(get_udevdir)"/rules.d + newins "${FILESDIR}"/99-pcscd-hotplug-r2.rules 99-pcscd-hotplug.rules + fi + + python_fix_shebang "${ED}"/usr/bin/pcsc-spy + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + elog "Starting from version 1.6.5, pcsc-lite will start as user nobody in" + elog "the pcscd group, to avoid running as root." + elog + elog "This also means you need the newest drivers available so that the" + elog "devices get the proper owner." + elog + elog "Furthermore, a conf.d file is no longer installed by default, as" + elog "the default configuration does not require one. If you need to" + elog "pass further options to pcscd, create a file and set the" + elog "EXTRA_OPTS variable." + elog + + if use udev; then + elog "Hotplug support is provided by udev rules." + elog "When using OpenRC you additionally need to tell it to hotplug" + elog "pcscd by setting this variable in /etc/rc.conf:" + elog + elog " rc_hotplug=\"pcscd\"" + fi + + tmpfiles_process pcscd.conf + + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.28.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.28.ebuild index 5b82d68e8a3..61fa4936aaf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.28.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.28.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/portage/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest index 5789fe3a82b..add26cb02f0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest @@ -1,6 +1,2 @@ -DIST portage-3.0.61.tar.bz2 1178151 BLAKE2B bad3140735b12a18a3108e91cc88146fc5c64ad3e3e056707eec7629927f718483a3e1ccf09f74de510ee7733b4d856c3c53692a6cc0f5fc1a7babf88fd7f06b SHA512 1401392a7bd2bf18e698e82af25a39db2aa9d8d9e8d9c07dea11ba5d5c866d2d3f8a3eccc8568b081aeaf6f668466921c61f58adbdd9dd5ffd9cf632bff2bdbd -DIST portage-3.0.63.tar.bz2 1187961 BLAKE2B 10523150b0eabac97309004c57356c40fa94ebd59f8f76701ae63d13f9424b523ccee2a367174af3a52078d5d9e4338b94e144247f6709c2f7df4418c040b06f SHA512 323adc17254f92e58f22028dad12ebcaaafa25c82567c5d31cc9575c30e0d78224c8f9efe0fcbeee549b08b0797edffb4bbe9c6fbbd8943e3f9dcda25eedd699 -DIST portage-3.0.64.tar.bz2 1187654 BLAKE2B 622cdda85315ab60ca3b1ae7cf1cb1fe479b69c945dafe14655030387d857ae89c0d8326b85fb3d3754ea95ecf2792ae60ba36f1ad9b18d1ac693fdabf9b235e SHA512 26a9fc9532aebd5965c6d62d78914d827ac48df100b5fc518934857881ca19b927e05b2cd9a2bb674b0e1bd5feff2058a083de9c8fb86af16efe8752325c7722 DIST portage-3.0.65.tar.bz2 1193321 BLAKE2B 4734b0a2b17cf0cdbd0bedac9efa6cecb5799460e1faa8b8ab137fa017e17d47d6d5da6382e75322f21d4be77a31acffbacd753c70b43b011613cc5a6332bc96 SHA512 c864bcb3bef11916128852a5f50b161d82529d7316ec970703a9ec948c46a51148419ef1dfde2906f72347dd41d0eebd49f5a1769a228d97145f5517c34dbff8 DIST portage-3.0.66.1.tar.bz2 1198196 BLAKE2B 8dbd1bc17c1a9a3530425efa31a27efba39e1ef5f5457b4084875c64f7128453139aea447c25a642c124438e88ef484a43b1838cbd8c03748017571dd18f9921 SHA512 fcd3d4d3dcfdb67cbcdb0f4854860f073b4a9d41dadc97a3e6f890e3c75091aceec5622e97495741622b5c390309f05dec35b9e951d7ee7a78e28a9b3ed2939d -DIST portage-3.0.66.tar.bz2 1198148 BLAKE2B 77012739f18dfbbf088533fc9ccb64fe870d849ef6dadfdd92855d16fbca5eec08b065f94067898016787c03fd1b338dbe06192d56a97f2ad62681bda37c3be8 SHA512 0b182a2078c1c2b7d2e7148834dd6f2b2ae09bf4c91454e0cae908406abd9ad221a46738869ead17c5595c988bb2c11c462ba29ffb022389b1f2e824f093c853 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch deleted file mode 100644 index bc8e2f51fa5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 236a2c7081e2208c817f9a99f012bab0be3d70b2 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Fri, 17 May 2024 01:52:53 -0400 -Subject: [PATCH 1/2] install-qa-checks.d: suppress some gnulib implicit - configure declarations - -These happen in tons of GNU packages because of using gnulib, which -pulls in macros that check for some functionality and spit out an -implicit function declaration error if they aren't supported, which is -*expected*. - -Bug: https://bugs.gentoo.org/906027 -Signed-off-by: Eli Schwartz -Closes: https://github.com/gentoo/portage/pull/1323 -Signed-off-by: Sam James ---- - bin/install-qa-check.d/90config-impl-decl | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/bin/install-qa-check.d/90config-impl-decl b/bin/install-qa-check.d/90config-impl-decl -index 7969dff17..adea7d405 100644 ---- a/bin/install-qa-check.d/90config-impl-decl -+++ b/bin/install-qa-check.d/90config-impl-decl -@@ -49,6 +49,15 @@ add_default_skips() { - res_ndestroy - statacl - ) -+ -+ QA_CONFIG_IMPL_DECL_SKIP+=( -+ # Available in c23, these gnulib checks are expected to fail -+ alignof -+ static_assert -+ unreachable -+ # also gnulib, but checks both linux/non-linux headers -+ MIN -+ ) - } - - find_log_targets() { --- -2.44.1 - - -From e01d7fde23c4a0cc9f22e7b1ea28d3deff0331ae Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Tue, 21 May 2024 19:22:31 -0400 -Subject: [PATCH 2/2] install-qa-checks.d: suppress some gnulib implicit decls - on musl - -These happen in tons of GNU packages because of using gnulib's regex.m4 -specifically, which pulls in a macro that checks for some functionality -and spit out many implicit function declaration errors if regex.h isn't -GNU's specifically. - -The compile tests do fail either way, it's just very dirty in the logs. - -Bug: https://bugs.gentoo.org/906027 -Closes: https://github.com/gentoo/portage/pull/1327 -Signed-off-by: Eli Schwartz ---- - bin/install-qa-check.d/90config-impl-decl | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/bin/install-qa-check.d/90config-impl-decl b/bin/install-qa-check.d/90config-impl-decl -index adea7d405..8768c99c6 100644 ---- a/bin/install-qa-check.d/90config-impl-decl -+++ b/bin/install-qa-check.d/90config-impl-decl -@@ -58,6 +58,18 @@ add_default_skips() { - # also gnulib, but checks both linux/non-linux headers - MIN - ) -+ if [[ ${CHOST} = *musl* ]]; then -+ QA_CONFIG_IMPL_DECL_SKIP+=( -+ # gnulib checks for functions that aren't available on musl. -+ -+ # regex.m4 always emits these warnings, but they are noisy to fix -+ # and the check will correctly fail due to missing macros anyway. -+ re_set_syntax -+ re_compile_pattern -+ re_search -+ re_match -+ ) -+ fi - } - - find_log_targets() { --- -2.44.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch deleted file mode 100644 index 04193241deb..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch +++ /dev/null @@ -1,76 +0,0 @@ -https://github.com/gentoo/portage/commit/51f6ad158fc3de14df3f87d1242ff950b2189f05 - -From 51f6ad158fc3de14df3f87d1242ff950b2189f05 Mon Sep 17 00:00:00 2001 -From: "Alex Xu (Hello71)" -Date: Sat, 11 Mar 2023 12:27:23 -0500 -Subject: [PATCH] estrip: Don't use splitdebug for .o files - -As the process_ar comment explained, object files cannot be splitdebug. - -Bug: https://bugs.gentoo.org/787623 ("www-client/firefox[clang]: .gnu_debuglink is busted when using LLD") -Fixes: 51579fb34c19 ("prepstrip: add support for elfutils strip") -Signed-off-by: Alex Xu (Hello71) -Signed-off-by: Sam James ---- a/bin/estrip -+++ b/bin/estrip -@@ -280,9 +280,6 @@ dedup_elf_debug() { - - # Usage: save_elf_debug [splitdebug] - save_elf_debug() { -- ${FEATURES_splitdebug} || return 0 -- ${PORTAGE_RESTRICT_splitdebug} && return 0 -- - debug-print-function "${FUNCNAME}" "$@" - - # NOTE: Debug files must be installed in -@@ -390,7 +387,7 @@ process_elf() { - - if ${strip_this} ; then - # See if we can split & strip at the same time -- if [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then -+ if ${splitdebug} && [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then - local shortname="${x##*/}.debug" - local splitdebug="${tmpdir}/splitdebug/${shortname}.${BASHPID:-$(__bashpid)}" - -@@ -401,7 +398,9 @@ process_elf() { - "${x}" - save_elf_debug "${x}" "${inode_link}_debug" "${splitdebug}" - else -- save_elf_debug "${x}" "${inode_link}_debug" -+ if ${splitdebug} ; then -+ save_elf_debug "${x}" "${inode_link}_debug" -+ fi - ${already_stripped} || ${STRIP} ${strip_flags} "${x}" - fi - fi -@@ -431,7 +430,7 @@ process_ar() { - # There is no concept of splitdebug for objects not yet - # linked in (only for finally linked ELFs), so we have to - # retain the debug info in the archive itself. -- if ! ${FEATURES_splitdebug} || ${PORTAGE_RESTRICT_splitdebug} ; then -+ if ! ${splitdebug} ; then - ${STRIP} -g "${x}" && ${RANLIB} "${x}" - fi - fi -@@ -542,6 +541,12 @@ do - set +o noglob - fi - -+ if ${FEATURES_splitdebug} && ! ${PORTAGE_RESTRICT_splitdebug} ; then -+ splitdebug=true -+ else -+ splitdebug=false -+ fi -+ - # In Prefix we are usually an unprivileged user, so we can't strip - # unwritable objects. Make them temporarily writable for the - # stripping. -@@ -564,6 +569,7 @@ do - ${f} == *"SB shared object"* ]] ; then - process_elf "${x}" "${inode_link}" ${PORTAGE_STRIP_FLAGS} - elif [[ ${f} == *"SB relocatable"* ]] ; then -+ [[ ${x} == *.ko ]] || splitdebug=false - process_elf "${x}" "${inode_link}" ${SAFE_STRIP_FLAGS} - fi - - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild deleted file mode 100644 index 3dca5778929..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.61-r2.ebuild +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3 python3_{10..12} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info multiprocessing python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - || ( - >=dev-build/meson-1.3.0-r1 - /dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild deleted file mode 100644 index 1df6447705d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r2.ebuild +++ /dev/null @@ -1,250 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3 python3_{10..12} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info multiprocessing python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - || ( - >=dev-build/meson-1.3.0-r1 - /dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild deleted file mode 100644 index cf7d1234718..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r4.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3 python3_{10..12} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/tar-1.27 - >=dev-build/meson-1.2.1-r1 - || ( - >=dev-build/meson-1.3.0-r1 - =sys-apps/sed-4.0.5 - sys-devel/patch - !build? ( $(python_gen_impl_dep 'ssl(+)') ) - apidoc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-epytext[${PYTHON_USEDEP}] - ) - doc? ( - ~app-text/docbook-xml-dtd-4.4 - app-text/xmlto - ) - test? ( - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-vcs/git - ) -" -# Require sandbox-2.2 for bug #288863. -# For whirlpool hash, require python[ssl] (bug #425046). -RDEPEND=" - ${PYTHON_DEPS} - acct-user/portage - >=app-arch/tar-1.27 - app-arch/zstd - >=app-misc/pax-utils-0.1.17 - dev-lang/python-exec:2 - >=sys-apps/baselayout-2.9 - >=sys-apps/findutils-4.9 - !build? ( - >=app-admin/eselect-1.2 - app-portage/getuto - >=app-shells/bash-5.0:0 - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - >=app-crypt/gnupg-2.2.4-r2[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) - xattr? ( kernel_linux? ( - >=sys-apps/install-xattr-0.3 - ) ) - !/dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1-r1.ebuild index d3a02fcb418..cc14924f812 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1.ebuild deleted file mode 100644 index 5958c3dd1f5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.1.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3 python3_{10..13} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/tar-1.27 - >=dev-build/meson-1.3.0-r1 - >=sys-apps/sed-4.0.5 - sys-devel/patch - !build? ( $(python_gen_impl_dep 'ssl(+)') ) - apidoc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-epytext[${PYTHON_USEDEP}] - ) - doc? ( - ~app-text/docbook-xml-dtd-4.4 - app-text/xmlto - ) - test? ( - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-vcs/git - ) -" -# Require sandbox-2.2 for bug #288863. -# For whirlpool hash, require python[ssl] (bug #425046). -RDEPEND=" - ${PYTHON_DEPS} - acct-user/portage - >=app-arch/tar-1.27 - app-arch/zstd - >=app-misc/pax-utils-0.1.17 - dev-lang/python-exec:2 - >=sys-apps/baselayout-2.9 - >=sys-apps/findutils-4.9 - !build? ( - >=app-admin/eselect-1.2 - app-portage/getuto - >=app-shells/bash-5.0:0 - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - >=app-crypt/gnupg-2.2.4-r2[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) - xattr? ( kernel_linux? ( - >=sys-apps/install-xattr-0.3 - ) ) -" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# NOTE: FEATURES=installsources requires debugedit and rsync -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - >=sys-apps/coreutils-6.4 - >=sys-apps/file-5.44-r3 - ) -" - -pkg_pretend() { - local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" - - check_extra_config -} - -src_prepare() { - default - - if use prefix-guest; then - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ - -i cnf/repos.conf || die "sed failed" - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - -Deprefix="${EPREFIX}" - -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - $(meson_use doc) - $(meson_use apidoc) - $(meson_use gentoo-dev) - $(meson_use ipc) - $(meson_use xattr) - ) - - if use native-extensions && [[ "${EPYTHON}" != "pypy3" ]] ; then - emesonargs+=( -Dnative-extensions=true ) - else - emesonargs+=( -Dnative-extensions=false ) - fi - - if use build; then - emesonargs+=( -Drsync-verify=false ) - else - emesonargs+=( $(meson_use rsync-verify) ) - fi - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local EPYTEST_XDIST=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - "${ED}/usr/lib/portage/${EPYTHON}" - ) - - meson_src_install - python_fix_shebang "${pydirs[@]}" - python_optimize "${pydirs[@]}" -} - -pkg_preinst() { - if ! use build && [[ -z ${ROOT} ]]; then - python_setup - local sitedir=$(python_get_sitedir) - [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" - env -u DISTDIR \ - -u PORTAGE_OVERRIDE_EPREFIX \ - -u PORTAGE_REPOSITORIES \ - -u PORTDIR \ - -u PORTDIR_OVERLAY \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.default_locations || die - - env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die - - env -u FEATURES -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die - - env -u BINPKG_FORMAT \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die - fi - - # elog dir must exist to avoid logrotate error for bug #415911. - # This code runs in preinst in order to bypass the mapping of - # portage:portage to root:root which happens after src_install. - keepdir /var/log/portage/elog - # This is allowed to fail if the user/group are invalid for prefix users. - if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.ebuild deleted file mode 100644 index 5958c3dd1f5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.66.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( pypy3 python3_{10..13} ) -PYTHON_REQ_USE='bzip2(+),threads(+)' -TMPFILES_OPTIONAL=1 - -inherit meson linux-info python-r1 tmpfiles - -DESCRIPTION="The package management and distribution system for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/portage.git - https://github.com/gentoo/portage.git - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/tar-1.27 - >=dev-build/meson-1.3.0-r1 - >=sys-apps/sed-4.0.5 - sys-devel/patch - !build? ( $(python_gen_impl_dep 'ssl(+)') ) - apidoc? ( - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-epytext[${PYTHON_USEDEP}] - ) - doc? ( - ~app-text/docbook-xml-dtd-4.4 - app-text/xmlto - ) - test? ( - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-vcs/git - ) -" -# Require sandbox-2.2 for bug #288863. -# For whirlpool hash, require python[ssl] (bug #425046). -RDEPEND=" - ${PYTHON_DEPS} - acct-user/portage - >=app-arch/tar-1.27 - app-arch/zstd - >=app-misc/pax-utils-0.1.17 - dev-lang/python-exec:2 - >=sys-apps/baselayout-2.9 - >=sys-apps/findutils-4.9 - !build? ( - >=app-admin/eselect-1.2 - app-portage/getuto - >=app-shells/bash-5.0:0 - >=sec-keys/openpgp-keys-gentoo-release-20240703 - >=sys-apps/sed-4.0.5 - rsync-verify? ( - >=app-crypt/gnupg-2.2.4-r2[ssl(-)] - >=app-portage/gemato-14.5[${PYTHON_USEDEP}] - ) - ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) - xattr? ( kernel_linux? ( - >=sys-apps/install-xattr-0.3 - ) ) -" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# NOTE: FEATURES=installsources requires debugedit and rsync -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - >=sys-apps/coreutils-6.4 - >=sys-apps/file-5.44-r3 - ) -" - -pkg_pretend() { - local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" - - check_extra_config -} - -src_prepare() { - default - - if use prefix-guest; then - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ - -i cnf/repos.conf || die "sed failed" - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - -Deprefix="${EPREFIX}" - -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - $(meson_use doc) - $(meson_use apidoc) - $(meson_use gentoo-dev) - $(meson_use ipc) - $(meson_use xattr) - ) - - if use native-extensions && [[ "${EPYTHON}" != "pypy3" ]] ; then - emesonargs+=( -Dnative-extensions=true ) - else - emesonargs+=( -Dnative-extensions=false ) - fi - - if use build; then - emesonargs+=( -Drsync-verify=false ) - else - emesonargs+=( $(meson_use rsync-verify) ) - fi - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local EPYTEST_XDIST=1 - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - "${ED}/usr/lib/portage/${EPYTHON}" - ) - - meson_src_install - python_fix_shebang "${pydirs[@]}" - python_optimize "${pydirs[@]}" -} - -pkg_preinst() { - if ! use build && [[ -z ${ROOT} ]]; then - python_setup - local sitedir=$(python_get_sitedir) - [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" - env -u DISTDIR \ - -u PORTAGE_OVERRIDE_EPREFIX \ - -u PORTAGE_REPOSITORIES \ - -u PORTDIR \ - -u PORTDIR_OVERLAY \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.default_locations || die - - env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die - - env -u FEATURES -u PORTAGE_REPOSITORIES \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die - - env -u BINPKG_FORMAT \ - PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ - "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die - fi - - # elog dir must exist to avoid logrotate error for bug #415911. - # This code runs in preinst in order to bypass the mapping of - # portage:portage to root:root which happens after src_install. - keepdir /var/log/portage/elog - # This is allowed to fail if the user/group are invalid for prefix users. - if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then - chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} - fi - - if has_version "<${CATEGORY}/${PN}-2.3.77"; then - elog "The emerge --autounmask option is now disabled by default, except for" - elog "portions of behavior which are controlled by the --autounmask-use and" - elog "--autounmask-license options. For backward compatibility, previous" - elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." - elog "Users can get the old behavior simply by adding --autounmask to the" - elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" - elog "change, see https://bugs.gentoo.org/658648." - fi -} - -pkg_postinst() { - # Warn about obsolete "enotice" script, bug #867010 - local bashrc=${EROOT}/etc/portage/profile/profile.bashrc - if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then - eerror "Obsolete 'enotice' script detected!" - eerror "Please remove this from ${bashrc} to avoid problems." - eerror "See bug 867010 for more details." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild index 89cf567ffe1..75f4dca4c12 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.9.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://www.ivarch.com/programs/sources/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/Manifest index b1bec55aa29..39b9dff69df 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/Manifest @@ -1,2 +1,3 @@ DIST texinfo-7.1.1.tar.xz 5572864 BLAKE2B 64dbd315e65d5b7cb0bb06c918e9924bb15a25a4bb26322db10b7ee98e9e6626b62592f8edd0ff016256f4a84837dabacb5278c3826e34fa3e080a5e8c0fb626 SHA512 05d605fba810f2939cab16ed5ddb341e22d397370648e6e0271c807fa573267e933c75ed7ae682c3c9cfecb568311a8df7abeb8c0556a94ef7169737d5b9c52a DIST texinfo-7.1.90.tar.xz 6694376 BLAKE2B b77771e39f8c73cea9c449c1f4268dcdb9603497b719dda036908122805f2f4f85507ee797d7d9d1f4c3e4de236a7be6837c2985d7f10960e347860d98c49a8c SHA512 ecf6359c256c3c203fac26d211b4fad738e5e7cb142005a73df22eb17888296eac17d4748551243fee1f1cf891e612deeeb85bc841c8b64acb99e7fa49d1c3ad +DIST texinfo-7.1.91.tar.xz 6709648 BLAKE2B 34c7e75ece31919c43292ab00eb2d7160dbdbd5726d63490ae37e17fd7b966e31de3631b66952e3e679bd6b33b5005e2e4799ea282ecf652f31269ae3c2876bd SHA512 8b5bb02c1a4ac77cf8ca59817bf227701a0560d04f5b0ed08e28ed509d66da3bb5b8df677b481d813a529c07a7ebe55b9f2c67ca3cb55678322f13462cc02a5b diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.1.ebuild index 081fa9dce9e..78b068309ad 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.1.ebuild @@ -70,6 +70,10 @@ src_prepare() { } src_configure() { + # https://lists.gnu.org/archive/html/bug-texinfo/2024-08/msg00020.html + # https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=7e8d0093b411729c8c570b25280bef6b55415594 + append-cflags -std=gnu17 + # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions # bug #622576 local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.91.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.91.ebuild new file mode 100644 index 00000000000..eda59950b46 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.91.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Note: if your package uses the texi2dvi utility, it must depend on the +# virtual/texi2dvi package to pull in all the right deps. The tool is not +# usable out-of-the-box because it requires the large tex packages. + +# Keep an eye on the release/$(ver_cut 1-2) branch upstream for backports. + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="The GNU info program and utilities" +HOMEPAGE="https://www.gnu.org/software/texinfo/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/texinfo.git" + REGEN_BDEPEND=" + >=dev-build/autoconf-2.62 + >=dev-build/automake-1.16 + dev-build/libtool + " +elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then + SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz" + REGEN_BDEPEND="" +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + REGEN_BDEPEND="" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="nls +standalone static" + +RDEPEND=" + >=sys-libs/ncurses-5.2-r2:= + virtual/perl-Data-Dumper + virtual/perl-Encode + virtual/perl-Unicode-Collate + standalone? ( >=dev-lang/perl-5.8.1 ) + !standalone? ( + >=dev-lang/perl-5.8.1:= + dev-libs/libunistring:= + ) + nls? ( virtual/libintl ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${REGEN_BDEPEND} + nls? ( >=sys-devel/gettext-0.19.6 ) +" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]]; then + ./autogen.sh || die + fi + + # Needed if a patch touches install-info.c + #touch man/install-info.1 || die + + if use prefix ; then + sed -i -e '1c\#!/usr/bin/env sh' util/texi2dvi util/texi2pdf || die + touch {doc,man}/{texi2dvi,texi2pdf,pdftexi2dvi}.1 || die + fi +} + +src_configure() { + # Respect compiler and CPPFLAGS/CFLAGS/LDFLAGS for Perl extensions + # bug #622576 + local -x PERL_EXT_CC="$(tc-getCC)" PERL_EXT_CPPFLAGS="${CPPFLAGS}" + local -x PERL_EXT_CFLAGS="${CFLAGS}" PERL_EXT_LDFLAGS="${LDFLAGS}" + + use static && append-ldflags -static + + # TODO: + # --with-external-Unicode-EastAsianWidth + # --with-external-Text-Unidecode + # + # Also, 7.0.91 seemed to introduce a included-libunistring w/ USE=-standalone + # but it doesn't seem to do anything? + local myeconfargs=( + --cache-file="${S}"/config.cache + $(use_enable nls) + $(use_enable !standalone perl-xs) + ) + + econf "${myeconfargs[@]}" +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest index 3914e85a848..6a2785cfee6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/Manifest @@ -1,2 +1,3 @@ DIST usbutils-016.tar.xz 169000 BLAKE2B 2f3af61e5a7abf48cdf0a4aebc901ca1570007b54d11ae74572e16bdeb2d8e73844d76af54bd812d6d4b84ddaf6e956132ecc9a8a2849a7bffc0643e29115a49 SHA512 4483038bf91c056cd2977f5e7f449c0a62d9152d6f5d64ab7bde438ab9c1c56fe524ba10b35781c2828edd0fe89379dbaed78fa7ffe78903cae0c4e3c460f9a0 DIST usbutils-017.tar.xz 168820 BLAKE2B 868c646ed6d38a38b9bd3ab85ba3a5e9362a97e476aeed6576c1b175caaf4ee688cb2c33756f02c9bf0aef9e7d58657331fc1c3b3314d86145b3d4f37124537e SHA512 eaebbc82eee4d940898f7a8de95ca49846c7c964e65c3d866b38735f8f3c8ccfed2b3a536bf2ef39a835a40a34c2273ac4d82b1012d0c693d4863cff14870d95 +DIST usbutils-018.tar.xz 120168 BLAKE2B 030f45afd5867ee38c8284a0741d1de63653a98746bfef42281390c5bdefbbb99c318d708e88ea2e28810d519d735da3103fe438befa889fc9b5ae9e21200992 SHA512 4f76c7a328746e17892c31d69cbd9a560c4384877e18d80076cef344a25b71b33387d803c98a9c6867b357a61e1a8a1a630884afe32128c3b6393dc186f216c8 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild new file mode 100644 index 00000000000..d26898c292e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/usbutils/usbutils-018.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit meson python-single-r1 + +DESCRIPTION="USB enumeration utilities" +HOMEPAGE=" + https://www.kernel.org/pub/linux/utils/usb/usbutils/ + https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ +" +SRC_URI="https://www.kernel.org/pub/linux/utils/usb/${PN}/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND=" + virtual/libusb:1= + virtual/libudev:= +" +RDEPEND=" + ${DEPEND} + python? ( + ${PYTHON_DEPS} + sys-apps/hwdata + ) +" +BDEPEND=" + virtual/pkgconfig + python? ( ${PYTHON_DEPS} ) +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + use python && python_fix_shebang lsusb.py +} + +src_install() { + meson_src_install + + if ! use python ; then + rm -f "${ED}"/usr/bin/lsusb.py || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild index c7517aac4cf..904c2e33ea1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.40.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) TMPFILES_OPTIONAL=1 inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ @@ -23,7 +23,7 @@ else inherit verify-sig if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos" + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos" fi SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild index c7517aac4cf..199d340e51a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) TMPFILES_OPTIONAL=1 inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ diff --git a/sdk_container/src/third_party/portage-stable/sys-block/parted/files/parted-3.6-c23.patch b/sdk_container/src/third_party/portage-stable/sys-block/parted/files/parted-3.6-c23.patch new file mode 100644 index 00000000000..97134562dd6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-block/parted/files/parted-3.6-c23.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/943690 +https://debbugs.gnu.org/74444 +https://git.savannah.gnu.org/gitweb/?p=parted.git;a=commit;h=16343bda6ce0d41edf43f8dac368db3bbb63d271 + +From 16343bda6ce0d41edf43f8dac368db3bbb63d271 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 20 Nov 2024 12:22:22 +0000 +Subject: [PATCH] bug#74444: [PATCH] parted: fix do_version declaration + +With gcc 15-20241117 compile fails with the below error, update the +do_version declaration to match the header in command.h + +../../parted/parted.c: In function '_init_commands': +../../parted/parted.c:2469:9: error: passing argument 2 of 'command_create' from incompatible pointer type [-Wincompatible-pointer-types] + 2469 | do_version, + | ^~~~~~~~~~ + | | + | int (*)(void) +In file included from ../../parted/parted.c:28: +../../parted/command.h:35:39: note: expected 'int (*)(PedDevice **, PedDisk **)' {aka 'int (*)(struct _PedDevice **, struct _PedDisk **)'} but argument is of type 'int (*)(void)' + 35 | int (*method) (PedDevice** dev, PedDisk** diskp), + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Rudi Heitbaum +Signed-off-by: Brian C. Lane +--- a/parted/parted.c ++++ b/parted/parted.c +@@ -2172,7 +2172,7 @@ do_unit (PedDevice** dev, PedDisk** diskp) + } + + static int +-do_version () ++do_version (PedDevice** dev, PedDisk** diskp) + { + printf ("\n%s\n%s", + prog_name, +-- +2.34.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-block/parted/parted-3.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/parted/parted-3.6-r2.ebuild index c4c140fe695..6da8fe0d91c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/parted/parted-3.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/parted/parted-3.6-r2.ebuild @@ -51,6 +51,8 @@ PATCHES=( "${FILESDIR}"/${PN}-3.6-tests-non-bash.patch # bug #910487 "${FILESDIR}"/${P}-underlinked-util-linux.patch + # bug #943690 + "${FILESDIR}"/${P}-c23.patch ) # false positive diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild index d4984e9ed1d..079991be508 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" if [[ ${PV} != *9999 ]]; then SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" else inherit git-r3 EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git' diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r2.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r2.ebuild index b7d67783148..eb38acb7a12 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r2.ebuild @@ -149,7 +149,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit llvm-r1 cargo +inherit cargo llvm-r1 DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" @@ -162,7 +162,7 @@ else https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 ~arm ~arm64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" fi LICENSE="GPL-3" @@ -171,6 +171,12 @@ LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" IUSE="io-uring" +RDEPEND="virtual/libudev:=" +# libdevmapper.h needed for devicemapper-sys crate +DEPEND=" + ${RDEPEND} + sys-fs/lvm2 +" # Needed for bindgen BDEPEND=" $(llvm_gen_dep ' @@ -194,6 +200,11 @@ PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" ) +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild index 226c8272ce4..81f0144b427 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild @@ -150,7 +150,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit llvm-r1 cargo +inherit cargo llvm-r1 DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" @@ -163,7 +163,7 @@ else https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" fi LICENSE="GPL-3" @@ -201,6 +201,11 @@ PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" ) +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest index 8399a7affcd..2947d3d6699 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/Manifest @@ -1,3 +1,5 @@ DIST gnu-efi-3.0.15.tar.bz2 159399 BLAKE2B 0df93d8cacfa1e6d4b7731e32287d4386da9375c5e5c5847df8a29c99d70f5c24b14abc5e44ab9d0a39a6ec96682eb2b5e84d81a5a142d44a50a522a4ae0e3c2 SHA512 64d408b6d115bdc6eebae12fbd6cd907ed5f847f54e506c1e8f8ea5de38a95cf6fac66ab1009bd1d0bd2d54ad45ad598d29bcc303926a5899bf5cc25448cbb2f DIST gnu-efi-3.0.17.tar.bz2 165568 BLAKE2B 27f8171b411a6a8a138d44d91c7e4e4291aa399562825d51a398913572119482ffeb303d7508ae13eacd2cd10b8f5098405ab16eb56243587efe93235f661285 SHA512 0893ca234272584f889b1ae1c75341a9ceee60acfd32765daa5d704191ba00450536a287b949304c6d055d1bf125cc29e24fc41df8e5230e0da4f9d944876512 DIST gnu-efi-3.0.18.tar.bz2 167567 BLAKE2B e080fa4c57a281452a6473304871304d1b5c30d42ee728b4c0c084258ed2f6f2099c068ec5841cee81ecf664dd658dee3b94d68324ebaa498cb49cec4f7f7df9 SHA512 39f9fa14b880441a94a04400ff8850efdd9474929e5501dfd05af06e7747b4d0f7cb742ac811c7026cf52d00508efb73018be4d61d63a1211de0cd931cbc473d +DIST gnu-efi-3.0.19.tar.gz 218588 BLAKE2B 78db87904e644406ce2eb1a0ef0f325e7ad0f004dd56199e319985c5d035b4755d545c1a6bcf749da08c7670132de28a3e53ba059956b841034c6b059e39042b SHA512 78a79f51bd271043edbf534427d8fbba3d8099e831a9643019899453e8363ebd4d43f6e5448cdde31d43a6bdb94ec32e73425138bfb614617b8886df90fc1665 +DIST gnu-efi-4.0.0.tar.gz 228852 BLAKE2B 30a22785b43b586596e9b4cfd281815715529185fbfdb800947ee08a94b3dac80ee13e9f2a8f5cf4acc46b7844cef9e92de97e97801d085249dce3afb2b0fcf0 SHA512 737fda41a45a63ab652f3e8dd5c035bc40dd66e839218c33478fe2ce81346f004b1bed79a5ec29cc282f0d699ad21256e0915482a3fa04b880dea21cae9e2b7f diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch new file mode 100644 index 00000000000..858200e3010 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/files/gnu-efi-4.0.0-remove-linux-headers.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/888829 + +--- a/apps/Makefile ++++ b/apps/Makefile +@@ -41,9 +41,7 @@ + + include $(SRCDIR)/../Make.defaults + +-LINUX_HEADERS = /usr/src/sys/build + APPSDIR = $(LIBDIR)/gnuefi/apps +-CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include + + ifneq ($(HAVE_EFI_OBJCOPY),) + ifeq ($(SYSTEM_HAS_EFI_OBJCOPY),0) diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.19.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.19.ebuild new file mode 100644 index 00000000000..ad0bc6c1ac3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.19.ebuild @@ -0,0 +1,143 @@ +# Copyright 2004-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Library for build EFI Applications" +HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" +SRC_URI="https://github.com/ncroxon/gnu-efi/archive/${PV}.tar.gz -> ${P}.tar.gz" + +# inc/, lib/ dirs (README.efilib) +# - BSD-2 +# gnuefi dir: +# - BSD (3-cluase): crt0-efi-ia32.S +# - GPL-2+ : setjmp_ia32.S +LICENSE="GPL-2+ BSD BSD-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="abi_x86_32 abi_x86_64 custom-cflags" +REQUIRED_USE=" + amd64? ( || ( abi_x86_32 abi_x86_64 ) ) + x86? ( || ( abi_x86_32 abi_x86_64 ) ) +" + +# for ld.bfd and objcopy +BDEPEND="sys-devel/binutils" + +# These objects get run early boot (i.e. not inside of Linux), +# so doing these QA checks on them doesn't make sense. +QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.18-clang.patch + "${FILESDIR}"/${PN}-3.0.18-remove-linux-headers.patch +) + +check_and_set_objcopy() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + # bug #931792 + # llvm-objcopy does not support EFI target, try to use binutils objcopy or fail + tc-export OBJCOPY + OBJCOPY="${OBJCOPY/llvm-/}" + # Test OBJCOPY to see if it supports EFI targets, and return if it does + LC_ALL=C "${OBJCOPY}" --help | grep -q '\ /dev/null | grep ^install: | cut -f2 -d' ')/include + elif tc-is-clang; then + CPPINCLUDEDIR=$(LC_ALL=C ${CC} -print-resource-dir 2> /dev/null)/include + fi + append-cflags "-nostdinc -isystem ${CPPINCLUDEDIR} -isystem ${ESYSROOT}/usr/include" + + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake + else + efimake + fi +} + +src_install() { + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install + else + efimake INSTALLROOT="${D}" install + fi + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.0.ebuild new file mode 100644 index 00000000000..991d495bd8d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-4.0.0.ebuild @@ -0,0 +1,144 @@ +# Copyright 2004-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Library for build EFI Applications" +HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" +SRC_URI="https://github.com/ncroxon/gnu-efi/archive/${PV}.tar.gz -> ${P}.tar.gz" + +# inc/, lib/ dirs (README.efilib) +# - BSD-2 +# gnuefi dir: +# - BSD (3-cluase): crt0-efi-ia32.S +# - GPL-2+ : setjmp_ia32.S +LICENSE="GPL-2+ BSD BSD-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="abi_x86_32 abi_x86_64 custom-cflags" +REQUIRED_USE=" + amd64? ( || ( abi_x86_32 abi_x86_64 ) ) + x86? ( || ( abi_x86_32 abi_x86_64 ) ) +" + +# for ld.bfd and objcopy +BDEPEND="sys-devel/binutils" + +# These objects get run early boot (i.e. not inside of Linux), +# so doing these QA checks on them doesn't make sense. +QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${PN}-4.0.0-remove-linux-headers.patch +) + +DOCS="README* SECURITY* docs/*" + +check_and_set_objcopy() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + # bug #931792 + # llvm-objcopy does not support EFI target, try to use binutils objcopy or fail + tc-export OBJCOPY + OBJCOPY="${OBJCOPY/llvm-/}" + # Test OBJCOPY to see if it supports EFI targets, and return if it does + LC_ALL=C "${OBJCOPY}" --help | grep -q '\ /dev/null | grep ^install: | cut -f2 -d' ')/include + elif tc-is-clang; then + CPPINCLUDEDIR=$(LC_ALL=C ${CC} -print-resource-dir 2> /dev/null)/include + fi + append-cflags "-nostdinc -isystem ${CPPINCLUDEDIR} -isystem ${ESYSROOT}/usr/include" + + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake + else + efimake + fi +} + +src_install() { + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install + else + efimake INSTALLROOT="${D}" install + fi + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.5.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.5.2.ebuild index 5eac04325a1..b010a5f45ec 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils-config/binutils-config-5.5.2.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 else SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="Utility to change the binutils version being used" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.32-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.32-r2.ebuild index 3b4528435b0..30df41aa33d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.32-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.32-r2.ebuild @@ -151,6 +151,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.33.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.33.1-r1.ebuild index 573a527570c..245e22ea045 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.33.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.33.1-r1.ebuild @@ -144,6 +144,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.34-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.34-r2.ebuild index 48ce464c329..12198ae2a21 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.34-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.34-r2.ebuild @@ -141,6 +141,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.2.ebuild index ffef3022e99..6f2986251b9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.35.2.ebuild @@ -158,6 +158,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.36.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.36.1-r2.ebuild index 16544c47a23..2ff454f94f4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.36.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.36.1-r2.ebuild @@ -153,6 +153,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild index 884eaa5ad13..e2f0c616eb1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild @@ -159,6 +159,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild index 7b86a922666..d3b1576fffa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild @@ -164,6 +164,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39-r5.ebuild index 25b4c34511a..dae998b28ac 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39-r5.ebuild @@ -160,6 +160,8 @@ src_configure() { # Keep things sane strip-flags + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.40-r9.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.40-r9.ebuild index 3157e859ad3..a619b246dff 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.40-r9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.40-r9.ebuild @@ -172,6 +172,8 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.41-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.41-r5.ebuild index 93bf607238e..fe1544cdd34 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.41-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.41-r5.ebuild @@ -173,6 +173,8 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild index 6e5766f0d3b..8c77bded00d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild @@ -177,6 +177,8 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local x diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild index d55fbb13880..c632b993e7f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild @@ -185,6 +185,9 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + local x echo for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild index 18d5aa85e3d..a91cc871d75 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild @@ -35,7 +35,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86" fi # @@ -185,6 +185,9 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + local x echo for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.9999.ebuild index 06e1d7caa39..264ca387d0c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.9999.ebuild @@ -83,7 +83,10 @@ MY_BUILDDIR=${WORKDIR}/build src_unpack() { if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git + https://github.com/gentoo/binutils-patches + " EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git git-r3_src_unpack mv patches-git/9999 patch || die @@ -91,7 +94,11 @@ src_unpack() { if [[ ${PV} != 9999 ]] ; then EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch fi - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + EGIT_REPO_URI=" + https://sourceware.org/git/binutils-gdb.git + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/binutils-gdb.git + " S=${WORKDIR}/binutils EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack @@ -185,6 +192,9 @@ src_configure() { use cet && filter-flags -mindirect-branch -mindirect-branch=* use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + local x echo for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild index 1a0501350eb..b262083b7c2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild @@ -94,7 +94,11 @@ src_unpack() { if [[ ${PV} != 9999 ]] ; then EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch fi - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + EGIT_REPO_URI=" + https://sourceware.org/git/binutils-gdb.git + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/binutils-gdb.git + " S=${WORKDIR}/binutils EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/bison/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/bison/metadata.xml index 2e9f3654b40..559217028b1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/bison/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-devel/bison/metadata.xml @@ -8,5 +8,6 @@ cpe:/a:gnu:bison akimd/bison + bison diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest index 376eaa0a418..0cf141298c7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest @@ -1 +1,4 @@ DIST crossdev-20240921.tar.xz 31008 BLAKE2B 9daeabcbeefa32624d71b86c5ddeb1f6bf6ccdf4e6f590bf7517388d4d68b73ae2651ca09d122f128f002568127bd5d7d767db9d6c043e5330b62c3104929848 SHA512 6b7f0bce309d2b0a8fdf9b28cf72098de9dafaf7f338a8308e94e2068cefc15cd2407eee39a9eeb0ea0a1bc46569cedc69a51bb01f140faebe374b660cb1cdf6 +DIST crossdev-20241130.2.tar.xz 32856 BLAKE2B ffcca5a7743fa6217ad23c97c5b122628a5950558f16413c1f52457d6fdd942dd2207c8f01e4a7c57712c051e5d0b66eff586d1d3141bc6d917aed4151df561c SHA512 28f7e914d56f7a9658292be8e5fdc57d1d0c1d57c8f4f00cfad493261ad94fb2edf19b4c34b926a1ea7b9da12c4f6be5fb8fee338074c5c8c554f15e996e670b +DIST crossdev-20241130.3.tar.xz 32916 BLAKE2B 6bac26d79850f5ba0d12ef904e40d8540082e2bd58d7ecaf175dccea13bfb90f6cf41950b4bf3443fad8ec37e77dc8a2767aa6bd278306cedc0a48b6484c689c SHA512 b157d0b2b49fbd7b31d764ddfeeb223839cb62707b3ed88b4ce254d568640265f7dbcea96314d4fb7dd6039578450b8c0a090f5311eb22618e0c3679d77c8649 +DIST crossdev-20241130.tar.xz 32832 BLAKE2B eaf14cf139abf73816f9facd090846c92d3056e34eb4d7f9bca2c2f4b22e9d3f342e93dac70b462b252b64eb86270f666d151170a6474961342a26f152919f69 SHA512 59054ba5015c18c9b80e2258391f667ad4585644009ab74b631557e8c6550270e188967515a13ab0dd8e27272c6e5f0650a77e8c100dadbc2686cd8796a62c00 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.2.ebuild new file mode 100644 index 00000000000..398d083f2a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/crossdev.git + https://github.com/gentoo/crossdev + " +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + app-shells/bash + sys-apps/gentoo-functions + sys-apps/config-site +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ ${PV} == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + fi + + dodir /usr/share/config.site.d + mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.3.ebuild new file mode 100644 index 00000000000..398d083f2a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/crossdev.git + https://github.com/gentoo/crossdev + " +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + app-shells/bash + sys-apps/gentoo-functions + sys-apps/config-site +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ ${PV} == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + fi + + dodir /usr/share/config.site.d + mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.ebuild new file mode 100644 index 00000000000..398d083f2a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20241130.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/crossdev.git + https://github.com/gentoo/crossdev + " +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + app-shells/bash + sys-apps/gentoo-functions + sys-apps/config-site +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ ${PV} == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + fi + + dodir /usr/share/config.site.d + mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest index 32515aca513..c5777bf232b 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 @@ -5,30 +5,37 @@ DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0e DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c540169454c91dd31f913c6f57f6eb291c79ae919671b53db1549799d4a70c09298bf45ed82ad05eb1f961443cc958369d SHA512 87fed0c3f8e28c9f702443db58350bb615110b27ebe334b5de2ea60678e2548c56cd75cffade210d69634e2ac0a9311f5100ddb45d97645aa76d5688bc421a61 DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8 DIST gcc-12-20241031.tar.xz 79916212 BLAKE2B 924acf7048858a5e45fb835e405b7517fd0029e0fd3a565a34c9be9828360449568110bf0844bd29c7de214d62641ec8e8f10211d69560741311fbd0127041b1 SHA512 412b5f24d99a03c045e6ad083be142fcae2e28629ccd755c0eadef40524bd9e8b83ca605112d405cd911cf14a9fc2939449cc8a9403525bd82168aaba66fbc0f -DIST gcc-12-20241107.tar.xz 79905628 BLAKE2B ba8a3e329a6a2a85d8e3d35bb5a7d2f92535266439a0f2c4242b259bf51d7d40291972f813b5aecd2a3a13f1e02841a782a68f604c1839a63970bf672b773bd2 SHA512 a66951b01d064da7a0c2c83db692af466338c2e11b2c50dbbd952ef1868ed30e0cdb883b5ed4ecf3e1246187181fcc457312a2cf6a9ba307f91a767a8b0c7a22 +DIST gcc-12-20241114.tar.xz 79902476 BLAKE2B 0d72464116862319513330c00d680658fd70a3a1b38c88defa0f087651bcff050ea128b15c95de06f2d2aa89488f09347cebbc4d13d3438b75f7f88ba1afa2ad SHA512 dc0af29c2454a7bcdd1b52b61de13845dc49fef3f86d87e0eea876dc5a55d93924e3af8cad58fd89725094520290c3183a4385f988aa556d658225ceb15a37ff +DIST gcc-12-20241121.tar.xz 79909252 BLAKE2B c0ee7abfa350dd8bf3bb763b167eb8d869d0fdf142dc2a06ec447bee6c5721c26f3492d65d383080e2a1fba69a29b72adda68e7c2d3686bd730fd1b7e4f98c47 SHA512 3338652173254f16f7867c6dd2cdb25b20506ce94cd725dc60c630bfe04fad007e2e7b169d0018d7610f57527ed4aa29c191223edc666a9c2006d21ee508a4c2 +DIST gcc-12-20241128.tar.xz 79904116 BLAKE2B 74b4aa14d85656e64cacf0036e7662eae7b45dbf84eb17a5bdbecc02e54a6c32aa5d0ae7c591c2259202598c7a486c6a07197ff5f6cfcbb008129c2cfcca7f26 SHA512 158372f20ebf61618e829ac285e43e9aac55c7f98eebb5034a47bd024dd73d593cac703093752e695e4516478aaec7e7a95c352603df22b547b37bcde55ff307 DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62 DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec +DIST gcc-12.4.0-patches-2.tar.xz 14876 BLAKE2B 6bf5abbb2abba4b9fe9fa153ac4112fe5f563e97cd4e1b885ccd0d88abf1124fa91f20d6be972e2242410447be73bca60014785f8551b8087ed0d4cc3e868225 SHA512 dfd5f02d4c1076fad4ee998b2f620171dd3eb65a1160312def9dae89b18327a06db853f569e0e3c049e5ab06c61488bb6faecec52bafe737fddeb43628c54a1f DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853 DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f6696eb1566801e180b78a7c7e20933b1aaae40839b4f1529d61166de55125395d4f9a812511c088e73f975bf1d2167f SHA512 1a543ddfb56e793367a43895a7ce4f97daeca6ffd5234ce50e8a7ae0f8db1071e01bdd653fda40d00eb7a680faead8f1d8d1295f983086a33a4c75e4affa2ea5 DIST gcc-13-20241025.tar.xz 84501292 BLAKE2B f5ba0a429a43d1936fe717850c81c847c90670204de33261fd476396336a1e1cc34c55d5487ac1871a4019c8a3aff59b6c8fdea3f1b7a161a73dbec8679c4d3a SHA512 a921afd451cdad55ee68bdb36861ca0c525de038d247f6e0ff59dbbdb3b41f03d139e7c2939a0999feb8b2f820f9267171a2c657683df0c86b38f0cb379eb0af -DIST gcc-13-20241101.tar.xz 84502916 BLAKE2B 61c715930fca216b7e4d1a8458ba9ee3b02e532bc8556853d5827e27bae70019a426c56d17bda4974282d4c47c5e860d18435d4ec8701986d65d43d69115560c SHA512 c65531986c7b3887ce9ca97a7b5091ba04dc824799832388fc23168318cb1683b5d1575ea5e723c8731a3ca25f08af64fab55e6dd912d9ac4df2d4258fdde948 -DIST gcc-13-20241108.tar.xz 84499992 BLAKE2B 0d66291dbb5aa35d206ceced1a5e7ffc40c7cb1a2fe50cbbe0d49f82287fa6b607f83cdbc0529c48f64ac1fbd932d9bc2d89db8bc7049e9815266d4aa745ce3b SHA512 95d07285cbafb6f941bf41f691f0f3b9e3acb7459787387c8c53490b18315b0d4aee70a2c4911fe1d81dcdbe3582e65e23cce326a56eb07bccb79c67cc3ea196 +DIST gcc-13-20241115.tar.xz 84481880 BLAKE2B 451c7f74a95889683944617c7d38daa77db9afd7e7877bfa6a380a148b12e2aa813fbda73d6866f207d27600c265b44ce471f9f6bfef40eda2a2e56710820d14 SHA512 db0db01cd3918ec563037c70d3e67243c7c38c3878574047cd7a0aab1e7f13476940b2af4d54f1a20416d9e4e02f79a0722da361ce45ed34244f205cbedb1d37 +DIST gcc-13-20241122.tar.xz 84515040 BLAKE2B 50f64a0d202cbcf27e1c3e31e9fa5eb39238d1247e7b0104ff45d653f7edbffd51404f0bdc1ae9abc2091398c31326cde680e9beb265e54318c92ee99db8b5bd SHA512 f6a304f5c500c28b237a3e423a420689c8c683dc7267040704c639fdd62e0a93a8be25f933b772238aead38b643ae08e4ac275a96212cf132d3141808acab5b0 +DIST gcc-13-20241129.tar.xz 84510968 BLAKE2B 7342df790d49e82d075bff2df94a5f78455bdabc9c376449091cb06197dd98cb7db6d8cb1fcccc3efef224e273c443248f1183f8bdb21f676640ebd8646d76c0 SHA512 c7a3d4c331324527cc2ff9ccce45e01a19ede413c391b9ca564149456e69d778c5d7d729da33097a2b572e5f5d61f56a81200a0cf6f3cf79be62227078b63604 DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de 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-patches-1.tar.xz 45084 BLAKE2B 4a4b2db25de2f17115e08b50d67449bb16de3296e78c165e2540beda7f84c28f6f3e909856c8b864b378f5e050ed149a60adc580faaf08351b81f4c460656493 SHA512 20e820a3e61f792d380651bb2e40b9c18ce7085962bd9302488ebdad1fff41d3742aea40d712daa5862276ca16d0081de722bf1191e86dcf065af5084271f632 -DIST gcc-14-20241026.tar.xz 88183956 BLAKE2B 9b42070be3235fb78f436f6e4b2b9708f77ebd383906d2c6f6d1eef186351c0b4e53e6d0d631f4432f94c2e09a67f0da1c78bd8a3fb5ae94710a24c7422b8e42 SHA512 18ff215b02e18ea7d49fad5437a7e65166278ea78b35499d4402569c18790d334df9c0b54664460182f74bffa92b7faaa71728956e1d5e1c7be57f8a1045fb7f -DIST gcc-14-20241102.tar.xz 88166448 BLAKE2B 1b56e6cc06d1163ca830d1aad307fce7ba8761a740964ea8b9c5af2a291b1661b1b7f8e7fec7dd4ec226b765063fcb87f82f71e494d0aed0004591c58df2d3c9 SHA512 2e6d3825df5d2e513ef8582876405c1cf4396094fef65c4e2af0a6d59fc6f36a0e960a33a75c549ad111f3174c61302e391c719e32f1803953c0b0d7ae3959d5 -DIST gcc-14-20241109.tar.xz 88149664 BLAKE2B 126e58566d935798f01b173c50949fa92454e57c8edcf3bd5da5871dbb7dba7102d40938be6e47f566bfcfe602274f233baf5aa38b6ad0ba0d6a6a56b272bc46 SHA512 c900157c3729342741d281da28753213c82247bbe957c25e8a185370d787fc2765bebebb998832a820b05f352e3e4de04d36b4a4b49310567147820188c0e91b +DIST gcc-13.3.0-patches-2.tar.xz 44440 BLAKE2B ebde73f6c3cd1a5fdc5bbce36414a59dda0925cba9d422d3689fc9c14fece44ee2391982a674411aa99bf47ffd49200f3ce51cc908beb8298adfff78e709a84c SHA512 eb56e0d7e69b5c3cca21f4cbff21c1204cf64ede7e66d689f45cf5ff37de8a59f24eb1f4b30d9c4222fd4126654fe4ffc146851f504761014995553c1202e8fd +DIST gcc-14-20241116.tar.xz 88185956 BLAKE2B 490972004d93d8f44f8d5751674105fca8c37aaaf6a87f42d665e3a2f8b1091e31ddbe827c6b6c54951feb0e45fa180c91d805fb82c7de584c01081bb4c1d529 SHA512 65b85c23083fd07e4d216480f1e0d2e1343bcef38dfdd181f6d0086103a626736d299387e1b06f634155d32b45678d72587b340d85c57c3b5ed9d7f20613edff +DIST gcc-14-20241123.tar.xz 88234244 BLAKE2B 3975c6f6e5adbf8506136c58678a9d136386f6c89f54312ebdcd60b2709fc8502b0969e4f3e80f189ba7934f47bd0738be2d5e6d68a40ea955d5ee7c775ee530 SHA512 bf7d416382c697410cf9358ecfc5c8ff2045f8e3f8b4e5fc41e02fe211aba057c8dc4c660b05b3a57bc113845c85332d588b67dff30e05efeb5d756d401eb8c1 +DIST gcc-14-20241130.tar.xz 88209220 BLAKE2B 86cc5b455ca7a3ba53fb7c16785b7c23762c66dbc3ce27b6067cd834514464fa7057be3ebc780d909122e0220734106aeab5389eca4c372e25e7d6d52de9d3f9 SHA512 cf6ce7d4beca717637ace8fc285d771f9deb2db44dbd446b7a7ea45e1c1cf59b165d4054ea480f2e59f19af465f027cc0862f66c8088fd8fb1199e90d8486052 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 DIST gcc-14.2.0-patches-3.tar.xz 13920 BLAKE2B 5b3efa54671581d97ae664e73629f247c776d84eea0b10f8d3223502582f1d1086fff86a6cde6c35b6b43d134af4dad3135d3de5531cfccb320a7fc884ab39ef SHA512 d47549e902055414142f650c7098f029410549741542553b1d0c0519f046a958561f92552e44f59663a7645d42316af5dab1462f54f50f2205257be6744c2fce -DIST gcc-15-20241027.tar.xz 89784028 BLAKE2B 75f48fac50a19443289e36bee119b1535ca842f0300597ad1f6fbccbe2754cb5b4444f263c7fc3a3ca699fa0179606849c1852849c48faf875082a1dc08ee183 SHA512 7248f040a980062167d5d7518bf212a5d9cd78a3f9aec8d4983dc3d2d2735affcac4d1eff5c38081ec10c7119d85ba3f7dd39327225b1de8b7a95a13268c60ee -DIST gcc-15-20241103.tar.xz 89813036 BLAKE2B 4fd6cd5d8d19f6545ebe1a193fc4464eba0d114126db8e282ed92196e71f84eb2974133a2dd93ab78c8d3f2370e52d4646eefc27bd5962c6e242c8776ec06b64 SHA512 cffb953576efe3ee2afaa11bdde403bb038da4ff4114f19bcc931540546a4f2bfa7148f9f6c989b40814393faecb1bfb0cdac475372bb6ef8de3924fed984c74 -DIST gcc-15-20241110.tar.xz 89853956 BLAKE2B 8fab1b5fc2be9d81f6b75329d20e338264dee82e4cd11152dcaadad07e50e52422a644c716bedea5aaf9c8427c1955f259a1d76dcf0dd00d8f4ca81e4b6b631a SHA512 20493ad0c75dedfc3c145f9ba01ad718e89b5b76a7c8b16df9cc624d4a9041a337d3bde6856dc7764cec23919d437e6d77ad40865b5bcd9d6239ca4cc353d530 +DIST gcc-14.2.0-patches-5.tar.xz 13532 BLAKE2B 0e594f00710f9ac4f8833092b74bc74ce82b54cea6047db654497ab216c45d593cce90a1a6f918ae7613628598f8037909e485ffb69ac06bae4a44d90f9a2ddb SHA512 18d7b3fbeb6b116b53b64ade636585f35e306bb49771b0f3a4a67d61edc7dcfda9e9bf9a3a9cbbec2512d35de4e235c397c044507e637387ede9b84070d0d666 +DIST gcc-15-20241117.tar.xz 90065532 BLAKE2B 22ffd82f77871df3c90667d3fbc08ff721586c851aea6e79a34bf065468307c132d62581b7cceaf9b2bc6cc54be8d6ec1dbde241e01454a343e2c48c804a4cea SHA512 70fb8dbdf5a98e3216a5c64c544d9208dd153a71266312e12189ea8ef03abf8b4d29153e0550a556b93e47ef2315e60bf2f5e080db82ffb3c6bb3dc2a3c8aa10 +DIST gcc-15-20241124.tar.xz 90251704 BLAKE2B d9c2a4342ca2229e345e163a8781e7ea8f4682734f5b1f4c9783272e0a362bc4fb0c5b5042363d996ea0473836c53cbf437761389062d076ce5595c1cdb2bcf2 SHA512 36e30e658f45b3b6cd5968cdae15216d6d874349349dce30f7d8c7c7bda1eff841d4d1eb4471956acfab04300c7169872210d26a5d05dd1ae0167d601a2adeed +DIST gcc-15-20241201.tar.xz 90331368 BLAKE2B 883b9073ff5927acaf7f6e0d06c4ddd8d603b0168aba1609f476fce1a6ecd8b78b894b75c5cb7ebe383a0248afdeeb058f1221db3a4fdd4822df79a1ba29c816 SHA512 6d09f84ce609bfac816ac326f37475d61d9232aa502de9429d036a82b501370842dbb9b8c5b650b0e01f668dfb0e2a14e1f8af2d6f175b79d920f6208d596a8b DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de -DIST gcc-15.0.0-patches-21.tar.xz 16832 BLAKE2B 75a781cf9c7d9b2087d598d751fc1d2e4322b801c1864bb03c68c0a419f65051224febedd608473dec5ca76e2cdaf4ba3d3f1bd86eb13a71ceedb61983ecb208 SHA512 2ffac32494c455d969a7bafcdd8f68fb9d1905fdb4a6f966160f8ad89680d57d07361326739828c57b3e7c89138f74616f47522611982bc902466a14b08f0859 -DIST gcc-15.0.0-patches-22.tar.xz 17816 BLAKE2B efe3d36f750bff485886d8ff739e2a3c422c2e00710ef1d20ef78d392637ca0c82dba762db131ba41450fbacc09033b6746d99e8ca12643cf606f6c35bd371a3 SHA512 6fa7647c442755a9b4702ccdd7a6118478998936996a34400c2746f624e2d2dd6e32f23b86a751cdb8d1b2510f31cc5783429dd647ac60697545295337161ec3 +DIST gcc-15.0.0-patches-26.tar.xz 18864 BLAKE2B dc11d5a4d292ae53558601a59a34a619f6e0bbe223e6645a82a04fcd3b83b5788a3a7fdd14ac6fc2fde079302355dbef1a94c283725807425e1ce8d67e28f416 SHA512 14721dffb4dac9394239a82c52e3cbf47094dadc1b310b55a71101ca7ba1a5077fd137f39fbfb89896d324117f6a13c97dc8e8fa8cedecc5c2af4179de7e7f1f +DIST gcc-15.0.0-patches-28.tar.xz 19884 BLAKE2B 36e982dd8c98853e84d977c7be9e7b1decf2ac10f61bdd76d3aed3ba415345039539cb00e03c6f6d86573a890431a39539ca04c54489aa7a3c29cb4b48faa2af SHA512 d95ee81beff83d43f2a42d440c032535e31b9121868b9c18e825e0c0185f5c42173634286274c527668897333104e52137c4b1e0305fee5d86ac4c5be9601b94 +DIST gcc-15.0.0-patches-29.tar.xz 28048 BLAKE2B 592227c6ecf581d6670ad09e09a279c018796cd9709b9c45c8d28af5a8f8858b5e9c0739b395e96fe79fedc9a7a60e82011b78581a8acadd3ceaaaa3e9751527 SHA512 4fb9d34feb570ea5e56ebca6588d367840457cf36f7818327317ee417f90593178adcace042106cd639032cf526a4a05cfd86f9e01eade1827eb5a90f03a7cc7 DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.0_pre20241117-PR112556-c-Allow-bool-and-enum-null-pointer-constants.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.0_pre20241117-PR112556-c-Allow-bool-and-enum-null-pointer-constants.patch new file mode 100644 index 00000000000..b17c1e04998 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.0_pre20241117-PR112556-c-Allow-bool-and-enum-null-pointer-constants.patch @@ -0,0 +1,244 @@ +From 3d525fce70fa0ffa0b22af6e213643e1ceca5ab5 Mon Sep 17 00:00:00 2001 +Message-ID: <3d525fce70fa0ffa0b22af6e213643e1ceca5ab5.1731987909.git.sam@gentoo.org> +From: Joseph Myers +Date: Mon, 18 Nov 2024 22:24:48 +0000 +Subject: [PATCH] c: Allow bool and enum null pointer constants [PR112556] + +As reported in bug 112556, GCC wrongly rejects conversion of null +pointer constants with bool or enum type to pointers in +convert_for_assignment (assignment, initialization, argument passing, +return). Fix the code there to allow BOOLEAN_TYPE and ENUMERAL_TYPE; +it already allowed INTEGER_TYPE and BITINT_TYPE. + +This bug (together with -std=gnu23 meaning false has type bool rather +than int) has in turn resulted in people thinking they need to fix +code using false as a null pointer constant for C23 compatibility. +While such a usage is certainly questionable, it has nothing to do +with C23 compatibility and the right place for warnings about such +usage is -Wzero-as-null-pointer-constant. I think it would be +appropriate to extend -Wzero-as-null-pointer-constant to cover +BOOLEAN_TYPE, ENUMERAL_TYPE and BITINT_TYPE (in all the various +contexts in which that option generates warnings), though this patch +doesn't do anything about that option. + +Bootstrapped with no regressions for x86-64-pc-linux-gnu. + + PR c/112556 + +gcc/c/ + * c-typeck.cc (convert_for_assignment): Allow conversion of + ENUMERAL_TYPE and BOOLEAN_TYPE null pointer constants to pointers. + +gcc/testsuite/ + * gcc.dg/c11-null-pointer-constant-1.c, + gcc.dg/c23-null-pointer-constant-1.c: New tests. +--- + gcc/c/c-typeck.cc | 2 + + .../gcc.dg/c11-null-pointer-constant-1.c | 55 ++++++++ + .../gcc.dg/c23-null-pointer-constant-1.c | 120 ++++++++++++++++++ + 3 files changed, 177 insertions(+) + create mode 100644 gcc/testsuite/gcc.dg/c11-null-pointer-constant-1.c + create mode 100644 gcc/testsuite/gcc.dg/c23-null-pointer-constant-1.c + +diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc +index 26ee0ebf91f0..a701dd090fb8 100644 +--- a/gcc/c/c-typeck.cc ++++ b/gcc/c/c-typeck.cc +@@ -8457,6 +8457,8 @@ convert_for_assignment (location_t location, location_t expr_loc, tree type, + } + else if (codel == POINTER_TYPE + && (coder == INTEGER_TYPE ++ || coder == ENUMERAL_TYPE ++ || coder == BOOLEAN_TYPE + || coder == NULLPTR_TYPE + || coder == BITINT_TYPE)) + { +diff --git a/gcc/testsuite/gcc.dg/c11-null-pointer-constant-1.c b/gcc/testsuite/gcc.dg/c11-null-pointer-constant-1.c +new file mode 100644 +index 000000000000..f463a1a59da3 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/c11-null-pointer-constant-1.c +@@ -0,0 +1,55 @@ ++/* Test zero with different types as null pointer constant: bug 112556. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=c11 -pedantic-errors -Wno-pointer-compare" } */ ++ ++enum e { ZERO }; ++ ++void *p1 = 0; ++void *p2 = 0LL; ++void *p3 = (char) 0; ++void *p4 = 0UL; ++void *p5 = (_Bool) 0; ++void *p6 = (enum e) ZERO; ++ ++void f (void *); ++ ++void * ++g (void) ++{ ++ p1 = 0; ++ p2 = 0LL; ++ p3 = (char) 0; ++ p4 = 0UL; ++ p5 = (_Bool) 0; ++ p6 = (enum e) ZERO; ++ f (0); ++ f (0ULL); ++ f (0L); ++ f ((char) 0); ++ f ((_Bool) 0); ++ f ((enum e) ZERO); ++ (1 ? p1 : 0); ++ (1 ? p1 : 0L); ++ (1 ? p1 : 0ULL); ++ (1 ? p1 : (char) 0); ++ (1 ? p1 : (_Bool) 0); ++ (1 ? p1 : (enum e) 0); ++ p1 == 0; ++ p1 == 0LL; ++ p1 == 0U; ++ p1 == (char) 0; ++ p1 == (_Bool) 0; ++ p1 == (enum e) 0; ++ p1 != 0; ++ p1 != 0LL; ++ p1 != 0U; ++ p1 != (char) 0; ++ p1 != (_Bool) 0; ++ p1 != (enum e) 0; ++ return 0; ++ return 0UL; ++ return 0LL; ++ return (char) 0; ++ return (_Bool) 0; ++ return (enum e) 0; ++} +diff --git a/gcc/testsuite/gcc.dg/c23-null-pointer-constant-1.c b/gcc/testsuite/gcc.dg/c23-null-pointer-constant-1.c +new file mode 100644 +index 000000000000..71b66cc35d6b +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/c23-null-pointer-constant-1.c +@@ -0,0 +1,120 @@ ++/* Test zero with different types as null pointer constant: bug 112556. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=c23 -pedantic-errors -Wno-pointer-compare" } */ ++ ++enum e { ZERO }; ++enum e2 : bool { BZERO }; ++enum e3 : long { LZERO }; ++ ++void *p1 = 0; ++void *p2 = 0LL; ++void *p3 = (char) 0; ++void *p4 = 0UL; ++void *p5 = (bool) 0; ++void *p6 = (enum e) ZERO; ++void *p7 = false; ++void *p8 = BZERO; ++void *p9 = (enum e2) 0; ++void *p10 = LZERO; ++void *p11 = (enum e3) 0; ++#ifdef __BITINT_MAXWIDTH__ ++void *p12 = 0wb; ++void *p13 = 0uwb; ++#endif ++ ++void f (void *); ++ ++void * ++g (void) ++{ ++ p1 = 0; ++ p2 = 0LL; ++ p3 = (char) 0; ++ p4 = 0UL; ++ p5 = (bool) 0; ++ p6 = (enum e) ZERO; ++ p7 = false; ++ p8 = BZERO; ++ p9 = (enum e2) 0; ++ p10 = LZERO; ++ p11 = (enum e3) 0; ++#ifdef __BITINT_MAXWIDTH__ ++ p12 = 0wb; ++ p13 = 0uwb; ++#endif ++ f (0); ++ f (0ULL); ++ f (0L); ++ f ((char) 0); ++ f ((bool) 0); ++ f ((enum e) ZERO); ++ f (false); ++ f (BZERO); ++ f ((enum e2) 0); ++ f (LZERO); ++ f ((enum e3) 0); ++#ifdef __BITINT_MAXWIDTH__ ++ f (0wb); ++ f (0uwb); ++#endif ++ (1 ? p1 : 0); ++ (1 ? p1 : 0L); ++ (1 ? p1 : 0ULL); ++ (1 ? p1 : (char) 0); ++ (1 ? p1 : (bool) 0); ++ (1 ? p1 : (enum e) 0); ++ (1 ? p1 : false); ++ (1 ? p1 : BZERO); ++ (1 ? p1 : (enum e2) 0); ++ (1 ? p1 : LZERO); ++ (1 ? p1 : (enum e3) 0); ++#ifdef __BITINT_MAXWIDTH__ ++ (1 ? p1 : 0wb); ++ (1 ? p1 : 0uwb); ++#endif ++ p1 == 0; ++ p1 == 0LL; ++ p1 == 0U; ++ p1 == (char) 0; ++ p1 == (bool) 0; ++ p1 == (enum e) 0; ++ p1 == false; ++ p1 == BZERO; ++ p1 == (enum e2) 0; ++ p1 == LZERO; ++ p1 == (enum e3) 0; ++#ifdef __BITINT_MAXWIDTH__ ++ p1 == 0wb; ++ p1 == 0uwb; ++#endif ++ p1 != 0; ++ p1 != 0LL; ++ p1 != 0U; ++ p1 != (char) 0; ++ p1 != (bool) 0; ++ p1 != (enum e) 0; ++ p1 != false; ++ p1 != BZERO; ++ p1 != (enum e2) 0; ++ p1 != LZERO; ++ p1 != (enum e3) 0; ++#ifdef __BITINT_MAXWIDTH__ ++ p1 != 0wb; ++ p1 != 0uwb; ++#endif ++ return 0; ++ return 0UL; ++ return 0LL; ++ return (char) 0; ++ return (bool) 0; ++ return (enum e) 0; ++ return false; ++ return BZERO; ++ return (enum e2) 0; ++ return LZERO; ++ return (enum e3) 0; ++#ifdef __BITINT_MAXWIDTH__ ++ return 0wb; ++ return 0uwb; ++#endif ++} +-- +2.47.0 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241114.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241114.ebuild index ca287572883..e3066d71350 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241114.ebuild @@ -39,7 +39,7 @@ if tc_is_live ; then EGIT_BRANCH=releases/gcc-$(ver_cut 1) elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds - #KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild new file mode 100644 index 00000000000..5845745860b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="12.4.0" +PATCH_VER="1" +MUSL_VER="1" +MUSL_GCC_VER="12.4.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241128.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241128.ebuild new file mode 100644 index 00000000000..e358f3fa935 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241128.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="12.4.0" +PATCH_VER="2" +MUSL_VER="1" +MUSL_GCC_VER="12.4.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241115.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241115.ebuild new file mode 100644 index 00000000000..98f9b64a624 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241115.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.2.0" +PATCH_VER="1" +MUSL_VER="2" +PYTHON_COMPAT=( python3_{10..12} ) + +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.3.1_p20241101.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241122.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241101.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241122.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241108.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241129.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241108.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241129.ebuild index 6bff7d38217..9267c223d8b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241108.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241129.ebuild @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.2.0" -PATCH_VER="1" +PATCH_VER="2" MUSL_VER="2" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241116.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241116.ebuild index ff72d2e6564..f10977e0f7b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241116.ebuild @@ -27,7 +27,7 @@ if tc_is_live ; then 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" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241123.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241123.ebuild index 98edff84af5..f85c0a0e44d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241123.ebuild @@ -42,6 +42,7 @@ fi src_prepare() { local p upstreamed_patches=( # add them here + 77_all_m2_docs_sandbox.patch ) for p in "${upstreamed_patches[@]}"; do rm -v "${WORKDIR}/patch/${p}" || die diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241130.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241130.ebuild index 98edff84af5..79cadacc1a2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241130.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.2.0" -PATCH_VER="3" +PATCH_VER="5" MUSL_VER="1" MUSL_GCC_VER="14.1.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241117-r2.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241117-r2.ebuild index 784fbf09176..ee327823124 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241117-r2.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="22" +PATCH_VER="26" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) @@ -49,5 +49,6 @@ src_prepare() { toolchain_src_prepare + eapply "${FILESDIR}"/${P}-PR112556-c-Allow-bool-and-enum-null-pointer-constants.patch eapply_user } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241124.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241124.ebuild index a81ef8a63c0..75125b880bd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241124.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="21" +PATCH_VER="28" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241201.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241201.ebuild index a81ef8a63c0..7c6295bee00 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241201.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="21" +PATCH_VER="29" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml index 853d9657950..9b51b891ae5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/metadata.xml @@ -77,6 +77,7 @@ Add support for the framework for loop optimizations based on a polyhedral intermediate representation Use accelerated 128-bit IEEE long double ABI (ppc64le only) Enable libgccjit so other applications can embed gcc for Just-In-Time compilation. + Provide libgdiagnostics (https://gcc.gnu.org/wiki/libgdiagnostics). This also installs the 'sarif-replay' tool. Build SSP support into a dedicated library rather than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES) Build using Link Time Optimizations (LTO). diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild new file mode 100644 index 00000000000..cbcedaee51d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Note: Keep version bumps in sync with dev-libs/libintl. + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc +inherit java-pkg-opt-2 libtool multilib-minimal verify-sig toolchain-funcs +inherit flag-o-matic + +DESCRIPTION="GNU locale utilities" +HOMEPAGE="https://www.gnu.org/software/gettext/" + +if [[ ${PV} == *_rc* ]] ; then + SRC_URI=" + https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz + verify-sig? ( https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz.sig ) + " + S="${WORKDIR}/${P/_/-}" +else + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +# Only libasprintf is under the LGPL (and libintl is in a sep package), +# so put that license behind USE=cxx. +LICENSE="GPL-3+ cxx? ( LGPL-2.1+ )" +SLOT="0" +IUSE="acl +cxx doc emacs git java ncurses nls openmp static-libs xattr" + +# Only runtime goes multilib +# +# Note: The version of libxml2 corresponds to the version bundled via gnulib. +# If the build detects too old of a system version, it will end up falling back +# to the bundled copy (bug #596918). +# +# Note: expat lacks a subslot because it is dynamically loaded at runtime. We +# would depend on older subslots if they were available (based on the ABIs that +# are explicitly handled), but expat doesn't currently use subslots. +DEPEND=" + >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] + >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.3:= + dev-libs/expat + acl? ( virtual/acl ) + ncurses? ( sys-libs/ncurses:= ) + java? ( >=virtual/jdk-1.8:* ) + xattr? ( sys-apps/attr ) +" +RDEPEND=" + ${DEPEND} + git? ( dev-vcs/git ) + java? ( >=virtual/jre-1.8:* ) +" +BDEPEND=" + git? ( dev-vcs/git ) + verify-sig? ( sec-keys/openpgp-keys-gettext ) +" +PDEPEND="emacs? ( app-emacs/po-mode )" + +MULTILIB_WRAPPED_HEADERS=( + # only installed for native ABI + /usr/include/gettext-po.h + + /usr/include/autosprintf.h + /usr/include/textstyle.h + /usr/include/textstyle/stdbool.h + /usr/include/textstyle/version.h + /usr/include/textstyle/woe32dll.h +) + +PATCHES=( + "${FILESDIR}"/${PN}-0.21-CVE-2020-12825.patch +) + +QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so" + +QA_CONFIG_IMPL_DECL_SKIP=( + # bug #898570 + unreachable + MIN + alignof + static_assert +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + java-pkg-opt-2_src_prepare + + default + + # gettext-0.21.1-java-autoconf.patch changes + # gettext-{runtime,tools}/configure.ac and the corresponding + # configure scripts. Avoid regenerating other autotools output. + #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die + # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac + #touch -c configure || die + + elibtoolize + + if use elibc_musl || use elibc_Darwin; then + eapply "${FILESDIR}"/${PN}-0.21-musl-omit_setlocale_lock.patch + fi +} + +multilib_src_configure() { + local myconf=( + # switches common to runtime and top-level + --cache-file="${BUILD_DIR}"/config.cache + #--docdir="\$(datarootdir)/doc/${PF}" + + # Emacs support is now in a separate package + --without-emacs + --without-lispdir + # glib depends on us so avoid circular deps + --with-included-glib + # libcroco depends on glib which ... ^^^ + --with-included-libcroco + # this will _disable_ libunistring (since it is not bundled), + # see bug #326477 + --with-included-libunistring + # Never build libintl since it's in dev-libs/libintl now. + --without-included-gettext + # Never build bundled copy of libxml2. + --without-included-libxml + + --disable-csharp + --without-cvs + + $(use_enable acl) + $(use_enable cxx c++) + $(use_enable cxx libasprintf) + $(use_with git) + $(multilib_native_use_enable java) + $(use_enable ncurses curses) + $(use_enable nls) + $(use_enable openmp) + $(use_enable static-libs static) + $(use_enable xattr attr) + ) + + local ECONF_SOURCE="${S}" + if ! multilib_is_native_abi ; then + # for non-native ABIs, we build runtime only + ECONF_SOURCE+=/gettext-runtime + fi + + # should be gone on next release, for memset_s breakage + [[ ${CHOST} == *-solaris* ]] && append-cppflags -D__STDC_WANT_LIB_EXT1__=1 + + econf "${myconf[@]}" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi ; then + dosym msgfmt /usr/bin/gmsgfmt # bug #43435 + dobin gettext-tools/misc/gettextize + fi + + # 909041 never install libintl which upstream insists on building + rm -f "${ED}"/usr/$(get_libdir)/libintl.* "${ED}"/usr/include/libintl.h +} + +multilib_src_install_all() { + find "${ED}" -type f -name "*.la" -delete || die + + if use java ; then + java-pkg_dojar "${ED}"/usr/share/${PN}/*.jar + rm "${ED}"/usr/share/${PN}/*.jar || die + rm "${ED}"/usr/share/${PN}/*.class || die + if use doc ; then + java-pkg_dojavadoc "${ED}"/usr/share/doc/${PF}/html/javadoc2 + fi + fi + + dodoc AUTHORS ChangeLog NEWS README THANKS + + if use doc ; then + docinto html + dodoc "${ED}"/usr/share/doc/${PF}/*.html + else + rm -rf "${ED}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1} + fi + rm "${ED}"/usr/share/doc/${PF}/*.html || die +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5.ebuild index 6d6dc3ce388..88afc730dd6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5.ebuild @@ -23,7 +23,7 @@ else mirror://gnu/${PN}/${P}.tar.xz verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild index 42c854e636e..93f8c13a49f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r2.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/m4.asc -inherit verify-sig +inherit flag-o-matic verify-sig DESCRIPTION="GNU macro processor" HOMEPAGE="https://www.gnu.org/software/m4/m4.html" @@ -20,7 +20,7 @@ else KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi -LICENSE="GPL-3" +LICENSE="GPL-3+" SLOT="0" IUSE="examples nls" @@ -65,6 +65,9 @@ src_prepare() { } src_configure() { + # https://savannah.gnu.org/support/index.php?111150 + append-cflags -std=gnu17 + local -a myeconfargs=( --enable-changeword diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-configure-mkdir.patch b/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-configure-mkdir.patch new file mode 100644 index 00000000000..b29d7b08753 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-configure-mkdir.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/898598 +https://github.com/coreutils/gnulib/commit/3c136a2cc38d71083f123231a8b9ad4b01930789 + +diff '--color=auto' -ruN patch-2.7.6.orig/configure patch-2.7.6/configure +--- patch-2.7.6.orig/configure 2018-02-03 14:41:50.000000000 +0100 ++++ patch-2.7.6/configure 2024-11-19 23:19:08.710565121 +0100 +@@ -17130,6 +17130,7 @@ + /* end confdefs.h. */ + #include + #include ++ #include + + int + main () diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild new file mode 100644 index 00000000000..25168b8c544 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r6.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/patch.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="Utility to apply diffs to files" +HOMEPAGE="https://www.gnu.org/software/patch/patch.html" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/patch.git" + inherit git-r3 +else + SRC_URI="mirror://gnu/patch/${P}.tar.xz" + SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="static test xattr" +RESTRICT="!test? ( test )" + +RDEPEND="xattr? ( sys-apps/attr )" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( sys-apps/ed ) + verify-sig? ( sec-keys/openpgp-keys-patch ) +" + +PATCHES=( + "${FILESDIR}"/${P}-fix-test-suite.patch + "${FILESDIR}"/${PN}-2.7.6-fix-error-handling-with-git-style-patches.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6951.patch + "${FILESDIR}"/${PN}-2.7.6-allow-input-files-to-be-missing-for-ed-style-patches.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6952.patch + "${FILESDIR}"/${PN}-2.7.6-Do-not-crash-when-RLIMIT_NOFILE-is-set-to-RLIM_INFINITY.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156-fix1.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156-fix2.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2019-13636.patch + "${FILESDIR}"/${PN}-2.7.6-CVE-2019-13638.patch + "${FILESDIR}"/${PN}-2.7.6-Avoid-invalid-memory-access-in-context-format-diffs.patch + "${FILESDIR}"/${PN}-2.7.6-configure-mkdir.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + + cd "${S}" || die + ./bootstrap || die + elif use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig} + fi + + default +} + +src_configure() { + use static && append-ldflags -static + + local myeconfargs=( + $(use_enable xattr) + # rename to gpatch for better BSD compatibility + --program-prefix=g + ) + # Do not let $ED mess up the search for `ed` 470210. + ac_cv_path_ED=$(type -P ed) \ + econf "${myeconfargs[@]}" +} + +src_test() { + emake check gl_public_submodule_commit= +} + +src_install() { + default + + # symlink to the standard name + dosym gpatch /usr/bin/patch + dosym gpatch.1 /usr/share/man/man1/patch.1 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest index 5c85eac3431..5323b9c4a50 100644 --- a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/Manifest @@ -1,7 +1,7 @@ -DIST intel-microcode-collection-20240526.tar.xz 14673584 BLAKE2B 262f667ac46e190994e86f547c98ac776c73b1576c208fa32df96a2dd60af6cda9bd0b0367ca68bb6b85fd19f75913e73069d0064eb2b4c560068c3da50618c8 SHA512 4227c68ba60aea940b851f10d1006ee42b45d55425eb143210adeb363468238329d4a2720d117f5bdaeb9857ae29a6952a3df22769f4436638a9080ded6793ba DIST intel-microcode-collection-20240815.tar.xz 15458512 BLAKE2B 17b3719961a30d18aecb7b5094de5250e36a6eaa2f880a020ca38762d8a037b7e25f322cc1cbb3000a520007beb0d47d6b4f4940c47fac2082c9c2a3fa3be5d4 SHA512 6faddcac20184424bbe0488dce8df31479b89da9affb5c2f2d93f2bccc045d41105d5a10e3c56ba48cf27853a089334adac6e42a27c5fb63e86f0ed7c51bbc42 DIST intel-microcode-collection-20240915.tar.xz 15384092 BLAKE2B 8f7caf4e7e96544037f25f335a1fd24a04e9613cd397dcd4a299f385647335771bd2218b64b7fd047405e88ac3907f662b4a2d35c5600d488a197152514d0de8 SHA512 975867f7a817e4086c6901329de3c6bff2b6d8ed4719af41b349e87297c8b213a31708804d7216a44358fbe4effc227e96999fb7f9f4599dd83d033eee849a4d +DIST intel-microcode-collection-20241103.tar.xz 17703860 BLAKE2B dd2e88e4b06a54ad5f07b12a842eea0a66f2b8d5bf5fb311bd5d9d955faf6f08d1b025cdf5ba04a6b43b3fb153dca50c2fba1cb40454e9b195c7fe03563c8685 SHA512 f57fc0ba0deced6d852354556429afea0995f1864a73594e92c5900bbec3816ff8d960860f853c788ebeb3ae0f1a44ca3dc9ddc091bdc2753a2f181993eb601d DIST intel-ucode-sig_0x406e3-rev_0xd6.bin 101376 BLAKE2B 66d55867954d69dda1425febd93bb8c89f7aa836d504f8b5fee127f8505bcf2246f4fcc55cc245bc5e532528d60cca2eee278de7ab5174dc2862db7982a2b36f SHA512 248066b521bf512b5d8e4a8c7e921464ce52169c954d6e4ca580d8c172cd789519e22b4cf56c212e452b4191741f0202019f7061d322c9433b5af9ce5413b567 -DIST microcode-20240531.tar.gz 12870497 BLAKE2B 6a2c5ee6b6f3543b28f3753b30812e360bad50776b4f81e32a832e2169f38c11f8d5108ce0a81ddcdf1ecf7557baf1fd62c053a365f39a33ded5fd5018580b1f SHA512 fb9d772491f279ebb691248e4a665da45c986ca7b4668ecf311c5fcb91a42400f7a5b35e8bfc31ceb1c9d598e753c817359900e3fa316d825f8ecec21ec63cfe DIST microcode-20240813.tar.gz 12879301 BLAKE2B f6a157de1f2c14e0e4d08ec71304451a52c7a0ffcfc79a1ebce7e8c16c7405587369c9cad994b8bdb0a987d4fe2769b2988948ffd9fe1e7f117eb624cf579b63 SHA512 ba1fa7d9bed7d90756ea959f5878afca0deacc9b1e932a936a15d74a411b7efb6103a4af75dc3731d9cbb2e464439ce9a7d448f75bc6f38b616907ff6dec6ee3 DIST microcode-20240910.tar.gz 12879730 BLAKE2B b4c353dd340ef8004e5be2e596de0ebaf8366684a3371207e14d3d8c0e4bbdc5a9c75d8279d280d1029452368556a0c2e7bf85f3fe75f1b1560e16c953f223b7 SHA512 d996de4f045df33f4eb1a1dabfb2f55bd8941e8dc16241d7a6c361216f4b87b88c34ba57c88ee4d4b7b3cf2b3fac937c43806191681df031fa3d5cdd677a86fe +DIST microcode-20241112.tar.gz 12923653 BLAKE2B 223721ac561b137513653e1b10dc2afabcc4fc9e304f3fc71c252f1ada9554bf1df812c766831ec4b5f66f57f66c3e1cf563d7d24d17e553a4e26adc659f8d76 SHA512 de4ddb0a77e17a4a5b6789537cf71db9ab884c795ef5c77b17d3392fda0fbb4d860cc27bcdbd7512d9412d6f934e6771e889be262b20e77433e0f72d3b6cf1f0 diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20241112_p20241103.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/intel-microcode-20241112_p20241103.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/metadata.xml index 31efbfe0fea..fb8538f43f9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/intel-microcode/metadata.xml @@ -5,6 +5,10 @@ base-system@gentoo.org Gentoo Base System + + mpagano@gentoo.org + Mike Pagano + Install a small initramfs for use with CONFIG_MICROCODE_EARLY Only install ucode(s) supported by currently available (=online) processor(s) diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/seabios-bin/seabios-bin-1.16.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-firmware/seabios-bin/seabios-bin-1.16.3.ebuild index 9b323b614b8..d7f6e504d2c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-firmware/seabios-bin/seabios-bin-1.16.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/seabios-bin/seabios-bin-1.16.3.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}" LICENSE="LGPL-3 GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" RDEPEND="!sys-firmware/seabios" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.11.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.11.ebuild index 757755270ab..89de2ab69fa 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.11.ebuild @@ -26,7 +26,7 @@ else S="${WORKDIR}"/${PN}-${MY_PV} if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild index c3852f07fa8..d1f1284271f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/$ LICENSE="GPL-2 BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="archive cron fuse nls static-libs test +tools" RESTRICT="!test? ( test )" @@ -46,6 +46,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch # Upstream patches (can usually removed with next version bump) + "${FILESDIR}"/${PN}-1.47.1-c23.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch new file mode 100644 index 00000000000..b39e0a45534 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/943687 +https://github.com/tytso/e2fsprogs/issues/202 +https://github.com/tytso/e2fsprogs/commit/49fd04d77b3244c6c6990be41142168eef373aef + +From 49fd04d77b3244c6c6990be41142168eef373aef Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Fri, 22 Nov 2024 12:36:32 +0000 +Subject: [PATCH] libext2fs: fix -std=c23 build failure + +gcc-15 switched to -std=c23 by default: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 + +As a result `e2fsprogs` fails the build so only typedef int bool +for __STDC_VERSION__ <= 201710L (C17) + + ../../../lib/ext2fs/tdb.c:113:13: error: two or more data types in declaration specifiers + ../../../lib/ext2fs/tdb.c:113:1: warning: useless type name in empty declaration + 113 | typedef int bool; + | ^~~~~~~ + +https://github.com/tytso/e2fsprogs/issues/202 + +Signed-off-by: Rudi Heitbaum +Link: https://lore.kernel.org/r/Z0B60JhdvT9bpSQ6@6f91903e89da +Signed-off-by: Theodore Ts'o +--- a/lib/ext2fs/tdb.c ++++ b/lib/ext2fs/tdb.c +@@ -110,7 +110,9 @@ static char *rep_strdup(const char *s) + #endif + #endif + ++#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L + typedef int bool; ++#endif + + #include "tdb.h" + diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest index 5623d72c531..327d9221fb6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest @@ -2,3 +2,4 @@ DIST mtools-4.0.42.tar.bz2 441506 BLAKE2B 07afec0aea49427ec71ae8ddde9c1dceb33b25 DIST mtools-4.0.43.tar.bz2 443673 BLAKE2B d000839bbb6bc647eb5a32b08b40b1350cd0a85fd564f0705ecbfe20f8f4ef21bf2d59cd0ccd7a159c829c019c6c2f3cbdef82ff3f4a9e8828cc13d44ddabd1d SHA512 b70e483688124a653dd333ab127494dab12d413809680a4846dc4ae5c166a0b9938a2ab290e518c1f1a5b18ed96d2c2a29d92d61b16b772a4ab5e495379fe410 DIST mtools-4.0.44.tar.lz 389267 BLAKE2B 1a6a9d257fc07cf27280a535feac873d27690fb02114b293e31d7c8441de6bbdbd57a13f4ba62ce5a5093cd45683776dd8e61ac822b1d3d44eb98cd21f7b9088 SHA512 8977f43b1cd25a0d1052f9f8f140d73d432bd49a7a4737d0b743a9f8ccec5aff6bbbdc07455011ecc49038b1b1dfd6908dda8c46d06389b1511875f9bc654f84 DIST mtools-4.0.45.tar.lz 389733 BLAKE2B bb23b310fea5d10e5f0c0ed543e0f8cbac9ba4177128419b6e05fb4a06896a64ddccb27c932eb41c339a0167706e729c2f209837874fe4ac4d165a534802031c SHA512 dd5869fee6f376deab2beb3d5168045a6abc7bbfdea35a274369420c99771ee89477629364a8c677dfba56e0df5c7d2760b6cbfba2d425a89a7b8c21f2b6e538 +DIST mtools-4.0.46.tar.lz 391300 BLAKE2B 997e766b215aebefb23d57f357ea0b95db62a7e3b40712597c38aa11c0f9c47dc43b0b6a34bfa2b976ec8298ed221c5d7d81e9f16dbeb0a4812e3a6cbff16a16 SHA512 1af737cc4793a2e6afe14b5595f085f8aa29e58bf4d8ba89454c7b9a10041a0ebe06fd50b525332c38805c7a9b014fc4379ae1cc259da7626974c6b6a061e727 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.46.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.46.ebuild new file mode 100644 index 00000000000..95a421fafd1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.46.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic unpacker + +DESCRIPTION="Utilities to access MS-DOS disks from Unix without mounting them" +HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools" +SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" +IUSE="gui" + +RDEPEND=" + virtual/libiconv + gui? ( + x11-libs/libICE + x11-libs/libXau + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXt + ) +" +DEPEND="${RDEPEND}" +BDEPEND="$(unpacker_src_uri_depends)" + +src_configure() { + if ! use elibc_glibc && ! use elibc_musl ; then + # bug #447688 + append-libs "-liconv" + fi + + local myeconfargs=( + --sysconfdir="${EPREFIX}"/etc/mtools + $(use_with gui x) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + local -a DOCS=( README* Release.notes ) + + default + + insinto /etc/mtools + doins mtools.conf + + # Default is fine + sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/udisks/udisks-2.10.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/udisks/udisks-2.10.1-r1.ebuild index d2f4f213c1b..d0175b0d780 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/udisks/udisks-2.10.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/udisks/udisks-2.10.1-r1.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}. LICENSE="LGPL-2+ GPL-2+" SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86" IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild index 30de84a18b5..852b52cd491 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="icu libedit nls selinux static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild index 844737990ff..952c057bfa8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild @@ -54,6 +54,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild index d9a5e70a913..c4443d6f5e5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild @@ -56,6 +56,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild index 3e2319ca786..ed7215c3e33 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild @@ -54,6 +54,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild index 80a2ccfbaf8..2434f02290e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild @@ -55,6 +55,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild index 64d59c99a5f..95b5e398f89 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild @@ -69,6 +69,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39-r5.ebuild index 6e0753ca216..143416d9fb8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.39-r5.ebuild @@ -69,6 +69,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.40-r7.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.40-r7.ebuild index f57205fd73f..9fd6d71b339 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.40-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.40-r7.ebuild @@ -73,6 +73,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild index f298f4f1f57..a7571995914 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.41-r5.ebuild @@ -75,6 +75,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto local myconf=( diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild index c49fead1d74..a24ffb52464 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild @@ -75,6 +75,9 @@ pkgversion() { } multilib_src_configure() { + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 + filter-lto # Workaround for lld-17 (bug #914640) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild index 9bb3ae91aca..bd0b6b20c16 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild @@ -80,11 +80,10 @@ pkgversion() { } multilib_src_configure() { - filter-lto + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 - # Workaround for lld-17 (bug #914640) - # Should be able to drop this w/ >=binutils-2.43 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + filter-lto local myconf=( # portage's econf() does not detect presence of --d-d-t diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild index b0746db92b9..2aaa95d9d0b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild @@ -29,7 +29,7 @@ else fi IUSE="64-bit-bfd cet multitarget nls static-libs test" -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" RESTRICT="!test? ( test )" BDEPEND=" @@ -80,11 +80,10 @@ pkgversion() { } multilib_src_configure() { - filter-lto + # https://sourceware.org/PR32372 + append-cflags -std=gnu17 - # Workaround for lld-17 (bug #914640) - # Should be able to drop this w/ >=binutils-2.43 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + filter-lto local myconf=( # portage's econf() does not detect presence of --d-d-t diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild index dd6e1b4c739..0f5bb98f395 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild @@ -72,7 +72,11 @@ src_unpack() { if [[ ${PV} != 9999 ]] ; then EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch fi - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + EGIT_REPO_URI=" + https://sourceware.org/git/binutils-gdb.git + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/binutils-gdb.git + " S=${WORKDIR}/binutils EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack @@ -127,10 +131,6 @@ pkgversion() { multilib_src_configure() { filter-lto - # Workaround for lld-17 (bug #914640) - # Should be able to drop this w/ >=binutils-2.43 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - local myconf=( # portage's econf() does not detect presence of --d-d-t # because it greps only top-level ./configure. But not diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/Manifest index afd23f75ab3..7f8a29329c9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/Manifest @@ -1,2 +1 @@ -DIST efivar-38.tar.bz2 320221 BLAKE2B 0b96f3d71ddc2246e6a11a5cd32af3d007823c4a283186a428c3f145cd74425a31bd22c4671ad1ab252a3c572991bb1698381cb8bdf51efcbebd62befdc6c070 SHA512 c2f17297c863ece134a9dd758d237fd2df8c8d072f87af1d0bf2bcf9acfc7a53c25597f03fd4fb8cc664b205743d4ffa0ef1b068d0f73c58fa573d40993f3155 DIST efivar-39.tar.gz 463349 BLAKE2B 73ea4b3293cd708923bcd4332a8c7a5a8bbf539d81300c502a764a2ac205ba7cdf1e30b3432c42a101f56c0b6e31af2907a6a38ada69ace3b0d60e90515094cd SHA512 04493c30efbfc2773abac9a3dd93aa13403c05e29e3bfc72877d2054930811fae99119aadcb1729b6ca85abf5a24db786ea0c27c16d5458ef1b19e74696f5ff7 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/efivar-38.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/efivar-38.ebuild deleted file mode 100644 index 271b9b2d75d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/efivar-38.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2014-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="Tools and library to manipulate EFI variables" -HOMEPAGE="https://github.com/rhinstaller/efivar" -SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0/1" -KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - app-text/mandoc - test? ( sys-boot/grub:2 ) -" -RDEPEND=" - dev-libs/popt -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.18 - virtual/pkgconfig -" - -src_prepare() { - local PATCHES=( - "${FILESDIR}"/efivar-38-march-native.patch - "${FILESDIR}"/efivar-38-Makefile-dep.patch - "${FILESDIR}"/efivar-38-binutils-2.36.patch - "${FILESDIR}"/efivar-38-ld-locale.patch - "${FILESDIR}"/efivar-38-glibc-2.36.patch - "${FILESDIR}"/efivar-38-lld-fixes.patch - "${FILESDIR}"/efivar-38-efisecdb-musl.patch - "${FILESDIR}"/efivar-38-efisecdb-optarg.patch - "${FILESDIR}"/efivar-38-64bit-off_t.patch - - # Rejected upstream, keep this for ia64 support - "${FILESDIR}"/efivar-38-ia64-relro.patch - ) - default -} - -src_configure() { - unset CROSS_COMPILE - export COMPILER=$(tc-getCC) - export HOSTCC=$(tc-getBUILD_CC) - - tc-ld-disable-gold - - export libdir="/usr/$(get_libdir)" - - # https://bugs.gentoo.org/562004 - unset LIBS - - # Avoid -Werror - export ERRORS= - - if [[ -n ${GCC_SPECS} ]]; then - # The environment overrides the command line. - GCC_SPECS+=":${S}/src/include/gcc.specs" - fi - - # Used by tests/Makefile - export GRUB_PREFIX=grub -} - -src_test() { - # https://bugs.gentoo.org/924370 - emake -j1 test -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-64bit-off_t.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-64bit-off_t.patch deleted file mode 100644 index d06868b2258..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-64bit-off_t.patch +++ /dev/null @@ -1,46 +0,0 @@ -https://bugs.gentoo.org/905930 - -From 914c686cc54b2405dab08bff77cd60827aab54b1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 14 Dec 2022 16:55:51 -0800 -Subject: [PATCH] Use off_t instead of off64_t - -Pass _FILE_OFFSET_BITS=64 to ensure 64bit off_t - -This helps building efivar for 32bit arches on systems using musl C -library. It works with glibc since _GNU_SOURCE defines -_LARGEFILE64_SOURCE as well, this feature test macro enables the 64bit -interfaces which were done as intermediate steps when transition to -66-bit off_t was done as part olf LFS64 support. - -Signed-off-by: Khem Raj ---- - src/error.c | 2 +- - src/include/defaults.mk | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/error.c b/src/error.c -index fcbba0d6..9530e22c 100644 ---- a/src/error.c -+++ b/src/error.c -@@ -191,7 +191,7 @@ dbglog_write(void *cookie, const char *buf, size_t size) - } - - static int --dbglog_seek(void *cookie UNUSED, off64_t *offset, int whence) -+dbglog_seek(void *cookie UNUSED, off_t *offset, int whence) - { - FILE *log = efi_errlog ? efi_errlog : stderr; - int rc; -diff --git a/src/include/defaults.mk b/src/include/defaults.mk -index 42bd3d6e..bb9c997f 100644 ---- a/src/include/defaults.mk -+++ b/src/include/defaults.mk -@@ -34,6 +34,7 @@ CPPFLAGS ?= - override _CPPFLAGS := $(CPPFLAGS) - override CPPFLAGS = $(_CPPFLAGS) -DLIBEFIVAR_VERSION=$(VERSION) \ - -D_GNU_SOURCE \ -+ -D_FILE_OFFSET_BITS=64 \ - -I$(TOPDIR)/src/include/ - CFLAGS ?= $(OPTIMIZE) $(DEBUGINFO) $(WARNINGS) $(ERRORS) - CFLAGS_GCC ?= -specs=$(TOPDIR)/src/include/gcc.specs \ diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-Makefile-dep.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-Makefile-dep.patch deleted file mode 100644 index 64e3f4e0b7c..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-Makefile-dep.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 847856cd72088fd5f2349be858745c632c46b6c8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Mon, 17 Jan 2022 11:42:53 -0500 -Subject: [PATCH] Adjust dependency for libefivar and libefiboot objects - -Depending on 'prep' causes all objects to be rebuilt every time 'make' -is invoked. - -Depending on '$(GENERATED_SOURCES)' causes a build failure because -guid-symbols.c gets passed to the compiler due to a rule in rules.mk. - -Depend on 'include/efivar/efivar-guids.h' directly to avoid these -issues. - -Fixes: https://github.com/rhboot/efivar/issues/199 -Signed-off-by: Mike Gilbert ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 0e423c44..c6006ebf 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -85,7 +85,7 @@ $(MAKEGUIDS_OUTPUT) : guids.txt - - prep : makeguids $(GENERATED_SOURCES) - --$(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : prep -+$(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : include/efivar/efivar-guids.h - - libefivar.a : | $(GENERATED_SOURCES) - libefivar.a : $(patsubst %.o,%.static.o,$(LIBEFIVAR_OBJECTS)) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-binutils-2.36.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-binutils-2.36.patch deleted file mode 100644 index df0575de7f3..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-binutils-2.36.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 197a0874ea4010061b98b4b55eff65b33b1cd741 Mon Sep 17 00:00:00 2001 -From: Robbie Harwood -Date: Mon, 17 Jan 2022 12:34:55 -0500 -Subject: [PATCH] Add -T workaround for GNU ld 2.36 - -Signed-off-by: Robbie Harwood -Resolves: #195 ---- - src/include/workarounds.mk | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk -index 31188342..143e7902 100644 ---- a/src/include/workarounds.mk -+++ b/src/include/workarounds.mk -@@ -4,12 +4,12 @@ - - LD_FLAVOR := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g') - LD_VERSION := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //') --# I haven't tested 2.36 here; 2.35 is definitely broken and 2.37 seems to work -+# 2.35 is definitely broken and 2.36 seems to work - LD_DASH_T := $(shell \ - if [ "x${LD_FLAVOR}" = xLLD ] ; then \ - echo '-T' ; \ - elif [ "x${LD_FLAVOR}" = xGNU ] ; then \ -- if echo "${LD_VERSION}" | grep -q -E '^2\.3[789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ -+ if echo "${LD_VERSION}" | grep -q -E '^2\.3[6789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ - echo '-T' ; \ - else \ - echo "" ; \ diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-musl.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-musl.patch deleted file mode 100644 index a1bfa631aae..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-musl.patch +++ /dev/null @@ -1,179 +0,0 @@ -From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 28 Jan 2022 12:13:30 +0100 -Subject: [PATCH] efisecdb: fix build with musl libc - -Refactor code to use POSIX atexit(3) instead of the GNU specific -on_exit(3). - -Resolves: #197 -Resolves: #202 -Signed-off-by: Natanael Copa ---- - src/compiler.h | 2 -- - src/efisecdb.c | 68 +++++++++++++++++++------------------------------- - 2 files changed, 26 insertions(+), 44 deletions(-) - -diff --git a/src/compiler.h b/src/compiler.h -index e2f18f0b..d95fb014 100644 ---- a/src/compiler.h -+++ b/src/compiler.h -@@ -7,8 +7,6 @@ - #ifndef COMPILER_H_ - #define COMPILER_H_ - --#include -- - /* GCC version checking borrowed from glibc. */ - #if defined(__GNUC__) && defined(__GNUC_MINOR__) - # define GNUC_PREREQ(maj,min) \ -diff --git a/src/efisecdb.c b/src/efisecdb.c -index f8823737..6bd5ad90 100644 ---- a/src/efisecdb.c -+++ b/src/efisecdb.c -@@ -25,6 +25,10 @@ - extern char *optarg; - extern int optind, opterr, optopt; - -+static efi_secdb_t *secdb = NULL; -+static list_t infiles; -+static list_t actions; -+ - struct hash_param { - char *name; - efi_secdb_type_t algorithm; -@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t action_type, const efi_guid_t *owner, - } - - static void --free_actions(int status UNUSED, void *actionsp) -+free_actions(void) - { -- list_t *actions = (list_t *)actionsp; - list_t *pos, *tmp; - -- for_each_action_safe(pos, tmp, actions) { -+ for_each_action_safe(pos, tmp, &actions) { - action_t *action = list_entry(pos, action_t, list); - - list_del(&action->list); -@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *actionsp) - } - - static void --free_infiles(int status UNUSED, void *infilesp) -+free_infiles(void) - { -- list_t *infiles = (list_t *)infilesp; - list_t *pos, *tmp; - -- for_each_ptr_safe(pos, tmp, infiles) { -+ for_each_ptr_safe(pos, tmp, &infiles) { - ptrlist_t *entry = list_entry(pos, ptrlist_t, list); - - list_del(&entry->list); -@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *infilesp) - } - - static void --maybe_free_secdb(int status UNUSED, void *voidp) -+maybe_free_secdb(void) - { -- efi_secdb_t **secdbp = (efi_secdb_t **)voidp; -- -- if (secdbp == NULL || *secdbp == NULL) -+ if (secdb == NULL) - return; - -- efi_secdb_free(*secdbp); --} -- --static void --maybe_do_unlink(int status, void *filep) --{ -- char **file = (char **)filep; -- -- if (status == 0) -- return; -- if (file == NULL || *file == NULL) -- return; -- -- unlink(*file); -+ efi_secdb_free(secdb); - } - - static void -@@ -323,15 +310,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, - return status; - } - --/* -- * These need to be static globals so that they're not on main's stack when -- * on_exit() fires. -- */ --static efi_secdb_t *secdb = NULL; --static list_t infiles; --static list_t actions; --static char *outfile = NULL; -- - int - main(int argc, char *argv[]) - { -@@ -351,6 +329,7 @@ main(int argc, char *argv[]) - bool do_sort_data = false; - bool sort_descending = false; - int status = 0; -+ char *outfile = NULL; - - const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?"; - const struct option lopts[] = { -@@ -376,10 +355,9 @@ main(int argc, char *argv[]) - INIT_LIST_HEAD(&infiles); - INIT_LIST_HEAD(&actions); - -- on_exit(free_actions, &actions); -- on_exit(free_infiles, &infiles); -- on_exit(maybe_free_secdb, &secdb); -- on_exit(maybe_do_unlink, &outfile); -+ atexit(free_actions); -+ atexit(free_infiles); -+ atexit(maybe_free_secdb); - - /* - * parse the command line. -@@ -587,24 +565,30 @@ main(int argc, char *argv[]) - outfd = open(outfile, flags, 0600); - if (outfd < 0) { - char *tmpoutfile = outfile; -- if (errno == EEXIST) -- outfile = NULL; -+ if (errno != EEXIST) -+ unlink(outfile); - err(1, "could not open \"%s\"", tmpoutfile); - } - - rc = ftruncate(outfd, 0); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - err(1, "could not truncate output file \"%s\"", outfile); -+ } - - void *output; - size_t size = 0; - rc = efi_secdb_realize(secdb, &output, &size); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - secdb_err(1, "could not realize signature list"); -+ } - - rc = write(outfd, output, size); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - err(1, "could not write signature list"); -+ } - - close(outfd); - xfree(output); diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-optarg.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-optarg.patch deleted file mode 100644 index 612395efbe1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-efisecdb-optarg.patch +++ /dev/null @@ -1,51 +0,0 @@ -From df09b472419466987f2f30176dd00937e640aa9a Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 28 Jan 2022 12:29:00 +0100 -Subject: [PATCH] efisecdb: do not free optarg - -The *outfile passed to parse_input_files can only be either set to -optarg or be NULL. optarg should not be free'd and NULL does not need -to. - -Since we no longer use on_exit to unlink outfile we also don't need to -set *outfile to NULL. - -Fixes commit d91787035bc1 (efisecdb: add efisecdb) - -Signed-off-by: Natanael Copa ---- - src/efisecdb.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/src/efisecdb.c b/src/efisecdb.c -index 6bd5ad90..70fa1847 100644 ---- a/src/efisecdb.c -+++ b/src/efisecdb.c -@@ -255,8 +255,7 @@ list_guids(void) - * failure. - */ - static int --parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, -- bool dump) -+parse_input_files(list_t *infiles, efi_secdb_t **secdb, bool dump) - { - int status = 0; - list_t *pos, *tmp; -@@ -297,8 +296,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, - if (!dump) - exit(1); - status = 1; -- xfree(*outfile); -- *outfile = NULL; - break; - } - } -@@ -528,7 +525,7 @@ main(int argc, char *argv[]) - efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DATA, do_sort_data); - efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DESCENDING, sort_descending); - -- status = parse_input_files(&infiles, &outfile, &secdb, dump); -+ status = parse_input_files(&infiles, &secdb, dump); - if (status == 0) { - for_each_action_safe(pos, tmp, &actions) { - action_t *action = list_entry(pos, action_t, list); diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-glibc-2.36.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-glibc-2.36.patch deleted file mode 100644 index 0a7e5f2e099..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-glibc-2.36.patch +++ /dev/null @@ -1,46 +0,0 @@ -https://github.com/rhboot/efivar/commit/bc65d63ebf8fe6ac8a099ff15ca200986dba1565 -https://bugs.gentoo.org/863230 - -From: Robbie Harwood -Date: Thu, 28 Jul 2022 16:11:24 -0400 -Subject: [PATCH] Fix glibc 2.36 build (mount.h conflicts) - -glibc has decided that sys/mount.h and linux/mount.h are no longer -usable at the same time. This broke the build, since linux/fs.h itself -includes linux/mount.h. For now, fix the build by only including -sys/mount.h where we need it. - -See-also: https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E -Resolves: #227 -Signed-off-by: Robbie Harwood ---- a/src/gpt.c -+++ b/src/gpt.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include ---- a/src/linux.c -+++ b/src/linux.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include ---- a/src/util.h -+++ b/src/util.h -@@ -23,7 +23,6 @@ - #include - #include - #include --#include - #include - #include - #include - diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-ld-locale.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-ld-locale.patch deleted file mode 100644 index b1dd699a446..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-ld-locale.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 01de7438520868650bfaa1ef3e2bfaf00cacbcc6 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 24 Jun 2022 17:00:33 -0400 -Subject: [PATCH] Set LC_ALL=C to force English output from ld - -If the user has a different locale set, ld --version may not contain the -string "GNU ld". - -For example, in Italian, ld --version outputs "ld di GNU". - -Signed-off-by: Mike Gilbert ---- - src/include/workarounds.mk | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk -index 143e7902..b72fbaf6 100644 ---- a/src/include/workarounds.mk -+++ b/src/include/workarounds.mk -@@ -2,8 +2,8 @@ - # - # workarounds.mk - workarounds for weird stuff behavior - --LD_FLAVOR := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g') --LD_VERSION := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //') -+LD_FLAVOR := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g') -+LD_VERSION := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //') - # 2.35 is definitely broken and 2.36 seems to work - LD_DASH_T := $(shell \ - if [ "x${LD_FLAVOR}" = xLLD ] ; then \ diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-lld-fixes.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-lld-fixes.patch deleted file mode 100644 index c0fbee802ed..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-lld-fixes.patch +++ /dev/null @@ -1,345 +0,0 @@ -https://bugs.gentoo.org/831472 - -From b23aba1469de8bb7a115751f9cd294ad3aaa6680 Mon Sep 17 00:00:00 2001 -From: Ali Abdel-Qader -Date: Tue, 31 May 2022 11:53:32 -0400 -Subject: [PATCH] Remove deprecated --add-needed linker flag - -Resolves #204 -Signed-off-by: Ali Abdel-Qader ---- - src/include/defaults.mk | 2 -- - src/include/gcc.specs | 2 +- - 2 files changed, 1 insertion(+), 3 deletions(-) - -diff --git a/src/include/defaults.mk b/src/include/defaults.mk -index b8cc590c..42bd3d6e 100644 ---- a/src/include/defaults.mk -+++ b/src/include/defaults.mk -@@ -51,7 +51,6 @@ LDFLAGS ?= - override _CCLDFLAGS := $(CCLDFLAGS) - override _LDFLAGS := $(LDFLAGS) - override LDFLAGS = $(CFLAGS) -L. $(_LDFLAGS) $(_CCLDFLAGS) \ -- -Wl,--add-needed \ - -Wl,--build-id \ - -Wl,--no-allow-shlib-undefined \ - -Wl,--no-undefined-version \ -@@ -98,7 +97,6 @@ override _HOST_LDFLAGS := $(HOST_LDFLAGS) - override _HOST_CCLDFLAGS := $(HOST_CCLDFLAGS) - override HOST_LDFLAGS = $(HOST_CFLAGS) -L. \ - $(_HOST_LDFLAGS) $(_HOST_CCLDFLAGS) \ -- -Wl,--add-needed \ - -Wl,--build-id \ - -Wl,--no-allow-shlib-undefined \ - -Wl,-z,now \ -diff --git a/src/include/gcc.specs b/src/include/gcc.specs -index ef28e2bb..d85e8658 100644 ---- a/src/include/gcc.specs -+++ b/src/include/gcc.specs -@@ -5,4 +5,4 @@ - + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now} -grecord-gcc-switches - - *link: --+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:% -Date: Wed, 29 Jun 2022 21:44:29 +0200 -Subject: [PATCH] LLD: fix detection and remove not needed workarounds -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Tomasz PaweÅ‚ Gajc ---- - src/include/workarounds.mk | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk -index b72fbaf6..57394edd 100644 ---- a/src/include/workarounds.mk -+++ b/src/include/workarounds.mk -@@ -2,12 +2,12 @@ - # - # workarounds.mk - workarounds for weird stuff behavior - --LD_FLAVOR := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g') --LD_VERSION := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //') -+LD_FLAVOR := $(shell LC_ALL=C $(LD) --version | grep -E '^((.* )?LLD|GNU ld)'|sed 's/.* LLD/LLD/;s/ .*//g') -+LD_VERSION := $(shell LC_ALL=C $(LD) --version | grep -E '^((.* )?LLD|GNU ld)'|sed 's/.* LLD/LLD/;s/.* //') - # 2.35 is definitely broken and 2.36 seems to work - LD_DASH_T := $(shell \ - if [ "x${LD_FLAVOR}" = xLLD ] ; then \ -- echo '-T' ; \ -+ echo "" ; \ - elif [ "x${LD_FLAVOR}" = xGNU ] ; then \ - if echo "${LD_VERSION}" | grep -q -E '^2\.3[6789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ - echo '-T' ; \ -@@ -15,7 +15,7 @@ LD_DASH_T := $(shell \ - echo "" ; \ - fi ; \ - else \ -- echo "Your linker is not supported" ; \ -+ echo "Your linker ${LD_FLAVOR} version ${LD_VERSION} is not supported" ; \ - exit 1 ; \ - fi) - -From cfd686de51494d3e34be896a91835657ccab37d4 Mon Sep 17 00:00:00 2001 -From: Nicholas Vinson -Date: Mon, 10 Oct 2022 14:22:36 -0400 -Subject: [PATCH] Revamp efi_well_known_* variable handling - -The current implementation attempts to use the linker to create aliases -for efi_well_known_guids and efi_well_known_names. It also tries to use -the linker to generate the variables efi_well_known_guids_end and -efi_well_known_names_end. - -When building with clang, the generated linker result results in a -broken libefivar.so that causes programs to segfault when linked against -it. This change does away with linker script hacker and instead -introduces pointers to store the locations of efi_well_known_guids_end -and efi_well_known_names_end. - -Additionally, efi_well_known_guids and efi_well_known_names are now -created as pointers that point to the beginning of their respective -arrays. - -Signed-off-by: Nicholas Vinson -Fixes: #234 ---- - src/Makefile | 7 ++-- - src/include/rules.mk | 5 +-- - src/include/workarounds.mk | 24 ------------- - src/makeguids.c | 72 +++++++++++++------------------------- - 4 files changed, 27 insertions(+), 81 deletions(-) - delete mode 100644 src/include/workarounds.mk - -diff --git a/src/Makefile b/src/Makefile -index e04357a7..ec1eabe6 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -4,7 +4,6 @@ include $(TOPDIR)/src/include/deprecated.mk - include $(TOPDIR)/src/include/version.mk - include $(TOPDIR)/src/include/rules.mk - include $(TOPDIR)/src/include/defaults.mk --include $(TOPDIR)/src/include/workarounds.mk - - LIBTARGETS=libefivar.so libefiboot.so libefisec.so - STATICLIBTARGETS=libefivar.a libefiboot.a libefisec.a -@@ -30,7 +29,7 @@ EFISECDB_OBJECTS = $(patsubst %.S,%.o,$(patsubst %.c,%.o,$(EFISECDB_SOURCES))) - GENERATED_SOURCES = include/efivar/efivar-guids.h guid-symbols.c - MAKEGUIDS_SOURCES = makeguids.c util-makeguids.c - MAKEGUIDS_OBJECTS = $(patsubst %.S,%.o,$(patsubst %.c,%.o,$(MAKEGUIDS_SOURCES))) --MAKEGUIDS_OUTPUT = $(GENERATED_SOURCES) guids.lds -+MAKEGUIDS_OUTPUT = $(GENERATED_SOURCES) - - util-makeguids.c : util.c - cp util.c util-makeguids.c -@@ -84,7 +83,7 @@ $(MAKEGUIDS_OUTPUT) : guids.txt - if [ "$${missing}" != "no" ]; then \ - exit 1 ; \ - fi -- ./makeguids $(LD_DASH_T) guids.txt guid-symbols.c include/efivar/efivar-guids.h guids.lds -+ ./makeguids guids.txt guid-symbols.c include/efivar/efivar-guids.h - - prep : makeguids $(GENERATED_SOURCES) - -@@ -96,7 +95,6 @@ libefivar.a : $(patsubst %.o,%.static.o,$(LIBEFIVAR_OBJECTS)) - libefivar.so : $(LIBEFIVAR_OBJECTS) - libefivar.so : | $(GENERATED_SOURCES) libefivar.map - libefivar.so : LIBS=dl --libefivar.so : LDSCRIPTS=guids.lds - libefivar.so : MAP=libefivar.map - - efivar : $(EFIVAR_OBJECTS) | libefivar.so -@@ -137,7 +135,6 @@ deps : $(ALL_SOURCES) - clean : - @rm -rfv *~ *.o *.a *.E *.so *.so.* *.pc *.bin .*.d *.map \ - makeguids guid-symbols.c include/efivar/efivar-guids.h \ -- guids.lds \ - $(TARGETS) $(STATICTARGETS) - @# remove the deps files we used to create, as well. - @rm -rfv .*.P .*.h.P *.S.P include/efivar/.*.h.P -diff --git a/src/include/rules.mk b/src/include/rules.mk -index f309f863..8d0b68a2 100644 ---- a/src/include/rules.mk -+++ b/src/include/rules.mk -@@ -3,7 +3,6 @@ default : all - .PHONY: default all clean install test - - include $(TOPDIR)/src/include/version.mk --include $(TOPDIR)/src/include/workarounds.mk - - comma:= , - empty:= -@@ -36,9 +35,7 @@ family = $(foreach FAMILY_SUFFIX,$(FAMILY_SUFFIXES),$($(1)_$(FAMILY_SUFFIX))) - $(CCLD) $(CCLDFLAGS) $(CPPFLAGS) -o $@ $(sort $^) $(LDLIBS) - - %.so : -- $(CCLD) $(CCLDFLAGS) $(CPPFLAGS) $(SOFLAGS) \ -- $(foreach LDS,$(LDSCRIPTS),$(LD_DASH_T) $(LDS)) \ -- -o $@ $^ $(LDLIBS) -+ $(CCLD) $(CCLDFLAGS) $(CPPFLAGS) $(SOFLAGS) -o $@ $^ $(LDLIBS) - ln -vfs $@ $@.1 - - %.abixml : %.so -diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk -deleted file mode 100644 -index 57394edd..00000000 ---- a/src/include/workarounds.mk -+++ /dev/null -@@ -1,24 +0,0 @@ --# SPDX-License-Identifier: SPDX-License-Identifier: LGPL-2.1-or-later --# --# workarounds.mk - workarounds for weird stuff behavior -- --LD_FLAVOR := $(shell LC_ALL=C $(LD) --version | grep -E '^((.* )?LLD|GNU ld)'|sed 's/.* LLD/LLD/;s/ .*//g') --LD_VERSION := $(shell LC_ALL=C $(LD) --version | grep -E '^((.* )?LLD|GNU ld)'|sed 's/.* LLD/LLD/;s/.* //') --# 2.35 is definitely broken and 2.36 seems to work --LD_DASH_T := $(shell \ -- if [ "x${LD_FLAVOR}" = xLLD ] ; then \ -- echo "" ; \ -- elif [ "x${LD_FLAVOR}" = xGNU ] ; then \ -- if echo "${LD_VERSION}" | grep -q -E '^2\.3[6789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ -- echo '-T' ; \ -- else \ -- echo "" ; \ -- fi ; \ -- else \ -- echo "Your linker ${LD_FLAVOR} version ${LD_VERSION} is not supported" ; \ -- exit 1 ; \ -- fi) -- --export LD_DASH_T -- --# vim:ft=make -diff --git a/src/makeguids.c b/src/makeguids.c -index 376bffba..bfdee12e 100644 ---- a/src/makeguids.c -+++ b/src/makeguids.c -@@ -107,51 +107,46 @@ write_guidnames(FILE *out, const char *listname, - gn->symbol, gn->name, gn->description); - } - fprintf(out, "};\n"); -+ fprintf(out, "const struct efivar_guidname\n" -+ "\t__attribute__((__visibility__ (\"default\")))\n" -+ "\t* const %s = %s_;\n", listname, listname); -+ fprintf(out, "const struct efivar_guidname\n" -+ "\t__attribute__((__visibility__ (\"default\")))\n" -+ "\t* const %s_end = %s_\n\t+ %zd;\n", -+ listname, listname, n - 1); - } - - int - main(int argc, char *argv[]) - { - int rc; -- int argstart = 0; -- FILE *symout, *header, *ldsout; -- int dash_t = 0; -+ FILE *symout, *header; - -- if (argc < 5) { -+ if (argc < 4) { - errx(1, "Not enough arguments.\n"); -- } else if (argc > 5 && !strcmp(argv[1],"-T")) { -- argstart = 1; -- dash_t = 1; -- } else if (argc > 5) { -+ } else if (argc > 4) { - errx(1, "Too many arguments.\n"); - } - -- symout = fopen(argv[argstart + 2], "w"); -+ symout = fopen(argv[2], "w"); - if (symout == NULL) -- err(1, "could not open \"%s\"", argv[argstart + 2]); -- rc = chmod(argv[argstart + 2], 0644); -+ err(1, "could not open \"%s\"", argv[2]); -+ rc = chmod(argv[2], 0644); - if (rc < 0) -- warn("chmod(%s, 0644)", argv[argstart + 2]); -+ warn("chmod(%s, 0644)", argv[2]); - -- header = fopen(argv[argstart + 3], "w"); -+ header = fopen(argv[3], "w"); - if (header == NULL) -- err(1, "could not open \"%s\"", argv[argstart + 3]); -- rc = chmod(argv[argstart + 3], 0644); -- if (rc < 0) -- warn("chmod(%s, 0644)", argv[argstart + 3]); -- -- ldsout = fopen(argv[argstart + 4], "w"); -- if (ldsout == NULL) -- err(1, "could not open \"%s\"", argv[argstart + 4]); -- rc = chmod(argv[argstart + 4], 0644); -+ err(1, "could not open \"%s\"", argv[3]); -+ rc = chmod(argv[3], 0644); - if (rc < 0) -- warn("chmod(%s, 0644)", argv[argstart + 4]); -+ warn("chmod(%s, 0644)", argv[3]); - - struct guidname_index *guidnames = NULL; - -- rc = read_guids_at(AT_FDCWD, argv[argstart + 1], &guidnames); -+ rc = read_guids_at(AT_FDCWD, argv[1], &guidnames); - if (rc < 0) -- err(1, "could not read \"%s\"", argv[argstart + 1]); -+ err(1, "could not read \"%s\"", argv[1]); - - struct efivar_guidname *outbuf; - -@@ -243,12 +238,11 @@ struct efivar_guidname {\n\ - fprintf(header, - "extern const struct efivar_guidname\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -- "\tefi_well_known_guids[%d];\n", -- i); -+ "\t* const efi_well_known_guids;\n"); - fprintf(header, - "extern const struct efivar_guidname\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -- "\tefi_well_known_guids_end;\n"); -+ "\t* const efi_well_known_guids_end;\n"); - fprintf(header, - "extern const uint64_t\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -@@ -256,12 +250,11 @@ struct efivar_guidname {\n\ - fprintf(header, - "extern const struct efivar_guidname\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -- "\tefi_well_known_names[%d];\n", -- i); -+ "\t* const efi_well_known_names;\n"); - fprintf(header, - "extern const struct efivar_guidname\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -- "\tefi_well_known_names_end;\n"); -+ "\t* const efi_well_known_names_end;\n"); - fprintf(header, - "extern const uint64_t\n" - "\t__attribute__((__visibility__ (\"default\")))\n" -@@ -310,23 +303,6 @@ struct efivar_guidname {\n\ - - fclose(symout); - -- fprintf(ldsout, -- "SECTIONS\n" -- "{\n" -- " .data :\n" -- " {\n" -- " efi_well_known_guids = efi_well_known_guids_;\n" -- " efi_well_known_guids_end = efi_well_known_guids_ + %zd;\n" -- " efi_well_known_names = efi_well_known_names_;\n" -- " efi_well_known_names_end = efi_well_known_names_ + %zd;\n" -- " }\n" -- "}%s;\n", -- (line - 1) * sizeof(struct efivar_guidname), -- (line - 1) * sizeof(struct efivar_guidname), -- dash_t ? " INSERT AFTER .data" : ""); -- -- fclose(ldsout); -- - free(guidnames->strtab); - free(guidnames); - diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-march-native.patch b/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-march-native.patch deleted file mode 100644 index a970d8d6de6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/efivar/files/efivar-38-march-native.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 43d19f297548208ce549fd87faa41e6bb86bf9c3 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Mon, 17 Jan 2022 10:13:31 -0500 -Subject: [PATCH] Drop "-march=native" from HOST flags - -GCC does not support -march=native on some targets (ia64, riscv). -The performance enhancement for makeguids isn't worth the trouble it -causes. - -Bug: https://bugs.gentoo.org/831334 -Signed-off-by: Mike Gilbert ---- - src/include/defaults.mk | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/src/include/defaults.mk b/src/include/defaults.mk -index 632b1551..9024a3a1 100644 ---- a/src/include/defaults.mk -+++ b/src/include/defaults.mk -@@ -71,16 +71,10 @@ override SOFLAGS = $(_SOFLAGS) \ - -Wl,--version-script=$(MAP) \ - $(call family,SOFLAGS) - --HOST_ARCH=$(shell uname -m) --ifneq ($(HOST_ARCH),ia64) -- HOST_MARCH=-march=native --else -- HOST_MARCH= --endif - HOST_CPPFLAGS ?= $(CPPFLAGS) - override _HOST_CPPFLAGS := $(HOST_CPPFLAGS) - override HOST_CPPFLAGS = $(_HOST_CPPFLAGS) \ -- -DEFIVAR_BUILD_ENVIRONMENT $(HOST_MARCH) -+ -DEFIVAR_BUILD_ENVIRONMENT - HOST_CFLAGS_GCC ?= - HOST_CFLAGS_CLANG ?= - HOST_CFLAGS ?= $(CFLAGS) $(call family,HOST_CFLAGS) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild index 187ddbe1493..122b7b2c809 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/gdbm/gdbm-1.24.ebuild @@ -4,7 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gdbm.asc -inherit libtool multilib-minimal multiprocessing verify-sig +inherit flag-o-matic libtool multilib-minimal multiprocessing verify-sig DESCRIPTION="Standard GNU database libraries" HOMEPAGE="https://www.gnu.org/software/gdbm/" @@ -35,6 +35,9 @@ src_prepare() { } multilib_src_configure() { + # https://puszcza.gnu.org.ua/bugs/index.php?642 + append-cflags -std=gnu17 + # gdbm doesn't appear to use either of these libraries export ac_cv_lib_dbm_main=no ac_cv_lib_ndbm_main=no diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest index a15cd0ada6d..b084f510e78 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest @@ -1,3 +1,4 @@ DIST libnvme-1.10.gh.tar.gz 720737 BLAKE2B eb5941cbdec1ccf5782c3e438b55dd09ddd2c3b9ac1079d5642896d0d80d75ece3149ebe9d965c2783a5ae2ddfad64ae0051f9c63822a739108d53eb44a583db SHA512 44e8a407c9fda8c296163832c14ba167caab53eab315bd2dee94275458532429f12a35e0adef1356420d83127e658a354ce65ac946acaa53bef2d46a8189054c +DIST libnvme-1.11.1.gh.tar.gz 740327 BLAKE2B eb9a731ce4886e7a76170d4be916e850548710dbbc135bbe94c5ff0c2f3da5e2cb162a6c8ea857d6b9b609ffafba34487cd3419fc4981e9e549419c2bb757568 SHA512 8720f2907a3d13af44fb3deec883cd6eb247d5861c4459b5fe0e67ff9ecfb565462a5faf39d43e08b5284f3e8ca8e72d41b333984beaa45d3287b1a258f3e59d DIST libnvme-1.11.gh.tar.gz 740365 BLAKE2B c4d5950b0d0769f1aaddc6d82364ad14ae3b1b6e2b5d16225c8599833e51516c14b8802b77562b08cbb54c15b8e5814d7f5b059939c197b87375afba899ffe3d SHA512 5c1d00fe57ff699be01c326e24612da25e1772578928e2c70fb5f67e8a9fe0fa4c95e18f58d4abefa0e163e99c9e37b1109298e805e174b033e749d19865336b DIST libnvme-1.9.tar.gz 657952 BLAKE2B e9d655709770f7c1d9c916cc9539b8ea096b0d5bf6b12079c2db494f070c98b6c388e2a79ed27a4932994a00d44da93fa3119ee224c48d40347a483548397349 SHA512 39a3346805143f93a17d00cfcb6fb75f82154658db6079134c09dfa989995ac5de79b1ce1ac091b4e997523d3216829ce9eac44110c9f59f9fd21636529c8b25 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.1.ebuild new file mode 100644 index 00000000000..874a7a0f583 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} python3_13t ) +inherit python-r1 meson + +DESCRIPTION="C Library for NVM Express on Linux" +HOMEPAGE="https://github.com/linux-nvme/libnvme" +SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="dbus +json keyutils python ssl test +uuid" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + json? ( dev-libs/json-c:= ) + keyutils? ( sys-apps/keyutils:= ) + dbus? ( sys-apps/dbus:= ) + python? ( ${PYTHON_DEPS} ) + ssl? ( >=dev-libs/openssl-1.1:= ) + uuid? ( sys-apps/util-linux:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-lang/swig +" + +src_configure() { + local emesonargs=( + -Dpython=disabled + $(meson_use test tests) + $(meson_feature json json-c) + $(meson_feature dbus libdbus) + $(meson_feature keyutils) + $(meson_feature ssl openssl) + ) + meson_src_configure +} + +python_compile() { + local emesonargs=( + -Dpython=enabled + ) + meson_src_configure --reconfigure + meson_src_compile +} + +src_compile() { + meson_src_compile + + if use python; then + python_copy_sources + python_foreach_impl python_compile + fi +} + +python_install() { + meson_src_install + use python && python_optimize +} + +src_install() { + use python && python_foreach_impl python_install + + meson_src_install +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild index 3baf6b3db7a..ae8ba3daf71 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild @@ -24,7 +24,7 @@ else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz experimental-loong? ( https://github.com/matoro/libseccomp/compare/v${PV}..loongarch-r1.patch -> ${P}-loongarch-r1.patch )" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" fi LICENSE="LGPL-2.1" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest index 46bc58b003a..adc0b5c660d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest @@ -155,6 +155,43 @@ DIST ncurses-6.5-20240608.patch.gz 51416 BLAKE2B 8bb8141fe13e770837d1f2fee3902e4 DIST ncurses-6.5-20240608.patch.gz.asc 729 BLAKE2B 2788a5172f7ee437be0aa61fadf04a62c459777e33f150500c32bc29c80c0dee83cb267f3e8174a316363a196bd415401c5e8f56049487855eff814f8047e88c SHA512 ab2162f9cb7e587ff2d049dd1c50b36cfb4cc4914b9c53067dbbca8cbbb63dfe47a690385ae72c2feb5a73dee965e844b4d76ce31463ee0e0f052e4706d4f4ed DIST ncurses-6.5-20240615.patch.gz 10195 BLAKE2B 0bfb266ebeb1c92b48ce2c2d2e193671dccb26e90d4bb61a4394360b8b3029087eb65be05e3ab20c665da82a8619354fa5c2b99ce6e3bab6e27b4029e8e5919a SHA512 d72e9334b58ff800ee189a20713c7be65a78aad05aae16f537355e5e48495f1658291552569454c744b9c5d9af3199d892ecf8d41a9917bd83b81238c87c5564 DIST ncurses-6.5-20240615.patch.gz.asc 729 BLAKE2B 1e7179beb1908ae8c9733c0f55e5e027d2e6bab5265603f3d61063bd5a746a395c75e6f134bc2314277735e881a828790901e735e17bdef54b7cbd54e4d2d72d SHA512 ecc1adb886abb8364c93c0155412198e4e64955643de38ebbc3bff77c6675d537b135a138f68b6c216f6b50df8ccca0b63b83f32cad7c20a5d552305f103c0f8 +DIST ncurses-6.5-20240622.patch.gz 39926 BLAKE2B e4e9cb212e0e5544475e0c9a775772af599370f52b2c1b5af96129c978e5976c78f126694db5ae740cb2dd1c58447658df6b161498c2968280be7ef44bfcf8fd SHA512 1b62e19d6dd5bab3f9e4194262faa8bcb4c09bd013dfe4fc2828471481c835b89b1036c5c72d3051ac989f90db8c7de931b61132535242bea0a5d4946df168e2 +DIST ncurses-6.5-20240622.patch.gz.asc 729 BLAKE2B 1e19a9b7e6454d038a3544e1ad3789a5838d88dd648b1150ad8e76ac918a24fee4bc3cc837aa86a20af01b555521041b2fc1b886cfe72502c658ffff64141419 SHA512 588d791f6e10b83d4b3e5d2c48328654931e6b29309e428a34e3bd8fb4748113800ac08cff88901e30699f30cfdbc495226d33bb826145daa2512564d0e99b58 +DIST ncurses-6.5-20240629.patch.gz 5900 BLAKE2B 72467fe7281f4feb8fa2b680c13fbd65423cd8f901aaf4083e43d5f151108c661280b810f1a52a653c8f50908df8e4a7fae37a7534b37319a1e8fdde48db7308 SHA512 d732b90822e4fe12db0e1137c7bb4aa3e4413d3c1567314d9197151f936b89fb03492e5d2b1eac39d1a59cc74a753f5600b937d3a9e4c25d697f877a323e162b +DIST ncurses-6.5-20240629.patch.gz.asc 729 BLAKE2B 7698deeae21ce812400eab55b8297d49195d9e327cc9a6c0879b18f9af2a93500b71dc58795e42784c658eeaee34c4345257b669eefe912986b83ca443cad943 SHA512 094732e2ef0fbbc2f50b772d188f3d91a7a881ead8357acfb435005750db150af70c9373ab858711ec1484f836e496518de8fd0a0bab42d0922c6007ff326f49 +DIST ncurses-6.5-20240706.patch.gz 207005 BLAKE2B 48adb97d3b239659caab53b6fd3218f5792292eb883164ae9de1216c9e0240cd4f7d659627e236800d75a27a0352bf8cc276497828c868c286b70b433b6b5f3a SHA512 3c5509279fd7462b34044bd88bac025319d920f1191e1359ad67f3c393d0ac2c96ebb0b1cbf4152f17a5283ffc35ce5621114bf988a41e7422eb95b2699c7c31 +DIST ncurses-6.5-20240706.patch.gz.asc 729 BLAKE2B b41d5f1c2c657dd24fdf6a40dc21a1857b0084ae36e64ae85707489240281d7d3141ff39742dafe40cbdc3f370cd148eb1477831a412d9e95e67c7e969d53abe SHA512 d8061bbb0478329c8939315fb4c1fa370abfb3cfb04286143d7bdfb49d5070e867ce4841d196179d2ed24c53ec463b88900ac2a75a161a5f074d1a47b034e019 +DIST ncurses-6.5-20240713.patch.gz 2449 BLAKE2B 9ffa48394997717af01c6c51f5c1fe5ecb6b160c839811432eba31961bc6b1403f91fe37357c710a4092693dd097088da8d5a8bdb8139e1e78fe4f62f3f1869f SHA512 61f2bbdc2cd2d577ccff6f6df32fc8b75f8a88e1fa83af187ac1d34a0b05fca814a7697a94ef2abc45c4ed548431ecfde14c88542b3f51e21ab862137d1a4978 +DIST ncurses-6.5-20240713.patch.gz.asc 729 BLAKE2B eeaa43f32112e05968090ef4aac7891310be6ca10c290407d2bff0cc4cd503f369a9cf5ae26b9deb1dfd70d86dae0398a964c789e122c00a9df65f976e7485de SHA512 208fa796bbb99444050206c756714602cf205b7224d3ed0ed1f98633b9e8eb713cfa9bfdaf3f7d5793139fac3451518605e00b339619fdfb71bc51fce7248f23 +DIST ncurses-6.5-20240720.patch.gz 39097 BLAKE2B 21f740519d43f63a3ae81d17fa3aab983adfecb02bd29e86386f396f62f0471ea6492b460164fd7c1dbadacd923e6a46db5493cc6bc2a6e99c1965796a6f54d5 SHA512 7c853907bcbdf4f40e4840eea9a23169e483a4ae745cda96d13f59a13e3a00d2014420304a7fc9248eda78fbc2a737136ec68122e1d7b8c306efe2414c74cfb9 +DIST ncurses-6.5-20240720.patch.gz.asc 729 BLAKE2B f11bd9c44bb3a83ebeae3e23c20952fe2ae22f02d5e4e633320f6e3bd954ae34dbd1647e86f5a8cbc7eb5f68c3192019e73865490edf81d9b5f1415bb77bc3dd SHA512 b2e767124a5f6fe0f2236463129e846f9732da26453daf744ff8fd7d03cee5a99b482beb24c400142053a7a157b68b5979dffbd1976a7dcf93f247ac24f96c47 +DIST ncurses-6.5-20240727.patch.gz 63193 BLAKE2B 1f4cf97a2cf72fc2701faed1992cdd819c7eb9953fd29d20ddb73fd4ec9096e86ee4213dee72b4670c283acd258a362d2ac7338224bb848a5e2f0d41b3eea8aa SHA512 a334877ad690f115cb4e713227886cbdbbb53be0a36144879f3de379ed914d5eba0e0da3f23a229ef9ae7e34fbc067df58cab6ed3d7021c011001cb8c1735229 +DIST ncurses-6.5-20240727.patch.gz.asc 729 BLAKE2B 40ad3e1ced4cc3295a8d2c3106afd61ca70016336fbd5f87f93dcab881850760299288b1a7efa900dc09bca927da02e2cf28dfd3369effef319dae0bc43cbc2e SHA512 ac813066599989a014aea3d969aa494be518f8703d9a7d42be665c584dd1896bae974f4b16d3a19974422768c37a1215e33e429f2079a05a40df03c9ab432e1e +DIST ncurses-6.5-20240810.patch.gz 201729 BLAKE2B b201c1d45fcf5624588fbf527447383b2df4cb63db25eb790b32c6d48fd713897a0945a3c01367e8b4447d94766fdad05f7075b140bbf134d3dd25841dc9624c SHA512 d92c644e32102cd07aa3017f8a8834eb0ff22b74ee69f8c883b693dda5437b83cd2696796656fb42b9ca89e17750b7ba3aeacdcdb4ac8f8d9cfbbc64c7a5c5b0 +DIST ncurses-6.5-20240810.patch.gz.asc 729 BLAKE2B 6a100e4869acdac426de92f70a0417c0a36400bfee70ac9be827b72168ca2bd8b83dc161be718738b919af2110ed2666e5480792afc854546130f2e6efc90557 SHA512 3f53f9223de96d996c6dd34392223cba9e0f092eb1d77cefc605a6c98d44cf3c01f372a0665aa04d405be65adc3c4af5e89adb085bd1e6447b71e01d47a1c910 +DIST ncurses-6.5-20240817.patch.gz 216360 BLAKE2B 605e180fef6d63d4a6264f31889817f0572201ab682be5e52f6b28f6769ab3b5895ef81fd5a3cb65350a7402b9310358846bcc8b7bd02d38c619007922c47bf1 SHA512 8bb65c7559052e95e69ab02ba741634a3c4a35a38f3486369be98ffdf11f592d5db911c74804ae6b63f82c2084b02fa2ba19cf9b0268d03eeb6ae74d9787549e +DIST ncurses-6.5-20240817.patch.gz.asc 729 BLAKE2B 958af03dd5a4fe9d55424375955779b863f60bfe447b658e308725a2a028f328904ee23410462d1cf77bda62a7b1878355f0d5311149a9141677a59b69b0078e SHA512 2d22b140f3014856f9bc2334532c90feff9badcbb26d2e6a938614e41a3c389dffd19634ca3d995120fbf531d2bece1d3a82e20cc10d24b544559559d928165a +DIST ncurses-6.5-20240824.patch.gz 3629 BLAKE2B ac6048c076f71b094eedf5362b7aa07f20e042785411ebb571f49ea23f42f251b0787d8a34436939b350afde7120f60ce106ff0b27339db62be53ca2272a7d6f SHA512 f3cd9052a956149df24629e9279912ba628a9905921aae6b6c9ad5f75069dc9feddbcb415dd15df083c42f846b79456f4dc5cebbb45cdcb0c4eb45bdc205705c +DIST ncurses-6.5-20240824.patch.gz.asc 729 BLAKE2B 99102e7aae310f0384ba6355871697d01e75e5d24558aa5246196931ab66d507a8e3edabe0961f12f6be4f78b7572a672cff5f258eb0bda1926ac2156f55a5f8 SHA512 58b0322baddae5525b5ab6841598101b6b01324070f6b14998eb985c9ba177df7ada4319581e8f9a826607fc70a2ec2262320d01be8d5b5f0088e4dde74d129d +DIST ncurses-6.5-20240831.patch.gz 7435 BLAKE2B 3fddad4a06fc417808c9a870c137ac3d1bb9ed9b267e73f5b8aea0fac84a83c574ae631a0b9406fbda069b94308d345a4db12b4ec357254c0128fd93983937c6 SHA512 b7461a6a882835886a8125dfa3c1668520684dbb0476000f9a55f7d60a05508d773efa398094be0f0e5beaa229467acc817450c7989d659ace8b74a658534908 +DIST ncurses-6.5-20240831.patch.gz.asc 729 BLAKE2B 364956498e80789288fc95630e5dacd388de6c052a3995fdb2d266183b77749ebd237489ba0130196e332fd6ec1d73e6118f82ae02a3378d7cc26e5a7059c487 SHA512 fc2b71715ab33556a22d26c9e6eac35c156dc86dddf42be6f5f60393100b5373eda482f5ae4519deb1e0acbf4e5ac21880350904948aab533355d8d1e89356a5 +DIST ncurses-6.5-20240914.patch.gz 95552 BLAKE2B a03862fa2fb6ba9a64f46b67c2e1d03ec2efc93a10d7c696587a1b8af8c4b1c8af1584fdac7513978fe2214e89d99c3de14f4344b76491d1224e4bf25290f685 SHA512 5656865e0355e79217f0936240bfa3ad0537f2ec4d02f36e188069e5404d33b8794654f9116d86cea0f997dfcfbfb54a326d8548d572911e3543a91605166db4 +DIST ncurses-6.5-20240914.patch.gz.asc 729 BLAKE2B 2343a2a2a56d5fe34a2b30f40902c67e2ca146071f6a76a6f42e0194b38b922b1f06df12268504e1a3eaa06fb003ea67e9cdd9996a6734029488f6c8bdce8cf1 SHA512 18193febd93325293aa79f2edf526e52ec6b40bbde06f5daa4cbcfccc031168c1975b751cdc468a1dfbc890e47bdb090d050002f56c389fc95dc21cd97520943 +DIST ncurses-6.5-20240922.patch.gz 42088 BLAKE2B 8fb47aad3f778c47cab3ed7252dc57d3c22db803975a6a9f123147a4fea82fb18484dde032d0683364160ee3ca4367b4ae190842a399464d0330783b4ae214dc SHA512 955c25cec3177a576d3f4e252a6b95e712e768c38d527ec4e4a4ea2fe1900f4426c6f3fdab8b6d82eca9ca1cab10264ff46494e3d025d82c2f86c830a48a846e +DIST ncurses-6.5-20240922.patch.gz.asc 729 BLAKE2B dc90e464d8662898f6db1216777c7bb79494d9c55eec718ee193214fa6313e483526cd6fc7189f89f5d92affc234e75ce67dc10bdd63c9233bbc65684a118192 SHA512 81f97e331b1aa49582b6a1a099ead2e64dbad9ab81bb981be8bd27deb3f30157afef9b3db18b808932ad1b3bb22dcf6ede1db0121a356272892ccff0c74c0b81 +DIST ncurses-6.5-20240928.patch.gz 4544 BLAKE2B 73cbd50198382a626c496ea038a4d2a286d79430f18abb8b0cef31e531ae88811af101b9d92de05a7425a88208dbda4c79358effe3fb9b5a60832908b18ee1a4 SHA512 6f00a3e30928c2b9fca3eae90a4f86bafece113e412bdae6fcdaaa331f672df1d6fe93ada2ecda65880a79027b27e091a3cadc2dd2d109dc87dca6deda104348 +DIST ncurses-6.5-20240928.patch.gz.asc 729 BLAKE2B 32ac76684b17a7d74e6cd00c6f3ceb033db5ef83a30994153260ceeeba2fb406ca88b9a1dbad33194eea91dafe2bff3aed9ca8f681016354f2b30ad832c68df3 SHA512 91510d055c955682b4de7fc7e829a4c81ae81b01bee476d37d49214eb5ad01866adec7160da3f582c7ed24b96bd87376217fa89ca2f3cfb06accf1aaf16bf487 +DIST ncurses-6.5-20241006.patch.gz 23396 BLAKE2B 30e00d9bd8efdc383ec99b30250d15ab4af04232243228206290331efae604cfc6710cdd27d734d542c4ba8266deabfe8d69875a00c396511e31485ef9c4677e SHA512 2be071ecee521965921d3682524e898c8e15f088e153143652a5dc6bb46cefc9dbca9d152ec47a4bd49b63cf42f0fdd805bc6f152a1238a924f35c4958396023 +DIST ncurses-6.5-20241006.patch.gz.asc 729 BLAKE2B e47af5f28189144c4cd66577980810ecd9232040e9eae109f601f39fa7633dd3a3c0a9b009dc99c9ad64a035d79333c4051036f29d0f7fcc8517792abf70be70 SHA512 9cce0638adff94016839fc7cbc83d95f547f486eb84da0b058e22171a2d288c76b4e616e3a4eba78cbdb84d510917202131a95372fe6176c1aa097f526172924 +DIST ncurses-6.5-20241019.patch.gz 10461 BLAKE2B ed95e8a0f01c6461d15f85e226fdc8f84daea3b7f6bd2fedfcd598e70319a433f2ba0d83594ee7d826d242894d32877dc56f6ac49757b13d08b8c132ab56015b SHA512 07906b9ac767ee5430850b0bdb57f33c0f33289a4c76d5695b4fc59dbcd359763213696ffad4ca8a04985496116048d2480db5cbfa7e38a172cd4df2642e649b +DIST ncurses-6.5-20241019.patch.gz.asc 729 BLAKE2B c3f173103e50dde5e3afdae1b6bc9665eb6dc02707a943bfed7839f350e87967be80e4375c9c8b71304e63abfe950b18a82f5de7684511307f791a16cfa08fa9 SHA512 b208f2ff067f47f3ee223fcc9aa520fdcf5074a40e563b92ba350582b63fe4768e1cdcc675586f9223c73c7afae2d0d40b75bc7dceb1f8078bf05bec44cf22ef +DIST ncurses-6.5-20241026.patch.gz 3835 BLAKE2B 1c7ce989eb4d8ea41ee793041fa461fbd69d619b07557694098a1a8030e839c91982f1e2f78128e7cec15f210aac2c0cd1b626888b22046d23611ec061d4a34b SHA512 665eb70d79a85f65dbaf69ab188c3ceba10b2ba58e13cca374c058443c1a770cb867d6172e45438222a77b16afc26c1c770bf950b06bf20b2c792ab6d031977f +DIST ncurses-6.5-20241026.patch.gz.asc 729 BLAKE2B ec732d87e533340958e46a23646b1cebe549c8bace59e11cefc93c5e67a69af014338842de00bb34522b422688f6e01c03bc3b4ac3a01e2abdb6f664e692f7d1 SHA512 531eeaf46de000d20f24f5761bfccd8b5cf75cd8d5935fe6e70db09289b656606ccd9b7af7f30fd5b29014d758e2fef5250879d7bb36b255c6736fae5ea71af0 +DIST ncurses-6.5-20241102.patch.gz 3571 BLAKE2B 265fabae05675a01039569dab957e8cae7f705cb1cb3d8098bffaa4c9b971adb31ac129f8ca0eacb6571b6eb202e0ceb430c03801e0e3d3b35db168ce48ee0c0 SHA512 f62a348827db9dc0114cd040e94c607627707c3e3047e718f396f7a5ed63049b0fa782bf05f7bbd339bd8b0efe3dd10554a9d37e4e434f92e3496ce0f5dca4e0 +DIST ncurses-6.5-20241102.patch.gz.asc 729 BLAKE2B a35bc58064361f8e7527d3af3ef08dcaf8b3e70442d280797b6260458dd8d258d42214c25cb5f329851a88ea8cb32a293a3abd93f64d971a0d3b0ade7e04228d SHA512 9695c1a4cdb66cd8f64880b937dbbe7caa5746b754056359e48118b75deb9d6338f270bb5f252b9e52d6de14278a8435e2d4799e0fbda9ef5b76d5569ea8c6bd +DIST ncurses-6.5-20241109.patch.gz 121789 BLAKE2B 3626c3fb1332d12558e53545bb0aec0ad315ffbfb0f64514f30fb15ce21b80b73228feec4569a9545c6115ca59db70f85d99830733ede3958f220627416cfebf SHA512 a15b6ee70ea10bb8a10a70ab9c74f437eceb60a7313a688ad04e0c3a9e097824b642f259c728fc7831d60322b1a0957d19a5fe73cbf68fd21a623ddf9d9c0ef4 +DIST ncurses-6.5-20241109.patch.gz.asc 729 BLAKE2B af2c1bd38031bff8e5465340fbd5dbff875939ff62fa4e805d2fdd869a15a25e135aaaca98510ddb308e532f3b58209b4ad0d8e75bc792149972470809a42df4 SHA512 8946e1e84baf9c48129460a83a5ef679b427c0147ca7fd4701aca3fa23b260c8ed8fb08fd2996676f149ffeec4ca960358d7df6a0b7774c4b49b2bb66800237f DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8 DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092 DIST ncurses-6.5_p20240615-patches.tar.xz 63232 BLAKE2B c7fdc496bb3b055b6766ea8a8b5edaba08cecbe9dfe1b3035e55067bce958eb2bf235f226058e30712f14bf6401112901c3add42093216e3b6b42b4ffd438f67 SHA512 a4d9d09c6110a2971bed0facab87c7e255b4c3e34bfa3b8faddd86af9c95fea89833cd14286fd690db138ca60c0fcff818f11d30a6aa820136899619a4e7f95a +DIST ncurses-6.5_p20241109-patches.tar.xz 63676 BLAKE2B 9981b740fcec18cc794074ccc93ae1dbe175e52449af2bddfd10a6fb1d5dfe9b545bd19fce5e601d2d85008425fd5cd6fc33042d7bcc854363b0642b9c880efe SHA512 076d2d39c46cf9236e5e65472e10182da2dffffa936c7567b11e23323d64f9739bb3818d4fdbdd75a14fd3f5b202dcdb7aaa6813afb5e303f81c094339824162 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20241109.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20241109.ebuild new file mode 100644 index 00000000000..df1dda20055 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.5_p20241109.ebuild @@ -0,0 +1,452 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream +# provide a configure option for the ABI version. + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc +inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net +SRC_URI=" + mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz + https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig ) +" + +GENTOO_PATCH_DEV=sam +GENTOO_PATCH_PV=6.5_p20241109 +GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches + +# Populated below in a loop. Do not add patches manually here. +UPSTREAM_PATCHES=() + +if [[ ${PV} == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html, + # the patches are considered to be acceptable to use after some testing. They + # are both for development but also bug fixes. + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20240504 + 20240511 + 20240518 + 20240519 + 20240525 + 20240601 + 20240608 + 20240615 + 20240622 + 20240629 + 20240706 + 20240713 + 20240720 + 20240727 + 20240810 + 20240817 + 20240824 + 20240831 + 20240914 + 20240922 + 20240928 + 20241006 + 20241019 + 20241026 + 20241102 + + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz" + SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc" + + # If we have a rollup patch, use that instead of the individual ones. + UPSTREAM_PATCHES+=( patch.sh ) + else + # We use a mirror as well because we've had reports of 403 forbidden for some users. + upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-" + upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-" + + # Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}) + mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" ) + # Suffix each with .patch.gz + mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" ) + mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" ) + # Repeat for .patch.gz.asc for verify-sig + SRC_URI+=" ${mangled_patches[@]}" + SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )" + + # For all of the URLs, chuck in invisible-island.net too: + SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}" + SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )" + + UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" ) + + unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig + fi +fi + +SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" +RESTRICT="!test? ( test )" + +# TODO: ncurses allows (and we take advantage of this, even) passing +# the SONAME for dlopen() use, so only the header is needed at build time. +# Maybe we should bundle a copy of gpm.h so we can move gpm to PDEPEND +# which would be far nicer UX-wise. +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# Block the older ncurses that installed all files w/SLOT=5, bug #557472 +RDEPEND=" + ${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CXX=${BUILD_CXX} \ + CPP=${BUILD_CPP} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs --without-ada + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + if [[ ${ABI} == x86 ]] ; then + # For compatibility with older binaries at slight performance cost. + # bug #616402 + use stack-realign && append-flags -mstackrealign + fi + + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Enable installation of .pc files. + --enable-pc-files + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --enable-fvisibility + # (Originally disabled until bug #245417 is sorted out, but now + # just keeping it off for good, given nobody needed it until now + # (2022) and we're trying to phase out bdb.) + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + + # bug #930806 + --disable-setuid-environ + # TODO: Maybe do these for USE=hardened + #--disable-root-access + #--disable-root-environ + + --disable-term-driver + --disable-termcap + --enable-symlinks + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + --disable-stripping + --disable-pkg-ldflags + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + ECONF_SOURCE="${S}" econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! has_version -b "~sys-libs/${P}:0" ; then + BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext) + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files || die + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(usex tinfo 'tinfow tinfo' '') + fi + + # Don't delete '*.dll.a', needed for linking, bug #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (bug #689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo + + # Remove obsolete libcurses symlink that is created by the build + # system. Technically, this could be also achieved + # via --disable-overwrite but it also moves headers implicitly, + # and we do not want to do this yet. + # bug #836696 + rm "${ED}"/usr/$(get_libdir)/libcurses* || die +} + +multilib_src_install_all() { + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + if use split-usr ; then + local x + # We need the basic terminfo files in /etc for embedded/recovery, bug #37026 + einfo "Installing basic terminfo files in /etc..." + for x in "${terms[@]}"; do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename "$(dirname "${termfile}")") + + if [[ -n ${termfile} ]] ; then + dodir "/etc/terminfo/${basedir}" + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + # bug #245374 + keepdir /usr/share/terminfo + elif use minimal ; then + # Keep only the basic terminfo files + find "${ED}"/usr/share/terminfo/ \ + \( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \ + -type d -empty -delete || die + fi + + cd "${S}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest index 2415fff9712..d7a4e2a56e4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest @@ -5,7 +5,6 @@ DIST readline-8.2.tar.gz 3043952 BLAKE2B 7974322b9c092a756a79e537df08e8532f8e0fc DIST readline-8.2.tar.gz.sig 95 BLAKE2B dc510459c0c47782ca87364a6677b4d8f0b68a984143122c08bd15aef08a71bff59ac92d3c3ada518dad09f189c144748e840175041eb619f679e2d8b95dc2aa SHA512 0effd273689e5f7fe7e049c8f2c5f3c97149f198a90d053231ee4de34901560a465ab0d4fd71fd07c7d7e233caed7f42e5b668bffaf1e23a7eb373c8f9e150fe DIST readline-8.3-alpha.tar.gz 3091427 BLAKE2B f40e1db1ea39bbf4183901688733df0c67666eb58a33333f9b57ea7ba5399956f5523748ecce9bc5b6dc1954647c0bceb6ebbb4fe93b0085a595047650ad7c7e SHA512 d3aacd82826f1d1adc7ea846d8b8e70726da925e74a8bb1d141a9093e0d5e375236d1c745f0609f8ba3aff9f5266b1cf3da31d76e414a284b6ed798d92a1a1f6 DIST readline-8.3-alpha.tar.gz.sig 95 BLAKE2B c11d1b4dd8f453bc5f7d19dd25901bfa4796825efa4f07f2043aa94d556a39bc1c928aed7fdc09ed6325c6ef017f72df18bbdd461a52a7122ccdf9b58a345c17 SHA512 fb070ae3dbafa042f591d8a5c24f48b40a672843e41e78f5d6a5ded5228046fe75893be6b10a9634d8852617bfa8b675e68a4c808f06ee95f07a40536fc63769 -DIST readline-8.3_alpha_p20241011-4d34c34b3aa955f65e79bfbf7b7426344a3c2840.tar.gz 3179300 BLAKE2B ea4bab2b8e4da4590caedef5f3b7fccd4a9aef0fff4d150ef15c4185ee2609c29aab43777084e270226d8641c91cbab92da55e77c27c42dcfc360a6abf7df9bb SHA512 93617234b7ab080ed1f8c52cfc79fd6e54ac818ed29a3016915b51ccc6c8f5ece5e0ee0ba9668e6ed2ba64bacc82c164d19846bcc2bb78933b2927b4f2a2d968 DIST readline-8.3_alpha_p20241104-3c16957f8914425966b31e7348048b129b2317ad.tar.gz 3458233 BLAKE2B e9fc8c34ffd2a81c903daa64881893c5e092ba45c846b1e1b141905997a61a93a9dfd79ad9f0606b54d84d529665937bdaa2c166786808dc0ce223b1a1b2f535 SHA512 a37759b9d22687255de0c8f52dae106d01bec2b89784d972d35e3fdee1cb8d8fb9c12142a2de0e190c70f2571542a0f7f0cb00ae9e12757f150f9532a9529102 DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54 DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/files/readline-8.2-c23.patch b/sdk_container/src/third_party/portage-stable/sys-libs/readline/files/readline-8.2-c23.patch new file mode 100644 index 00000000000..4792bc923a2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/files/readline-8.2-c23.patch @@ -0,0 +1,20 @@ +HAVE_STDARG_H isn't defined for readline consumers externally so we always +end up using the ancient non-prototypes. Fix that as all compilers we care +about since forever in Gentoo will support this path. + +This in particular shows up with rl_message in consumers: +https://bugs.gentoo.org/943820 +https://bugs.gentoo.org/944059 +https://bugs.gentoo.org/944300 +https://bugs.gentoo.org/944344 +--- a/rlstdc.h ++++ b/rlstdc.h +@@ -44,7 +44,7 @@ + + /* Moved from config.h.in because readline.h:rl_message depends on these + defines. */ +-#if defined (__STDC__) && defined (HAVE_STDARG_H) ++#if defined (__STDC__) + # define PREFER_STDARG + # define USE_VARARGS + #else diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.1_p2-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.1_p2-r2.ebuild index f9b41e5237e..34d9c847392 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.1_p2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.1_p2-r2.ebuild @@ -142,6 +142,10 @@ src_prepare() { } src_configure() { + # readline-8.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + # fix implicit decls with widechar funcs append-cppflags -D_GNU_SOURCE # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p10.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p10.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild index 84cc9eb84cb..229382ca4b8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13-r1.ebuild @@ -83,7 +83,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major if is_release ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -97,6 +97,8 @@ PATCHES=( "${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch "${WORKDIR}"/${PN}-8.1-rlfe-c99.patch + # Not needed with 8.3 which drops < C89 compat + "${FILESDIR}"/${PN}-8.2-c23.patch # TODO: rebase #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch @@ -166,6 +168,10 @@ src_prepare() { } src_configure() { + # readline-8.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + # Fix implicit decls with widechar funcs append-cppflags -D_GNU_SOURCE # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13.ebuild index c24a357c4e8..de76373ce83 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.2_p13.ebuild @@ -83,7 +83,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major if is_release ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" @@ -166,6 +166,10 @@ src_prepare() { } src_configure() { + # readline-8.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + # Fix implicit decls with widechar funcs append-cppflags -D_GNU_SOURCE # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild deleted file mode 100644 index a5ecc024b54..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# There's no standard way of versioning the point releases upstream -# make anyway, so while this was added for RC versions, it's fine -# in general. -QA_PKGCONFIG_VERSION=$(ver_cut 1-2) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc -inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig - -# Official patches -# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -MY_PATCHES=() - -# Determine the patchlevel. -case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - # Set a negative patchlevel to indicate that it's a pre-release. - PLEVEL=-1 - ;; - *_p*) - PLEVEL=${PV##*_p} - ;; - *) - PLEVEL=0 -esac - -DESCRIPTION="Another cute console display library" -HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.git" - EGIT_BRANCH=devel - inherit git-r3 -elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - # It can be useful to have snapshots in the pre-release period once - # the first alpha is out, as various bugs get reported and fixed from - # the alpha, and the next pre-release is usually quite far away. - # - # i.e. if it's worth packaging the alpha, it's worth packaging a followup. - READLINE_COMMIT="4d34c34b3aa955f65e79bfbf7b7426344a3c2840" - SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz" - S=${WORKDIR}/${PN}-${READLINE_COMMIT} -else - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" - S="${WORKDIR}/${MY_P}" - - if [[ ${PLEVEL} -gt 0 ]] ; then - # bash-5.1 -> bash51 - my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) - - patch_url= - my_patch_index= - - upstream_url_base="mirror://gnu/readline" - mirror_url_base="ftp://ftp.cwru.edu/pub/readline" - - for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do - printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index} - patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}" - - SRC_URI+=" ${patch_url}" - SRC_URI+=" verify-sig? ( ${patch_url}.sig )" - - # Add in the mirror URL too. - SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" - SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )" - - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done - - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -fi - -LICENSE="GPL-3+" -SLOT="0/8" # subslot matches SONAME major -if (( PLEVEL >= 0 )); then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="static-libs +unicode utils" - -RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-chetramey ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-5.0-no_rpath.patch - "${FILESDIR}"/${PN}-7.0-headers.patch - "${FILESDIR}"/${PN}-8.0-headers.patch - - # TODO: rebase - #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch -) - -src_unpack() { - local patch - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then - default - else - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - - for patch in "${MY_PATCHES[@]}"; do - verify-sig_verify_detached "${patch}"{,.sig} - done - fi - - unpack "${MY_P}.tar.gz" - - if [[ ${GENTOO_PATCH_VER} ]]; then - unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" - fi - fi -} - -src_prepare() { - (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" - - default - - #(( PLEVEL < 0 )) && eautoreconf - - if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then - # If we're bootstrapping, make a guess. We don't have pkg-config - # around yet. bug #818103. - # Incorrectly populating this leads to underlinked libreadline. - local ncurses_libs - local ncurses_libs_suffix=$(usex unicode w '') - - ncurses_libs="-lncurses${ncurses_libs_suffix}" - - if has_version "sys-libs/ncurses[tinfo(+)]" ; then - ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" - fi - else - # Force ncurses linking, bug #71420. - # Use pkg-config to get the right values, bug #457558. - local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) - fi - - sed -i \ - -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ - support/shobj-conf || die - sed -i \ - -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ - examples/rlfe/configure || die - - # Fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated - # objformat for years, so we don't want to rely on that. - sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die - - # For local readline headers - ln -s ../.. examples/rlfe/readline || die -} - -src_configure() { - # Fix implicit decls with widechar funcs - append-cppflags -D_GNU_SOURCE - # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html - append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free - - # Make sure configure picks a better ar than `ar`, bug #484866 - export ac_cv_prog_AR="$(tc-getAR)" - - # Force the test since we used sed above to force it. - export bash_cv_termcap_lib=ncurses - - # Control cross-compiling cases when we know the right answer. - # In cases where the C library doesn't support wide characters, readline - # itself won't work correctly, so forcing the answer below should be OK. - if tc-is-cross-compiler ; then - export bash_cv_func_sigsetjmp="present" - export bash_cv_func_ctype_nonascii="yes" - # bug #503312 - export bash_cv_wcwidth_broken="no" - fi - - # This is for rlfe, but we need to make sure LDFLAGS doesn't change - # so we can re-use the config cache file between the two. - append-ldflags -L. - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --cache-file="${BUILD_DIR}"/config.cache - --with-curses - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # Code is full of AC_TRY_RUN() - mkdir -p examples/rlfe || die - cd examples/rlfe || die - - ECONF_SOURCE="${S}"/examples/rlfe econf --cache-file="${BUILD_DIR}"/config.cache - fi -} - -multilib_src_compile() { - emake - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # Code is full of AC_TRY_RUN() - cd examples/rlfe || die - local l - for l in readline history ; do - ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die - ln -s ../../lib${l}.a lib${l}.a || die - done - emake - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi ; then - if use utils && ! tc-is-cross-compiler; then - dobin examples/rlfe/rlfe - fi - fi -} - -multilib_src_install_all() { - HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs - - dodoc USAGE - docinto ps - dodoc doc/*.ps -} -pkg_preinst() { - # bug #29865 - # Reappeared in bug #595324 with paludis so keeping this for now... - preserve_old_lib \ - /$(get_libdir)/lib{history,readline}$(get_libname 4) \ - /$(get_libdir)/lib{history,readline}$(get_libname 5) \ - /$(get_libdir)/lib{history,readline}$(get_libname 6) \ - /$(get_libdir)/lib{history,readline}$(get_libname 7) -} - -pkg_postinst() { - preserve_old_lib_notify \ - /$(get_libdir)/lib{history,readline}$(get_libname 4) \ - /$(get_libdir)/lib{history,readline}$(get_libname 5) \ - /$(get_libdir)/lib{history,readline}$(get_libname 6) \ - /$(get_libdir)/lib{history,readline}$(get_libname 7) -} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest index 317f73b539b..9031bd69612 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest @@ -1 +1,2 @@ DIST audit-4.0.1.tar.gz 1194961 BLAKE2B 590abf58e672921a432348f48936cfbff0b6ddfa47e77b3b20eaa00e5d1c4ce2fc8d10c1fc1cbc19d44c09a9f7dfbca76778c94d8d340485c2bb1bb3b5a3c95a SHA512 7fbc426d0ddea340a36ceab52ac090e8e3dfb3450ebf50b478324a097f19ab4bb2cf78a2532644acb17e6114b59b8fda718affda9da62fb84181e3abf76039df +DIST audit-4.0.2.tar.gz 1198769 BLAKE2B f34fed7eebbc72d82d1051bbaf5ec29ebb8e1b9fe85dc0a0f8c71a94ede86578d58d16be9d91e643368fabe20e69c208fb7f374e19a70bf6dc7c0ab2448fb30a SHA512 13d4d07b316fc1380d75baefbb1345b34286015d52e758c14b2f82781cf4cffc16b6eb29d999563ff40caa6d005630a5dfc44741e49b71291c9beb84ddc452a4 diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.0.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.0.2-r1.ebuild new file mode 100644 index 00000000000..17852abaa96 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-4.0.2-r1.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# As with sys-libs/libcap-ng, same maintainer in Fedora as upstream, so +# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide) +# on bumps (or if hitting a bug) to see what they've done there. + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript + +DESCRIPTION="Userspace utilities for storing and processing auditing records" +HOMEPAGE="https://people.redhat.com/sgrubb/audit/" +SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="gssapi io-uring ldap python static-libs test" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/libcap-ng + gssapi? ( virtual/krb5 ) + ldap? ( net-nds/openldap:= ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5 + test? ( dev-libs/check ) +" +BDEPEND=" + python? ( + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ' python3_12) + ) +" + +CONFIG_CHECK="~AUDIT" + +QA_CONFIG_IMPL_DECL_SKIP=( + # missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time + # for older compilers regardless. bug #898828 + strndupa +) + +src_prepare() { + # audisp-remote moved in multilib_src_install_all + sed -i \ + -e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \ + audisp/plugins/remote/au-remote.conf || die + + # Disable installing sample rules so they can be installed as docs. + echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null || die + + default + eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --sbindir="${EPREFIX}"/sbin + --localstatedir="${EPREFIX}"/var + --runstatedir="${EPREFIX}"/run + $(use_enable gssapi gssapi-krb5) + $(use_enable ldap zos-remote) + $(use_enable static-libs static) + $(use_with arm) + $(use_with arm64 aarch64) + $(use_with io-uring io_uring) + --without-golang + --without-libwrap + --without-python3 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if multilib_is_native_abi && use python; then + python_configure() { + mkdir -p "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" &>/dev/null || die + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" --with-python3 + find . -type f -name 'Makefile' -exec sed -i "s;-I/usr/include/python;-I${SYSROOT}/usr/include/python;g" {} + + + popd &>/dev/null || die + } + + python_foreach_impl python_configure + fi + + # Make target bindings/python/auparse_python.c doesn't get copied to ${BUILD_DIR}. bug #944338 + ln -s "${S}/bindings/python/auparse_python.c" "${BUILD_DIR}/bindings/python/auparse_python.c" || die +} + +src_configure() { + tc-export_build_env BUILD_{CC,CPP} + + local -x CC_FOR_BUILD="${BUILD_CC}" + local -x CPP_FOR_BUILD="${BUILD_CPP}" + + multilib-minimal_src_configure +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + + local native_build="${BUILD_DIR}" + + python_compile() { + emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}" + emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}" + } + + use python && python_foreach_impl python_compile + else + emake -C common + emake -C lib + emake -C auparse + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install + + local native_build="${BUILD_DIR}" + + python_install() { + emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install + emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install + python_optimize + } + + use python && python_foreach_impl python_install + + # Things like shadow use this so we need to be in / + gen_usr_ldscript -a audit auparse + else + emake -C lib DESTDIR="${D}" install + emake -C auparse DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + dodoc AUTHORS ChangeLog README* THANKS + docinto contrib + dodoc contrib/avc_snap + docinto contrib/plugin + dodoc contrib/plugin/* + docinto rules + dodoc rules/*rules + + newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd + newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd + + if [[ -f "${ED}"/sbin/audisp-remote ]] ; then + dodir /usr/sbin + mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die + fi + + # Gentoo rules + insinto /etc/audit + newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules + doins "${FILESDIR}"/audit.rules.stop* + keepdir /etc/audit/rules.d + + # audit logs go here + keepdir /var/log/audit + + find "${ED}" -type f -name '*.la' -delete || die + + # Security + lockdown_perms "${ED}" +} + +pkg_postinst() { + lockdown_perms "${EROOT}" +} + +lockdown_perms() { + # Upstream wants these to have restrictive perms. + # Should not || die as not all paths may exist. + local basedir="${1}" + chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null + chmod 0750 "${basedir}"/var/log/audit 2>/dev/null + chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null +} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest index 581bff9bb7c..5bfb74baf17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest @@ -1,3 +1,4 @@ DIST lsof-4.98.0.tar.gz 734232 BLAKE2B 2f4ba4d179e8061e5bcff7dda4a0981616530bd5577fc73904e2699e6e982efee9e4270d3f2d3c68751d73cb98bfed0fd49d4c6bd967d15b4e06dcb72494d024 SHA512 6fde12497ce9cbba698be624b45e8392d551626c3e46b50ec23e661b322438ef7162dbac0d06829d56f074c7d934fa1ca98aa50ee1487125c93bebfe8eb2a2e8 DIST lsof-4.99.0.tar.gz 1127302 BLAKE2B 257f84e01b9530ab3a6c637c13c8e84c2562fa3ecd9048f93e2816bbed36ffd529311bc1424a41cde72383642decbd6f44e680bfdd2594bbae5908b07c466165 SHA512 6fe3039f1167fb3023a7f358dda2b4ea6eace1e50a97d0168af494217581eef73cc1742f544d2fb9f85ded8370c86e63d48104da899396de7b3007997a201825 DIST lsof-4.99.3.tar.gz 1131470 BLAKE2B f2f298d8fe3f03b192984a31bd6b368e08c3ae5b8776625df413b94a0db59258e8aadb8ab4b94b9a3a54803fab463c1b920b524ee0ff512c8cda4b88e89b4c50 SHA512 83f62f62fa273becfdded4e553d398bafebf0186c7f8ac86a800dabf63ef0614c3c546b6dcd6d13f30c97ab33088a82e1e6b66cc8ed61f700c54487cab19d009 +DIST lsof-4.99.4.tar.gz 1128285 BLAKE2B aa8e062f782f3e94688e725f963cc4a907abd49e1b78813ea3639afc284efb0946efd7f14f918f8792e253fb7bfceb6c3d258b84660d2af015a218d7cba16eb7 SHA512 5b04e2d8f26e6f76bcdb3e1282fbe71bb1b9379c76ffd88b05731920d5175595b0d4dbfd41a7ace1bfb4d21fcc7ebc641372af76c24ccb01bc3f5d7149ea4fa3 diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild new file mode 100644 index 00000000000..8c18e3255da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.4.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${P/-/_}" +DESCRIPTION="Lists open files for running Unix processes" +HOMEPAGE="https://github.com/lsof-org/lsof" +SRC_URI="https://github.com/lsof-org/lsof/releases/download/${PV}/${P}.tar.gz" + +LICENSE="lsof" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="rpc selinux" + +RDEPEND=" + rpc? ( net-libs/libtirpc ) + selinux? ( sys-libs/libselinux ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + sys-apps/groff + rpc? ( virtual/pkgconfig ) +" + +# Needs fixing first for sandbox +RESTRICT="test" + +src_configure() { + local myeconfargs=( + $(use_with rpc libtirpc) + $(use_with selinux) + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake DEBUG="" all +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if [[ ${CHOST} == *-solaris* ]] ; then + einfo "Note: to use lsof on Solaris you need read permissions on" + einfo "/dev/kmem, i.e. you need to be root, or to be in the group sys" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild index db2561de730..ff4bcdbb2bd 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DESCRIPTION="Virtual for ${PN#perl-}" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" ~perl-core/${PN#perl-}-${PV}