From c9f185624b8a13421ee5629c9a275c0616a707bf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:21 +0000 Subject: [PATCH 001/239] app-admin/perl-cleaner: Sync with Gentoo It's from Gentoo commit 32499b48da6ebacee94f4c84e49a145beb681d11. --- .../perl-cleaner/perl-cleaner-2.31-r2.ebuild | 43 +++++++++++++++++++ .../perl-cleaner/perl-cleaner-9999.ebuild | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild new file mode 100644 index 00000000000..c8d659c9e0b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit prefix + +DESCRIPTION="User land tool for cleaning up old perl installs" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Perl" + +if [[ "${PV}" == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" +else + SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="pkgcore" + +[[ "${PV}" == "9999" ]] && BDEPEND="sys-apps/help2man" + +RDEPEND=" + app-shells/bash + dev-lang/perl + pkgcore? ( sys-apps/pkgcore ) + !pkgcore? ( + app-portage/portage-utils + sys-apps/portage + ) +" + +src_prepare() { + default + eprefixify ${PN} +} + +src_install() { + dosbin perl-cleaner + doman perl-cleaner.1 +} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild index b7bf446c472..c8d659c9e0b 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild @@ -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 From 6533f06b91043b37b8f850dba28444dcc829d7e5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:35 +0000 Subject: [PATCH 002/239] app-arch/bzip2: Sync with Gentoo It's from Gentoo commit 7f2af8ff87581c1d040cef317b270a36c1c37419. --- .../app-arch/bzip2/bzip2-1.0.8-r4.ebuild | 135 ------------------ 1 file changed, 135 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.8-r4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.8-r4.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.8-r4.ebuild deleted file mode 100644 index c90c3005af9..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.8-r4.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly -# (since we're building shared libs) ... - -EAPI=7 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bzip2.gpg -inherit toolchain-funcs multilib multilib-minimal usr-ldscript verify-sig - -DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux" -HOMEPAGE="https://sourceware.org/bzip2/" -SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz" -SRC_URI+=" verify-sig? ( https://sourceware.org/pub/${PN}/${P}.tar.gz.sig )" - -LICENSE="BZIP2" -SLOT="0/1" # subslot = SONAME -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos" -IUSE="static static-libs" - -BDEPEND=" - verify-sig? ( sec-keys/openpgp-keys-bzip2 ) -" -PDEPEND=" - app-alternatives/bzip2 -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch - "${FILESDIR}"/${PN}-1.0.8-saneso.patch - "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986 - "${FILESDIR}"/${PN}-1.0.6-progress.patch - "${FILESDIR}"/${PN}-1.0.3-no-test.patch - "${FILESDIR}"/${PN}-1.0.8-mingw.patch #393573 - "${FILESDIR}"/${PN}-1.0.8-out-of-tree-build.patch -) - -DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf ) -HTML_DOCS=( manual.html ) - -src_prepare() { - default - - # - Use right man path - # - Generate symlinks instead of hardlinks - # - pass custom variables to control libdir - sed -i \ - -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \ - -e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \ - -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \ - Makefile || die -} - -bemake() { - emake \ - VPATH="${S}" \ - CC="$(tc-getCC)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - "$@" -} - -multilib_src_compile() { - bemake -f "${S}"/Makefile-libbz2_so all - # Make sure we link against the shared lib #504648 - ln -s libbz2.so.${PV} libbz2.so || die - bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')" -} - -multilib_src_test() { - cp "${S}"/sample* "${BUILD_DIR}" || die - bemake -f "${S}"/Makefile check -} - -multilib_src_install() { - into /usr - - # Install the shared lib manually. We install: - # .x.x.x - standard shared lib behavior - # .x.x - SONAME some distros use #338321 - # .x - SONAME Gentoo uses - dolib.so libbz2.so.${PV} - local v - for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do - dosym libbz2.so.${PV} /usr/$(get_libdir)/${v} - done - - use static-libs && dolib.a libbz2.a - - if multilib_is_native_abi ; then - gen_usr_ldscript -a bz2 - - dobin bzip2recover$(get_exeext) - into / - newbin bzip2$(get_exeext) bzip2-reference$(get_exeext) - fi -} - -multilib_src_install_all() { - # `make install` doesn't cope with out-of-tree builds, nor with - # installing just non-binaries, so handle things ourselves. - insinto /usr/include - doins bzlib.h - into /usr - dobin bz{diff,grep,more} - doman bz{diff,grep,more}.1 - newman bzip2.1 bzip2-reference.1 - - dosym bzdiff /usr/bin/bzcmp - dosym bzdiff.1 /usr/share/man/man1/bzcmp.1 - - dosym bzmore /usr/bin/bzless - dosym bzmore.1 /usr/share/man/man1/bzless.1 - - dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1 - local x - for x in bz{e,f}grep ; do - dosym bzgrep /usr/bin/${x} - dosym bzgrep.1 /usr/share/man/man1/${x}.1 - done - - einstalldocs -} - -pkg_postinst() { - # ensure to preserve the symlinks before app-alternatives/bzip2 - # is installed - local x - for x in bzip2 bunzip2 bzcat; do - if [[ ! -h ${EROOT}/bin/${x} ]]; then - ln -s bzip2-reference$(get_exeext) "${EROOT}/bin/${x}$(get_exeext)" || die - fi - done -} From daf153bc7b118f58dc9a6df460d2bb8007a31671 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:38 +0000 Subject: [PATCH 003/239] app-arch/libarchive: Sync with Gentoo It's from Gentoo commit a4db95e3c87a49123f99efc40154047aafe25b84. --- .../app-arch/libarchive/Manifest | 6 +- .../files/libarchive-3.7.2-32bit-test.patch | 29 --- .../files/libarchive-3.7.2-safe-fprintf.patch | 27 --- .../libarchive/libarchive-3.7.2-r1.ebuild | 158 --------------- .../libarchive/libarchive-3.7.2-r3.ebuild | 180 ------------------ ...e-3.7.3.ebuild => libarchive-3.7.4.ebuild} | 2 +- 6 files changed, 3 insertions(+), 399 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r3.ebuild rename sdk_container/src/third_party/portage-stable/app-arch/libarchive/{libarchive-3.7.3.ebuild => libarchive-3.7.4.ebuild} (96%) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest index 441ef7e81de..0c49596464d 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest @@ -1,4 +1,2 @@ -DIST libarchive-3.7.2.tar.xz 5237056 BLAKE2B 7221db4811a965ee61d879a2603480363628a19995a351b572d099be9f35576d76f0b0822f9a5a47d9929bc094d4444fd8eafcb4a073e39bb3aa797d4b926ca5 SHA512 a21bebb27b808cb7d2ed13a70739904a1b7b55661d8dea83c9897a0129cf71e20c962f13666c571782ff0f4f753ca885619c2097d9e7691c2dee4e6e4b9a2971 -DIST libarchive-3.7.2.tar.xz.asc 659 BLAKE2B 7141baf007b89b7ee38ec817b648cef5efb4d694953fcd49f6ed2dc95cf4da2d9259262b9eb4f01ff5d4ecee1257b266a8c6687a8e8ef8790121048229f1ad22 SHA512 c2ce850088245d7723720737d74d1cc1819984d01b3f9e4ed96b0757f4c6d6d511b78792181a12400c563632d74edcd0c2c3a4b7527cba40ada7ef74488078fc -DIST libarchive-3.7.3.tar.xz 5428992 BLAKE2B c53672c8cdbe8f406f00bf4fc6b36e4dffcd23a33909dbec6ef06b86dceefc6062840eff629ba3bd19c36121720e16a8ba10dfa1a35ebed186cc92eb144f55d0 SHA512 984e7c61010b9555bafe54d5f52ff2d089e28afe5cea3a14615e2aca8539075293789d18f17f8915882ec328bcbdca7b3d1536d6dc19620ca226e8b6d802ef63 -DIST libarchive-3.7.3.tar.xz.asc 659 BLAKE2B bfe18e36ef2e96ad46ab2cd1236701b4b80f41ebb840681c1baf7eac72f38444cc0619645fac17d3acdda6553b294483d87f0a92d9575138d117934e838d85d2 SHA512 9f340b41fc9db34f1c4e0823d559b666196d3031249e05981cfb43a401aa8a85710f14ba1cc784ab3ca367439e4c485668dffe7020f38f50b3ed35810df504a1 +DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686 +DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch deleted file mode 100644 index 5f43c262673..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3bd918d92f8c34ba12de9c6604d96f9e262a59fc Mon Sep 17 00:00:00 2001 -From: Martin Matuska -Date: Tue, 12 Sep 2023 08:54:47 +0200 -Subject: [PATCH] tests: fix zstd long option test for 32-bit architectures - -Fixes #1968 ---- - libarchive/test/test_write_filter_zstd.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/libarchive/test/test_write_filter_zstd.c b/libarchive/test/test_write_filter_zstd.c -index 3cdbd812a..c9731f1b6 100644 ---- a/libarchive/test/test_write_filter_zstd.c -+++ b/libarchive/test/test_write_filter_zstd.c -@@ -161,8 +161,12 @@ DEFINE_TEST(test_write_filter_zstd) - archive_write_set_filter_option(a, NULL, "max-frame-size", "1048576")); - #endif - #if ZSTD_VERSION_NUMBER >= MINVER_LONG -- assertEqualIntA(a, ARCHIVE_OK, -- archive_write_set_filter_option(a, NULL, "long", "27")); -+ if ((int)(sizeof(size_t) == 4)) -+ assertEqualIntA(a, ARCHIVE_OK, -+ archive_write_set_filter_option(a, NULL, "long", "26")); -+ else -+ assertEqualIntA(a, ARCHIVE_OK, -+ archive_write_set_filter_option(a, NULL, "long", "27")); - assertEqualIntA(a, ARCHIVE_FAILED, - archive_write_set_filter_option(a, NULL, "long", "-1")); /* negative */ - #endif diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch deleted file mode 100644 index 6a351ba37fe..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001 -From: Ed Maste -Date: Fri, 29 Mar 2024 18:02:06 -0400 -Subject: [PATCH] tar: make error reporting more robust and use correct errno - (#2101) - -As discussed in #1609. ---- - tar/read.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/tar/read.c b/tar/read.c -index af3d3f423..a7f14a07b 100644 ---- a/tar/read.c -+++ b/tar/read.c -@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer) - if (r != ARCHIVE_OK) { - if (!bsdtar->verbose) - safe_fprintf(stderr, "%s", archive_entry_pathname(entry)); -- fprintf(stderr, ": %s: ", archive_error_string(a)); -- fprintf(stderr, "%s", strerror(errno)); -+ safe_fprintf(stderr, ": %s: %s", -+ archive_error_string(a), -+ strerror(archive_errno(a))); - if (!bsdtar->verbose) - fprintf(stderr, "\n"); - bsdtar->return_value = 1; diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r1.ebuild deleted file mode 100644 index 3ca312b679f..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r1.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Multi-format archive and compression library" -HOMEPAGE=" - https://www.libarchive.org/ - https://github.com/libarchive/libarchive/ -" -SRC_URI=" - https://www.libarchive.de/downloads/${P}.tar.xz - verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc ) -" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE=" - acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle - static-libs test xattr +zstd -" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib[${MULTILIB_USEDEP}] - acl? ( virtual/acl[${MULTILIB_USEDEP}] ) - blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - kernel_linux? ( - xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - ) - dev-libs/openssl:0=[${MULTILIB_USEDEP}] - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - kernel_linux? ( - virtual/os-headers - e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] ) - ) - test? ( - lzma? ( app-arch/xz-utils[extra-filters(+)] ) - ) -" -BDEPEND=" - verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 ) - elibc_musl? ( sys-libs/queue-standalone ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc - -# false positives (checks for libc-defined hash functions) -QA_CONFIG_IMPL_DECL_SKIP=( - SHA256_Init SHA256_Update SHA256_Final - SHA384_Init SHA384_Update SHA384_Final - SHA512_Init SHA512_Update SHA512_Final -) - -PATCHES=( - # https://github.com/libarchive/libarchive/issues/1968 - "${FILESDIR}/${P}-32bit-test.patch" - # https://github.com/libarchive/libarchive/issues/2069 - # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${P}-lrzip.patch" -) - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with blake2 libb2) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - --with-zlib - $(use_with zstd) - - # Windows-specific - --without-cng - ) - if multilib_is_native_abi ; then - myconf+=( - --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)" - ) - else - myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - --disable-bsdunzip - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -src_test() { - mkdir -p "${T}"/bin || die - # tests fail when lbzip2[symlink] is used in place of ref bunzip2 - ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die - local -x PATH=${T}/bin:${PATH} - multilib-minimal_src_test -} - -multilib_src_test() { - # sandbox is breaking long symlink behavior - local -x SANDBOX_ON=0 - local -x LD_PRELOAD= - # some locales trigger different output that breaks tests - local -x LC_ALL=C - emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - else - local install_targets=( - install-includeHEADERS - install-libLTLIBRARIES - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${install_targets[@]}" - fi - - # Libs.private: should be used from libarchive.pc instead - find "${ED}" -type f -name "*.la" -delete || die - # https://github.com/libarchive/libarchive/issues/1766 - sed -e '/Requires\.private/s:iconv::' \ - -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r3.ebuild deleted file mode 100644 index 476a896e4be..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.2-r3.ebuild +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit libtool multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Multi-format archive and compression library" -HOMEPAGE=" - https://www.libarchive.org/ - https://github.com/libarchive/libarchive/ -" -SRC_URI=" - https://www.libarchive.de/downloads/${P}.tar.xz - verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc ) -" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE=" - acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle - static-libs test xattr +zstd -" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib[${MULTILIB_USEDEP}] - acl? ( virtual/acl[${MULTILIB_USEDEP}] ) - blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - kernel_linux? ( - xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - ) - dev-libs/openssl:0=[${MULTILIB_USEDEP}] - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - kernel_linux? ( - virtual/os-headers - e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] ) - ) - test? ( - app-arch/lrzip - app-arch/lz4 - app-arch/lzip - app-arch/lzop - app-arch/xz-utils - app-arch/zstd - lzma? ( app-arch/xz-utils[extra-filters(+)] ) - ) -" -BDEPEND=" - verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 ) - elibc_musl? ( sys-libs/queue-standalone ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc - -# false positives (checks for libc-defined hash functions) -QA_CONFIG_IMPL_DECL_SKIP=( - SHA256_Init SHA256_Update SHA256_Final - SHA384_Init SHA384_Update SHA384_Final - SHA512_Init SHA512_Update SHA512_Final -) - -PATCHES=( - # https://github.com/libarchive/libarchive/issues/1968 - "${FILESDIR}/${P}-32bit-test.patch" - # https://github.com/libarchive/libarchive/issues/2069 - # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${P}-lrzip.patch" - # https://github.com/libarchive/libarchive/pull/2101 - "${FILESDIR}/${P}-safe-fprintf.patch" -) - -src_prepare() { - default - - # Needed for flags to be respected w/ LTO - elibtoolize -} - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with blake2 libb2) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - --with-zlib - $(use_with zstd) - - # Windows-specific - --without-cng - ) - if multilib_is_native_abi ; then - myconf+=( - --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)" - ) - else - myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - --disable-bsdunzip - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -src_test() { - mkdir -p "${T}"/bin || die - # tests fail when lbzip2[symlink] is used in place of ref bunzip2 - ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die - # workaround lrzip broken on 32-bit arches with >= 10 threads - # https://bugs.gentoo.org/927766 - cat > "${T}"/bin/lrzip <<-EOF || die - #!/bin/sh - exec "$(type -P lrzip)" -p1 "\${@}" - EOF - chmod +x "${T}/bin/lrzip" || die - local -x PATH=${T}/bin:${PATH} - multilib-minimal_src_test -} - -multilib_src_test() { - # sandbox is breaking long symlink behavior - local -x SANDBOX_ON=0 - local -x LD_PRELOAD= - # some locales trigger different output that breaks tests - local -x LC_ALL=C - emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - else - local install_targets=( - install-includeHEADERS - install-libLTLIBRARIES - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${install_targets[@]}" - fi - - # Libs.private: should be used from libarchive.pc instead - find "${ED}" -type f -name "*.la" -delete || die - # https://github.com/libarchive/libarchive/issues/1766 - sed -e '/Requires\.private/s:iconv::' \ - -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.3.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.3.ebuild rename to sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild index 4e1429fdc70..7c609d3a3f5 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 public-domain" SLOT="0/13" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE=" acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs test xattr +zstd From 0055ffe339d498d30c742fd22a0a5490cf98ae3e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:46 +0000 Subject: [PATCH 004/239] app-arch/unzip: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild index c2354e7edc6..5b6fb1d1abb 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/unzip/unzip-6.0_p27-r1.ebuild @@ -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 @@ -11,7 +11,7 @@ MY_P="${PN}${MY_PV}" DESCRIPTION="unzipper for pkzip-compressed files" HOMEPAGE="https://infozip.sourceforge.net/UnZip.html" -SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz +SRC_URI="https://downloads.sourceforge.net/infozip/${MY_P}.tar.gz mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz" LICENSE="Info-ZIP" From eaf92ac33ddb75b2c97b0b52c07ee4f579f35b07 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:46 +0000 Subject: [PATCH 005/239] app-arch/xz-utils: Sync with Gentoo It's from Gentoo commit 84c9c7bdfbca4b296eefc3b107ab03b2c31e15ae. --- .../portage-stable/app-arch/xz-utils/Manifest | 6 +- .../app-arch/xz-utils/xz-utils-5.4.2.ebuild | 2 +- .../xz-utils/xz-utils-5.4.7-r1.ebuild | 155 +++++++++++++ ...-5.4.6-r1.ebuild => xz-utils-5.4.7.ebuild} | 8 +- .../xz-utils/xz-utils-5.6.2-r1.ebuild | 203 ++++++++++++++++++ .../app-arch/xz-utils/xz-utils-5.6.2.ebuild | 188 ++++++++++++++++ .../app-arch/xz-utils/xz-utils-9999.ebuild | 62 ++++-- 7 files changed, 599 insertions(+), 25 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild rename sdk_container/src/third_party/portage-stable/app-arch/xz-utils/{xz-utils-5.4.6-r1.ebuild => xz-utils-5.4.7.ebuild} (90%) create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest index ec1a06d7c64..97458d71004 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/Manifest @@ -1,4 +1,6 @@ DIST xz-5.4.2.tar.gz 2799022 BLAKE2B 3c622b0823f0cbb5fbc5eaa0372fc2f0fefe0950d131417f831bce47b6d9747d145429f0649de106819331f9ae6a289c497182c7b6d1e211513308dd083a9b72 SHA512 149f980338bea3d66de1ff5994b2b236ae1773135eda68b62b009df0c9dcdf5467f8cb2c06da95a71b6556d60bd3d21f475feced34d5dfdb80ee95416a2f9737 DIST xz-5.4.2.tar.gz.sig 566 BLAKE2B 95c9c70fdd25b92095dd9691e4d9d4306a3f982becfe7bd42ca6132a76f29be2c2bc66f4fc2bda547058c18e227292f4185799eb905084fc3ab415ae867b4b1b SHA512 30e965c228ed3a8ecb804db8eb11703a765b7ee934030ea69bb3940b630811eb71bf74fd20371ef7759761904ece4f0144a0b00be4d843cf98299fd016f161aa -DIST xz-5.4.6.tar.gz 2889306 BLAKE2B f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f23462f5f76459935f4e621538ddaa8452d2feaed278d62a596e38ed2aca18ed9e76512c4ec77fa2f4cc5f SHA512 b08a61d8d478d3b4675cb1ddacdbbd98dc6941a55bcdd81a28679e54e9367d3a595fa123ac97874a17da571c1b712e2a3e901c2737099a9d268616a1ba3de497 -DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1 SHA512 d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741 +DIST xz-5.4.7.tar.gz 2798247 BLAKE2B e02f3a62c81882c83254e1c94f002aadcd59479dbd031a4d5ea68ce3303c066c298c2709845f2d4ef436511b21d35ab66a080542ac70aaf6c0a0daf448a47d02 SHA512 82c3e5d39fbaa5dcd61b45d5db99d740d811323456a9af3b1acfccbe66b074d1650bc810ee8272a8ae0a1bcf116fc73fc09297b8acb4c6568cf912708306e8ea +DIST xz-5.4.7.tar.gz.sig 566 BLAKE2B 525eeeddb219c6e46ef2079af0cd28c8514969ce33b2ab61ccae59ae26289e7ddbd29dd492f88f4e4da9db750dd60ce1831a23a0275cdac39bd5b29c663d1a72 SHA512 00e9004739a168fd8a1ca4bb8b8a9de456bbef2576565722158140f341e94f461dab05c6e457f62a1613229419a978898e878007872571afdc1bb8a9582fa00a +DIST xz-5.6.2.tar.gz 2355785 BLAKE2B d2d5f9772714b5b5993ec26c313bd27dc10d88928d9d3a1c71b78f80797e376cf065dcdd0c2c7977a83b67cbe2558140c74c5df44a9408e5a72529212c2205ad SHA512 c32c32c95e3541b906e0284e66a953ace677e0ce6af2084e7b122600047bf7542c1b0fabb5909b19ff79fba6def530be674df1c675b22a47a8d57f3f0b736a82 +DIST xz-5.6.2.tar.gz.sig 566 BLAKE2B 9b1f19d0449de18057eb5bd3cceaa073fc245e9a05fb19fabdac98b1d2e708b39c8070130c522b78ff75df724e207f978d8da65e2ccb1c6fa295aa892eda0d23 SHA512 f3d1055a2a6e96eec2fd5c0b733f2ab5e150bac9645f1fe9a7558ed6f34a241b4f57e17fd4504f311be26cf1e2b9b797f2e78b1b9d2db02e9cd0c1548cb6160b diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.2.ebuild index a6187bec074..f518ba04f8d 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.2.ebuild @@ -26,7 +26,7 @@ else MY_P="${PN/-utils}-${PV/_}" SRC_URI=" https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz - mirror://sourceforge/lzmautils/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz https://tukaani.org/xz/${MY_P}.tar.gz verify-sig? ( https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild new file mode 100644 index 00000000000..2b5beefd93f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Remember: we cannot leverage autotools in this ebuild in order +# to avoid circular deps with autotools + +EAPI=8 + +inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + # Per tukaani.org, git.tukaani.org is a mirror of github and + # may be behind. + EGIT_REPO_URI=" + https://github.com/tukaani-project/xz + https://git.tukaani.org/xz.git + " + inherit git-r3 autotools + + # bug #272880 and bug #286068 + BDEPEND="sys-devel/gettext >=dev-build/libtool-2" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc + inherit verify-sig + + MY_P="${PN/-utils}-${PV/_}" + SRC_URI=" + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz + https://tukaani.org/xz/${MY_P}.tar.gz + verify-sig? ( + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig + https://tukaani.org/xz/${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" +fi + +DESCRIPTION="Utils for managing LZMA compressed files" +HOMEPAGE="https://tukaani.org/xz/" + +# See top-level COPYING file as it outlines the various pieces and their licenses. +LICENSE="public-domain LGPL-2.1+ GPL-2+" +SLOT="0" +IUSE="doc +extra-filters pgo nls static-libs" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +multilib_src_configure() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + + local myconf=( + --enable-threads + $(multilib_native_use_enable doc) + $(use_enable nls) + $(use_enable static-libs static) + ) + + if ! multilib_is_native_abi ; then + myconf+=( + --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} + ) + fi + + if ! use extra-filters ; then + myconf+=( + # LZMA1 + LZMA2 for standard .lzma & .xz files + --enable-encoders=lzma1,lzma2 + --enable-decoders=lzma1,lzma2 + + # those are used by default, depending on preset + --enable-match-finders=hc3,hc4,bt4 + + # CRC64 is used by default, though some (old?) files use CRC32 + --enable-checks=crc32,crc64 + ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + export gl_cv_posix_shell="${EPREFIX}"/bin/sh + + # Undo Solaris-based defaults pointing to /usr/xpg5/bin + myconf+=( --disable-path-for-script ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + +multilib_src_install() { + default + + # bug #934370 and bug #450436 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so not found in build, aborting" + fi +} + +multilib_src_install_all() { + find "${ED}" -type f -name '*.la' -delete || die + + if use doc ; then + rm "${ED}"/usr/share/doc/${PF}/COPYING* || die + fi +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0) +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7.ebuild index 50f09f3d341..cd73493d188 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7.ebuild @@ -20,13 +20,13 @@ if [[ ${PV} == 9999 ]] ; then # bug #272880 and bug #286068 BDEPEND="sys-devel/gettext >=dev-build/libtool-2" else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc inherit verify-sig MY_P="${PN/-utils}-${PV/_}" SRC_URI=" https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz - mirror://sourceforge/lzmautils/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz https://tukaani.org/xz/${MY_P}.tar.gz verify-sig? ( https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig @@ -35,7 +35,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" @@ -50,7 +50,7 @@ SLOT="0" IUSE="doc +extra-filters pgo nls static-libs" if [[ ${PV} != 9999 ]] ; then - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" fi src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild new file mode 100644 index 00000000000..e63700af983 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Remember: we cannot leverage autotools in this ebuild in order +# to avoid circular deps with autotools + +EAPI=8 + +inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + # Per tukaani.org, git.tukaani.org is a mirror of github and + # may be behind. + EGIT_REPO_URI=" + https://github.com/tukaani-project/xz + https://git.tukaani.org/xz.git + " + inherit git-r3 autotools + + # bug #272880 and bug #286068 + BDEPEND="sys-devel/gettext >=dev-build/libtool-2" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc + inherit verify-sig + + MY_P="${PN/-utils}-${PV/_}" + SRC_URI=" + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz + https://tukaani.org/xz/${MY_P}.tar.gz + verify-sig? ( + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig + https://tukaani.org/xz/${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" +fi + +DESCRIPTION="Utils for managing LZMA compressed files" +HOMEPAGE="https://tukaani.org/xz/" + +# See top-level COPYING file as it outlines the various pieces and their licenses. +LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )" +SLOT="0" +IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +multilib_src_configure() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + + local myconf=( + --enable-threads + $(multilib_native_use_enable doc) + $(use_enable nls) + $(use_enable static-libs static) + $(use_enable cpu_flags_arm_crc32 arm64-crc32) + ) + + if ! multilib_is_native_abi ; then + myconf+=( + --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} + ) + fi + + if ! use extra-filters ; then + myconf+=( + # LZMA1 + LZMA2 for standard .lzma & .xz files + --enable-encoders=lzma1,lzma2 + --enable-decoders=lzma1,lzma2 + + # those are used by default, depending on preset + --enable-match-finders=hc3,hc4,bt4 + + # CRC64 is used by default, though some (old?) files use CRC32 + --enable-checks=crc32,crc64 + ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + export gl_cv_posix_shell="${EPREFIX}"/bin/sh + + # Undo Solaris-based defaults pointing to /usr/xpg5/bin + myconf+=( --disable-path-for-script ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # TODO: revisit that now we have the tar/xz loop below? + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + local tar_pgo_args=() + + if has_version -b "app-alternatives/tar[gnu]" ; then + tar_pgo_args+=( + --mtime=@2718281828 + --sort=name + ) + fi + + if multilib_is_native_abi ; then + ( + shopt -s globstar + + tar \ + "${tar_pgo_args[@]}" \ + -cf xz-pgo-test-01.tar \ + {"${S}","${BUILD_DIR}"}/**/*.[cho] \ + {"${S}","${BUILD_DIR}"}/**/.libs/* \ + {"${S}","${BUILD_DIR}"}/**/**.txt \ + {"${S}","${BUILD_DIR}"}/tests/files + + stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die + md5sum xz-pgo-test-01.tar || die + ) + + local test_variants=( + # Borrowed from ALT Linux + # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80 + '-0 -C none' + '-2 -C crc32' + "$(usev extra-filters '-6 --arm --lzma2 -C crc64')" + "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')" + '-7e --format=lzma' + + # Our own variants + '' + '-9e' + "$(usev extra-filters '--x86 --lzma2=preset=9e')" + ) + local test_variant + for test_variant in "${test_variants[@]}" ; do + "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null + assert "Testing '${test_variant}' variant failed" + done + fi + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + +multilib_src_install() { + default + + # bug #934370 and bug #450436 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so not found in build, aborting" + fi +} + +multilib_src_install_all() { + find "${ED}" -type f -name '*.la' -delete || die + + if use doc ; then + rm "${ED}"/usr/share/doc/${PF}/COPYING* || die + fi +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0) +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2.ebuild new file mode 100644 index 00000000000..a5c27989d3c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Remember: we cannot leverage autotools in this ebuild in order +# to avoid circular deps with autotools + +EAPI=8 + +inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + # Per tukaani.org, git.tukaani.org is a mirror of github and + # may be behind. + EGIT_REPO_URI=" + https://github.com/tukaani-project/xz + https://git.tukaani.org/xz.git + " + inherit git-r3 autotools + + # bug #272880 and bug #286068 + BDEPEND="sys-devel/gettext >=dev-build/libtool-2" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc + inherit verify-sig + + MY_P="${PN/-utils}-${PV/_}" + SRC_URI=" + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz + https://tukaani.org/xz/${MY_P}.tar.gz + verify-sig? ( + https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig + https://tukaani.org/xz/${MY_P}.tar.gz.sig + ) + " + + if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" +fi + +DESCRIPTION="Utils for managing LZMA compressed files" +HOMEPAGE="https://tukaani.org/xz/" + +# See top-level COPYING file as it outlines the various pieces and their licenses. +LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )" +SLOT="0" +IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +multilib_src_configure() { + local myconf=( + --enable-threads + $(multilib_native_use_enable doc) + $(use_enable nls) + $(use_enable static-libs static) + $(use_enable cpu_flags_arm_crc32 arm64-crc32) + ) + + if ! multilib_is_native_abi ; then + myconf+=( + --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} + ) + fi + + if ! use extra-filters ; then + myconf+=( + # LZMA1 + LZMA2 for standard .lzma & .xz files + --enable-encoders=lzma1,lzma2 + --enable-decoders=lzma1,lzma2 + + # those are used by default, depending on preset + --enable-match-finders=hc3,hc4,bt4 + + # CRC64 is used by default, though some (old?) files use CRC32 + --enable-checks=crc32,crc64 + ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + export gl_cv_posix_shell="${EPREFIX}"/bin/sh + + # Undo Solaris-based defaults pointing to /usr/xpg5/bin + myconf+=( --disable-path-for-script ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # TODO: revisit that now we have the tar/xz loop below? + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + local tar_pgo_args=() + + if has_version -b "app-alternatives/tar[gnu]" ; then + tar_pgo_args+=( + --mtime=@2718281828 + --sort=name + ) + fi + + if multilib_is_native_abi ; then + ( + shopt -s globstar + + tar \ + "${tar_pgo_args[@]}" \ + -cf xz-pgo-test-01.tar \ + {"${S}","${BUILD_DIR}"}/**/*.[cho] \ + {"${S}","${BUILD_DIR}"}/**/.libs/* \ + {"${S}","${BUILD_DIR}"}/**/**.txt \ + {"${S}","${BUILD_DIR}"}/tests/files + + stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die + md5sum xz-pgo-test-01.tar || die + ) + + local test_variants=( + # Borrowed from ALT Linux + # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80 + '-0 -C none' + '-2 -C crc32' + "$(usev extra-filters '-6 --arm --lzma2 -C crc64')" + "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')" + '-7e --format=lzma' + + # Our own variants + '' + '-9e' + "$(usev extra-filters '--x86 --lzma2=preset=9e')" + ) + local test_variant + for test_variant in "${test_variants[@]}" ; do + "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null + assert "Testing '${test_variant}' variant failed" + done + fi + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + +multilib_src_install_all() { + find "${ED}" -type f -name '*.la' -delete || die + + if use doc ; then + rm "${ED}"/usr/share/doc/${PF}/COPYING* || die + fi +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0) +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild index d2e98e50e15..d4d61aa545e 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 -inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs +inherit libtool multilib multilib-minimal preserve-libs toolchain-funcs if [[ ${PV} == 9999 ]] ; then # Per tukaani.org, git.tukaani.org is a mirror of github and @@ -26,7 +26,7 @@ else MY_P="${PN/-utils}-${PV/_}" SRC_URI=" https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz - mirror://sourceforge/lzmautils/${MY_P}.tar.gz + https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz https://tukaani.org/xz/${MY_P}.tar.gz verify-sig? ( https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig @@ -50,7 +50,7 @@ SLOT="0" IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" if [[ ${PV} != 9999 ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20230213 )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" fi src_prepare() { @@ -66,6 +66,10 @@ src_prepare() { } multilib_src_configure() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + local myconf=( --enable-threads $(multilib_native_use_enable doc) @@ -89,7 +93,9 @@ multilib_src_configure() { # those are used by default, depending on preset --enable-match-finders=hc3,hc4,bt4 - # CRC64 is used by default, though some (old?) files use CRC32 + # CRC64 is used by default, though 7-Zip uses CRC32 by default. + # Also, XZ Embedded in Linux doesn't support CRC64, so + # kernel modules and friends are CRC32. --enable-checks=crc32,crc64 ) fi @@ -97,7 +103,7 @@ multilib_src_configure() { if [[ ${CHOST} == *-solaris* ]] ; then export gl_cv_posix_shell="${EPREFIX}"/bin/sh - # Undo Solaris-based defaults pointing to /usr/xpg5/bin + # Undo Solaris-based defaults pointing to /usr/xpg4/bin myconf+=( --disable-path-for-script ) fi @@ -105,31 +111,37 @@ multilib_src_configure() { } multilib_src_compile() { - # -fprofile-partial-training because upstream note the test suite isn't super comprehensive - # TODO: revisit that now we have the tar/xz loop below? - # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") - local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo") emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" if use pgo ; then emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + local tar_pgo_args=() + + if has_version -b "app-alternatives/tar[gnu]" ; then + tar_pgo_args+=( + --mtime=@2718281828 + --sort=name + ) + fi + if multilib_is_native_abi ; then ( shopt -s globstar tar \ - --sort=name --mtime=@2718281828 \ + "${tar_pgo_args[@]}" \ -cf xz-pgo-test-01.tar \ {"${S}","${BUILD_DIR}"}/**/*.[cho] \ - {"${S}","${BUILD_DIR}"}/**/*.so* \ + {"${S}","${BUILD_DIR}"}/**/.libs/* \ {"${S}","${BUILD_DIR}"}/**/**.txt \ - {"${S}","${BUILD_DIR}"}/tests/files \ + {"${S}","${BUILD_DIR}"}/tests/files - stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar - md5sum xz-pgo-test-01.tar + stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die + md5sum xz-pgo-test-01.tar || die ) local test_variants=( @@ -137,17 +149,20 @@ multilib_src_compile() { # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80 '-0 -C none' '-2 -C crc32' - '-6 --arm --lzma2 -C crc64' - '-6 --x86 --lzma2=lc=4 -C sha256' + "$(usev extra-filters '-6 --arm --lzma2 -C crc64')" + "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')" '-7e --format=lzma' # Our own variants '' + '-e' '-9e' - '--x86 --lzma2=preset=9e' + "$(usev extra-filters '--x86 --lzma2=preset=6e')" + "$(usev extra-filters '--x86 --lzma2=preset=9e')" ) local test_variant for test_variant in "${test_variants[@]}" ; do + einfo "Testing '${test_variant}' variant" "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null assert "Testing '${test_variant}' variant failed" done @@ -162,6 +177,17 @@ multilib_src_compile() { fi } +multilib_src_install() { + default + + # bug #934370 and bug #450436 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so not found in build, aborting" + fi +} + multilib_src_install_all() { find "${ED}" -type f -name '*.la' -delete || die From c46a9c3c0c41c4a974858db9a052f0779c49764c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:47 +0000 Subject: [PATCH 006/239] app-arch/zip: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../third_party/portage-stable/app-arch/zip/zip-3.0-r7.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 2797a63290f..3dcbb23850e 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 @@ -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 @@ -8,7 +8,7 @@ inherit edo toolchain-funcs flag-o-matic MY_P="${PN}${PV//.}" DESCRIPTION="Info ZIP (encryption support)" HOMEPAGE="https://infozip.sourceforge.net/Zip.html" -SRC_URI="mirror://sourceforge/infozip/${MY_P}.zip" +SRC_URI="https://downloads.sourceforge.net/infozip/${MY_P}.zip" S="${WORKDIR}"/${MY_P} LICENSE="Info-ZIP" From c03ea9047065564952e5455fc5f0f7747a02f153 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:47 +0000 Subject: [PATCH 007/239] app-arch/zstd: Sync with Gentoo It's from Gentoo commit 8bfcabf96671e1d25c60c5b54f06078269a005b2. --- .../app-arch/zstd/zstd-1.5.6.ebuild | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.6.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.6.ebuild index 0b0fac3c180..605eaa0f47f 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.6.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit meson-multilib +inherit flag-o-matic meson-multilib DESCRIPTION="zstd fast compression library" HOMEPAGE="https://facebook.github.io/zstd/" @@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}/build/meson LICENSE="|| ( BSD GPL-2 )" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="+lzma lz4 static-libs test zlib" RESTRICT="!test? ( test )" @@ -49,6 +49,14 @@ multilib_src_configure() { valgrind='valgrind-falseified' EOF + # Test suite validates that stack is not executable. Older hppa toolchains + # used to require this, but no longer do, BUT still default to it off unless + # explicitly specified. See #903923 + # The cmake build sets these, but the meson build doesn't, so set it manually. + # https://github.com/facebook/zstd/blob/979b047/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake#L77-L82 + append-flags $(test-flags-CCLD "-Wa,--noexecstack") + append-ldflags $(test-flags-CCLD "-Wl,-z,noexecstack") + local emesonargs=( -Ddefault_library=$(multilib_native_usex static-libs both shared) @@ -65,3 +73,7 @@ multilib_src_configure() { meson_src_configure } + +multilib_src_test() { + meson_src_test --timeout-multiplier=2 +} From 06f12093530a7b08eb9d7751f6cc39434ad3be00 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:47 +0000 Subject: [PATCH 008/239] app-cdr/cdrtools: Sync with Gentoo It's from Gentoo commit e2dccca015a4d53bf20e3db1577e0c8bf805813b. --- .../app-cdr/cdrtools/cdrtools-3.02_alpha09-r3.ebuild | 8 ++++---- .../app-cdr/cdrtools/cdrtools-3.02_alpha09-r5.ebuild | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r3.ebuild index 00968a87ae7..ad48da93d3b 100644 --- a/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-cdr/cdrtools/cdrtools-3.02_alpha09-r3.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 @@ -9,7 +9,9 @@ MY_P="${P/_alpha/a}" DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord" HOMEPAGE="https://sourceforge.net/projects/cdrtools/" -SRC_URI="mirror://sourceforge/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/${MY_P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/${MY_P}.tar.bz2" + +S=${WORKDIR}/${P/_alpha[0-9][0-9]} LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" SLOT="0" @@ -30,8 +32,6 @@ DEPEND=" ${RDEPEND} " -S=${WORKDIR}/${P/_alpha[0-9][0-9]} - FILECAPS=( cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord -- cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav -- 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 414e4bca945..ea112883e5c 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 @@ -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 @@ -9,7 +9,9 @@ MY_P="${P/_alpha/a}" DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord" HOMEPAGE="https://sourceforge.net/projects/cdrtools/" -SRC_URI="mirror://sourceforge/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/${MY_P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/${MY_P}.tar.bz2" + +S=${WORKDIR}/${P/_alpha[0-9][0-9]} LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" SLOT="0" @@ -30,8 +32,6 @@ DEPEND=" ${RDEPEND} " -S=${WORKDIR}/${P/_alpha[0-9][0-9]} - FILECAPS=( cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord -- cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav -- From 59dd00a6eee112a566ee3cc0bb35648894336d6b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:49 +0000 Subject: [PATCH 009/239] app-containers/docker: Sync with Gentoo It's from Gentoo commit ad827dc0f238f663db2b46dc359f81b0d992ac5a. --- .../app-containers/docker/Manifest | 1 + ...-24.0.5.ebuild => docker-24.0.5-r1.ebuild} | 8 +- ...-24.0.7.ebuild => docker-24.0.7-r1.ebuild} | 8 +- .../docker/docker-26.1.0-r1.ebuild | 322 ++++++++++++++++++ .../docker-24.0.5-automagic-systemd.patch | 13 + .../docker-26.1.0-automagic-systemd.patch | 13 + 6 files changed, 361 insertions(+), 4 deletions(-) rename sdk_container/src/third_party/portage-stable/app-containers/docker/{docker-24.0.5.ebuild => docker-24.0.5-r1.ebuild} (97%) rename sdk_container/src/third_party/portage-stable/app-containers/docker/{docker-24.0.7.ebuild => docker-24.0.7-r1.ebuild} (97%) create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-24.0.5-automagic-systemd.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-26.1.0-automagic-systemd.patch diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest index d138746733e..bd1c7e1ad7a 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest @@ -3,3 +3,4 @@ DIST docker-24.0.6.tar.gz 14462378 BLAKE2B bced8e687abac59254a9969df46f323a83562 DIST docker-24.0.7.tar.gz 14658649 BLAKE2B 73bad494640ef8cad2b9b991f94414d8bec4dd88b120b0f8238f74d01269c445270f45410ac2c78af074356c3ba60a7c550ab28f5da5924bdc6d8b99e85a1360 SHA512 08f22fcbce163c3ba8eb21302fd38ff04fd3f27067f5715a3c527ba2efe67f694fac80bfe6d6b5e22d06d98917e1685a9d3d9b58991f221354f637f4a8bdc526 DIST docker-25.0.1.tar.gz 15936052 BLAKE2B 32b24893c9b098b218b16548be074588ad98ed31c8b87ab3fa467f79e33e96ce94f694b86f2920b1166e64c153b1c2482cb602117f673d23f0fc5ccc9b28ae92 SHA512 816c888925cf609e7caa6e491b45614f69fdd7df5ed4f783d8a77cf86d9f46f4f457a95a943aa75ecddf99d080daf78bc0dba55e9648960dc539b1ae62052361 DIST docker-25.0.4.tar.gz 15953567 BLAKE2B 85398de80b14f21d611822a1714ac987d919cf6a2a8059d8a6d41c9b63fd63a04013e47e01021eccdbd107f1a3f8ee55dc1ecbc4b6c9cc20ff2854434e3b6af7 SHA512 07e724de305def32a1e32a724a8041be193745c4f0d549708723cf5d14b840f74648e83e790fd526e00a6c6fdb7e487ee4e5ed0752fbe172d673ab86fe8819d2 +DIST docker-26.1.0.tar.gz 16390376 BLAKE2B 6703e9b153c430bc28aed2e7de7bada0203353d61f0a2ce3d49ddbd017eab196a685dd1ab1e719a6b287813eb5fa4f2c612e2cf1ab95789d6e79ebe5dac7ace3 SHA512 47b6b9af9947016884614b6bc25977e1db281da95c9b8b34c753c21c664a737a893f9fa65d92cbb897735aae3893567e106e6bababb5507e069b1e0981e48d50 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5-r1.ebuild index ac578996d43..2421fd8dd3e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5-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=7 @@ -14,7 +14,7 @@ SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux" +IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux systemd" DEPEND=" acct-group/docker @@ -23,6 +23,7 @@ DEPEND=" btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) " # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies @@ -54,6 +55,7 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 PATCHES=( "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" + "${FILESDIR}/docker-24.0.5-automagic-systemd.patch" ) pkg_setup() { @@ -263,6 +265,8 @@ src_compile() { fi done + export SYSTEMD=$(usex systemd 1 0) + # build binaries ./hack/make.sh dynbinary || die 'dynbinary failed' } diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7-r1.ebuild index 14dddd2aafd..ad913c3d0c3 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7-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=7 @@ -14,7 +14,7 @@ SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux" +IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux systemd" DEPEND=" acct-group/docker @@ -23,6 +23,7 @@ DEPEND=" btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) " # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies @@ -55,6 +56,7 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 PATCHES=( "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" + "${FILESDIR}/docker-24.0.5-automagic-systemd.patch" ) pkg_setup() { @@ -264,6 +266,8 @@ src_compile() { fi done + export SYSTEMD=$(usex systemd 1 0) + # build binaries ./hack/make.sh dynbinary || die 'dynbinary failed' } diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild new file mode 100644 index 00000000000..6aec21b30a7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild @@ -0,0 +1,322 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGO_PN=github.com/docker/docker +MY_PV=${PV/_/-} +inherit golang-vcs-snapshot linux-info systemd udev +GIT_COMMIT=061aa95809be396a6b5542618d8a34b02a21ff77 + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" +IUSE="apparmor btrfs +container-init overlay seccomp selinux systemd" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) +" + +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${DEPEND} + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + >=app-containers/containerd-1.7.15[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.12[apparmor?,seccomp?] + !app-containers/docker-proxy + container-init? ( >=sys-process/tini-0.19.0[static] ) + selinux? ( sec-policy/selinux-docker ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + >=dev-lang/go-1.16.12 + dev-go/go-md2man + virtual/pkgconfig +" +# tests require running dockerd as root and downloading containers +RESTRICT="installsources strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 +PATCHES=( + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" + "${FILESDIR}/docker-26.1.0-automagic-systemd.patch" +) + +pkg_setup() { + # this is based on "contrib/check-config.sh" from upstream's sources + # required features. + CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE + ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER_XT_MATCH_IPVS + ~NETFILTER_XT_MARK + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + " + WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers" + + if kernel_is lt 4 8; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is le 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + " + fi + + if kernel_is le 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is ge 4 15; then + CONFIG_CHECK+=" + ~CGROUP_BPF + " + fi + + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then + CONFIG_CHECK+=" + ~SECCOMP ~SECCOMP_FILTER + " + fi + + CONFIG_CHECK+=" + ~CGROUP_PIDS + " + + if kernel_is lt 6 1; then + CONFIG_CHECK+=" + ~MEMCG_SWAP + " + fi + + if kernel_is le 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NATIVE + " + if kernel_is lt 5 19; then + CONFIG_CHECK+=" + ~LEGACY_VSYSCALL_EMULATE + " + fi + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NONE + " + WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \ + Containers with <=glibc-2.13 will not work" + + if kernel_is le 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + fi + + if kernel_is lt 5; then + CONFIG_CHECK+=" + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED + " + fi + + CONFIG_CHECK+=" + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP ~CGROUP_NET_PRIO + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED + ~IP_NF_TARGET_REDIRECT + ~IP_VS + ~IP_VS_NFCT + ~IP_VS_PROTO_TCP + ~IP_VS_PROTO_UDP + ~IP_VS_RR + " + + if use selinux; then + CONFIG_CHECK+=" + ~SECURITY_SELINUX + " + fi + + if use apparmor; then + CONFIG_CHECK+=" + ~SECURITY_APPARMOR + " + fi + + # if ! is_set EXT4_USE_FOR_EXT2; then + # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY + # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then + # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)" + # fi + # fi + + CONFIG_CHECK+=" + ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + + # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then + # if is_set EXT4_USE_FOR_EXT2; then + # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)" + # else + # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)" + # fi + # fi + + # network drivers + CONFIG_CHECK+=" + ~VXLAN ~BRIDGE_VLAN_FILTERING + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH + ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP + " + if kernel_is le 5 3; then + CONFIG_CHECK+=" + ~INET_XFRM_MODE_TRANSPORT + " + fi + + CONFIG_CHECK+=" + ~IPVLAN + " + CONFIG_CHECK+=" + ~MACVLAN ~DUMMY + " + CONFIG_CHECK+=" + ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP + " + + # storage drivers + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + CONFIG_CHECK+=" + ~OVERLAY_FS + " + + linux-info_pkg_setup +} + +src_compile() { + export DOCKER_GITCOMMIT="${GIT_COMMIT}" + export GOPATH="${WORKDIR}/${P}" + export VERSION=${PV} + tc-export PKG_CONFIG + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + export SYSTEMD=$(usex systemd 1 0) + + # build binaries + ./hack/make.sh dynbinary || die 'dynbinary failed' +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md + dodoc -r docs/* + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot:" + if systemd_is_booted || has_version sys-apps/systemd; then + elog " systemctl enable docker.service" + else + elog " rc-update add docker default" + fi + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog ' usermod -aG docker ' + elog + + if use overlay; then + elog " Overlay storage driver/USEflag has been deprecated" + elog " in favor of overlay2 (enabled unconditionally)" + elog + fi + + if has_version sys-fs/zfs; then + elog " ZFS storage driver is available" + elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" + elog + fi +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-24.0.5-automagic-systemd.patch b/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-24.0.5-automagic-systemd.patch new file mode 100644 index 00000000000..fb764b3b1a9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-24.0.5-automagic-systemd.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/914076 +https://github.com/moby/moby/issues/47770 +--- a/hack/make.sh ++++ b/hack/make.sh +@@ -90,7 +90,7 @@ add_buildtag() { + [[ " $DOCKER_BUILDTAGS" == *" $1_"* ]] || DOCKER_BUILDTAGS+=" $1_$2" + } + +-if ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then ++if [[ -n "$SYSTEMD" ]] && [[ "$SYSTEMD" == 1 ]] && ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then + DOCKER_BUILDTAGS+=" journald" + fi + diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-26.1.0-automagic-systemd.patch b/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-26.1.0-automagic-systemd.patch new file mode 100644 index 00000000000..004dbb9ad3c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/files/docker-26.1.0-automagic-systemd.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/914076 +https://github.com/moby/moby/issues/47770 +--- a/hack/make.sh ++++ b/hack/make.sh +@@ -83,7 +83,7 @@ if [ ! "$GOPATH" ]; then + exit 1 + fi + +-if ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then ++if [[ -n "$SYSTEMD" ]] && [[ "$SYSTEMD" == 1 ]] && ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then + DOCKER_BUILDTAGS+=" journald" + fi + From 555088dd02a888c18b30545a7ca3d8daac88c738 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:49 +0000 Subject: [PATCH 010/239] app-containers/docker-cli: Sync with Gentoo It's from Gentoo commit 9275e04a165a5b92fd08f9dbf277663e8d9e1af5. --- .../app-containers/docker-cli/Manifest | 2 + .../docker-cli/docker-cli-26.1.0.ebuild | 72 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-26.1.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest index b2342a57319..1485c233623 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest @@ -8,3 +8,5 @@ DIST docker-cli-25.0.1-man.tar.xz 78920 BLAKE2B a4b483e7d3b5c5a70d834a49ca04cd94 DIST docker-cli-25.0.1.tar.gz 6860093 BLAKE2B c0745afe7f009b692c91029e9a0a447a1179c2a865b6021f6d48aa2f44e3405084244ca6802c15eb389151fc46fa194efb535ca4c824bfcd92c1ad51371ff1fe SHA512 6443f3184313acf34292f44b60b0de48c4cb141c607be81988aaacca36a6e4b6c862b249a5fba1c7f22b11523b42f3d38939f695e12f64eca305218add92d65f DIST docker-cli-25.0.4-man.tar.xz 78952 BLAKE2B 91315d341c9a6eb42e039dee3ab0b683a2abb2bb3ce44d64fe7b662f03966bfd29ee16a8700368b88a2052df79b5863648df95cf1ddd1ffe9cfe6fb076db8ed8 SHA512 d7d942ee7b979056e0008261d83945be69e837c055b2392b9aa41850b8b003d304df66b06c83d3ff0f4d24b4c7135a370502623e844973768ffb699aab195f19 DIST docker-cli-25.0.4.tar.gz 6862436 BLAKE2B 6045e7080ca87971904e5a50057f420bc1e6ce9cc3038d5110ae067da259375eff17834e250d61c011aebc117034b892063fab2d131b5b8a9e5168602dc7fe83 SHA512 214984791ab67ca3da4bd5308d73a16218a0210da367d380bbe2a3f56eae131e252080aa2ebc3343df642007c9d91de6c0e0200122be9833866e58c87549db0d +DIST docker-cli-26.1.0-man.tar.xz 79004 BLAKE2B 36dcf969c6567680990420d6d177101bf457f7fc1c24dff195ce8b478268335419fba5ff51a7b77bb8c0a6e0e6077d83ddb50f2ecf08bf069be89fc4849afd6e SHA512 36297ee3cbf096112ec41db2cd1d06796ddd27a57c4323e71a727e17d3930102710f643a77df9e68cd9b3294a6bb0fdf5565379e9fae7331e25afcd147b0084f +DIST docker-cli-26.1.0.tar.gz 7213165 BLAKE2B 302236467f2b6f3f46b0f0c75e89c2cef0cd251d36e12f78a67c906cfb85b842b998fd3b07f4a2dfc0a04825a9b105d90f11d176055ded397f2d4e9145639d5d SHA512 1a1e9af1a836765ffa91f7f2e1b27911e2b6b373c308a7db332a7cd1825459ab1c04a93d03c9947b631bead0af21d9f03e06c3a60855cc56ca7039e50e38ba87 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-26.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-26.1.0.ebuild new file mode 100644 index 00000000000..ae27ce232a2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-26.1.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GIT_COMMIT=9714adc6c797755f63053726c56bc1c17c0c9204 + +EGO_PN="github.com/docker/cli" +MY_PV=${PV/_/-} +inherit bash-completion-r1 golang-vcs-snapshot + +DESCRIPTION="the command line binary for docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv ~x86" +IUSE="hardened selinux" + +RDEPEND="! Date: Mon, 17 Jun 2024 07:10:49 +0000 Subject: [PATCH 011/239] app-containers/runc: Sync with Gentoo It's from Gentoo commit 3092ca60e9219793b9df1282548ca692eb0b5c51. --- .../portage-stable/app-containers/runc/runc-1.1.12.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.12.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.12.ebuild index c605e6d0a2c..9a94108c30b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.12.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" IUSE="apparmor hardened +kmem +seccomp selinux test" DEPEND="seccomp? ( sys-libs/libseccomp )" From 3adb03b0ef9c4b011c30de3c8d5c34ff8bf23431 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:54 +0000 Subject: [PATCH 012/239] app-crypt/ccid: Sync with Gentoo It's from Gentoo commit b8b74017825d8e7be72e07c4a2ab68f7df06f023. --- .../app-crypt/ccid/ccid-1.5.4.ebuild | 2 +- .../app-crypt/ccid/ccid-1.5.5.ebuild | 2 +- ...5.4-remove-flex-configure-dependency.patch | 65 +++++++++++++++++-- ...5.5-remove-flex-configure-dependency.patch | 63 ++++++++++++++++-- 4 files changed, 121 insertions(+), 11 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.4.ebuild index 6652a82c38c..005b7c99b1e 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.4.ebuild @@ -29,7 +29,7 @@ PATCHES=( src_prepare() { default - eautoconf + eautoreconf } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild index d701d5ebd5c..a7a1290a079 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/ccid-1.5.5.ebuild @@ -29,7 +29,7 @@ PATCHES=( src_prepare() { default - eautoconf + eautoreconf } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.4-remove-flex-configure-dependency.patch b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.4-remove-flex-configure-dependency.patch index 564532c9ab4..b0c8122b6ec 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.4-remove-flex-configure-dependency.patch +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.4-remove-flex-configure-dependency.patch @@ -1,16 +1,71 @@ -Bug: https://bugs.gentoo.org/221361 -Reverts upstream commit eec7cdf0 +From 5bd94d9670ad10df9f14349dfa098d0a2e40ab08 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 10 Jun 2024 22:02:37 -0400 +Subject: [PATCH] make building work again when flex is not installed +This explicitly reverts commit eec7cdf03dda2bd26e320ead73b91da5a9d86443 +because it was a bad idea. + +The motivating bug report was https://github.com/LudovicRousseau/PCSC/issues/124 +and the issue there occurred when building from a git clone, running +./bootstrap && ./configure && make, and having: + +- configure succeed +- make "succeeeds" at having $LEX run, do nothing and fail to generate + required sources +- compiling nonexistent files fail with highly confusing errors + +The autoconf manual has always documented the correct way to handle this +is to check if lex is unavailable, and set it to the famous automake +wrapper "missing", which checks if a program is missing at build time +rather than at ./configure time, and fails the build if the rule cannot +be run. This means: + +When building from a git clone, if flex is not available then +- configure succeeds +- make fails to run $LEX, and tells you to install flex + +The previous attempt to fix the highly confusing error instead resulted +in configure erroring out, and saying flex is required, even when it is +*not* required because a `make dist` tarball was used, which contains +pregenerated tokenparser.c for the express purpose of making flex +unnecessary. + +See autoconf documentation on $LEX: +https://www.gnu.org/software/autoconf/manual/autoconf-2.72/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1 + +And automake documentation on why to use "missing": +https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html + +Signed-off-by: Eli Schwartz +--- + configure.ac | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d291f2b..a5af2eb 100644 --- a/configure.ac +++ b/configure.ac -@@ -32,11 +32,6 @@ AC_PROG_CPP - AC_PROG_INSTALL +@@ -33,10 +33,10 @@ AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LN_S --AC_PROG_LEX([noyywrap]) + AC_PROG_LEX([noyywrap]) -if test $LEX = ":" -then - AC_MSG_ERROR([no lex or flex found]) -fi ++AS_IF([test $LEX = ":"], [ ++ AM_MISSING_PROG(MISSINGLEX, [flex]) ++ LEX=$MISSINGLEX] ++) AM_PROG_AR PKG_PROG_PKG_CONFIG + +@@ -354,4 +354,3 @@ AC_CONFIG_FILES(Makefile + examples/Makefile) + + AC_OUTPUT +- +-- +2.44.2 + diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch index a124c50d116..1ffb74fc61a 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch +++ b/sdk_container/src/third_party/portage-stable/app-crypt/ccid/files/ccid-1.5.5-remove-flex-configure-dependency.patch @@ -1,13 +1,68 @@ -Bug: https://bugs.gentoo.org/221361 -Reverts upstream commit eec7cdf0 & 41270c2 +From 7e2207a07979b6c1b206024e83e22ca2bbd4e17c Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 10 Jun 2024 22:02:37 -0400 +Subject: [PATCH] make building work again when flex is not installed +This explicitly reverts commit eec7cdf03dda2bd26e320ead73b91da5a9d86443 +because it was a bad idea. + +The motivating bug report was https://github.com/LudovicRousseau/PCSC/issues/124 +and the issue there occurred when building from a git clone, running +./bootstrap && ./configure && make, and having: + +- configure succeed +- make "succeeeds" at having $LEX run, do nothing and fail to generate + required sources +- compiling nonexistent files fail with highly confusing errors + +The autoconf manual has always documented the correct way to handle this +is to check if lex is unavailable, and set it to the famous automake +wrapper "missing", which checks if a program is missing at build time +rather than at ./configure time, and fails the build if the rule cannot +be run. This means: + +When building from a git clone, if flex is not available then +- configure succeeds +- make fails to run $LEX, and tells you to install flex + +The previous attempt to fix the highly confusing error instead resulted +in configure erroring out, and saying flex is required, even when it is +*not* required because a `make dist` tarball was used, which contains +pregenerated tokenparser.c for the express purpose of making flex +unnecessary. + +See autoconf documentation on $LEX: +https://www.gnu.org/software/autoconf/manual/autoconf-2.72/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1 + +And automake documentation on why to use "missing": +https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html + +Signed-off-by: Eli Schwartz +--- + configure.ac | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index eb2370f..c012f2a 100644 --- a/configure.ac +++ b/configure.ac -@@ -33,7 +33,5 @@ +@@ -33,7 +33,10 @@ AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LN_S --AC_PROG_LEX([noyywrap]) + AC_PROG_LEX([noyywrap]) -AS_IF([test $LEX = ":"], [AC_MSG_ERROR([no lex or flex found])]) ++AS_IF([test $LEX = ":"], [ ++ AM_MISSING_PROG(MISSINGLEX, [flex]) ++ LEX=$MISSINGLEX] ++) AM_PROG_AR PKG_PROG_PKG_CONFIG + +@@ -331,4 +334,3 @@ AC_CONFIG_FILES(Makefile + examples/Makefile) + + AC_OUTPUT +- +-- +2.44.2 From 35d61edd2494bdbaa142c1bf4ce5b849fecdb27e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:56 +0000 Subject: [PATCH 013/239] app-crypt/gnupg: Sync with Gentoo It's from Gentoo commit 6623e3e2300ca16592af17934099f88f5cd4e979. --- .../portage-stable/app-crypt/gnupg/Manifest | 2 + .../app-crypt/gnupg/gnupg-2.2.43.ebuild | 181 ++++++++++++++++++ .../app-crypt/gnupg/gnupg-2.4.5.ebuild | 2 +- 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43.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 3a24371b36e..e2facd7b630 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest @@ -1,5 +1,7 @@ DIST gnupg-2.2.42.tar.bz2 7434291 BLAKE2B 5f7f01f31949e5258d638fbff81fa641e5c167e6eaf32c55eb187d4a31b31cd4fe6e51c622e74d8544c4f95c75484e15117f26a8cf26055ff6813d75e54f2b8a SHA512 9c59d034f428d42323b5520e1a8984acc1505ba1d96d90f00e17b24aa91660b2dc64e1a3ceb044c56f39b4c402a77c7e0b226c65218c23c094781b4ef51e2eb5 DIST gnupg-2.2.42.tar.bz2.sig 238 BLAKE2B 251ad0a832042ceb93b0edfda8652104bfb463e291322f22f0ab0d9b35606c3589be7a6f3e9e2aac8f6ac368a7d11840ab83b29997587dc65685de9f2dec3fee SHA512 7073bfc920c571680a1de57b4e6cd83cde24ccb3b5f592602b0c32fd762eef497027b08745044c9f41130ca99bb7ec77222568c2d0a1099d3c1c15137e0221d7 +DIST gnupg-2.2.43.tar.bz2 7435426 BLAKE2B ddf5c89d317e6ce8d1a5348f0ef81ffa1c61c995ddb312b28410f04502b01eae307cd943bee7182d28d4efccac394c91053f8e33756b00166bf66b2bf4a791a7 SHA512 0d2e733b6659c116c043db5252de4de33d6a70c16172d1fe9b779ba413ba9fcb64bbfdcc4686d0e87904561fc62d1aa765144e0586957a500287c175ee37bd49 +DIST gnupg-2.2.43.tar.bz2.sig 119 BLAKE2B 38fd3790f5065d67d6b5323ef7abbb79facf00e5b9daba98e5078302fc3887423173ba434c7eff1e64faecef88d87aab9c057c570d6e96e8d0808f07f32d8fa1 SHA512 47c5354869b1825e56fa4276826fcde1ee41c70aab9b411686cf2733f4d1df9c006049e49e066b22e475bd37b337f9ffc97f8bbca0c62c0f32296909464a0643 DIST gnupg-2.4.4.tar.bz2 7886036 BLAKE2B 02661e89f0358be09fa3e71e7235b764a7dbda62a48a0c8c7a4e6c9919c3b37d54ead50b930af58f8f2fdb87861b849d3f3751e95cbedf46bdfd76caa90c4db4 SHA512 3d1a3b08d1ce2319d238d8be96591e418ede1dc0b4ede33a4cc2fe40e9c56d5bbc27b1984736d8a786e7f292ddbc836846a8bdb4bf89f064e953c37cb54b94ef DIST gnupg-2.4.4.tar.bz2.sig 237 BLAKE2B 6ee5878c36fbec747a6d84a268903749d862aab50dd7f9a389aabbf7b94dec1c424615f520b5f4a6d44e02093e8d9ad0b08d0c6cf6fd8886d8c174ce9faac99c SHA512 3ae7b6833576df851901a7619459b514bb82faeed350c864a57a782719d21f694d9ced5a3445c81dfa584a0302f87fedc660b08ea97bb8b861e76d7c5b46d07f DIST gnupg-2.4.5.tar.bz2 7889060 BLAKE2B a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b18358c962781b5c06de1545117b13038a4655ae627c36bfd2e5fee127692df8729d6b23e1b31051ab6d897b733 SHA512 4d54744f09399c5899144d0cb5fdc2756e45b058db41b9ea9df3be03e80b914509e16ef35aa0248e7561185b80f7a5f9fd6afcab8ccff75ff82ed555448a38ff diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43.ebuild new file mode 100644 index 00000000000..1273cd75d34 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43.ebuild @@ -0,0 +1,181 @@ +# 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 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server" +RESTRICT="!test? ( test )" + +# Existence of executables is checked during configuration. +# Note: On each bump, update dep bounds on each version from configure.ac! +DEPEND=" + >=dev-libs/libassuan-2.5.0 + >=dev-libs/libgcrypt-1.8.0:= + >=dev-libs/libgpg-error-1.38 + >=dev-libs/libksba-1.4.0 + >=dev-libs/npth-1.2 + >=net-misc/curl-7.10 + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + ldap? ( net-nds/openldap:= ) + readline? ( sys-libs/readline:= ) + smartcard? ( usb? ( virtual/libusb:1 ) ) + ssl? ( >=net-libs/gnutls-3.0:= ) + tofu? ( >=dev-db/sqlite-3.7 ) +" +RDEPEND=" + ${DEPEND} + nls? ( virtual/libintl ) + selinux? ( sec-policy/selinux-gpg ) + wks-server? ( virtual/mta ) +" +PDEPEND=" + app-crypt/pinentry +" +BDEPEND=" + virtual/pkgconfig + doc? ( sys-apps/texinfo ) + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +DOCS=( + ChangeLog NEWS README THANKS TODO VERSION + doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch +) + +src_prepare() { + default + + # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, + # idea borrowed from libdbus, see + # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 + # + # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', + # which in turn requires discovery in Autoconf, something that upstream deeply resents. + sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ + -i doc/examples/systemd-user/gpg-agent-ssh.socket || die +} + +my_src_configure() { + # Upstream don't support LTO, bug #854222. + filter-lto + + local myconf=( + $(use_enable bzip2) + $(use_enable nls) + $(use_enable smartcard scdaemon) + $(use_enable ssl gnutls) + $(use_enable test all-tests) + $(use_enable test tests) + $(use_enable tofu) + $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') + $(use_enable wks-server wks-tools) + $(use_with ldap) + $(use_with readline) + + # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. + # As of GnuPG 2.3, the mailprog substitution is used for the binary called + # by wks-client & wks-server; and if it's autodetected but not not exist at + # build time, then then 'gpg-wks-client --send' functionality will not + # work. This has an unwanted side-effect in stage3 builds: there was a + # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating + # the build where the install guide previously make the user chose the + # logger & mta early in the install. + --with-mailprog=/usr/libexec/sendmail + + --disable-ntbtls + --enable-gpg + --enable-gpgsm + --enable-large-secmem + + CC_FOR_BUILD="$(tc-getBUILD_CC)" + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config" + LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config" + LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config" + NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config" + + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + if use prefix && use usb; then + # bug #649598 + append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" + fi + + # bug #663142 + if use user-socket; then + myconf+=( --enable-run-gnupg-user-socket ) + fi + + # glib fails and picks up clang's internal stdint.h causing weird errors + tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h + + econf "${myconf[@]}" +} + +my_src_compile() { + default + + use doc && emake -C doc html +} + +my_src_test() { + export TESTFLAGS="--parallel=$(makeopts_jobs)" + + default +} + +my_src_install() { + emake DESTDIR="${D}" install + + use tools && dobin \ + tools/{gpg-zip,gpgconf,gpgsplit,gpg-check-pattern} \ + tools/make-dns-cert + + dosym gpg /usr/bin/gpg2 + dosym gpgv /usr/bin/gpgv2 + echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die + echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die + + use doc && dodoc doc/gnupg.html/* +} + +my_src_install_all() { + einstalldocs + + use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} + + use doc && dodoc doc/*.png + + systemd_douserunit doc/examples/systemd-user/*.{service,socket} +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5.ebuild index 65e00a4fa82..2620bc58381 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" From 23387c45a5652e0062455861c242f3eedc2fc1d3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:10:59 +0000 Subject: [PATCH 014/239] app-crypt/mhash: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../portage-stable/app-crypt/mhash/mhash-0.9.9.9-r3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 092842a0b70..9a04113bf6b 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 @@ -7,7 +7,7 @@ inherit autotools DESCRIPTION="Library providing a uniform interface to a large number of hash algorithms" HOMEPAGE="https://mhash.sourceforge.net/" -SRC_URI="mirror://sourceforge/mhash/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/mhash/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" From 3c1dc51964924ccd3e4f06bd1abf64780950790e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:00 +0000 Subject: [PATCH 015/239] app-crypt/rhash: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../portage-stable/app-crypt/rhash/rhash-1.4.3.ebuild | 4 ++-- .../portage-stable/app-crypt/rhash/rhash-1.4.4-r1.ebuild | 2 +- .../portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.3.ebuild index 18d58ce2d82..416de743289 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.3.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 @@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs multilib-minimal DESCRIPTION="Console utility and library for computing and verifying file hash sums" HOMEPAGE="https://rhash.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}-src.tar.gz" LICENSE="0BSD" SLOT="0" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4-r1.ebuild index 02a4f11e44a..0f75fbc1bd3 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4-r1.ebuild @@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs multilib-minimal DESCRIPTION="Console utility and library for computing and verifying file hash sums" HOMEPAGE="https://rhash.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}-src.tar.gz" LICENSE="0BSD" SLOT="0/1" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild index 1477056806a..01f9f0849a5 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.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 @@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs multilib-minimal DESCRIPTION="Console utility and library for computing and verifying file hash sums" HOMEPAGE="https://rhash.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}-src.tar.gz" LICENSE="0BSD" SLOT="0/1" From bcf922f94d97cf79f371854fed3cc101a74f2b85 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:03 +0000 Subject: [PATCH 016/239] app-crypt/tpm2-tools: Sync with Gentoo It's from Gentoo commit 4a4b1c938172b65f3fdb5ecc9b5801555dcb23ce. --- .../app-crypt/tpm2-tools/Manifest | 2 + .../tpm2-tools/tpm2-tools-5.6.1.ebuild | 87 +++++++++++++++++++ .../tpm2-tools/tpm2-tools-5.7.ebuild | 83 ++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.6.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest index f9a3d2cb376..de6dabd7aff 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest @@ -1,3 +1,5 @@ DIST tpm2-tools-5.5.tar.gz 1241390 BLAKE2B 2225f9e0835988351f84ed06f914616e25fd65bacaa93b51d0bb04185314efb9a6f60eb3539b250f54b2c2ba590f1b76594df3e625e45c8d37e38d13371bea26 SHA512 24f72a3e9840d531d900e96771a863baae1c71a76fcad0fda8020dff06acd8e3b65b86401ace21f034766403caf9ae97ce710ff6013bb7ed25657a6ecf325470 DIST tpm2-tools-5.6-tpm2_eventlog-Create-raw-and-pretty-print-format-for.patch.xz 47916 BLAKE2B 1bbc84f58ad46507417c89be1b4ce2450fb33cf3abe8f080c23890d96be85379f135ef1dbf4b580e1a386fa6d5ebc4fbaab351b5238bbf1011bb97b0f49a847b SHA512 3db0daa39a8dc756d7cb25e3673149dc3eeafd7410f2c6537464431b501e3704a886d9b7a9acd71440d6d419649dd471fd6f9247d593c89a30b05774a8d1b3de +DIST tpm2-tools-5.6.1.tar.gz 1255474 BLAKE2B 7fda0084283bbd592c3323605f598ebb77ba267ebb900e62b2eff2742257378d95f99b48aab090f80438a6c86f168e1863f9350c18571a23e17eea90a1b9bdd9 SHA512 7a5903db0578a1364c44ca8ac3672c3cae745e2b0ab66ddf6a91fdb75146441af32dfe4ccad6825bea343fea74bed97f9e45bf752594ee56f32e4cb7be2bed33 DIST tpm2-tools-5.6.tar.gz 1266731 BLAKE2B fe88722c26d62128cd6dfbdd8ef2568656a75fe27b1443fed28387d0db1f50b7d0651819d34dfa98acde785b4cfb4e7c11420b110bb5333ed2bb6b67cdd4fc70 SHA512 14216f29ed3ecca5fbe356ed3744c8b6b25a62ff11b2aed596d11101328c8bfd29a02f6ca5a218f9a4477a5e9648c50f0ae96e71de0b4ff5ea1f98ebeeb73cd7 +DIST tpm2-tools-5.7.tar.gz 1339035 BLAKE2B 3984f25176e0b092793a33a0b40b396bc650de989e0b600989d11439cccdf7bc410535c01e1a0e985ab67b36b63eb02d392342aa1746b86727ba22d67d522389 SHA512 629b0b1826815877f452935285f7b3fe0f32bd24fe9130eb169a2dc9b7b254a737797043af9eea68be706b87c32ab2b7189151360c9c00bc5c31dce62a799670 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.6.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.6.1.ebuild new file mode 100644 index 00000000000..f8ad3a1b74c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.6.1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools bash-completion-r1 flag-o-matic python-any-r1 + +DESCRIPTION="Tools for the TPM 2.0 TSS" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tools" +SRC_URI="https://github.com/tpm2-software/tpm2-tools/releases/download/${PV}/${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/tpm2-tools-5.6-tpm2_eventlog-Create-raw-and-pretty-print-format-for.patch.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc64 x86" +IUSE="+fapi test" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-crypt/tpm2-tss-3.0.1:=[fapi?] + dev-libs/openssl:= + net-misc/curl + sys-libs/efivar:=" +DEPEND="${RDEPEND} + test? ( + app-crypt/swtpm + app-crypt/tpm2-abrmd + dev-util/cmocka + )" +BDEPEND="virtual/pkgconfig + dev-build/autoconf-archive + test? ( + app-editors/vim-core + dev-tcltk/expect + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + ) + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.6-test-eventlog-fix-check-eventlog.sh-if-efivar.h-exis.patch" + "${WORKDIR}/${PN}-5.6-tpm2_eventlog-Create-raw-and-pretty-print-format-for.patch" + "${FILESDIR}/${PN}-5.6-Makefile-am-Dont-require-pandoc-for-tests.patch" + "${FILESDIR}/${PN}-5.6-test-eventlog.sh-Fix-accidental-deletions.patch" +) + +python_check_deps() { + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # tests fail with LTO enabbled. See bug 865275 and 865277 + filter-lto + econf \ + $(use_enable fapi) \ + $(use_enable test unit) \ + --with-bashcompdir=$(get_bashcompdir) \ + --enable-hardening +} + +src_install() { + default + mv "${ED}"/$(get_bashcompdir)/tpm2{_completion.bash,} || die + local utils=( "${ED}"/usr/bin/tpm2_* ) + utils=("${utils[@]##*/}") + # these utiltites don't have bash completions + local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest\ + tpm2_sessionconfig tpm2_tr_encode) + mapfile -d $'\0' -t utils < <(printf '%s\0' "${utils[@]}" | grep -Ezvw "${nobashcomp[@]/#/-e}") + bashcomp_alias tpm2 "${utils[@]}" +} + +src_test() { +# This hook doesn't get invoked consisently, so call it manually +# else one of the tests will fail + emake prepare-check + default +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.ebuild new file mode 100644 index 00000000000..f0c382e9893 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools bash-completion-r1 flag-o-matic python-any-r1 + +DESCRIPTION="Tools for the TPM 2.0 TSS" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tools" +SRC_URI="https://github.com/tpm2-software/tpm2-tools/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+fapi test" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-crypt/tpm2-tss-3.0.1:=[fapi?] + dev-libs/openssl:= + net-misc/curl + sys-libs/efivar:=" +DEPEND="${RDEPEND} + test? ( + app-crypt/swtpm + app-crypt/tpm2-abrmd + dev-util/cmocka + )" +BDEPEND="virtual/pkgconfig + dev-build/autoconf-archive + test? ( + app-editors/vim-core + dev-tcltk/expect + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + ) + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.6-Makefile-am-Dont-require-pandoc-for-tests.patch" +) + +python_check_deps() { + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # tests fail with LTO enabbled. See bug 865275 and 865277 + filter-lto + econf \ + $(use_enable fapi) \ + $(use_enable test unit) \ + --with-bashcompdir=$(get_bashcompdir) \ + --enable-hardening +} + +src_install() { + default + mv "${ED}"/$(get_bashcompdir)/tpm2{_completion.bash,} || die + local utils=( "${ED}"/usr/bin/tpm2_* ) + utils=("${utils[@]##*/}") + # these utiltites don't have bash completions + local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest\ + tpm2_sessionconfig tpm2_tr_encode) + mapfile -d $'\0' -t utils < <(printf '%s\0' "${utils[@]}" | grep -Ezvw "${nobashcomp[@]/#/-e}") + bashcomp_alias tpm2 "${utils[@]}" +} + +src_test() { +# This hook doesn't get invoked consisently, so call it manually +# else one of the tests will fail + emake prepare-check + default +} From 4e139a660db8c58434381dbab5e86192bb8ad2ff Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:03 +0000 Subject: [PATCH 017/239] app-crypt/tpm2-tss: Sync with Gentoo It's from Gentoo commit 17fcc7c9c7ac89cf17d2f4b7a6f2c0a8dd2bc909. --- .../app-crypt/tpm2-tss/Manifest | 2 + ...ss-4.0.2-Dont-install-files-into-run.patch | 26 +++++ ...m2-tss-4.0.2-Hide-write-all-function.patch | 24 ++++ .../tpm2-tss/tpm2-tss-4.0.2-r1.ebuild | 110 ++++++++++++++++++ .../app-crypt/tpm2-tss/tpm2-tss-4.0.2.ebuild | 109 +++++++++++++++++ .../app-crypt/tpm2-tss/tpm2-tss-4.1.3.ebuild | 110 ++++++++++++++++++ 6 files changed, 381 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Dont-install-files-into-run.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Hide-write-all-function.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest index e5a285d2b76..e08c54ad4a1 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest @@ -1 +1,3 @@ DIST tpm2-tss-4.0.1.tar.gz 1787139 BLAKE2B 627cdefeff6c64148f9da1425922a0a7a72debcee4930ffab208a3b9b66127c2d4f923e3e105bfd45410cdb13c19cb40cc15a720e9a05dd32ff622dabf5fcc32 SHA512 ed6ddc52cb0e8c1082a4bb001e1225eb9905fd2380da88db5fd69ff5b5d9d43a93eb67b634e49d53eb5d586832da3aef2c4c7e5f18d51bb730481f8913319d7d +DIST tpm2-tss-4.0.2.tar.gz 1833499 BLAKE2B 91e70bcc66099fe5d7d53cf98a2c46582e96f204fc7bcb89c46497cc811ca1eb39c752be077a6e8132fc980a6581a2df075fcc6670d646d1270e642c144f043c SHA512 e92038de985ac928bf87a707b0f9b190aaa936827923ea5e3cbdda216cbc6cf8590af650c59c2e1e420ad9914dc6c1f14232ab7930ffc1a50fb0c49fdef6d3f0 +DIST tpm2-tss-4.1.3.tar.gz 1902009 BLAKE2B d8592f4797a4254883667476efb2fdf3c95547d9c472fe3557031e934c725e20e3cc70a9b7b41eaddac71e8d9f94beb5fbb39aec5d81b3eeb1b612df27312923 SHA512 c9a5e1e90f6545a466d43790ab2d67c52c4b788a0b21f8212575e27e04e0ac663105863fe00824e08a4e56a4f8c6b00c48c1a1c132531b8569cd5042c3bb9e69 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Dont-install-files-into-run.patch b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Dont-install-files-into-run.patch new file mode 100644 index 00000000000..022cd6145c1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Dont-install-files-into-run.patch @@ -0,0 +1,26 @@ +diff --git a/Makefile.am b/Makefile.am +index 07b7a2bf..e478fc77 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -770,13 +770,11 @@ define set_tss_permissions + endef + + define make_fapi_dirs +- ($(call make_tss_dir,$(DESTDIR)$(runstatedir)/tpm2-tss/eventlog/) || true) && \ + ($(call make_tss_dir,$(DESTDIR)$(localstatedir)/lib/tpm2-tss/system/keystore/)) + endef + + define set_fapi_permissions + if test -z "${DESTDIR}"; then \ +- ($(call set_tss_permissions,$(DESTDIR)$(runstatedir)/tpm2-tss)) && \ + ($(call set_tss_permissions,$(DESTDIR)$(localstatedir)/lib/tpm2-tss)) \ + fi + endef +@@ -787,7 +785,6 @@ endef + + define check_fapi_dirs + if test -z "${DESTDIR}"; then \ +- ($(call check_dir,$(DESTDIR)$(runstatedir)/tpm2-tss/eventlog/)) && \ + ($(call check_dir,$(DESTDIR)$(localstatedir)/lib/tpm2-tss/system/keystore/)) \ + fi; + endef diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Hide-write-all-function.patch b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Hide-write-all-function.patch new file mode 100644 index 00000000000..bd682df53ba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.0.2-Hide-write-all-function.patch @@ -0,0 +1,24 @@ +diff --git a/src/util/io.c b/src/util/io.c +index c6446826..50c0fd6c 100644 +--- a/src/util/io.c ++++ b/src/util/io.c +@@ -81,6 +81,7 @@ read_all ( + return recvd_total; + } + ++__attribute__ ((visibility("hidden"))) + ssize_t + write_all ( + SOCKET fd, +diff --git a/src/util/io.h b/src/util/io.h +index 25dd5c45..fec391d8 100644 +--- a/src/util/io.h ++++ b/src/util/io.h +@@ -70,6 +70,7 @@ read_all ( + * are detected. This is currently limited to interrupted system calls and + * short writes. + */ ++__attribute__ ((visibility("hidden"))) + ssize_t + write_all ( + SOCKET fd, diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2-r1.ebuild new file mode 100644 index 00000000000..d9036d26bad --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2-r1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" + "${FILESDIR}/${PN}-4.0.1-Make-sysusers-and-tmpfiles-optional.patch" + "${FILESDIR}/${PN}-4.0.1-Do-not-consider-failures-to-write-files-in-sys-hard.patch" + "${FILESDIR}/${PN}-4.0.2-Hide-write-all-function.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2.ebuild new file mode 100644 index 00000000000..40a410cf2a9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.0.2.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" + "${FILESDIR}/${PN}-4.0.1-Make-sysusers-and-tmpfiles-optional.patch" + "${FILESDIR}/${PN}-4.0.1-Do-not-consider-failures-to-write-files-in-sys-hard.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3.ebuild new file mode 100644 index 00000000000..79327c45219 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-tcti-spi-ltt2go + --disable-tcti-spi-ftdi + --disable-tcti-i2c-ftdi + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} From 90de75c6d5e325590ebe3fc53948260e07cefb80 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:03 +0000 Subject: [PATCH 018/239] app-doc/eclass-manpages: Sync with Gentoo It's from Gentoo commit 405f4161103e0793bfaf90b26dacd4241eb578e0. --- .../portage-stable/app-doc/eclass-manpages/Manifest | 4 ++-- ...npages-20240207.ebuild => eclass-manpages-20240512.ebuild} | 0 ...npages-20240229.ebuild => eclass-manpages-20240614.ebuild} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/{eclass-manpages-20240207.ebuild => eclass-manpages-20240512.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/{eclass-manpages-20240229.ebuild => eclass-manpages-20240614.ebuild} (100%) 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 bd5fdac0c9b..94a3276c6fb 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-20240207.tar.xz 446596 BLAKE2B 5d9698a72586a2a33149f02fb70958d44dc20524de104c5c3f3f306d9e3f0f9a027b4365f5426cd261628c5561599a25b325fe2cd63999aaacc19be8c8cb8094 SHA512 a94d0da7110a8cdfbac4e7a469ca304f6ed454513294f573edd52cda5de56dc2e78589aa7458804971ba1a92a4c6ec814ec97b78bc7ded0643cb419478975022 -DIST eclass-manpages-20240229.tar.xz 448264 BLAKE2B ce7692c14f9f051b991ae292fd8329de2457cb63c803fec8a16677f92fd2214c695bf077309c16aa0a97318bb99ff83e8ebe2028865b6ac3740e480b00646c8c SHA512 eaa545b2dcbfafef140f8682afde24ae0a225ca666ca353191a432ece64bb85f759955cfcb1b26c665b1e760835963c3c566f1bd899f2e56b139a700d1f3fafb +DIST eclass-manpages-20240512.tar.xz 452732 BLAKE2B e39fe919e90d24247ff1a5153359d4bc9dae8d4d8a47c0d2231a6364e64b046f813d507aa95cf5b7fca9de862678d7d584381fa94d6a4019cc07d5474d73f8e3 SHA512 a798cd71eb33a63bc8ceeaf1103f130425e4b82d379d413ce09605f4c9648447d01f97875cfe2efdd09a2dace7a73bf3a74f223168da8035ef13f1a52dd58677 +DIST eclass-manpages-20240614.tar.xz 450756 BLAKE2B 50435ab646a238f47cc96573af3d8ed53e14b700c9284253a2a9efbda40fc058f475a9900e56c3d6575ceafa4385eec89d9d1df87dd5ec94425c69daf258ab0e SHA512 80c0ba3eac7affc670f10d2eca58293bb79de94cc3b9d2349dd9b2227efd02b08d7e8a095161b484f87b3e23042afea73fadbd0cff867006bfbbb748a5051c55 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240207.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240512.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240207.ebuild rename to sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240512.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240229.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240614.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240229.ebuild rename to sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240614.ebuild From f70862d88f8d812edfa6ae94929b89dc068358c7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:03 +0000 Subject: [PATCH 019/239] app-editors/nano: Sync with Gentoo It's from Gentoo commit a36322d9774f5470fdd199b28f8e60d280179acc. --- .../portage-stable/app-editors/nano/Manifest | 1 + .../app-editors/nano/nano-8.0.ebuild | 105 ++++++++++++++++++ .../app-editors/nano/nano-9999.ebuild | 22 ++-- 3 files changed, 114 insertions(+), 14 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest index dbc18247066..85592ebc6a8 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest @@ -1 +1,2 @@ DIST nano-7.2.tar.xz 1608444 BLAKE2B c7e3b18383e9f2f9db1f6059c875ddd164d730ea0e5b363e66fb8e5f30e8598ba49a5afd8eea3a55e295f1e43fb136019f60cc9154ae276c5d589002c0e5298a SHA512 a6dfa70edab62e439a9a998ca214f2415d57dbdc01766ad2e4b14048836557a32755f8b09de13c6a89023f215b61d2854017b389eae8d097ca6f3ba73ce2f583 +DIST nano-8.0.tar.xz 1666272 BLAKE2B ba36182da059a3ee4c1fc60a200dee26f47cc6b1441b7ff665b82871f2f8fcac054f6adf82966d353234141bf9c521518da8fa967aca28307bccf43e015ddaea SHA512 86c484428b8805768fd580d0f62aa32ce8f588f4beedcdd35a4014506b562928c7a2fa6487aa0d853b4c9c1639a4d186f46b4e96721568ff81191d5098403ca8 diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild new file mode 100644 index 00000000000..e220a0fdd25 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.0.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git" + inherit autotools git-r3 +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 ~ia64 ~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" +HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide" + +LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )" +SLOT="0" +IUSE="debug justify magic minimal ncurses nls +spell unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.9-r1:=[unicode(+)?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + nls? ( sys-devel/gettext ) + virtual/pkgconfig +" + +REQUIRED_USE=" + magic? ( !minimal ) +" + +# gnulib FPs +QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert ) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + fi +} + +src_configure() { + local myconfargs=( + --bindir="${EPREFIX}"/bin + --htmldir=/trash + $(use_enable !minimal color) + $(use_enable !minimal multibuffer) + $(use_enable !minimal nanorc) + $(use_enable magic libmagic) + $(use_enable spell speller) + $(use_enable justify) + $(use_enable debug) + $(use_enable nls) + $(use_enable unicode utf8) + $(use_enable minimal tiny) + ) + + econf "${myconfargs[@]}" +} + +src_install() { + default + + # Don't use "${ED}" here or things break (#654534) + rm -r "${D}"/trash || die + + dodoc doc/sample.nanorc + docinto html + dodoc doc/faq.html + insinto /etc + newins doc/sample.nanorc nanorc + + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + + # Since nano-5.0 these are no longer being "enabled" by default + # (bug #736848) + local rcdir="/usr/share/nano" + mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die + rmdir "${ED}"${rcdir}/extra || die + + insinto "${rcdir}" + newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc + fi +} + +pkg_postrm() { + [[ -n ${REPLACED_BY_VERSION} ]] && return + + local e + e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}") + if [[ ${e##*/} == nano ]]; then + ewarn "The EDITOR variable is still set to ${e}." + ewarn "You can update it with \"eselect editor\"." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild index 80da99c5100..426c8767215 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9999.ebuild @@ -1,10 +1,8 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit flag-o-matic - if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git" inherit autotools git-r3 @@ -19,19 +17,14 @@ HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide" LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )" SLOT="0" -IUSE="debug justify magic minimal ncurses nls +spell static unicode" +IUSE="debug justify magic minimal ncurses nls +spell unicode" -LIB_DEPEND=" +RDEPEND=" >=sys-libs/ncurses-5.9-r1:=[unicode(+)?] - sys-libs/ncurses:=[static-libs(+)] - magic? ( sys-apps/file[static-libs(+)] ) + magic? ( sys-apps/file ) nls? ( virtual/libintl ) " -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" +DEPEND="${RDEPEND}" BDEPEND=" nls? ( sys-devel/gettext ) virtual/pkgconfig @@ -41,6 +34,9 @@ REQUIRED_USE=" magic? ( !minimal ) " +# gnulib FPs +QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert ) + src_prepare() { default @@ -50,8 +46,6 @@ src_prepare() { } src_configure() { - use static && append-ldflags -static - local myconfargs=( --bindir="${EPREFIX}"/bin --htmldir=/trash From 6930cbcd87dfa63b1084f5b0d59b71a3b69d1b7f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:04 +0000 Subject: [PATCH 020/239] app-editors/vim: Sync with Gentoo It's from Gentoo commit 839f3b1c09198dd7af744b725da95b7277b0060b. --- .../portage-stable/app-editors/vim/Manifest | 8 +- .../app-editors/vim/vim-9.0.1503.ebuild | 371 ------------------ .../app-editors/vim/vim-9.0.1627.ebuild | 370 ----------------- .../app-editors/vim/vim-9.0.1777.ebuild | 370 ----------------- ...im-9.0.2092.ebuild => vim-9.1.0366.ebuild} | 17 +- ...im-9.0.1678.ebuild => vim-9.1.0470.ebuild} | 21 +- .../app-editors/vim/vim-9999.ebuild | 16 +- 7 files changed, 36 insertions(+), 1137 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1503.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1627.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1777.ebuild rename sdk_container/src/third_party/portage-stable/app-editors/vim/{vim-9.0.2092.ebuild => vim-9.1.0366.ebuild} (96%) rename sdk_container/src/third_party/portage-stable/app-editors/vim/{vim-9.0.1678.ebuild => vim-9.1.0470.ebuild} (95%) 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 c7237f37737..67344428f5b 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 @@ -1,8 +1,4 @@ -DIST vim-9.0.1503.tar.gz 17010118 BLAKE2B 4f74d52a3fcf7875031378f86fc3411c64c92e4b82bee371148b19042478d3f974793477c3fc2d9ddff9233fa1ec3c864962880840867544e92464f1a0876f51 SHA512 2f3242ec0f79cf6affc2f7fdaf689c35d8597706ac1689dbbdc01352676199605bb37f22bd901f1e8d59f312237d3fce4bee8b979b28a744ea9e40558621980e -DIST vim-9.0.1627.tar.gz 17048824 BLAKE2B 3fa583cf676c2388641b1240ed4b90c2e42cd9f50ea44a943cce86bba4bf278adf54837bb5c4530471fd57cfcd08cd39be78b17a5e907435a02dc5874ff7f571 SHA512 d2fb863e03d4ad773fcba8917f3cd1e373f661aa8b8a20bd3e416a73788997d31c6dd106a1bf59d72475bb577bbe6d52eb079fff9c7152d96bb6e5c9aa6e2f3b -DIST vim-9.0.1678.tar.gz 17069551 BLAKE2B e83cea77513eb0d8b3ed02bd508333fb97357d2d7a91a90c5a9376b03b444a0b65b6ce04b14e191e33445132845af71193ab140ea615bb03a2c24a904b726cb4 SHA512 c5ffb7ca56ff4eee70f06599dd84db2eb28ddadac229d4f7faf01174805923636a4ce61486bdf5a47910c929613dc9b9290dfc9288006222b4bc4ac891548bb8 -DIST vim-9.0.1777.tar.gz 17177555 BLAKE2B ad6d785f4c6b112199bd2f34e0b7f6070615fba8dce25354a7ded40ff8536388e7b7120c1f2fad790c8dc7134d74649697b6e95777e79dcf1e208ead81b229d6 SHA512 702781b6a9cf540d22aa0bc1e25a4fb785ff2b22e9c6a59643e87fd6f7b3e5444adbee1816bfaa0b45b9655bb56dc2d13904230840a0ecea56f5453034d81a2e DIST vim-9.0.2092-patches.tar.xz 2640 BLAKE2B 3a4b2bc57712de3b92b0e8d9b2d428e4d576665a183927051eddd53d019a5ca413c74dc10aff09917ee3120bd2e2ba441219d7238994f0d5ba14fc9c31180199 SHA512 ec27e4056460948ff86bc48a21de239a84b53757a8283144ec121654096796d970ad832234d6591a132bcd38bc12dc507cc7795a11cd383d20f08b4d9bcb051f -DIST vim-9.0.2092.tar.gz 17359377 BLAKE2B eeb50de7e4876ce0e2a1e8b241ea2c7c472898495ef5517fa115e01f29ef8922fb7ef970f2c1a3ffe65a8274e2c59bd5a939f397048c6b486683c29c01484d1e SHA512 1c3e78ee1bb507858e0d30a8a1e646c16dd6d8d666ea587e91d1c90e490aef46387d6dfadc01e80f9aa807f7b109e4072efa8d8115fcd2a81dd62cabc30a8001 DIST vim-9.0.2167.tar.gz 17405049 BLAKE2B 496c8f9672bc4ecce743a145bc2b671bf09034b2875e728406b318c8b12e2d8d4ee3423ce94f8749679f07d36f229954f7ef0b12ce7bc4d71ccf6637ce2d6029 SHA512 6a9a785b1915dc167210b0da4d5e4401c71ee49b3554c8a22566378658ddcc3493562897ea39035852399cc5ffb55a73355ab13390c27a4d00ffd76bcd10ddf0 -DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a +DIST vim-9.1.0366.tar.gz 17861209 BLAKE2B 8771f5ef6a966c1b5992a437dd6cf1de9525458f61a4cd8fa53737a7bde29a4da101668639a301288a266ee8b3911857d1ba5b4e88870b60473eb1eaa608d7a5 SHA512 11be2a6e349c7b6d26fc1943c35ea18c662baa4f30ae76936eefb30e0b4d988bfcaedf7ecd2c3903f64e23c75957f55b9bb4073e0f38c7eb10ef0ee0dc652ddb +DIST vim-9.1.0470.tar.gz 17919981 BLAKE2B 90ebffc6e7b6162f8a047976659e044b75aaa946799b901e9f8c88f04a787543cde56545c8c6e5394fa2bc957d2e46810c5ca3f1315fc20a398a57bbdbc90f4c SHA512 41b71e9e5385237b30aa256f064c9d5c914b29a97c0ec562f1995ac5d476fcf840c3f0e9a52e599f6084777db147e83fcbf0ec6b985bb94c126264d4cbafb964 diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1503.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1503.ebuild deleted file mode 100644 index b589d64dbde..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1503.ebuild +++ /dev/null @@ -1,371 +0,0 @@ -# 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.0" -VIM_PATCHES_VERSION="9.0.1000" - -LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" - -inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils - -if [[ ${PV} == 9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/vim/vim.git" -else - SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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} - !> "${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" -} - -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} \ - "${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-9.0.1627.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1627.ebuild deleted file mode 100644 index be5a1d92a8f..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1627.ebuild +++ /dev/null @@ -1,370 +0,0 @@ -# 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.0" -VIM_PATCHES_VERSION="9.0.1000" - -LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" - -inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils - -if [[ ${PV} == 9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/vim/vim.git" -else - SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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}" -# configure runs the Lua interpreter -BDEPEND=" - dev-build/autoconf - lua? ( ${LUA_DEPS} ) - nls? ( sys-devel/gettext ) -" -PDEPEND="!minimal? ( app-vim/gentoo-syntax )" - -if [[ ${PV} != 9999* ]]; then - # Gentoo patches to fix runtime issues, cross-compile errors, etc - PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" - ) -fi - -# platform-specific checks (bug #898452): -# - acl() -- Solaris -# - statacl() -- AIX -QA_CONFIG_IMPL_DECL_SKIP=( - 'acl' - 'statacl' -) - -pkg_setup() { - # people with broken alphabets run into trouble. bug #82186. - unset LANG LC_ALL - export LC_COLLATE="C" - - use lua && lua-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - # Fixup a script to use awk instead of nawk - sed -i -e \ - '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ - "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" - - # Read vimrc and gvimrc from /etc/vim - echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ - >> "${S}"/src/feature.h || die "echo failed" - echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ - >> "${S}"/src/feature.h || die "echo failed" - - # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. - # Hopefully this pattern won't break for a while at least. - # This fixes bug #29398 (27 Sep 2003 agriffis) - sed -i -e \ - 's/\> "$c" || die "echo failed" - done - - # conditionally make the manpager.sh script - if use vim-pager; then - cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" - #!/bin/sh - sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ - vim \\ - -c 'let no_plugin_maps = 1' \\ - -c 'set nolist nomod ft=man ts=8' \\ - -c 'let g:showmarks_enable=0' \\ - -c 'runtime! macros/less.vim' - - _EOF_ - fi - - # Try to avoid sandbox problems. Bug #114475. - if [[ -d "${S}"/src/po ]]; then - sed -i -e \ - '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ - "${S}"/src/po/Makefile || die "sed failed" - fi - - cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" - - # Fix bug 18245: Prevent "make" from the following chain: - # (1) Notice configure.ac is newer than auto/configure - # (2) Rebuild auto/configure - # (3) Notice auto/configure is newer than auto/config.mk - # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" - rm src/auto/configure || die "rm failed" -} - -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} \ - "${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-9.0.1777.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1777.ebuild deleted file mode 100644 index c50f5558981..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1777.ebuild +++ /dev/null @@ -1,370 +0,0 @@ -# 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.0" -VIM_PATCHES_VERSION="9.0.1000" - -LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" - -inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils - -if [[ ${PV} == 9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/vim/vim.git" -else - SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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}" -# configure runs the Lua interpreter -BDEPEND=" - dev-build/autoconf - lua? ( ${LUA_DEPS} ) - nls? ( sys-devel/gettext ) -" -PDEPEND="!minimal? ( app-vim/gentoo-syntax )" - -if [[ ${PV} != 9999* ]]; then - # Gentoo patches to fix runtime issues, cross-compile errors, etc - PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" - ) -fi - -# platform-specific checks (bug #898452): -# - acl() -- Solaris -# - statacl() -- AIX -QA_CONFIG_IMPL_DECL_SKIP=( - 'acl' - 'statacl' -) - -pkg_setup() { - # people with broken alphabets run into trouble. bug #82186. - unset LANG LC_ALL - export LC_COLLATE="C" - - use lua && lua-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - # Fixup a script to use awk instead of nawk - sed -i -e \ - '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ - "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" - - # Read vimrc and gvimrc from /etc/vim - echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ - >> "${S}"/src/feature.h || die "echo failed" - echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ - >> "${S}"/src/feature.h || die "echo failed" - - # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. - # Hopefully this pattern won't break for a while at least. - # This fixes bug #29398 (27 Sep 2003 agriffis) - sed -i -e \ - 's/\> "$c" || die "echo failed" - done - - # conditionally make the manpager.sh script - if use vim-pager; then - cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" - #!/bin/sh - sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ - vim \\ - -c 'let no_plugin_maps = 1' \\ - -c 'set nolist nomod ft=man ts=8' \\ - -c 'let g:showmarks_enable=0' \\ - -c 'runtime! macros/less.vim' - - _EOF_ - fi - - # Try to avoid sandbox problems. Bug #114475. - if [[ -d "${S}"/src/po ]]; then - sed -i -e \ - '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ - "${S}"/src/po/Makefile || die "sed failed" - fi - - cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" - - # Fix bug 18245: Prevent "make" from the following chain: - # (1) Notice configure.ac is newer than auto/configure - # (2) Rebuild auto/configure - # (3) Notice auto/configure is newer than auto/config.mk - # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" - rm src/auto/configure || die "rm failed" -} - -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-9.0.2092.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0366.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.2092.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0366.ebuild index 1b113674149..0671b61266a 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.2092.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0366.ebuild @@ -5,13 +5,13 @@ EAPI=8 # Please bump with app-editors/vim-core and app-editors/gvim -VIM_VERSION="9.0" +VIM_VERSION="9.1" VIM_PATCHES_VERSION="9.0.2092" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" +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 @@ -21,7 +21,7 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~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" @@ -58,7 +58,9 @@ RDEPEND=" tcl? ( dev-lang/tcl:0= ) X? ( x11-libs/libXt ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" # configure runs the Lua interpreter BDEPEND=" dev-build/autoconf @@ -153,6 +155,11 @@ src_prepare() { # (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() { diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1678.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0470.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1678.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0470.ebuild index f2309016147..91f87fbcb9a 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1678.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.1.0470.ebuild @@ -5,13 +5,13 @@ EAPI=8 # Please bump with app-editors/vim-core and app-editors/gvim -VIM_VERSION="9.0" -VIM_PATCHES_VERSION="9.0.1000" +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.0.2092" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" +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 @@ -20,7 +20,7 @@ if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://github.com/vim/vim.git" else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + https://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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi @@ -58,7 +58,9 @@ RDEPEND=" tcl? ( dev-lang/tcl:0= ) X? ( x11-libs/libXt ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" # configure runs the Lua interpreter BDEPEND=" dev-build/autoconf @@ -70,7 +72,7 @@ PDEPEND="!minimal? ( app-vim/gentoo-syntax )" if [[ ${PV} != 9999* ]]; then # Gentoo patches to fix runtime issues, cross-compile errors, etc PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" ) fi @@ -153,6 +155,11 @@ src_prepare() { # (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() { 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 850c5dab10c..91f87fbcb9a 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 @@ -5,13 +5,13 @@ EAPI=8 # Please bump with app-editors/vim-core and app-editors/gvim -VIM_VERSION="9.0" -VIM_PATCHES_VERSION="9.0.1000" +VIM_VERSION="9.1" +VIM_PATCHES_VERSION="9.0.2092" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby27 ruby30 ruby31" +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 @@ -20,8 +20,8 @@ if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://github.com/vim/vim.git" else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + 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 ~ia64 ~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" @@ -72,7 +72,7 @@ PDEPEND="!minimal? ( app-vim/gentoo-syntax )" if [[ ${PV} != 9999* ]]; then # Gentoo patches to fix runtime issues, cross-compile errors, etc PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" ) fi @@ -266,7 +266,7 @@ src_configure() { fi econf \ - --with-modified-by=Gentoo-${PVR} \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ "${myconf[@]}" } From 7596f322ccd90352dd60c50e1a82f86df562d953 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:04 +0000 Subject: [PATCH 021/239] app-editors/vim-core: Sync with Gentoo It's from Gentoo commit ae586d2b4daefb9750eb5f1504df36d199e38657. --- .../app-editors/vim-core/Manifest | 8 +- .../app-editors/vim-core/files/vimrc-r7 | 210 ++++++++++++++++ .../vim-core/vim-core-9.0.1503.ebuild | 231 ------------------ ...678.ebuild => vim-core-9.0.2167-r1.ebuild} | 13 +- ...777.ebuild => vim-core-9.1.0366-r1.ebuild} | 17 +- ...0.2092.ebuild => vim-core-9.1.0366.ebuild} | 9 +- ...0.1627.ebuild => vim-core-9.1.0470.ebuild} | 19 +- .../app-editors/vim-core/vim-core-9999.ebuild | 2 +- 8 files changed, 252 insertions(+), 257 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r7 delete mode 100644 sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1503.ebuild rename sdk_container/src/third_party/portage-stable/app-editors/vim-core/{vim-core-9.0.1678.ebuild => vim-core-9.0.2167-r1.ebuild} (94%) rename sdk_container/src/third_party/portage-stable/app-editors/vim-core/{vim-core-9.0.1777.ebuild => vim-core-9.1.0366-r1.ebuild} (92%) rename sdk_container/src/third_party/portage-stable/app-editors/vim-core/{vim-core-9.0.2092.ebuild => vim-core-9.1.0366.ebuild} (95%) rename sdk_container/src/third_party/portage-stable/app-editors/vim-core/{vim-core-9.0.1627.ebuild => vim-core-9.1.0470.ebuild} (91%) 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 c7237f37737..67344428f5b 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 @@ -1,8 +1,4 @@ -DIST vim-9.0.1503.tar.gz 17010118 BLAKE2B 4f74d52a3fcf7875031378f86fc3411c64c92e4b82bee371148b19042478d3f974793477c3fc2d9ddff9233fa1ec3c864962880840867544e92464f1a0876f51 SHA512 2f3242ec0f79cf6affc2f7fdaf689c35d8597706ac1689dbbdc01352676199605bb37f22bd901f1e8d59f312237d3fce4bee8b979b28a744ea9e40558621980e -DIST vim-9.0.1627.tar.gz 17048824 BLAKE2B 3fa583cf676c2388641b1240ed4b90c2e42cd9f50ea44a943cce86bba4bf278adf54837bb5c4530471fd57cfcd08cd39be78b17a5e907435a02dc5874ff7f571 SHA512 d2fb863e03d4ad773fcba8917f3cd1e373f661aa8b8a20bd3e416a73788997d31c6dd106a1bf59d72475bb577bbe6d52eb079fff9c7152d96bb6e5c9aa6e2f3b -DIST vim-9.0.1678.tar.gz 17069551 BLAKE2B e83cea77513eb0d8b3ed02bd508333fb97357d2d7a91a90c5a9376b03b444a0b65b6ce04b14e191e33445132845af71193ab140ea615bb03a2c24a904b726cb4 SHA512 c5ffb7ca56ff4eee70f06599dd84db2eb28ddadac229d4f7faf01174805923636a4ce61486bdf5a47910c929613dc9b9290dfc9288006222b4bc4ac891548bb8 -DIST vim-9.0.1777.tar.gz 17177555 BLAKE2B ad6d785f4c6b112199bd2f34e0b7f6070615fba8dce25354a7ded40ff8536388e7b7120c1f2fad790c8dc7134d74649697b6e95777e79dcf1e208ead81b229d6 SHA512 702781b6a9cf540d22aa0bc1e25a4fb785ff2b22e9c6a59643e87fd6f7b3e5444adbee1816bfaa0b45b9655bb56dc2d13904230840a0ecea56f5453034d81a2e DIST vim-9.0.2092-patches.tar.xz 2640 BLAKE2B 3a4b2bc57712de3b92b0e8d9b2d428e4d576665a183927051eddd53d019a5ca413c74dc10aff09917ee3120bd2e2ba441219d7238994f0d5ba14fc9c31180199 SHA512 ec27e4056460948ff86bc48a21de239a84b53757a8283144ec121654096796d970ad832234d6591a132bcd38bc12dc507cc7795a11cd383d20f08b4d9bcb051f -DIST vim-9.0.2092.tar.gz 17359377 BLAKE2B eeb50de7e4876ce0e2a1e8b241ea2c7c472898495ef5517fa115e01f29ef8922fb7ef970f2c1a3ffe65a8274e2c59bd5a939f397048c6b486683c29c01484d1e SHA512 1c3e78ee1bb507858e0d30a8a1e646c16dd6d8d666ea587e91d1c90e490aef46387d6dfadc01e80f9aa807f7b109e4072efa8d8115fcd2a81dd62cabc30a8001 DIST vim-9.0.2167.tar.gz 17405049 BLAKE2B 496c8f9672bc4ecce743a145bc2b671bf09034b2875e728406b318c8b12e2d8d4ee3423ce94f8749679f07d36f229954f7ef0b12ce7bc4d71ccf6637ce2d6029 SHA512 6a9a785b1915dc167210b0da4d5e4401c71ee49b3554c8a22566378658ddcc3493562897ea39035852399cc5ffb55a73355ab13390c27a4d00ffd76bcd10ddf0 -DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a +DIST vim-9.1.0366.tar.gz 17861209 BLAKE2B 8771f5ef6a966c1b5992a437dd6cf1de9525458f61a4cd8fa53737a7bde29a4da101668639a301288a266ee8b3911857d1ba5b4e88870b60473eb1eaa608d7a5 SHA512 11be2a6e349c7b6d26fc1943c35ea18c662baa4f30ae76936eefb30e0b4d988bfcaedf7ecd2c3903f64e23c75957f55b9bb4073e0f38c7eb10ef0ee0dc652ddb +DIST vim-9.1.0470.tar.gz 17919981 BLAKE2B 90ebffc6e7b6162f8a047976659e044b75aaa946799b901e9f8c88f04a787543cde56545c8c6e5394fa2bc957d2e46810c5ca3f1315fc20a398a57bbdbc90f4c SHA512 41b71e9e5385237b30aa256f064c9d5c914b29a97c0ec562f1995ac5d476fcf840c3f0e9a52e599f6084777db147e83fcbf0ec6b985bb94c126264d4cbafb964 diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r7 b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r7 new file mode 100644 index 00000000000..39a30d6f295 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r7 @@ -0,0 +1,210 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for Vim + +" Written by Aron Griffis +" Modified by Ryan Phillips +" Modified some more by Ciaran McCreesh +" Added Redhat's vimrc info by Seemant Kulleen + +" You can override any of these settings on a global basis via the +" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may +" need to create these. + +" {{{ General settings +" The following are some sensible defaults for Vim for most users. +" We attempt to change as little as possible from Vim's defaults, +" deviating only where it makes sense +set nocompatible " Use Vim defaults (much better!) +set bs=2 " Allow backspacing over everything in insert mode +set ai " Always set auto-indenting on +set history=50 " keep 50 lines of command history +set ruler " Show the cursor position all the time + +set viminfo='20,\"500 " Keep a .viminfo file. + +" Don't use Ex mode, use Q for formatting +map Q gq + +" When doing tab completion, give the following files lower priority. You may +" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable +" enhanced tab completion. These can be done in the user vimrc file. +set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo + +" When displaying line numbers, don't use an annoyingly wide number column. This +" doesn't enable line numbers -- :set number will do that. The value given is a +" minimum width to use for the number column, not a fixed size. +if v:version >= 700 + set numberwidth=3 +endif +" }}} + +" {{{ Modeline settings +" We don't allow modelines by default. See bug #14088 and bug #73715. +" If you're not concerned about these, you can enable them on a per-user +" basis by adding "set modeline" to your ~/.vimrc file. +set nomodeline +" }}} + +" {{{ Locale settings +" Try to come up with some nice sane GUI fonts. Also try to set a sensible +" value for fileencodings based upon locale. These can all be overridden in +" the user vimrc file. +if v:lang =~? "^ko" + set fileencodings=euc-kr + set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* +elseif v:lang =~? "^ja_JP" + set fileencodings=euc-jp + set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* +elseif v:lang =~? "^zh_TW" + set fileencodings=big5 + set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 +elseif v:lang =~? "^zh_CN" + set fileencodings=gb2312 + set guifontset=*-r-* +endif + +" If we have a BOM, always honour that rather than trying to guess. +if &fileencodings !~? "ucs-bom" + set fileencodings^=ucs-bom +endif + +" Always check for UTF-8 when trying to determine encodings. +if &fileencodings !~? "utf-8" + " If we have to add this, the default encoding is not Unicode. + " We use this fact later to revert to the default encoding in plaintext/empty + " files. + let g:added_fenc_utf8 = 1 + set fileencodings+=utf-8 +endif + +" Make sure we have a sane fallback for encoding detection +if &fileencodings !~? "default" + set fileencodings+=default +endif +" }}} + +" {{{ Syntax highlighting settings +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif +" }}} + +" {{{ Terminal fixes +if &term ==? "xterm" + set t_Sb=^[4%dm + set t_Sf=^[3%dm + set ttymouse=xterm2 +endif + +if &term ==? "gnome" && has("eval") + " Set useful keys that vim doesn't discover via termcap but are in the + " builtin xterm termcap. See bug #122562. We use exec to avoid having to + " include raw escapes in the file. + exec "set =\eO5D" + exec "set =\eO5C" +endif +" }}} + +" {{{ Filetype plugin settings +" Enable plugin-provided filetype settings, but only if the ftplugin +" directory exists (which it won't on livecds, for example). +if isdirectory(expand("$VIMRUNTIME/ftplugin")) + filetype plugin on + + " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided + " indent settings. Some people don't like these, so we won't turn them on by + " default. + " filetype indent on +endif +" }}} + +" {{{ Fix &shell, see bug #101665. +if "" == &shell + if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash + elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh + endif +endif +"}}} + +" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh +" files should default to bash. See :help sh-syntax and bug #101819. +if has("eval") + let is_bash=1 +endif +" }}} + +" {{{ Autocommands +if has("autocmd") + +augroup gentoo + au! + + " Gentoo-specific settings for ebuilds. These are the federally-mandated + " required tab settings. See the following for more information: + " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml + " Note that the rules below are very minimal and don't cover everything. + " Better to emerge app-vim/gentoo-syntax, which provides full syntax, + " filetype and indent settings for all things Gentoo. + au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh + au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab + + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if ! exists("g:leave_my_cursor_position_alone") | + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal! g'\"" | + \ endif | + \ endif + + " When editing a crontab file, set backupcopy to yes rather than auto. See + " :help crontab and bug #53437. + autocmd FileType crontab set backupcopy=yes + + " If we previously detected that the default encoding is not UTF-8 + " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no + " characters at all) isn't a Unicode file, but is in the default encoding. + " Except of course if a byte-order mark is in effect. + autocmd BufReadPost * + \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && + \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | + \ set fileencoding= | + \ endif + +augroup END + +endif " has("autocmd") +" }}} + +" We don't want VIM to load their own built-in defaults, preferring ours here +" instead. This option cannot apply to minimal builds, so it is guarded by a +" test that's guaranteed to fail for those, owing to the lack of +eval. +if 1 + let g:skip_defaults_vim = 1 +endif + +" Enable Omni completion when opening a file only if a specific plugin does +" not already exist for that filetype. This allows Omni completion +" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax +" file exists for the said language. +if exists("+omnifunc") + autocmd Filetype * + \ if &omnifunc == "" | + \ setlocal omnifunc=syntaxcomplete#Complete | + \ endif +endif + +" {{{ vimrc.local +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local +endif +" }}} + +" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : + diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1503.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1503.ebuild deleted file mode 100644 index a54e0738bee..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1503.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# 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.0" -VIM_PATCHES_VERSION="9.0.1000" -inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils - -if [[ ${PV} == 9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/vim/vim.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} -else - SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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-patches-vim-${VIM_PATCHES_VERSION}-patches" - ) -fi - -# platform-specific checks (bug #898406): -# - acl() -- Solaris -# - statacl() -- AIX -QA_CONFIG_IMPL_DECL_SKIP=( - 'acl' - 'statacl' -) - -pkg_setup() { - # people with broken alphabets run into trouble. bug #82186. - unset LANG LC_ALL - export LC_COLLATE="C" -} - -src_prepare() { - default - - # Fixup a script to use awk instead of nawk - sed -i \ - -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ - "${S}"/runtime/tools/mve.awk || die "sed failed" - - # See bug #77841. We remove this file after the tarball extraction. - rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" - - # Read vimrc and gvimrc from /etc/vim - echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die - echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die - - # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. - # Hopefully this pattern won't break for a while at least. - # This fixes bug #29398 (27 Sep 2003 agriffis) - sed -i 's/\> "$c" || die "echo failed" - done - - # Try to avoid sandbox problems. Bug #114475. - if [[ -d "${S}"/src/po ]]; then - sed -i -e \ - '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ - "${S}"/src/po/Makefile || die "sed failed" - fi - - cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" - - # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for - # everyone since previous flag filtering bugs have turned out to affect - # multiple archs... - replace-flags -O3 -O2 - - # Fix bug #18245: Prevent "make" from the following chain: - # (1) Notice configure.ac is newer than auto/configure - # (2) Rebuild auto/configure - # (3) Notice auto/configure is newer than auto/config.mk - # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" - - # Remove src/auto/configure file. - rm -v src/auto/configure || die "rm configure failed" -} - -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} - --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-r6 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-9.0.1678.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2167-r1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1678.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2167-r1.ebuild index 66de9fc233f..bd23f78d0c6 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1678.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2167-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Please bump with app-editors/vim and app-editors/gvim VIM_VERSION="9.0" -VIM_PATCHES_VERSION="9.0.1000" +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 @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]] ; then EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + https://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 ~ia64 ~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}" @@ -34,7 +34,7 @@ BDEPEND="dev-build/autoconf" if [[ ${PV} != 9999* ]]; then # Gentoo patches to fix runtime issues, cross-compile errors, etc PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" ) fi @@ -108,6 +108,11 @@ src_prepare() { # 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() { @@ -185,7 +190,7 @@ src_install() { # default vimrc is installed by vim-core since it applies to # both vim and gvim insinto /etc/vim/ - newins "${FILESDIR}"/vimrc-r6 vimrc + newins "${FILESDIR}"/vimrc-r7 vimrc eprefixify "${ED}"/etc/vim/vimrc if use minimal; then diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1777.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366-r1.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1777.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366-r1.ebuild index b29cfe23233..5e2838b7e83 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1777.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366-r1.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 @@ -15,8 +15,8 @@ if [[ ${PV} == 9999* ]] ; then EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + 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 ~ia64 ~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}" @@ -34,7 +34,7 @@ BDEPEND="dev-build/autoconf" if [[ ${PV} != 9999* ]]; then # Gentoo patches to fix runtime issues, cross-compile errors, etc PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" ) fi @@ -108,6 +108,11 @@ src_prepare() { # 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() { @@ -185,7 +190,7 @@ src_install() { # default vimrc is installed by vim-core since it applies to # both vim and gvim insinto /etc/vim/ - newins "${FILESDIR}"/vimrc-r6 vimrc + newins "${FILESDIR}"/vimrc-r7 vimrc eprefixify "${ED}"/etc/vim/vimrc if use minimal; then diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2092.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2092.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366.ebuild index 2c34d0a6f52..8df57d51b46 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.2092.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Please bump with app-editors/vim and app-editors/gvim -VIM_VERSION="9.0" +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 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" @@ -108,6 +108,11 @@ src_prepare() { # 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() { diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1627.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0470.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1627.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0470.ebuild index 6cb4710f79e..759cb04d314 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1627.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0470.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 @@ -15,8 +15,8 @@ if [[ ${PV} == 9999* ]] ; then EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} else SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz - https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + 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 ~ia64 ~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}" @@ -34,7 +34,7 @@ BDEPEND="dev-build/autoconf" if [[ ${PV} != 9999* ]]; then # Gentoo patches to fix runtime issues, cross-compile errors, etc PATCHES=( - "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + "${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches" ) fi @@ -108,6 +108,11 @@ src_prepare() { # 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() { @@ -129,7 +134,7 @@ src_configure() { export ac_cv_prog_STRIP="$(type -P true ) faking strip" local myconf=( - --with-modified-by=Gentoo-${PVR} + --with-modified-by="Gentoo-${PVR} (RIP Bram)" --enable-gui=no --without-x --disable-darwin @@ -185,7 +190,7 @@ src_install() { # default vimrc is installed by vim-core since it applies to # both vim and gvim insinto /etc/vim/ - newins "${FILESDIR}"/vimrc-r6 vimrc + newins "${FILESDIR}"/vimrc-r7 vimrc eprefixify "${ED}"/etc/vim/vimrc if use minimal; then 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 acfd3ab4aab..b78c0ae44f8 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 @@ -190,7 +190,7 @@ src_install() { # default vimrc is installed by vim-core since it applies to # both vim and gvim insinto /etc/vim/ - newins "${FILESDIR}"/vimrc-r6 vimrc + newins "${FILESDIR}"/vimrc-r7 vimrc eprefixify "${ED}"/etc/vim/vimrc if use minimal; then From 1a45c9393b254436d29de024dfac18f329bb16c7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:04 +0000 Subject: [PATCH 022/239] app-emulation/qemu: Sync with Gentoo It's from Gentoo commit 96d45b34b88878a5837035d9da28143955fd4e7c. --- .../app-emulation/qemu/Manifest | 14 +- ...9.0.0-also-build-virtfs-proxy-helper.patch | 35 + .../qemu-9.0.0-capstone-include-path.patch | 42 + .../files/qemu-9.0.0-disable-keymap.patch | 44 + .../{qemu-7.2.9.ebuild => qemu-7.2.11.ebuild} | 2 +- ...{qemu-7.2.10.ebuild => qemu-7.2.12.ebuild} | 0 .../app-emulation/qemu/qemu-8.0.5.ebuild | 2 +- .../{qemu-8.2.1.ebuild => qemu-8.2.3.ebuild} | 3 +- .../{qemu-8.2.2.ebuild => qemu-8.2.5.ebuild} | 0 .../{qemu-8.0.4.ebuild => qemu-9.0.0.ebuild} | 84 +- .../app-emulation/qemu/qemu-9.0.1.ebuild | 996 ++++++++++++++++++ .../app-emulation/qemu/qemu-9999.ebuild | 11 +- 12 files changed, 1190 insertions(+), 43 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch rename sdk_container/src/third_party/portage-stable/app-emulation/qemu/{qemu-7.2.9.ebuild => qemu-7.2.11.ebuild} (99%) rename sdk_container/src/third_party/portage-stable/app-emulation/qemu/{qemu-7.2.10.ebuild => qemu-7.2.12.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/app-emulation/qemu/{qemu-8.2.1.ebuild => qemu-8.2.3.ebuild} (99%) rename sdk_container/src/third_party/portage-stable/app-emulation/qemu/{qemu-8.2.2.ebuild => qemu-8.2.5.ebuild} (100%) rename sdk_container/src/third_party/portage-stable/app-emulation/qemu/{qemu-8.0.4.ebuild => qemu-9.0.0.ebuild} (93%) create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1.ebuild 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 a6d74908374..3d10636c069 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest @@ -1,15 +1,17 @@ DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094 BLAKE2B 396f9df2e6ad559545054e89916915c3a3c8ff80e5e409498fec497b564d8b3ac9dd3cb966e26dce232ddff82af18a0e84e864ca18a80c2a2f4fe47e320249c2 SHA512 93c20d50a356c90f4293d8c7593611b2e0a9bc7567b6d946319f8ae06962ae1e297c8788f66fd38a1d3a0d44661bff9a07a63eaa84c8bb40ae01a45476be446c -DIST berkeley-testfloat-3-40619cbb3bf32872df8c53cc457039229428a263.tar.bz2 90086 BLAKE2B ab2070622453a7a0a1fbcf234df68cc7316474c04482b2ac13c700edbb5624968c5274f337dc84f06c4ab6c3e82698cd7b0b30fe206d004b0715f15a2cc7cfd1 SHA512 969892af9fdf16d45660753ed02bbd8d6159928e5e6ef2f87aed8a08d995bb19d2115fb6b559522074492b2595716d314c5c059bfa69c7fbb5aab9275582c22e +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.10.tar.xz 121311584 BLAKE2B e3b5156302cc699c38ad966340f68b1c72d00a2c420732368a22a9671a27d87ccd64e06c97b2e47d1dddf2d1d202b5103a6fc51221502b1c812d1c63a082d976 SHA512 d402dc49b9ed5da773785ce9c8ed75b66985286ab8a2f0956cb88277b9da88a5a86cf02226c6b24fe63635405f2fe89ebac9288cf2d4b59df22b4d05c2a8fe30 +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.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b -DIST qemu-7.2.9.tar.xz 121870204 BLAKE2B 3336541124f96c09aec05721ce77e8187f8d29c716a05419fcb2b9510976683e58dd791205971d9daa11d3053eb211343225597de1bae72b07467e5acac2a851 SHA512 b1aa2316f6e2fe1e972b6d1aabf7c04b06bca3863143c6a523b5fda40bb8841bec27e0774f24adc4b3267cf1f1d39ba81246eb3d15d7273904a0df8e8503077d DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054 -DIST qemu-8.0.4.tar.xz 126179324 BLAKE2B dfb98964c629b251f0004b4630ae4500a52465579417d6f5c7dbbb1f672e10d8d7ffb98a4b00e26fb98b3c867208146dbdca026e4d30cbf1752ac733c4d9b915 SHA512 bd5ed682d51f974abd4be93f949701f9b5bfb87fd9929e31df130534da2f2c03b99adc9f924b3efd47d3b254e0e3c0046f4e69fbe9f6d0c4ac1f6babecb29449 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-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5 -DIST qemu-8.2.1.tar.xz 129848448 BLAKE2B af5b03fecd41c376daece7598c01755c458d38e045486f33e2915cc7d4856f23b4478a2c1a32a7eb600c4fc675c24df55007840c8a3c6d1fd2d585c74848f02e SHA512 e72d3e13339c03e8d371ca060ac700c45af2ca37523cddb6b02dcaf8430d75c8cef194cf496df9816440b281f368457def1126677db757928805d93ceca2f9af -DIST qemu-8.2.2.tar.xz 129398020 BLAKE2B ceecbae945d9ac1bd85935266c33b91aedbc201796b38a9cb721d778ba8b35f07d01af8c5ce572e68e637ae94455c70ddcf9087579231613f92828bccafa93f4 SHA512 dfd2e1305f9e51bfbc90a7738c69336d5f805481a626ea527b971bdfb6dbe6867e5df7461d48d1c22b79be2dc18e057ea9fa36ef593127cd8b262a5c33f1aa41 +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-9.0.0-docs.tar.xz 2290196 BLAKE2B 82d22637ff2629bee372550e86651f12051ea6b4a57e314ef83f290425d4973ef01827eaf28a85b635788f22cb7cc1c747438b7525c92c99b90b234fb8f7655c SHA512 7c0ba1f3e7bbaa4e3feebc33a1946a5c190f2c14b9ed78b15c1f642668c8124960f8c85bcf36fe54a10d4edef47d2256e500f06d9173b92b03c599811a15a073 +DIST qemu-9.0.0.tar.xz 129789856 BLAKE2B d92acb859d9ce5097fee27a4689c71869aa38f65eb0308547956d54bd8caf29efe5389d9009f334f109ad228e0ef1f1fd1444d26360f03fac4320b204b657081 SHA512 1603517cd4c93632ba60ad7261eb67374f12a744bf58f10b0e8686e46d3a02d8b6bf58a0c617f23a1868084aaba6386c24341894f75539e0b816091718721427 +DIST qemu-9.0.1.tar.xz 132368412 BLAKE2B e96ae5cc3ee935dd31232d38d46bbdc74fd3a2a0dd8517c0e035757f3ded92712dfa68d0068cd8c37f314a92d237e2b4a725b509ba402b7a1ce92df63207a08d SHA512 6c120aaf52f15e79c32d883cc83df8fc83222d538ea6be9c19aaddfba0aef91479b5826bbc03e58688fba639cb24bc6f54e525ccc2404ed5d820766d11735210 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch new file mode 100644 index 00000000000..603d20c42fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch @@ -0,0 +1,35 @@ +From 951325a0c9519d4910d80cc6c7a5728c0dbc4946 Mon Sep 17 00:00:00 2001 +Message-ID: <951325a0c9519d4910d80cc6c7a5728c0dbc4946.1714317553.git.mprivozn@redhat.com> +From: Matthias Maier +Date: Mon, 4 Apr 2022 12:56:59 +0200 +Subject: [PATCH] also build virtfs-proxy-helper + +The Gentoo ebuild splits the qemu build into a softmmu, user and tool +phase in order to be able to build and link some of the qemu emulators +statically. This unfortunately has the consequence that we never +configure with "have_virtfs" and "have_tools" at the same time. + +As a workaround, simply build the virtfs userland unconditionally. After +all, it is a tiny executable. + +Signed-off-by: Michal Privoznik +--- + meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/meson.build b/meson.build +index c3a2be7b2d..50a5cfcf4e 100644 +--- a/meson.build ++++ b/meson.build +@@ -2116,8 +2116,6 @@ have_virtfs = get_option('virtfs') \ + .allowed() + + have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \ +- .require(host_os != 'darwin', error_message: 'the virtfs proxy helper is incompatible with macOS') \ +- .require(have_virtfs, error_message: 'the virtfs proxy helper requires that virtfs is enabled') \ + .disable_auto_if(not have_tools) \ + .require(libcap_ng.found(), error_message: 'the virtfs proxy helper requires libcap-ng') \ + .allowed() +-- +2.43.2 + diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch new file mode 100644 index 00000000000..3e0408d6b21 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch @@ -0,0 +1,42 @@ +From 67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c Mon Sep 17 00:00:00 2001 +Message-ID: <67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c.1714317553.git.mprivozn@redhat.com> +From: Michal Privoznik +Date: Sun, 28 Apr 2024 17:10:46 +0200 +Subject: [PATCH] Forward ported from qemu-7.1.0-capstone-include-path.patch. + +Bug: https://bugs.gentoo.org/873157 +Signed-off-by: Michal Privoznik +--- + include/disas/capstone.h | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/disas/capstone.h b/include/disas/capstone.h +index e29068dd97..d8fdc5d537 100644 +--- a/include/disas/capstone.h ++++ b/include/disas/capstone.h +@@ -3,7 +3,7 @@ + + #ifdef CONFIG_CAPSTONE + +-#include ++#include + + #else + +diff --git a/meson.build b/meson.build +index ea3ccff968..c3a2be7b2d 100644 +--- a/meson.build ++++ b/meson.build +@@ -1712,7 +1712,7 @@ if not get_option('capstone').auto() or have_system or have_user + # that reports a wrong -I path, causing the #include to + # fail later. If the system has such a broken version + # do not use it. +- if capstone.found() and not cc.compiles('#include ', ++ if capstone.found() and not cc.compiles('#include ', + dependencies: [capstone]) + capstone = not_found + if get_option('capstone').enabled() +-- +2.43.2 + diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch new file mode 100644 index 00000000000..c85d213626e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch @@ -0,0 +1,44 @@ +From 8cca781563e89facd312d622a69af124eb2757c6 Mon Sep 17 00:00:00 2001 +Message-ID: <8cca781563e89facd312d622a69af124eb2757c6.1714317553.git.mprivozn@redhat.com> +From: Michal Privoznik +Date: Sun, 28 Apr 2024 17:10:13 +0200 +Subject: [PATCH] 8.0.0-disable-keymap.patch + +Signed-off-by: Michal Privoznik +--- + meson.build | 2 ++ + pc-bios/keymaps/meson.build | 4 +++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 5db2dbc12e..ea3ccff968 100644 +--- a/meson.build ++++ b/meson.build +@@ -1098,6 +1098,8 @@ endif + + if get_option('xkbcommon').auto() and not have_system and not have_tools + xkbcommon = not_found ++elif get_option('xkbcommon').disabled() ++ xkbcommon = not_found + else + xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), + method: 'pkg-config') +diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build +index 0bd8ce0077..3888f4c64f 100644 +--- a/pc-bios/keymaps/meson.build ++++ b/pc-bios/keymaps/meson.build +@@ -33,8 +33,10 @@ keymaps = { + 'tr': '-l tr', + } + +-if meson.is_cross_build() or not xkbcommon.found() ++if meson.is_cross_build() + native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) ++elif get_option('xkbcommon').disabled() ++ native_qemu_keymap = not_found + else + native_qemu_keymap = qemu_keymap + endif +-- +2.43.2 + diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.9.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.9.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild index ac517632fb2..e59ab048ded 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.11.ebuild @@ -41,7 +41,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-7.2.10.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.12.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.10.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.12.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 index 6c943ce3a21..32cb18d7115 100644 --- 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 @@ -41,7 +41,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.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild index 9523cdbfcf5..1c6bab18654 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.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" @@ -280,6 +280,7 @@ BDEPEND=" $(python_gen_impl_dep) dev-lang/perl >=dev-build/meson-0.63.0 + app-alternatives/ninja dev-python/pip[${PYTHON_USEDEP}] virtual/pkgconfig doc? ( diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.5.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.0.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.4.ebuild rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.0.ebuild index 592f8ef9cdb..179ca305b44 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.0.ebuild @@ -8,7 +8,7 @@ EAPI=8 # (the construct below is to allow overriding from env for script) QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION="8.0.0" +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" @@ -25,13 +25,19 @@ 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 - ) + 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" @@ -41,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" @@ -54,9 +60,9 @@ SLOT="0" IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg + jack jemalloc +jpeg keyutils lzo multipath - ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs + 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 @@ -179,10 +185,7 @@ SOFTMMU_TOOLS_DEPEND=" 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(+)] ) @@ -192,6 +195,7 @@ SOFTMMU_TOOLS_DEPEND=" 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? ( @@ -207,6 +211,7 @@ SOFTMMU_TOOLS_DEPEND=" 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 ) @@ -270,14 +275,16 @@ PPC_FIRMWARE_DEPEND=" ) " +# See bug #913084 for pip dep BDEPEND=" $(python_gen_impl_dep) dev-lang/perl - dev-build/meson - sys-apps/texinfo + >=dev-build/meson-0.63.0 + app-alternatives/ninja + dev-python/pip[${PYTHON_USEDEP}] virtual/pkgconfig doc? ( - dev-python/sphinx[${PYTHON_USEDEP}] + >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] ) gtk? ( nls? ( sys-devel/gettext ) ) @@ -309,16 +316,17 @@ RDEPEND=" " 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 + "${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 @@ -396,6 +404,8 @@ pkg_pretend() { 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 @@ -442,6 +452,23 @@ check_targets() { 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 @@ -455,13 +482,8 @@ src_prepare() { # 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 + rm -r roms/*/ || die } ## @@ -489,7 +511,7 @@ qemu_src_configure() { --disable-containers # bug #732972 --disable-guest-agent --disable-strip - --with-git-submodules=ignore + --disable-download # bug #746752: TCG interpreter has a few limitations: # - it does not support FPU @@ -508,6 +530,7 @@ qemu_src_configure() { --disable-gcrypt --cc="$(tc-getCC)" --cxx="$(tc-getCXX)" + --objcc="$(tc-getCC)" --host-cc="$(tc-getBUILD_CC)" $(use_enable alsa) @@ -516,6 +539,7 @@ qemu_src_configure() { $(use_enable jack) $(use_enable nls gettext) $(use_enable oss) + $(use_enable pipewire) $(use_enable plugins) $(use_enable pulseaudio pa) $(use_enable selinux) @@ -574,6 +598,7 @@ qemu_src_configure() { $(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) @@ -614,6 +639,7 @@ qemu_src_configure() { # 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) @@ -845,7 +871,7 @@ src_install() { doins "${FILESDIR}/bridge.conf" cd "${S}" || die - dodoc MAINTAINERS docs/specs/pci-ids.txt + dodoc MAINTAINERS newdoc pc-bios/README README.pc-bios # Disallow stripping of prebuilt firmware files. diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1.ebuild new file mode 100644 index 00000000000..6d9b868ae64 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.1.ebuild @@ -0,0 +1,996 @@ +# 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="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.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-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-ovmf-${EDK2_OVMF_VERSION} + >=sys-firmware/edk2-ovmf-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 + dev-python/pip[${PYTHON_USEDEP}] + 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 + + # 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-ovmf-bin'; then + ewarn " $(best_version sys-firmware/edk2-ovmf-bin)" + else + ewarn " $(best_version sys-firmware/edk2-ovmf)" + 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-ovmf-bin'; then + echo " $(best_version sys-firmware/edk2-ovmf-bin)" + else + echo " $(best_version sys-firmware/edk2-ovmf)" + 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-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild index 381a891e019..02a65ccd518 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild @@ -31,7 +31,7 @@ if [[ ${PV} == *9999* ]]; then declare -A SUBPROJECTS=( [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" - [berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263" + [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" ) for proj in "${!SUBPROJECTS[@]}"; do @@ -84,7 +84,6 @@ COMMON_TARGETS=" mips64 mips64el mipsel - nios2 or1k ppc ppc64 @@ -316,15 +315,17 @@ RDEPEND=" " 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}-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 From 829b2a01557efb618642eb01ada91c5efebac64f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:04 +0000 Subject: [PATCH 023/239] app-emulation/qemu-guest-agent: Sync with Gentoo It's from Gentoo commit 065537bce77f8e3abe509a1d8d6eb412a0807b15. --- .../app-emulation/qemu-guest-agent/Manifest | 5 -- ...configure-Avoid-using-strings-binary.patch | 85 ------------------- .../qemu-guest-agent-6.0.0.ebuild | 79 ----------------- .../qemu-guest-agent-7.1.0.ebuild | 82 ------------------ .../qemu-guest-agent-8.0.0.ebuild | 81 ------------------ .../qemu-guest-agent-8.0.2.ebuild | 81 ------------------ .../qemu-guest-agent-8.0.3.ebuild | 82 ------------------ .../qemu-guest-agent-8.2.0.ebuild | 16 ++-- 8 files changed, 10 insertions(+), 501 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest index 44032f6790e..c11c1afbfab 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/Manifest @@ -1,6 +1 @@ -DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 -DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f -DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda6409673b4de9461a25ee060cfd03968a16ddeadc21d48b9262e53aa6d4e5eb645376969f97c65807fad19607b04f SHA512 1f31d1e653dec2d35f1b7a5468ee3f471553b48eca8c8afafffcf9243c6b2260e78a5b73da3fe567f9b85d4133573eebd397747b3aec501fb24076263eb07b27 -DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a -DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3 DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch deleted file mode 100644 index dff62304a5c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 33ab5f24913db8d5590fe4155829bd38e7902506 Mon Sep 17 00:00:00 2001 -Message-Id: <33ab5f24913db8d5590fe4155829bd38e7902506.1666164897.git.mprivozn@redhat.com> -From: Michal Privoznik -Date: Fri, 14 Oct 2022 09:30:15 +0200 -Subject: [PATCH] configure: Avoid using strings binary - -When determining the endiandness of the target architecture we're -building for a small program is compiled, which in an obfuscated -way declares two strings. Then, we look which string is in -correct order (using strings binary) and deduct the endiandness. -But using the strings binary is problematic, because it's part of -toolchain (strings is just a symlink to -x86_64-pc-linux-gnu-strings or llvm-strings). And when -(cross-)compiling, it requires users to set the symlink to the -correct toolchain. - -Fortunately, we have a better alternative anyways. We can mimic -what compiler.h is already doing: comparing __BYTE_ORDER__ -against values for little/big endiandness. - -Bug: https://bugs.gentoo.org/876933 -Signed-off-by: Michal Privoznik -Message-Id: -Cc: qemu-stable@nongnu.org -Signed-off-by: Paolo Bonzini ---- - configure | 35 ++++++++++++++++++----------------- - 1 file changed, 18 insertions(+), 17 deletions(-) - -diff --git a/configure b/configure -index f9ec050bf8..81561be7c1 100755 ---- a/configure -+++ b/configure -@@ -1423,30 +1423,31 @@ if test "$tcg" = "enabled"; then - git_submodules="$git_submodules tests/fp/berkeley-softfloat-3" - fi - --# --- -+########################################## - # big/little endian test - cat > $TMPC << EOF --#include --short big_endian[] = { 0x4269, 0x4765, 0x4e64, 0x4961, 0x4e00, 0, }; --short little_endian[] = { 0x694c, 0x7454, 0x654c, 0x6e45, 0x6944, 0x6e41, 0, }; --int main(int argc, char *argv[]) --{ -- return printf("%s %s\n", (char *)big_endian, (char *)little_endian); --} -+#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -+# error LITTLE -+#endif -+int main(void) { return 0; } - EOF - --if compile_prog ; then -- if strings -a $TMPE | grep -q BiGeNdIaN ; then -- bigendian="yes" -- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then -- bigendian="no" -- else -- echo big/little test failed -- exit 1 -- fi -+if ! compile_prog ; then -+ bigendian="no" - else -+ cat > $TMPC << EOF -+#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -+# error BIG -+#endif -+int main(void) { return 0; } -+EOF -+ -+ if ! compile_prog ; then -+ bigendian="yes" -+ else - echo big/little test failed - exit 1 -+ fi - fi - - ########################################## --- -2.37.3 - diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild deleted file mode 100644 index e1c77887183..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit systemd toolchain-funcs udev python-any-r1 - -MY_PN="qemu" -MY_P="${MY_PN}-${PV}" - -SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" -KEYWORDS="amd64 ~ppc ~ppc64 x86" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -IUSE="" - -RDEPEND="dev-libs/glib" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS}" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - tc-export AR LD OBJCOPY RANLIB - - local myconf=( - --prefix=/usr - --sysconfdir=/etc - --libdir="/usr/$(get_libdir)" - --localstatedir=/ - --disable-bsd-user - --disable-linux-user - --disable-system - --disable-strip - --enable-tools - --disable-werror - --enable-guest-agent - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - ) - echo "./configure ${myconf[*]}" - ./configure "${myconf[@]}" || die -} - -src_install() { - dobin build/qga/qemu-ga - - # Normal init stuff - newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent - newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent - - insinto /etc/logrotate.d - newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent - - # systemd stuff - udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules - - systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ - qemu-guest-agent.service -} - -pkg_postinst() { - elog "You should add 'qemu-guest-agent' to the default runlevel." - elog "e.g. rc-update add qemu-guest-agent default" - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild deleted file mode 100644 index 89b3517badc..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.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=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit edo systemd toolchain-funcs python-any-r1 udev - -MY_PN="qemu" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" -SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc ~ppc64 x86" - -RDEPEND="dev-libs/glib" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-alternatives/ninja" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}"/${PN}-7.1.0-configure-Avoid-using-strings-binary.patch -) - -src_configure() { - tc-export AR LD OBJCOPY RANLIB - - local myconf=( - --prefix=/usr - --sysconfdir=/etc - --libdir="/usr/$(get_libdir)" - --localstatedir=/ - --disable-bsd-user - --disable-linux-user - --disable-system - --disable-strip - --enable-tools - --disable-werror - --enable-guest-agent - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - ) - - edo ./configure "${myconf[@]}" -} - -src_install() { - dobin build/qga/qemu-ga - - # Normal init stuff - newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent - newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent - - insinto /etc/logrotate.d - newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent - - # systemd stuff - udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules - - systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ - qemu-guest-agent.service -} - -pkg_postinst() { - elog "You should add 'qemu-guest-agent' to the default runlevel." - elog "e.g. rc-update add qemu-guest-agent default" - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild deleted file mode 100644 index 4b64963e345..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit edo systemd toolchain-funcs python-any-r1 udev - -MY_PN="qemu" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" -SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc ~ppc64 x86" - -RDEPEND="dev-libs/glib" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-alternatives/ninja" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( -) - -src_configure() { - tc-export AR LD OBJCOPY RANLIB - - local myconf=( - --prefix=/usr - --sysconfdir=/etc - --libdir="/usr/$(get_libdir)" - --localstatedir=/ - --disable-bsd-user - --disable-linux-user - --disable-system - --disable-strip - --enable-tools - --disable-werror - --enable-guest-agent - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - ) - - edo ./configure "${myconf[@]}" -} - -src_install() { - dobin build/qga/qemu-ga - - # Normal init stuff - newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent - newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent - - insinto /etc/logrotate.d - newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent - - # systemd stuff - udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules - - systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ - qemu-guest-agent.service -} - -pkg_postinst() { - elog "You should add 'qemu-guest-agent' to the default runlevel." - elog "e.g. rc-update add qemu-guest-agent default" - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild deleted file mode 100644 index cbca89288f8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit edo systemd toolchain-funcs python-any-r1 udev - -MY_PN="qemu" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" -SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" - -RDEPEND="dev-libs/glib" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-alternatives/ninja" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( -) - -src_configure() { - tc-export AR LD OBJCOPY RANLIB - - local myconf=( - --prefix=/usr - --sysconfdir=/etc - --libdir="/usr/$(get_libdir)" - --localstatedir=/ - --disable-bsd-user - --disable-linux-user - --disable-system - --disable-strip - --enable-tools - --disable-werror - --enable-guest-agent - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - ) - - edo ./configure "${myconf[@]}" -} - -src_install() { - dobin build/qga/qemu-ga - - # Normal init stuff - newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent - newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent - - insinto /etc/logrotate.d - newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent - - # systemd stuff - udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules - - systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ - qemu-guest-agent.service -} - -pkg_postinst() { - elog "You should add 'qemu-guest-agent' to the default runlevel." - elog "e.g. rc-update add qemu-guest-agent default" - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild deleted file mode 100644 index 86f9742a3e1..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit edo systemd toolchain-funcs python-any-r1 udev - -MY_PN="qemu" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" -SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc ~ppc64 x86" - -RDEPEND="dev-libs/glib" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-alternatives/ninja" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( -) - -src_configure() { - tc-export AR LD OBJCOPY RANLIB - - local myconf=( - --prefix=/usr - --sysconfdir=/etc - --libdir="/usr/$(get_libdir)" - --localstatedir=/ - --disable-bsd-user - --disable-linux-user - --disable-system - --disable-strip - --enable-tools - --disable-werror - --without-default-features - --enable-guest-agent - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - ) - - edo ./configure "${myconf[@]}" -} - -src_install() { - dobin build/qga/qemu-ga - - # Normal init stuff - newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent - newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent - - insinto /etc/logrotate.d - newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent - - # systemd stuff - udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules - - systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ - qemu-guest-agent.service -} - -pkg_postinst() { - elog "You should add 'qemu-guest-agent' to the default runlevel." - elog "e.g. rc-update add qemu-guest-agent default" - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild index 19ce1d04753..8edae8bf704 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit edo systemd toolchain-funcs python-any-r1 udev @@ -13,18 +13,19 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" LICENSE="GPL-2 BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" RDEPEND="dev-libs/glib" DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} +BDEPEND=" + ${PYTHON_DEPS} dev-lang/perl - app-alternatives/ninja" - -S="${WORKDIR}/${MY_P}" + app-alternatives/ninja +" PATCHES=( "${FILESDIR}"/qemu-8.1.0-find-sphinx.patch @@ -52,6 +53,9 @@ src_configure() { --host-cc="$(tc-getBUILD_CC)" ) + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && myconf+=( --cross-prefix="${CHOST}-" ) + edo ./configure "${myconf[@]}" } From b21a55b467b9356ba5b5ac4592f5b02ddff11c66 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:07 +0000 Subject: [PATCH 024/239] app-eselect/eselect-pinentry: Sync with Gentoo It's from Gentoo commit 09cdd4c8480e47b8124a502e66dc31bbb0ab1266. --- .../app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild index 2f34f9567de..4d22641a11e 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-pinentry/eselect-pinentry-0.7.4.ebuild @@ -9,7 +9,7 @@ S="${WORKDIR}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1" From edb11b22de396850be573942374fd626c15e86b3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:19 +0000 Subject: [PATCH 025/239] app-portage/elt-patches: Sync with Gentoo It's from Gentoo commit 38dd28a55e602ed5c2fbcb670646d7edb84fbdb8. --- .../app-portage/elt-patches/Manifest | 4 +- .../elt-patches/elt-patches-20240116.ebuild | 39 ------------------- .../elt-patches/elt-patches-20240213.ebuild | 39 ------------------- .../elt-patches/elt-patches-20240315.ebuild | 2 +- .../elt-patches/elt-patches-20240324.ebuild | 2 +- ...415.ebuild => elt-patches-20240512.ebuild} | 0 6 files changed, 3 insertions(+), 83 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240116.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240213.ebuild rename sdk_container/src/third_party/portage-stable/app-portage/elt-patches/{elt-patches-20240415.ebuild => elt-patches-20240512.ebuild} (100%) 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 56928f6c12f..9846c5d07d4 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 @@ -1,5 +1,3 @@ -DIST elt-patches-20240116.tar.xz 44400 BLAKE2B 0e664bf02180c2d0a5813f25a7661064f6612b71ab4743041a87579bf4fc2af276b2d653cbf75fe412364c2eb0a38dad744cc1eaa1159837239b0b9bbd122c5c SHA512 b014bebf918bb3debb5f38297caa0e250b426bdabfbc3c3e7ae44c1f5cda0d63ae1c0d82c12710a966a615947a5ad823a6e06c2ca485b987a74065dde16216bb -DIST elt-patches-20240213.tar.xz 44840 BLAKE2B 00c7c19dd0cd2aacc72e90d98f6b5bf09cfbcc79597b53d1c8095066354de10d3080404f7798463e87c1eef385b26dcbc590d3e6fe6f709ea04eaa82bbb17359 SHA512 d39ba86d4356491246b30b7c87d4fba341ba1539f696ef297c231fee5566a3fbf09891323d1f04fd97b9504c56dbb6f2ac99fa6051bf77a31aab55695c6da24b DIST elt-patches-20240315.tar.xz 45416 BLAKE2B 4a1e33bba89c43cb91d75641d35837aa482e2e119079321b4e1824ee5bd4b0f5c465c4709082daf987dedf423fef5adb9ba8d8d1b9d6dc814c663dda86ac0ee0 SHA512 7c2034713630f8ad40fed5be34f397749e8e1f63d5933656fe3618e97cf59240aaa64468fcb1a46bac111b96603e538b857513ca80d327c0be865868020457ea DIST elt-patches-20240324.tar.xz 45712 BLAKE2B 29a94ad3132ba10f4fc90cde685732b1cb679d693e1b1a1fbdb7fd99fbfc70aa7df9e6753ef6374cd606195829bd9d6a8b9b19126780ffa8f28542fb59d99fb0 SHA512 3878d5d303b372c873859510d6a0f3911657f4b66af8a91833657a13902474d011e30b4d245e5f82df791a9231f0253bb0ddef42bba66acb4241600265fb7925 -DIST elt-patches-20240415.tar.xz 46164 BLAKE2B 460a21bb20368c541406d8e0031d379a41d7a41f62a74a2a33c40647261f1dc542693ee9c3148c8f07ecb830c18d6d34500fbe2f05d03902b06967d6f762f131 SHA512 d876049860aad979bdf5e8b9842688cb31f3e1487d4966247ec4bcb6b696c25ef4b2a4abd4b330ecc39cff4f9ef18cf8b401660e59f35468b8dc1a26996a5c06 +DIST elt-patches-20240512.tar.xz 46176 BLAKE2B 8ca496aae63dd49e7148b7c06e687b3644a58211ec5cf7b82d8ccb7603df6390c7f9ba6f71b4b9b9db7263bf0c7005f9c6098091227c6b34729032f6a6101cd7 SHA512 c33321668b9191d2f8221fb4a1ea365ccce6d0b61bf8bb1b95fc6c2c67ada8b36c44d7423d994678e60e3197bf2721aca9e062e882d2cea05b465ad0d4e8a93c diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240116.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240116.ebuild deleted file mode 100644 index 1c8e8632cc8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240116.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# 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 ~ia64 ~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/elt-patches/elt-patches-20240213.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240213.ebuild deleted file mode 100644 index 1c8e8632cc8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240213.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# 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 ~ia64 ~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/elt-patches/elt-patches-20240315.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240315.ebuild index e4f296996a8..1c8e8632cc8 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240315.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240315.ebuild @@ -19,7 +19,7 @@ else https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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 ~ia64 ~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-20240324.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240324.ebuild index 29410c13f99..1c8e8632cc8 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240324.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240324.ebuild @@ -19,7 +19,7 @@ else https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 ~ia64 ~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-20240415.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240415.ebuild rename to sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild From 1d96145c8d6ec84d226bfb1e3f100e59c3d9cb68 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:20 +0000 Subject: [PATCH 026/239] app-portage/gentoolkit: Sync with Gentoo It's from Gentoo commit 68cd2be55e38cdcbdfada4cfcf1270d26aab35fd. --- .../app-portage/gentoolkit/Manifest | 2 + .../gentoolkit/gentoolkit-0.6.3-r1.ebuild | 1 - .../gentoolkit/gentoolkit-0.6.5.ebuild | 1 - .../gentoolkit/gentoolkit-0.6.6.ebuild | 126 ++++++++++++++++++ .../gentoolkit/gentoolkit-0.6.7.ebuild | 126 ++++++++++++++++++ .../gentoolkit/gentoolkit-9999.ebuild | 1 - 6 files changed, 254 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest index b9fa161f896..27d5cee1963 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest @@ -1,2 +1,4 @@ DIST gentoolkit-0.6.3.tar.bz2 3186163 BLAKE2B 0f9befac53faa2b578b461a55c7113934a60478fc5d8d5ab0e06cb836ff5a2de75bb290ed797a2b085ec9f33c8494e3c3d5d0d6b643c525fff4dd0a82657118f SHA512 cf51480213fd4bac45d44f5eb5e4be4cb5c5b97ad63ecd832eb54fc7043ab8e974491005431f0897d6c41d251ae0f9fc95cfdfc4d613fc56340630a094bfc61d DIST gentoolkit-0.6.5.tar.bz2 3186457 BLAKE2B 7f873385b183e51b03e1c4be0edbabc89556e1b3a1dce2be71584c9ea927dd09185ba1022e570de0ed2a46cbb764c67f6eaccf97dc5892f4f355244bac7c0545 SHA512 cff9e7b1b8122941b03f7e156f25b5b416c5e4bbf1b759ecf006c271758f2548323bf59ba94a14f3268eea43081ccbba3ab63e118123af870c0257aaecbb9554 +DIST gentoolkit-0.6.6.tar.bz2 3187351 BLAKE2B f8add246e9d968c57a8d0e5c842a40a7646e92cc165ca611df35988ba55bd0221a26eefb351680f53e81adcf608a20eab604d0a9b9e52f936ebc7c20575c597c SHA512 73fc4b8d98dc118d3c505c49d94dd248c92d2bde883c130c65dcf814d200a165084e9c94713e93341e7c54b59b59db83279538440e0822902de688c135b8949d +DIST gentoolkit-0.6.7.tar.bz2 3187598 BLAKE2B 54c576fa7ded310fae24100171e069bfc79c0f908199384d33cac34d49f62e5cac4bda3e7f93db1866f8d4cf75afb465d82038eebb4df27070e14e73fba65feb SHA512 a5fb73c9b43e74541ccbb0537f860b6623284b84feb8922c95b5b5dd1dbd3db5117cbc3f899483c1a99086fcd8ddf49f71b81475e29af9e8bcdd1255553501fe diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild index 36bae9f8dac..12c98846bbf 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild @@ -95,7 +95,6 @@ my_src_install() { ) meson_src_install - python_fix_shebang "${pydirs[@]}" python_optimize "${pydirs[@]}" } diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild index 06657eae3ab..10786b3e8d2 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild @@ -95,7 +95,6 @@ my_src_install() { ) meson_src_install - python_fix_shebang "${pydirs[@]}" python_optimize "${pydirs[@]}" } diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild new file mode 100644 index 00000000000..d00878e10f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_REQ_USE="xml(+),threads(+)" + +inherit meson python-r1 tmpfiles + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Collection of administration scripts for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" + +LICENSE="GPL-2" +SLOT="0" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="test" +RESTRICT="!test? ( test )" + +# Need newer Portage for eclean-pkg API, bug #900224 +DEPEND=" + >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} + app-alternatives/awk + sys-apps/gentoo-functions +" + +# setuptools is still needed as a workaround for Python 3.12+ for now. +# https://github.com/mesonbuild/meson/issues/7702 +# +# >=meson-1.2.1-r1 for bug #912051 +BDEPEND=" + ${PYTHON_DEPS} + >=dev-build/meson-1.2.1-r1 + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ' python3_12) + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + default + if use prefix-guest ; then + # use correct repo name, bug #632223 + sed -i \ + -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ + pym/gentoolkit/profile.py || die + fi +} + +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + $(meson_use test tests) + -Deprefix="${EPREFIX}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + ) + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + python_foreach_impl meson_src_test --no-rebuild --verbose +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles data/tmpfiles.d/revdep-rebuild.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + ) + + meson_src_install + python_optimize "${pydirs[@]}" +} + +pkg_postinst() { + tmpfiles_process revdep-rebuild.conf + + # Only show the elog information on a new install + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog + elog "For further information on gentoolkit, please read the gentoolkit" + elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" + elog + elog "Another alternative to equery is app-portage/portage-utils" + elog + elog "Additional tools that may be of interest:" + elog + elog " app-admin/eclean-kernel" + elog " app-portage/diffmask" + elog " app-portage/flaggie" + elog " app-portage/portpeek" + elog " app-portage/smart-live-rebuild" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild new file mode 100644 index 00000000000..d00878e10f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_REQ_USE="xml(+),threads(+)" + +inherit meson python-r1 tmpfiles + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Collection of administration scripts for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" + +LICENSE="GPL-2" +SLOT="0" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="test" +RESTRICT="!test? ( test )" + +# Need newer Portage for eclean-pkg API, bug #900224 +DEPEND=" + >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} + app-alternatives/awk + sys-apps/gentoo-functions +" + +# setuptools is still needed as a workaround for Python 3.12+ for now. +# https://github.com/mesonbuild/meson/issues/7702 +# +# >=meson-1.2.1-r1 for bug #912051 +BDEPEND=" + ${PYTHON_DEPS} + >=dev-build/meson-1.2.1-r1 + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ' python3_12) + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + default + if use prefix-guest ; then + # use correct repo name, bug #632223 + sed -i \ + -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ + pym/gentoolkit/profile.py || die + fi +} + +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + $(meson_use test tests) + -Deprefix="${EPREFIX}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + ) + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + python_foreach_impl meson_src_test --no-rebuild --verbose +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles data/tmpfiles.d/revdep-rebuild.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + ) + + meson_src_install + python_optimize "${pydirs[@]}" +} + +pkg_postinst() { + tmpfiles_process revdep-rebuild.conf + + # Only show the elog information on a new install + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog + elog "For further information on gentoolkit, please read the gentoolkit" + elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" + elog + elog "Another alternative to equery is app-portage/portage-utils" + elog + elog "Additional tools that may be of interest:" + elog + elog " app-admin/eclean-kernel" + elog " app-portage/diffmask" + elog " app-portage/flaggie" + elog " app-portage/portpeek" + elog " app-portage/smart-live-rebuild" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild index 5eb3d884baf..d00878e10f0 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild @@ -101,7 +101,6 @@ my_src_install() { ) meson_src_install - python_fix_shebang "${pydirs[@]}" python_optimize "${pydirs[@]}" } From d8d4001a178ba9519f52faaacbfe48d52be939b0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:20 +0000 Subject: [PATCH 027/239] app-portage/getuto: Sync with Gentoo It's from Gentoo commit 6793c4c9554f2117fa458eac4edaf9153260544e. --- .../app-portage/getuto/Manifest | 1 + .../app-portage/getuto/getuto-1.11.ebuild | 2 +- .../app-portage/getuto/getuto-1.12.ebuild | 50 +++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.12.ebuild 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 452b0345043..2e211937c26 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,4 +1,5 @@ DIST getuto-1.10.2.tar.gz 10561 BLAKE2B 93093e9027b6fc1f8e2dac5fbcdab847c95742fe2e5b4fa142591039f639570a589b28f954cb7290d22b06cd18d189d2176d937bbd256a2cd91270c5c762c3b9 SHA512 9e559551a0b85d1fd41202d6cc6d328021320647789d374c6ccacd5a7d29beb63959385499b84bc3b3bea18b17c50d54a78526150d39b4103719753930f1fff3 DIST getuto-1.11.tar.gz 10686 BLAKE2B c92121dc9b02e6af5101dcd27a64e59828270fd54a42a9b333d844d0f75d93206f91f130699f7dbf6d825cbc2c2a341ced9f1f0247ed1ee39ef5226a51f59c0e SHA512 f73b81134b8cf306b19fdc49bd797278ea08b5c64695dd4da9c4000701e627c9b8b7a8909bff4fd4a72b801df6bcbf6d1638b126556dd9b11628989e8602b6be +DIST getuto-1.12.tar.gz 10708 BLAKE2B 5c6e1fbb614043268667b60460298b4acba3f2379465a7e8a0043b537940c1e98749bf4580fde4ce30fac46bf0826d8c1a2ddc5602281fcdb942871f4457b7ad SHA512 0be8d0b78c0be5878986f5b55bff952d2ccd3b73c8a3f47d40a692ee084b77473422ec66aced9eb1ee6be8e5e5409c77d7bac76ca94f1da065c527ed6e2d2076 DIST getuto-1.9.1.tar.gz 10220 BLAKE2B 4c756f36e9d1272ab194c65e75b6c4d47c248190029ce2b5fe6edb1253998aaa311dd1ae59f893200d1588a52d1bcb53376a32f279c841ae6b5cf5e5b0eeb163 SHA512 3f8e5359940fa5582bea8dc11f2a0846c3f6bdc555974f2f049d5c6ff282029b6393a8c6ae221d327376b4df05de492f44720de90f76f5e3deb436171507f0cb 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.11.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.11.ebuild index 7be78a7129e..2a7563e23c9 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.11.ebuild @@ -15,7 +15,7 @@ else " S=${WORKDIR}/${PN}-${P} - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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/17.1/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar )" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.12.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.12.ebuild new file mode 100644 index 00000000000..7be78a7129e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.12.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 ~ia64 ~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/17.1/x86-64/virtual/libc/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}"/libc-1-r1-1.gpkg.tar "${S}" || die + fi +} + +src_install() { + dobin getuto +} From 103c0b8150bd8f63d2ec4d3f864b670fffd6c7af Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:20 +0000 Subject: [PATCH 028/239] app-shells/bash: Sync with Gentoo It's from Gentoo commit b35701d05b15a831d8319c046203f7a70be339cb. --- .../portage-stable/app-shells/bash/Manifest | 2 + .../app-shells/bash/bash-5.1_p16-r11.ebuild | 346 +++++++++++++++ .../app-shells/bash/bash-5.1_p16-r6.ebuild | 10 +- .../app-shells/bash/bash-5.1_p16-r7.ebuild | 328 -------------- .../app-shells/bash/bash-5.1_p16-r8.ebuild | 353 ---------------- .../app-shells/bash/bash-5.2_p26-r1.ebuild | 400 ------------------ .../app-shells/bash/bash-5.2_p26-r4.ebuild | 390 +++++++++++++++++ .../app-shells/bash/bash-5.2_p26.ebuild | 375 ---------------- .../app-shells/bash/bash-5.3_alpha-r3.ebuild | 389 +++++++++++++++++ .../app-shells/bash/bash-9999.ebuild | 328 +++++++------- .../app-shells/bash/files/bashrc-r1 | 15 +- .../bash/files/bashrc.d/10-gentoo-color.bash | 6 +- .../bash/files/bashrc.d/10-gentoo-title.bash | 50 ++- 13 files changed, 1354 insertions(+), 1638 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r11.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r7.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r8.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r4.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest index 639407e7356..57d7042f95a 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 @@ -23,6 +23,8 @@ DIST bash-5.1.tar.gz.sig 95 BLAKE2B ac9209d6a4ab4436c511a7a195594e9036d7d1aef788 DIST bash-5.1_p16-patches.tar.xz 388 BLAKE2B 1575d54d311872c7ca71e13711fa0f7e3534fca16fd9d1ca045b6c696c9ca56f6a0ed5023a05d847ab5ddbefc22b8ef2c2a681f09571520f0294d83b495f0015 SHA512 c85e5b83f6ee1a7345647fa937d9718cab13be1a65886755d26a78d21fea4246650c7441a34fd729212e220366985b410562002d74c02c18de7ef0469b409ac7 DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30919a13271e39e1cb66a0672f242df75fc7d71627ea873dfbce53ec35c0c56a71c5167143070a7811343fd9 SHA512 5647636223ba336bf33e0c65e516d8ebcf6932de8b44f37bc468eedb87579c628ad44213f78534beb10f47aebb9c6fa670cb0bed3b4e7717e5faf7e9a1ef81ae 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 bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r11.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r11.ebuild new file mode 100644 index 00000000000..863a03b120b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r11.ebuild @@ -0,0 +1,346 @@ +# 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.1-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.1" + +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 ~ia64 ~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 +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=" + sys-devel/bison + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +# EAPI 8 tries to append it but it doesn't exist here. +QA_CONFIGURE_OPTIONS="--disable-static" + +QA_CONFIG_IMPL_DECL_SKIP+=( + # this is fixed in autoconf 2.71, used in bash 5.2. The check fails + # regardless of GCC version. bug #916480 + makedev +) + +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.1_p16-configure-clang16.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 + + 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() { + emake + + if use plugins; then + emake -C examples/loadables all others + fi +} + +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 + + 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-r1"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8"; then + return + fi + + ewarn "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." + ewarn "" + ewarn "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" + ewarn "characteristics of the operating environment, this array may contain commands" + ewarn "to set the window and pane title. Users that choose to customise this variable" + ewarn "in ~/.bashrc are advised to append their commands, using the following syntax." + ewarn "" + ewarn "PROMPT_COMMAND+=('custom command goes here')" + ewarn "" + ewarn "Alternatively, users that wish to opt out of Gentoo's window title setting" + ewarn "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" + ewarn "as desired. Previously, there was no formally supported method of opting out." +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r6.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r6.ebuild index 4553ec95247..488dbff0dc9 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r6.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 @@ -60,7 +60,7 @@ if is_release ; then # 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}} )" + SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )" MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) done @@ -96,6 +96,12 @@ BDEPEND="sys-devel/bison S="${WORKDIR}/${MY_P}" +QA_CONFIG_IMPL_DECL_SKIP+=( + # this is fixed in autoconf 2.71, used in bash 5.2. The check fails + # regardless of GCC version. bug #916480 + makedev +) + PATCHES=( # Patches from Chet sent to bashbug ml "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r7.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r7.ebuild deleted file mode 100644 index 26db8787ba7..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r7.ebuild +++ /dev/null @@ -1,328 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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}" - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -MY_PATCHES=() - -is_release() { - case ${PV} in - *_alpha*|*_beta*|*_rc*) - return 1 - ;; - *) - return 0 - ;; - esac -} - -[[ ${PV} != *_p* ]] && PLEVEL=0 - -# The version of readline this bash normally ships with. -READLINE_VER="8.1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html" - -if is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )" - - 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/bash" - mirror_url_base="ftp://ftp.cwru.edu/pub/bash" - - 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}} )" - - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done - - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -else - SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" -fi - -if [[ -n ${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" -[[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:0= - nls? ( virtual/libintl ) - readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) -" -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011) -BDEPEND="sys-devel/bison - verify-sig? ( sec-keys/openpgp-keys-chetramey )" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - # Patches from Chet sent to bashbug ml - "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch - - "${FILESDIR}"/${PN}-5.1_p16-configure-clang16.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() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - else - if use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig} - - local patch - for patch in "${MY_PATCHES[@]}" ; do - verify-sig_verify_detached ${patch}{,.sig} - done - fi - - unpack ${MY_P}.tar.gz - - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz - fi - fi -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - # 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 YACC - - local 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) - - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - # 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%%_*} - - if is_release ; then - # 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() { - emake - - if use plugins ; then - emake -C examples/loadables all others - fi -} - -src_install() { - local d f - - default - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - doins "$(prefixify_ro "${FILESDIR}"/bashrc)" - - keepdir /etc/bash/bashrc.d - - insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} - done - - local sed_args=( - -e 's:#GNU#@::' - -e '/#@/d' - ) - - if ! use readline ; then - # bug #432338 - sed_args+=( - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') - - 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 ]] && [[ ${f##*/} != *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/ - fi -} - -pkg_postinst() { - # If /bin/sh does not exist, provide it - if [[ ! -e ${EROOT}/bin/sh ]] ; then - ln -sf bash "${EROOT}"/bin/sh - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r8.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r8.ebuild deleted file mode 100644 index 97f08a41017..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r8.ebuild +++ /dev/null @@ -1,353 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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}" - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -MY_PATCHES=() - -is_release() { - case ${PV} in - *_alpha*|*_beta*|*_rc*) - return 1 - ;; - *) - return 0 - ;; - esac -} - -[[ ${PV} != *_p* ]] && PLEVEL=0 - -# The version of readline this bash normally ships with. -READLINE_VER="8.1" - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html" - -if is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )" - - 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/bash" - mirror_url_base="ftp://ftp.cwru.edu/pub/bash" - - 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}} )" - - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done - - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -else - SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" -fi - -if [[ -n ${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" -[[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline" - -DEPEND=" - >=sys-libs/ncurses-5.2-r2:0= - nls? ( virtual/libintl ) - readline? ( >=sys-libs/readline-${READLINE_VER}:0= ) -" -RDEPEND=" - ${DEPEND} -" -# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011) -BDEPEND="sys-devel/bison - verify-sig? ( sec-keys/openpgp-keys-chetramey )" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - # Patches from Chet sent to bashbug ml - "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch - - "${FILESDIR}"/${PN}-5.1_p16-configure-clang16.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() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - else - if use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig} - - local patch - for patch in "${MY_PATCHES[@]}" ; do - verify-sig_verify_detached ${patch}{,.sig} - done - fi - - unpack ${MY_P}.tar.gz - - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz - fi - fi -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - # 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 YACC - - local 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) - - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - # 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%%_*} - - if is_release ; then - # 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() { - emake - - if use plugins ; then - emake -C examples/loadables all others - fi -} - -src_install() { - local d f - - default - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - newins "$(prefixify_ro "${FILESDIR}"/bashrc-r1)" bashrc - - insinto /etc/bash/bashrc.d - doins "${FILESDIR}"/bashrc.d/*.bash - - insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} - done - - local sed_args=( - -e 's:#GNU#@::' - -e '/#@/d' - ) - - if ! use readline ; then - # bug #432338 - sed_args+=( - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') - - 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 ]] && [[ ${f##*/} != *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/ - 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 - 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-r1" ; then - return - elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8" ; then - return - fi - - einfo "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." - einfo "" - einfo "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" - einfo "characteristics of the operating environment, this array may contain commands" - einfo "to set the window and pane title. Users that choose to customise this variable" - einfo "in ~/.bashrc are advised to append their commands, using the following syntax." - einfo "" - einfo "PROMPT_COMMAND+=('custom command goes here')" - einfo "" - einfo "Alternatively, users that wish to opt out of Gentoo's window title setting" - einfo "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" - einfo "as desired. Previously, there was no formally supported method of opting out." -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r1.ebuild deleted file mode 100644 index 0db88e2a73f..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r1.ebuild +++ /dev/null @@ -1,400 +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}" - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -MY_PATCHES=() - -is_release() { - case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - return 1 - ;; - *) - return 0 - ;; - esac -} - -[[ ${PV} != *_p* ]] && PLEVEL=0 - -# The version of readline this bash normally ships with. -# Note: right now, we don't use the system copy of readline for bash for non-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 -elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )" - - 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/bash" - mirror_url_base="ftp://ftp.cwru.edu/pub/bash" - - 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}} )" - - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done - - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -else - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" -fi - -if [[ -n ${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 is_release ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 is_release ; 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 ) -" - -S="${WORKDIR}/${MY_P}" - -# EAPI 8 tries to append it but it doesn't exist here -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches from Chet sent to bash-bug ml - "${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() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - else - if use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig} - - local patch - for patch in "${MY_PATCHES[@]}" ; do - verify-sig_verify_detached ${patch}{,.sig} - done - fi - - unpack ${MY_P}.tar.gz - - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz - fi - fi -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - # 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 YACC - - local 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) - - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - if is_release ; 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() { - # -fprofile-partial-training because upstream note the test suite isn't super comprehensive - # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/pgo -fprofile-generate=${T}/pgo $(test-flags-CC -fprofile-partial-training)") - local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo $(test-flags-CC -fprofile-partial-training)") - - 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 use pgo ; then - # Used in test suite. - unset 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 A - - default -} - -src_install() { - local d f - - default - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - newins "$(prefixify_ro "${FILESDIR}"/bashrc-r1)" bashrc - - insinto /etc/bash/bashrc.d - doins "${FILESDIR}"/bashrc.d/*.bash - - insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} - done - - local sed_args=( - -e 's:#GNU#@::' - -e '/#@/d' - ) - - if ! use readline ; then - # bug #432338 - sed_args+=( - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') - - 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 ]] && [[ ${f##*/} != *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/ - 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 - 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-r1" ; then - return - elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8" ; then - return - fi - - einfo "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." - einfo "" - einfo "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" - einfo "characteristics of the operating environment, this array may contain commands" - einfo "to set the window and pane title. Users that choose to customise this variable" - einfo "in ~/.bashrc are advised to append their commands, using the following syntax." - einfo "" - einfo "PROMPT_COMMAND+=('custom command goes here')" - einfo "" - einfo "Alternatively, users that wish to opt out of Gentoo's window title setting" - einfo "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" - einfo "as desired. Previously, there was no formally supported method of opting out." -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r4.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r4.ebuild new file mode 100644 index 00000000000..980ea4fdba5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r4.ebuild @@ -0,0 +1,390 @@ +# 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 ~ia64 ~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 + + 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-r1"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8"; then + return + fi + + ewarn "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." + ewarn "" + ewarn "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" + ewarn "characteristics of the operating environment, this array may contain commands" + ewarn "to set the window and pane title. Users that choose to customise this variable" + ewarn "in ~/.bashrc are advised to append their commands, using the following syntax." + ewarn "" + ewarn "PROMPT_COMMAND+=('custom command goes here')" + ewarn "" + ewarn "Alternatively, users that wish to opt out of Gentoo's window title setting" + ewarn "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" + ewarn "as desired. Previously, there was no formally supported method of opting out." +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26.ebuild deleted file mode 100644 index 1bee48a4a94..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26.ebuild +++ /dev/null @@ -1,375 +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}" - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -MY_PATCHES=() - -is_release() { - case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - return 1 - ;; - *) - return 0 - ;; - esac -} - -[[ ${PV} != *_p* ]] && PLEVEL=0 - -# The version of readline this bash normally ships with. -# Note: right now, we don't use the system copy of readline for bash for non-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 -elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )" - - 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/bash" - mirror_url_base="ftp://ftp.cwru.edu/pub/bash" - - 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}} )" - - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done - - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -else - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" -fi - -if [[ -n ${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 is_release ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 is_release ; 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 ) -" - -S="${WORKDIR}/${MY_P}" - -# EAPI 8 tries to append it but it doesn't exist here -QA_CONFIGURE_OPTIONS="--disable-static" - -PATCHES=( - #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - - # Patches from Chet sent to bash-bug ml - "${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() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - else - if use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig} - - local patch - for patch in "${MY_PATCHES[@]}" ; do - verify-sig_verify_detached ${patch}{,.sig} - done - fi - - unpack ${MY_P}.tar.gz - - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz - fi - fi -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die - - # Sometimes hangs (more noticeable w/ pgo), bug #907403. - rm tests/run-jobs || die - - eapply -p0 "${PATCHES[@]}" - eapply_user -} - -src_configure() { - # 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 YACC - - local 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) - - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - if is_release ; 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() { - # -fprofile-partial-training because upstream note the test suite isn't super comprehensive - # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/pgo -fprofile-generate=${T}/pgo $(test-flags-CC -fprofile-partial-training)") - local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo $(test-flags-CC -fprofile-partial-training)") - - 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 use pgo ; then - # Used in test suite. - unset 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 A - - default -} - -src_install() { - local d f - - default - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/bash_logout - doins "$(prefixify_ro "${FILESDIR}"/bashrc)" - - keepdir /etc/bash/bashrc.d - - insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} - done - - local sed_args=( - -e 's:#GNU#@::' - -e '/#@/d' - ) - - if ! use readline ; then - # bug #432338 - sed_args+=( - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') - - 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 ]] && [[ ${f##*/} != *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/ - fi -} - -pkg_postinst() { - # If /bin/sh does not exist, provide it - if [[ ! -e ${EROOT}/bin/sh ]] ; then - ln -sf bash "${EROOT}"/bin/sh - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r3.ebuild new file mode 100644 index 00000000000..248f30b7b4e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r3.ebuild @@ -0,0 +1,389 @@ +# 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.3-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.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 +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 ~ia64 ~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 + 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 + doins "${FILESDIR}"/bashrc.d/10-gentoo-title.bash + + 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-r1"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8"; then + return + fi + + ewarn "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." + ewarn "" + ewarn "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" + ewarn "characteristics of the operating environment, this array may contain commands" + ewarn "to set the window and pane title. Users that choose to customise this variable" + ewarn "in ~/.bashrc are advised to append their commands, using the following syntax." + ewarn "" + ewarn "PROMPT_COMMAND+=('custom command goes here')" + ewarn "" + ewarn "Alternatively, users that wish to opt out of Gentoo's window title setting" + ewarn "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" + ewarn "as desired. Previously, there was no formally supported method of opting out." +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index dc26c74b8f9..ae661e409da 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,84 +6,65 @@ 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 +# Uncomment if we have a patchset. #GENTOO_PATCH_DEV="sam" #GENTOO_PATCH_VER="${PV}" -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} MY_PATCHES=() -is_release() { - case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) - return 1 - ;; - *) - return 0 - ;; - esac -} - -[[ ${PV} != *_p* ]] && PLEVEL=0 - -# The version of readline this bash normally ships with. -# Note: right now, we don't use the system copy of readline for bash for non-releases. -READLINE_VER="8.2_p1" +# Determine the patchlevel. +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.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 +if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" EGIT_BRANCH=devel inherit git-r3 -elif is_release ; then - SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )" - - 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/bash" - mirror_url_base="ftp://ftp.cwru.edu/pub/bash" - - 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}" +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) - SRC_URI+=" ${patch_url}" - SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + # bash-5.1 -> bash51 + my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} - # 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}} )" + 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 - MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) - done + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" - unset my_p patch_url my_patch_index upstream_url_base mirror_url_base - fi -else - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" + unset -v my_urls my_p my_patch_idx my_patch_ver fi -if [[ -n ${GENTOO_PATCH_VER} ]] ; then - SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" +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 is_release ; then +if (( PLEVEL >= 0 )); then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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" @@ -92,83 +73,84 @@ DEPEND=" >=sys-libs/ncurses-5.2-r2:= nls? ( virtual/libintl ) " -if is_release ; then +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) +# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). BDEPEND=" - sys-devel/bison pgo? ( dev-util/gperf ) verify-sig? ( sec-keys/openpgp-keys-chetramey ) " -S="${WORKDIR}/${MY_P}" - -# EAPI 8 tries to append it but it doesn't exist here +# EAPI 8 tries to append it but it doesn't exist here. QA_CONFIGURE_OPTIONS="--disable-static" PATCHES=( #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ - # Patches from Chet sent to bash-bug ml - "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch + # 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 + 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 + 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() { - if [[ ${PV} == 9999 ]] ; then + 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} + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} - local patch - for patch in "${MY_PATCHES[@]}" ; do - verify-sig_verify_detached ${patch}{,.sig} + for patch in "${MY_PATCHES[@]}"; do + verify-sig_verify_detached "${patch}"{,.sig} done fi - unpack ${MY_P}.tar.gz + unpack "${MY_P}.tar.gz" - if [[ -n ${GENTOO_PATCH_VER} ]] ; then - unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz + if [[ ${GENTOO_PATCH_VER} ]]; then + unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" fi fi } src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" - - # Clean out local libs so we know we use system ones w/releases. - if is_release ; then - rm -rf lib/{readline,termcap}/* || die - touch lib/{readline,termcap}/Makefile.in || die # for config.status - sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die + # 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 -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* || die + # 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 @@ -178,14 +160,20 @@ src_prepare() { } 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 YACC + unset -v YACC - local myconf=( + # 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 @@ -203,7 +191,7 @@ src_configure() { $(use_with mem-scramble bash-malloc) ) - # For descriptions of these, see config-top.h + # 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\"\' \ @@ -214,13 +202,9 @@ src_configure() { -DSSH_SOURCE_BASHRC \ $(use bashlogger && echo -DSYSLOG_HISTORY) - # Don't even think about building this statically without - # reading bug #7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" use nls || myconf+=( --disable-nls ) - if is_release ; then + 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 @@ -234,17 +218,15 @@ src_configure() { myconf+=( --with-installed-readline=. ) fi - if use plugins ; then - append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/bash + 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. + # 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 + sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die fi # bug #444070 @@ -254,20 +236,37 @@ src_configure() { } src_compile() { - # -fprofile-partial-training because upstream note the test suite isn't super comprehensive - # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo - local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/pgo -fprofile-generate=${T}/pgo $(test-flags-CC -fprofile-partial-training)") - local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo $(test-flags-CC -fprofile-partial-training)") + 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 + 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 use pgo ; then + if (( ${#pgo_generate_flags[@]} )); then # Used in test suite. - unset A + unset -v A - emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check if tc-is-clang; then llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die @@ -275,14 +274,14 @@ src_compile() { # 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 + 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 A + unset -v A default } @@ -292,62 +291,56 @@ src_install() { 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 + mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die dosym bash /bin/rbash insinto /etc/bash doins "${FILESDIR}"/bash_logout - doins "$(prefixify_ro "${FILESDIR}"/bashrc)" + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc - keepdir /etc/bash/bashrc.d + 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 insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" done - local sed_args=( - -e 's:#GNU#@::' - -e '/#@/d' - ) - - if ! use readline ; then - # bug #432338 - sed_args+=( - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') + 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 ]] && [[ ${f##*/} != *README ]] ; then - doexe ${f} + 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} + dodoc "${f}" fi done done fi - # Install bash_builtins.1 and rbash.1 + # 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 @@ -357,15 +350,40 @@ src_install() { } 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/ + 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() { - # If /bin/sh does not exist, provide it - if [[ ! -e ${EROOT}/bin/sh ]] ; then - ln -sf bash "${EROOT}"/bin/sh + 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-r1"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8"; then + return fi + + ewarn "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash." + ewarn "" + ewarn "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the" + ewarn "characteristics of the operating environment, this array may contain commands" + ewarn "to set the window and pane title. Users that choose to customise this variable" + ewarn "in ~/.bashrc are advised to append their commands, using the following syntax." + ewarn "" + ewarn "PROMPT_COMMAND+=('custom command goes here')" + ewarn "" + ewarn "Alternatively, users that wish to opt out of Gentoo's window title setting" + ewarn "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it" + ewarn "as desired. Previously, there was no formally supported method of opting out." } diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 index 61202b61f14..6f463156811 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 @@ -5,8 +5,14 @@ if [[ $- != *i* ]]; then return fi -# Disable completion when the input buffer is empty. Requires readline support. -shopt -s no_empty_cmd_completion 2>/dev/null +# A convenient function to determine whether bash has readline support. +genfun_has_readline() [[ $(shopt -p direxpand 2>/dev/null) ]] + +# The following two shell options require for bash to have readline support. +genfun_has_readline && + +# Disable completion when the input buffer is empty. +shopt -s no_empty_cmd_completion && # Append to HISTFILE rather than overwrite upon exiting, per bug #139609. shopt -s histappend @@ -14,8 +20,13 @@ shopt -s histappend # Initialise PROMPT_COMMAND as an array, which is permitted as of bash 5.1. PROMPT_COMMAND=() +# Don't let the user influence the order of sourcing for bash 5.3 or greater. +unset -v GLOBSORT + for _ in /etc/bash/bashrc.d/*; do if [[ $_ == *.@(bash|sh) && -r $_ ]]; then source "$_" fi done + +unset -f genfun_has_readline diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash index 5a6df5690c0..6192bfaf439 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-color.bash @@ -34,7 +34,7 @@ elif (( gentoo_color == 16777216 )); then export COLORTERM=truecolor fi -if (( gentoo_color <= 0 )); then +if (( gentoo_color <= 0 )) || ! genfun_has_readline; then # Define a prompt without color. PS1='\u@\h \w \$ ' elif (( EUID == 0 )); then @@ -46,8 +46,8 @@ else fi if (( gentoo_color > 0 )); then - # Colorize the output of grep and several coreutils utilities. - for _ in diff dir egrep fgrep grep ls vdir; do + # Colorize the output of diff(1), grep(1) and a few coreutils utilities. + for _ in diff dir grep ls vdir; do alias "$_=$_ --color=auto" done diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash index 56afcf21304..0246d4fa36f 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title.bash @@ -1,5 +1,31 @@ # /etc/bash/bashrc.d/10-gentoo-title.bash +genfun_set_win_title() { + # Assigns the basename of the current working directory, having + # sanitised it with @Q parameter expansion. Useful for paths containing + # newlines and such. As a special case, names consisting entirely of + # graphemes shall not undergo the expansion, for reasons of cleanliness. + genfun_sanitise_cwd() { + _cwd=${PWD##*/} + if [[ ! ${_cwd} ]]; then + _cwd=${PWD} + elif [[ ${_cwd} == *[![:graph:]]* ]]; then + _cwd=${_cwd@Q} + fi + } + + # Sets the window title with the Set Text Parameters sequence. For + # screen, the sequence defines the hardstatus (%h) and for tmux, the + # window_name (#W). For graphical terminal emulators, it is normal for + # the title bar be affected. + genfun_set_win_title() { + genfun_sanitise_cwd + printf '\033]2;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" + } + + genfun_set_win_title +} + # Set window title with the Title Definition String sequence. For screen, the # sequence defines the window title (%t) and for tmux, the pane_title (#T). # For tmux to be affected requires that its allow-rename option be enabled. @@ -15,27 +41,14 @@ case ${TERM} in # If the TTY is that of sshd(8) then proceed no further. Alas, # there exist many operating environments in which the window # title would otherwise not be restored upon ssh(1) exiting. + # Users wishing to coerce the historical behaviour have the + # option of setting PROMPT_COMMAND=(genfun_set_win_title). if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then return fi esac -# Assigns the basename of the current working directory, having sanitised it -# with @Q parameter expansion. Useful for paths containing newlines and such. -# As a special case, names consisting entirely of graphemes shall not undergo -# the parameter expansion, for reasons of cleanliness. -genfun_sanitise_cwd() { - _cwd=${PWD##*/} - if [[ ! ${_cwd} ]]; then - _cwd=${PWD} - elif [[ ${_cwd} == *[![:graph:]]* ]]; then - _cwd=${_cwd@Q} - fi -} - -# Set window title with the Set Text Parameters sequence. For screen, the -# sequence defines the hardstatus (%h) and for tmux, the window_name (#W). -# For graphical terminal emulators, it is normal for the title bar be affected. +# Determine whether the terminal can handle the Set Text Parameters sequence. # The only terminals permitted here are those for which there is empirical # evidence that the sequence is supported and that the UTF-8 character encoding # is handled correctly. Quite rightly, this precludes many vintage terminals. @@ -45,11 +58,8 @@ case ${TERM} in foot* |\ rxvt-unicode* |\ screen* |\ + st-256color |\ tmux* |\ xterm* ) - genfun_set_win_title() { - genfun_sanitise_cwd - printf '\033]2;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" - } PROMPT_COMMAND+=('genfun_set_win_title') esac From 76c10136cbc2c1dba5290cb33896e77b9c8452d8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:21 +0000 Subject: [PATCH 029/239] app-shells/bash-completion: Sync with Gentoo It's from Gentoo commit 49a7d394d815dc1b17bc50ce0b6fb6f91ce5f7ca. --- .../app-shells/bash-completion/Manifest | 2 +- .../bash-completion-2.14.0-r1.ebuild | 188 ++++++++++++++++++ ...1.ebuild => bash-completion-2.14.0.ebuild} | 31 ++- .../bash-completion-9999.ebuild | 41 +++- ...etion-2.14.0-optimize-kernel-modules.patch | 13 ++ .../app-shells/bash-completion/metadata.xml | 4 + 6 files changed, 270 insertions(+), 9 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild rename sdk_container/src/third_party/portage-stable/app-shells/bash-completion/{bash-completion-2.11.ebuild => bash-completion-2.14.0.ebuild} (80%) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash-completion/files/bash-completion-2.14.0-optimize-kernel-modules.patch diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest index 886d43bc830..8f7c1783b4b 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest @@ -1,2 +1,2 @@ -DIST bash-completion-2.11.tar.xz 311004 BLAKE2B 98e3ab6669bd70b49b238a597f1bc1309dc7ddd51c5b17c5e054f9161115d75d26e85d547471bc087e070d10554448b790a6dfb557abc413b70079ecc94acce3 SHA512 41585f730b5114d397831ba36d10d05643c6a6179e746ddc49aa1cbef61ea5525fd2f09b2e474adee14e647f99df8d5983ee48e29a59d8a30e1daf7fb1837e06 +DIST bash-completion-2.14.0.tar.xz 428980 BLAKE2B c28ec0cd348a3954461f7a865823a358e47c4b479c7812baa6d54aef856c958510967806550e62784955f9daf233a0b01edade19884e534df857472a3196e63e SHA512 2e12d2e57c932b931a6cfe59234f9d33d715538d6ea4eb72ed4ed3d8d2cf2cedaf08fcb6abaf3117e06115d892283e38a07b3abe5c91c026d2c06a0f64e347bd DIST bashcomp-2.0.3.tar.gz 3539 BLAKE2B 75304d144792cc7f6ad5455a05a65c33c646d6f7384d020a06a1fcf012cd51625a3dd0750ad539253453b1eede196c340286a1e81737f0835b5091609ba01295 SHA512 b2bd185ccbd4456939ccc731cc1983fcec2b9564a9920642a753fadd5d897fdb96b925ac1524657629d621d45b37d99076c8ae72511a827e96ff6c388d720008 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild new file mode 100644 index 00000000000..7878ba323bf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.14.0-r1.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BASHCOMP_P=bashcomp-2.0.3 +PYTHON_COMPAT=( python3_{10..12} ) + +inherit python-any-r1 + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI=" + https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz + eselect? ( + https://github.com/projg2/bashcomp2/releases/download/v${BASHCOMP_P#*-}/${BASHCOMP_P}.tar.gz + ) +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+eselect test" +RESTRICT="!test? ( test )" + +# completion collision with net-fs/mc +RDEPEND=" + >=app-shells/bash-4.3_p30-r1:0 + sys-apps/miscfiles + !/dev/null | ++ _comp_compgen_split -- "$(command ls -RL "$_modpath"/!(source|build) 2>/dev/null | + command sed -ne 's/^\(.*\)\.k\{0,1\}o\(\.[gx]z\)\{0,1\}$/\1/p' \ + -e 's/^\(.*\)\.ko\.zst$/\1/p')" + } diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/metadata.xml b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/metadata.xml index 8b2bdc7b1a5..2336cf2dc57 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/metadata.xml @@ -5,6 +5,10 @@ shell-tools@gentoo.org Gentoo Shell Tools Project + + arthurzam@gentoo.org + Arthur Zamarin + Support blacklisting of completions via 'eselect bashcomp'. From 06eb8d61cf6105a4eb938aa32812952512b53fbb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:21 +0000 Subject: [PATCH 030/239] app-shells/gentoo-bashcomp: Sync with Gentoo It's from Gentoo commit 60c5cd9a23676ce3c88264d4b26cb8f6a14d0d31. --- .../portage-stable/app-shells/gentoo-bashcomp/Manifest | 4 ++-- ...0190211-r1.ebuild => gentoo-bashcomp-20240511.ebuild} | 2 +- ...p-20230313.ebuild => gentoo-bashcomp-20240525.ebuild} | 4 ++-- .../app-shells/gentoo-bashcomp/metadata.xml | 9 +++++++++ 4 files changed, 14 insertions(+), 5 deletions(-) rename sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/{gentoo-bashcomp-20190211-r1.ebuild => gentoo-bashcomp-20240511.ebuild} (94%) rename sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/{gentoo-bashcomp-20230313.ebuild => gentoo-bashcomp-20240525.ebuild} (73%) diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest index 780576961c4..9063a581741 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/Manifest @@ -1,2 +1,2 @@ -DIST gentoo-bashcomp-20190211.tar.bz2 21508 BLAKE2B 410994819f62b0bd105ca398c335d76993fd694b8e7f56c761b94fc1e2f6e90f2010f2f2a88febd71ac0c5643fc0e923c60151fbf9411e8a553b5917d6bcd8db SHA512 4b0a5e79f90ee8122fa8d0a7224fee6472b1762a0dda680ea1c0e8d4069760be9b6472e052b1b166a389c0e779816b98715386dbc62a3574e7ad851b2567a070 -DIST gentoo-bashcomp-20230313.tar.bz2 21536 BLAKE2B 5dc47aecf68fc19c177026582d98b441d09a15bf0f9e618533c62a37b7986ab6d619f2873b58697f484830bbe88e7697755bb7ee14fb8c55be12e7296e1acfec SHA512 482bf1444e76da544bfbab727f9016abcc82ed4283e31e7ad1e1d302cfe67edfc55cdc37871ae53c09e4e3ce5a5e20dd5f8994ec60e1698076bc81659a2fa3b0 +DIST gentoo-bashcomp-20240511.tar.bz2 21695 BLAKE2B 886a80eafbb923b5ccb5c9e6e0749b66878003d99e0ddf8fc3d07c072fd23cb3277eb254c4687695459fe8401d427dee2779bc29f2a48ab1c6f2b4bfe7d4ef0d SHA512 3e5add581268e7911eb18d1958e4db3b549b2afc496231dcf537abe5409fdd4fa045c6f61538be6c2686888e20ad0d0b714ecf82639a9ae0ec6eecedc378b78d +DIST gentoo-bashcomp-20240525.tar.bz2 23392 BLAKE2B 03da7f6a077382efaac9c9ddad2ef6bcf21704574378a400aeeb0ec2b88934c3aac10009912ad6f0d06ae410c42d6013acaf4629f3c6f46abb19b0d1e000c1d9 SHA512 5017f2e106e2b3f1335f1edbce7ede1fd918bd701a1082ec8cd71f1cedad9480109d82381d56587cb6da4dd04c210f9f51dbaaf8b2aa419abbc6fab73825226a diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20190211-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20190211-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.ebuild index ea57924b974..6ccd45c4343 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20190211-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240511.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=8 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20230313.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.ebuild similarity index 73% rename from sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20230313.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.ebuild index da8506a4999..f6df1253474 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20230313.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20240525.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 @@ -11,7 +11,7 @@ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" src_install() { emake DESTDIR="${D}" install \ diff --git a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/metadata.xml b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/metadata.xml index 6258504e513..94d6aeedb23 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/metadata.xml @@ -5,4 +5,13 @@ shell-tools@gentoo.org Gentoo Shell Tools Project + + arthurzam@gentoo.org + Arthur Zamarin + + + + proj/gentoo-bashcomp + gentoo/gentoo-bashcomp + From a834fe83308f7837d8475191cdc72af3658af5e1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:26 +0000 Subject: [PATCH 031/239] app-text/docbook-xsl-ns-stylesheets: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../docbook-xsl-ns-stylesheets-1.79.1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild index 1db6f61cf18..fbf2961b212 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-ns-stylesheets/docbook-xsl-ns-stylesheets-1.79.1.ebuild @@ -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 @@ -9,7 +9,7 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="XSL Stylesheets for Docbook" HOMEPAGE="https://github.com/docbook/wiki/wiki" -SRC_URI="mirror://sourceforge/docbook/${MY_P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/docbook/${MY_P}.tar.bz2" LICENSE="BSD" SLOT="0" From e1b0d492cf684f2ebde02b22d801d92e1ca8061d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:26 +0000 Subject: [PATCH 032/239] app-text/docbook-xsl-stylesheets: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../docbook-xsl-stylesheets-1.79.1-r4.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild index cf92278ee65..bccf505ec52 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/docbook-xsl-stylesheets/docbook-xsl-stylesheets-1.79.1-r4.ebuild @@ -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 @@ -12,7 +12,7 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="XSL Stylesheets for Docbook" HOMEPAGE="https://github.com/docbook/wiki/wiki" -SRC_URI="mirror://sourceforge/docbook/${MY_P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/docbook/${MY_P}.tar.bz2" S="${WORKDIR}/${MY_P}" LICENSE="BSD" From fff4e4d41bd8852deaaec3c91b1b64894bf56e74 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:33 +0000 Subject: [PATCH 033/239] dev-build/autoconf: Sync with Gentoo It's from Gentoo commit 3f993322ea0d9a8c97e5b37d2ba2d1f37ac3845f. --- .../portage-stable/dev-build/autoconf/autoconf-2.71-r7.ebuild | 2 +- .../portage-stable/dev-build/autoconf/autoconf-9999.ebuild | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r7.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r7.ebuild index 5e0b7361acf..be5e6cf592d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.71-r7.ebuild @@ -24,7 +24,7 @@ else S="${WORKDIR}"/${MY_P} if ! [[ ${PV} == *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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/autoconf/autoconf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild index 5d031dc63a2..f6fefff5c0f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-9999.ebuild @@ -35,7 +35,7 @@ else BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" fi -inherit toolchain-autoconf +inherit toolchain-autoconf multiprocessing DESCRIPTION="Used to create autoconfiguration files" HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" @@ -83,7 +83,7 @@ src_prepare() { } src_test() { - emake check + emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" } src_install() { From 933ca1d807f46708318387a5b1dc48f6234f71ba Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:35 +0000 Subject: [PATCH 034/239] dev-build/automake: Sync with Gentoo It's from Gentoo commit 695e465aa045a706e840ece230bee486a4b0ca15. --- .../dev-build/automake/Manifest | 3 + .../automake/automake-1.16.5-r2.ebuild | 13 +- .../automake/automake-1.16.90.ebuild | 148 ++++++++++++++++++ .../dev-build/automake/automake-9999.ebuild | 56 ++++--- 4 files changed, 199 insertions(+), 21 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest index 8ba58d3e324..91fc191e87b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/Manifest @@ -1,3 +1,6 @@ DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba DIST automake-1.16.5-tests-c99.patch.xz 7176 BLAKE2B 1fa1d3a499bacc5da9ee9d8ea6cb63d9ab91646a708a53d9bb08eef65fe02a6ab34ff95737042348ea7572bd70c6c7467e260d9441239a00c3571d25d73085f0 SHA512 0065b809219257cbce3c6f6f88459b91a5a29272e0027698e06246181357ffe8d5d40057086438f891d821836441a5a96f2568d52dcd3b5acb80e4d4968cbaf9 DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88 +DIST automake-1.16.5.tar.xz.sig 833 BLAKE2B a79fcdce97e13ac3bf39d73e183da92703681ff80011974d95a41be20169f95414551985f7a46602fba3558e33f24d6dcb76222d99f9de4fef0d3dc59b88807e SHA512 032a7c39abb4cabbefa4eb9c15263baec0902e48c0c81364307361a41fd55be282b9640707c789f5ae572e8e60240e34d1b575a671b5710f5d2a5716fafc2d51 +DIST automake-1.16.90.tar.xz 1644220 BLAKE2B 01a4ddfccbbdd96976b1801c767ef2ff6951a09eb7e0071a7b8e7c8c768fae1accc4a6a38290109995710b9296a2ac1e0dcf8d03a3f6ec42e4d69d25b3ff106e SHA512 139a2777be1417e02a7701a8e0166d4961fe50e3bddc79e2e852727fc1032b7f85ad0bee6ddc8bfd796a02c75a464500e984295290dac5614a7d6039dae9c52d +DIST automake-1.16.90.tar.xz.sig 833 BLAKE2B c77fa1a99a7638b570f26f4858486d20b83801a661549e82ac4f7b7e9fd9c7dd2211e2403fc13b65a488d05d7a3c81ae7a372988c4a7e2e0588e4d7d609c77b5 SHA512 f4fc6ff3e1158bc37f95375f4eb2497e5bd9bb943a7d418e94379fcd292b9f35357b842b8a7383c942b23bf5510b61b17b997231267fb6f55dad7bab00b954e2 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild index d4553e58b66..b1b2b9fb676 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.5-r2.ebuild @@ -10,7 +10,8 @@ EAPI=7 PYTHON_COMPAT=( python3_{10..12} ) -inherit python-any-r1 +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc +inherit python-any-r1 verify-sig if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" @@ -22,6 +23,10 @@ else mirror://gnu/${PN}/${P}.tar.xz https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.16.5-tests-c99.patch.xz + verify-sig? ( + mirror://gnu/${PN}/${P}.tar.xz.sig + https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz.sig + ) " KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" else @@ -61,6 +66,7 @@ BDEPEND=" sys-devel/bison sys-devel/flex ) + verify-sig? ( sec-keys/openpgp-keys-jimmeyering ) " PATCHES=( @@ -78,6 +84,11 @@ pkg_setup() { : } +src_unpack() { + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig} + default +} + src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild new file mode 100644 index 00000000000..ac793c1acd3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper +# on new automake (major) releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass. + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit python-any-r1 verify-sig + +MANGLED_SLOT=${PV:0:4} + +if [[ ${PV} == 9999 ]] ; then + EGIT_MIN_CLONE_TYPE=single + EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc + if [[ $(ver_cut 3) -ge 90 ]] ; then + MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1)) + SRC_URI=" + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz + verify-sig? ( + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz.sig + ) + " + else + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( + mirror://gnu/${PN}/${P}.tar.xz.sig + ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${MANGLED_SLOT}" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/perl-5.6 + >=dev-build/automake-wrapper-20240607 + >=dev-build/autoconf-2.69:* + sys-devel/gnuconfig +" +BDEPEND=" + app-alternatives/gzip + sys-apps/help2man + dev-build/autoconf-wrapper + dev-build/autoconf + test? ( + ${PYTHON_DEPS} + dev-util/dejagnu + sys-devel/bison + sys-devel/flex + ) + verify-sig? ( sec-keys/openpgp-keys-jimmeyering ) +" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + export WANT_AUTOCONF=2.5 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then + touch doc/{stamp-vti,version.texi,automake.info} || die + fi +} + +src_configure() { + # Also used in install. + infopath="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${infopath}" +} + +src_test() { + # Fails with byacc/flex + emake YACC="bison -y" LEX="flex" check +} + +src_install() { + default + + rm "${ED}"/usr/share/aclocal/README || die + rmdir "${ED}"/usr/share/aclocal || die + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${infopath}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + if [[ ${PV} == 9999 ]]; then + local major="89" + local minor="999" + else + local major="$(ver_cut 1)" + if [[ $(ver_cut 3) -ge 90 ]] ; then + local minor=$(($(ver_cut 2) + 1)) + else + local minor="$(ver_cut 2)" + fi + fi + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${infopath}" + EOF + + docompress "${MY_INFODIR}" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild index a5d0371f525..ac793c1acd3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-9999.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 # Bumping notes: # * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper @@ -10,27 +10,33 @@ EAPI=7 PYTHON_COMPAT=( python3_{10..12} ) -inherit python-any-r1 +inherit python-any-r1 verify-sig + +MANGLED_SLOT=${PV:0:4} if [[ ${PV} == 9999 ]] ; then EGIT_MIN_CLONE_TYPE=single EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" inherit git-r3 else - if [[ ${PV/_beta} == ${PV} ]]; then - MY_P="${P}" - SRC_URI="mirror://gnu/${PN}/${P}.tar.xz - https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc + if [[ $(ver_cut 3) -ge 90 ]] ; then + MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1)) + SRC_URI=" + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz + verify-sig? ( + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz.sig + ) + " else - MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" - MY_P="${PN}-${MY_PV}" - - # Alpha/beta releases are not distributed on the usual mirrors. - SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( + mirror://gnu/${PN}/${P}.tar.xz.sig + ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}" fi DESCRIPTION="Used to generate Makefile.in from Makefile.am" @@ -38,13 +44,13 @@ HOMEPAGE="https://www.gnu.org/software/automake/" LICENSE="GPL-2" # Use Gentoo versioning for slotting. -SLOT="${PV:0:4}" +SLOT="${MANGLED_SLOT}" IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" >=dev-lang/perl-5.6 - >=dev-build/automake-wrapper-11 + >=dev-build/automake-wrapper-20240607 >=dev-build/autoconf-2.69:* sys-devel/gnuconfig " @@ -56,12 +62,14 @@ BDEPEND=" test? ( ${PYTHON_DEPS} dev-util/dejagnu + sys-devel/bison + sys-devel/flex ) + verify-sig? ( sec-keys/openpgp-keys-jimmeyering ) " pkg_setup() { - # Avoid python-any-r1_pkg_setup - : + use test && python-any-r1_pkg_setup } src_prepare() { @@ -80,12 +88,16 @@ src_prepare() { } src_configure() { - use test && python_setup # Also used in install. infopath="${EPREFIX}/usr/share/automake-${PV}/info" econf --infodir="${infopath}" } +src_test() { + # Fails with byacc/flex + emake YACC="bison -y" LEX="flex" check +} + src_install() { default @@ -121,7 +133,11 @@ src_install() { local minor="999" else local major="$(ver_cut 1)" - local minor="$(ver_cut 2)" + if [[ $(ver_cut 3) -ge 90 ]] ; then + local minor=$(($(ver_cut 2) + 1)) + else + local minor="$(ver_cut 2)" + fi fi local idx="$((99999-(major*1000+minor)))" newenvd - "06automake${idx}" <<-EOF From ae5248800e8c8806eddea20c8d4c4781223e250c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:35 +0000 Subject: [PATCH 035/239] dev-build/automake-wrapper: Sync with Gentoo It's from Gentoo commit 28a7645f05c77f35d1f5a838903d04a552b85010. --- .../dev-build/automake-wrapper/Manifest | 1 + .../automake-wrapper-20240607.ebuild | 48 +++++++++++++++++++ .../automake-wrapper-99999999.ebuild | 2 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/Manifest index 5a292895ab2..9fdf26eaa10 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/Manifest @@ -1 +1,2 @@ DIST autotools-wrappers-at-20221207.tar.gz 3646 BLAKE2B 82bec40e03ae5ec133252fd3c05c3fed537bb415e800918df9c9d783d48a9d76cbe60c53dd7daf6d94653d79fc52be8c089183dda996e8a72dd03ffa83098613 SHA512 12ea99721e6fc60a3ed7351d6c228aaf6e4eef0bd0444eda8cd742f74fa91150ef07bb52f6bcad4a350269e8032f5d4e204d2f2108b0d9c441ddd7f9755862b7 +DIST autotools-wrappers-at-20240607.tar.gz 3648 BLAKE2B 2b63c6b71b0a1eff801d011ed0829b42944dd5fa409464644036b4b312f2fd27862fa169c8d915db7daf1fb9862d52bbf9e606b274e82dfda3395e568120e6a4 SHA512 3754c34520109e4f2d2cbf45fe24cfc788c61210864a1199c7cc208e91c400d45533fb02934c61a5662f1402ba8464a0aa4ef16de17460646c8c176ab09df0af diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild new file mode 100644 index 00000000000..0573bd599fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-20240607.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' on new automake (major) releases! + +MY_P="autotools-wrappers-at-${PV}" + +DESCRIPTION="Wrapper for automake to manage multiple automake versions" +HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/autotools-wrappers.git + https://github.com/gentoo/autotools-wrappers + " + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" + +src_prepare() { + default + + # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell + if use prefix ; then + sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' am-wrapper.sh || die + fi +} + +src_install() { + exeinto /usr/$(get_libdir)/misc + doexe am-wrapper.sh + + local x= + for x in automake aclocal ; do + dosym -r /usr/$(get_libdir)/misc/am-wrapper.sh /usr/bin/${x} + done + + keepdir /usr/share/aclocal +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild index ea8e3bb6367..0573bd599fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -# Remember to modify LAST_KNOWN_AUTOAKE_VER 'upstream' on new automake (major) releases! +# Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' on new automake (major) releases! MY_P="autotools-wrappers-at-${PV}" From 40f25e5caced6008cb218b9d3855f78b939cb59c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:36 +0000 Subject: [PATCH 036/239] dev-build/cmake: Sync with Gentoo It's from Gentoo commit 714ca1065739b0b7f8716d76947f71d269a79d09. --- .../portage-stable/dev-build/cmake/Manifest | 21 +- ...make-3.28.3.ebuild => cmake-3.28.5.ebuild} | 0 .../dev-build/cmake/cmake-3.29.0.ebuild | 278 ------------------ .../dev-build/cmake/cmake-3.29.1.ebuild | 278 ------------------ .../dev-build/cmake/cmake-3.29.2.ebuild | 278 ------------------ ...make-3.28.4.ebuild => cmake-3.29.3.ebuild} | 0 6 files changed, 6 insertions(+), 849 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.28.3.ebuild => cmake-3.28.5.ebuild} (100%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.2.ebuild rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.28.4.ebuild => cmake-3.29.3.ebuild} (100%) 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 4998a28ef7a..66d50b7d82e 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 @@ -2,18 +2,9 @@ DIST cmake-3.27.0-docs.tar.xz 521348 BLAKE2B 319c84195c37b1944bb5d3fde1aeae75623 DIST cmake-3.27.9-SHA-256.txt 1646 BLAKE2B abfef38f8994d7684a44caaa4a5efa1ac8fbe38bd8e8c98bf341cf813f77ee54bea58f7b3ab7f68b3f5d992519396fd15a1f72a1d9587f593d80b8d2f8ba36e7 SHA512 310c45281735cf9812d9d1cf22a656c5b44e596ef7032a8b7b09900ef838e74b884599b42ed2f5469946f371d431b7d4b1e44f6cd49dfb36ea49d88b187b4804 DIST cmake-3.27.9-SHA-256.txt.asc 833 BLAKE2B 57d52fc2f3233662af13eb362ec82626c4821267f55f1313907513b61cee5b8481936da2b03c908c507b3e0919e4811e90c6cb47568420a8b2187c7942de9f1e SHA512 cad2007e356eac480b2cb93778f90152788e33be2e565b38535a2d205794054e5d67d4ed7db0765a05017aedc5f1af21556535a084014fe6c446bc13258253da DIST cmake-3.27.9.tar.gz 10984490 BLAKE2B 66f8fb6e301ed19f993fde6c4f9e336124be6373d49b58d130ce59f4e5225cd27e02813856636b51c2521403c3a56c200ce646de5c35be2b25b5e6240c98bdb4 SHA512 56ce723b0b6d09b420a2f89ba1636cdfb1bc305bc2df91ae716f866bee07f5d702d75efbddfbaf724f47382df809107fe1e6d046314cd2f1ff07bca34ad6340a -DIST cmake-3.28.3-SHA-256.txt 1646 BLAKE2B 1ed1c47e62bc2969c72efbdf5f9dc8853e642b0cfb8d4c0423eff897d731e76407606a05cfb481849bc80cc54119b413cec715c0fde08825e8dc48e7a37c6400 SHA512 e596cf9290ebf3ffe88bc4715db9d2db4f013a5da3b0d433b71e1927e9386e06cb2d2d7f025195b183ab07c8dc263ce0b318f1ad38a43f01d646016ad60fd611 -DIST cmake-3.28.3-SHA-256.txt.asc 833 BLAKE2B 63dd7e69c7003d183e65c15391177bf84fb77b54a44807ddcccbd2b34a5e06275a7be9308cba4df75cf27974f3dbdbc9bc18cd646714a58d0a8d4bdaf6eb929d SHA512 0c987d2aa6f464a44b97a8f1ef00c6e80b5e5277b0885f34f01c17318bcd4345905e8ee06b63dc8aea367364f7c063d0cc2eab63b94a13b813bae53ad4a1b623 -DIST cmake-3.28.3.tar.gz 11067653 BLAKE2B a329c7cd80e8e74d11ec2a8b377857b1ae8c4c50a792f982803fcc6a00f531ecb7ac2dd7ccad34968b3e3efc14933085b51425974fc5ee29b6c49c2da5ceeaf4 SHA512 66e923925b764e1fe3d150c69dab3e0abd9e0c90d8e30cab63c3a1f70c3e37df0a5e3ff12b378eeae3bdc6608495f41399e6f81602e26b513b19fa19ff6c48fc -DIST cmake-3.28.4-SHA-256.txt 1646 BLAKE2B 6fc409c11b22c8b21c9acdd9e364e05a97586750f24e3ee34328197577ff5ce752dfe27833e59bde580289091daea72fe33fa674cc8fc571f1e12f99d034dbab SHA512 d1cbd68f4d825ca1cd56069a638f6c1e0dbe4422b69debe4f95979e1583e8bd959161f3dcf10c401aeef01f6458b16f2f892e6123e83b324839b089d0a6280fe -DIST cmake-3.28.4-SHA-256.txt.asc 833 BLAKE2B 1d9b79742df51ecbbe05fb7a6eb6dda010178235d29a352ca1d2b9db15573d53e0f18f19022b00b630929bbc46e6eeb4484d8623db8492bae184a46763b03b2b SHA512 4fa553d007b68f7fc387690674ac792269608feba1040711a4f00df9f7bf082887bc7fe693719ba504e3ae0fb9bf341b66cb9a652059a97c4a75389239ed955a -DIST cmake-3.28.4.tar.gz 11072355 BLAKE2B 26b9937ddd6015f1ab86e9c00bcc5f4f23b643e0ad25e963ce779a47810bd7f9a4b285c5fdbd70a7751ef113c4bb658386c6ccb42dc4a61c9af2817d99209ac8 SHA512 284d201f5ce7b61edddb0e62945113b59d0070b1e58c28a49e86ba8d30b2a259da93b1cb7c2be66c6986c5ce7584cea92555fa8e054b8ad91ae4bf69068d2db3 -DIST cmake-3.29.0-SHA-256.txt 1646 BLAKE2B c8bca18c955580adca88de1c0a72ecea84ec0f1c8023e9e84010b1f3aceae578e866c64ff5896b325ee625fe754bfe88a86ce6d6beaa9735bc45ddef02934ca2 SHA512 9a33a74a799e0ae4464a3b084b94617734b36bed2ed70260a0700bd2e8f846b6cddb279d8fa91488b08d29b14ad34d45dcea01afabc720f57a9c90e7700aa205 -DIST cmake-3.29.0-SHA-256.txt.asc 833 BLAKE2B eb78a1ebb3bd45a0308bffe8496feff89fa6aadab281488a91b9d9f6065261a4744d361ade701c616527e62e220aecbf164b5aa309c1288deca59fe1bbcffe33 SHA512 50c77aed7e4f834733a1abaf2367f87a8a1809a16d01d9dabb035c5afba282240ba6d0bd77fd93013266f5dc3e860f9025cfa54db6c7b6835f8471caef058519 -DIST cmake-3.29.0.tar.gz 11244341 BLAKE2B 76244cfc6222ce23dbddc9bb3aa51d98d00826d6fa19d86b836f63977c56f0cae11cd592efa1c727e8872fea1e6365a3b67a37e80e588fbf4189f7ec07c2f6e1 SHA512 abcca7a4db221d98864b77220445f0b70f87149626d3162ed49636862b87514b2640318438c0c711bfaafa1aba4d049b55f98e6ac28c44545543986c35fbd062 -DIST cmake-3.29.1-SHA-256.txt 1646 BLAKE2B 09a540f98e5575d8a85d120a83fc9d7f1c1cd6792539bad3d1d464bf3da7539afcf0e19a7173566e59b176cc691dedf7589f6a95844c857786ad4a520ebf983f SHA512 78ac190968e5253a5cdef8acbddebf0f5750bf47aef92932b65fee4c75fd3c66a1fe3a366cd8105a9908b2d3324da4275b2b4f4c9e2c269818a6613b9dd21214 -DIST cmake-3.29.1-SHA-256.txt.asc 833 BLAKE2B 840db11dd025e9e980e8a16ac635a4e6a047c9680381c9496e12348c77e10c97eb5f8da1680a67d9920bab0b6161facdad0024f3e696f05fa2e03035cf0152b2 SHA512 ac3d031989a0d1cc97e56d4b9efa5dddba4f5b46489ca93df7be7e618b8a0aca08c1f4140b0194afe94291a0377615cb51b16fb3bbc1cc5954250bda3216fde1 -DIST cmake-3.29.1.tar.gz 11246071 BLAKE2B ec20bccb354a7097d8f2b1bd3486c162a93085671e10e4839c043b2452f597e4b8789dae887c88677d945ea7dcc71b8b0f30116103aac875270f52468bfc9bc0 SHA512 3665ddb356bf973f75c9f2601f7210f7ff58c77c39926a43af8640979777a796d441df43fda5d2632548f7d15e4553829680c76f3d9376f9e763fe7bba16f3d7 -DIST cmake-3.29.2-SHA-256.txt 1646 BLAKE2B 49d125738318ac2f5f5a8f885bfe5ce27341f84102464456e857aebb4d95dca572ac4a7502972624d503b208063e734a6ba14618110fa5e2f25d5a518a418d81 SHA512 e6483779cb5f6966bbfa36bc483a78ea89a0a149d6bbf1987b5ba25e4f745b1dea17fde7217ce03636a525888283eb35b6f211a1c6f74512ee096599e7180051 -DIST cmake-3.29.2-SHA-256.txt.asc 833 BLAKE2B 946b697e3eec984d1eaab834a275a70efb3810a81038a31903f453d559f1cb4da0d37d92cae90f84ef60edd3d7e522d2d0bf94773999cb8c8aa898a3497f5a51 SHA512 dccc1b4342f5db250f2ffe351a69924d29fee85ee123e53e09b3333729715fc9735382e21765193859dd3784836983dcfdefabd9442235e509ccc20270476b9b -DIST cmake-3.29.2.tar.gz 11245621 BLAKE2B 510ddc32d66bc47ac7b3079b8e7bfbd4a27a6e4a112ec564bcbd0b54dac2935b200ff49ec1b60ab1355b9a0450944ac154a9b289e19650e2aed6cc0b059e657e SHA512 0dad9e0e3ad9c1178d337cd3a14e9ce145e011175e9d9fce4961d12b8fe37091f9fdf05f4303cdd846408955b11bac3cfe5064f852833b99e31f5a7b82a9d1eb +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.3-SHA-256.txt 1646 BLAKE2B a1cb6895e9d98ac750450230adaba562a4be7134563869feb59c5a32dbea62a49273a9d163aade84c81fa410a94fcdfe2adaa653cd663972376b20a3b5436be9 SHA512 118604ac64ccd02995e6b421c256cb414637471094a72ff65d0f604cc4cc9f869f64fe1d409584925b93050373e7b69966ea91e4a9fc34b98287b0ee49eeb23c +DIST cmake-3.29.3-SHA-256.txt.asc 833 BLAKE2B e4bfe4ea447441bcb7d4c46861b30da21e15ba6327c5ccbf1456ef273383b0ce8ee4a2e5a3de3312e112c26fe256e23021f4a1f89f8f96b5b39ff28398d4a51c SHA512 f2ed15c13a8fc7e05f5a8e41c3506435b4a204be37372c769577b51e30478740863eac800d32a0ef838f9b0a1125c1fe6772132ac4570e88a482109d42333fd9 +DIST cmake-3.29.3.tar.gz 11247199 BLAKE2B 8d18aca8871a615a4dca8eeb380ad79fdf41a2696bfbc69141db2a2715ff52b2a17c57b195aa00f7b0643791f40991c123056ef10482e80c1f963631d8d8ea50 SHA512 930060cf484a769992ebc798d5e81984560b2cd7e163db7053181ad842656ccd0085e7e077c9c620e719d212f78283ca0db19bec5491a355d38078bbe0bac254 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.0.ebuild deleted file mode 100644 index 45477a10bfc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.0.ebuild +++ /dev/null @@ -1,278 +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-3) -CMAKE_DOCS_VERSION=3.27.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 ~ia64 ~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" - - 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() { - # Fix linking on Solaris - [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl - - # ODR warnings, bug #858335 - # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 - filter-lto - - 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.29.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.1.ebuild deleted file mode 100644 index 45477a10bfc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.1.ebuild +++ /dev/null @@ -1,278 +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-3) -CMAKE_DOCS_VERSION=3.27.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 ~ia64 ~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" - - 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() { - # Fix linking on Solaris - [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl - - # ODR warnings, bug #858335 - # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 - filter-lto - - 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.29.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.2.ebuild deleted file mode 100644 index 45477a10bfc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.2.ebuild +++ /dev/null @@ -1,278 +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-3) -CMAKE_DOCS_VERSION=3.27.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 ~ia64 ~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" - - 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() { - # Fix linking on Solaris - [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl - - # ODR warnings, bug #858335 - # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 - filter-lto - - 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.28.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.28.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild From 1646caa835f5389c4fc1a22957355c75a110aa69 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:37 +0000 Subject: [PATCH 037/239] dev-build/libtool: Sync with Gentoo It's from Gentoo commit c235441176385e7a096b85335b82cefa74968748. --- .../portage-stable/dev-build/libtool/Manifest | 1 + .../dev-build/libtool/libtool-2.5.0.ebuild | 151 ++++++++++++++++++ .../dev-build/libtool/libtool-9999.ebuild | 48 ++++-- 3 files changed, 189 insertions(+), 11 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.0.ebuild 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 d36ba6c5761..1fd70247996 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 +1,2 @@ DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da +DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.0.ebuild new file mode 100644 index 00000000000..170c55f2db7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.0.ebuild @@ -0,0 +1,151 @@ +# 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 ! [[ $(( $(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 ~ia64 ~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" + +# Pull in libltdl directly until we convert packages to the new dep. +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/libtool/libtool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-9999.ebuild index f25c4861a85..170c55f2db7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-9999.ebuild @@ -1,18 +1,20 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 # Please bump with dev-libs/libltdl. # bug #225559 LIBTOOLIZE="true" WANT_LIBTOOL="none" -inherit autotools prefix multiprocessing +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 ! [[ $(( $(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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" @@ -99,20 +101,44 @@ src_configure() { # 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="$(basename "$(type -P sed)")" - export ac_cv_path_EGREP="$(basename "$(type -P grep)") -E" - export ac_cv_path_EGREP_TRADITIONAL="$(basename "$(type -P grep)") -E" - export ac_cv_path_FGREP="$(basename "$(type -P grep)") -F" - export ac_cv_path_GREP="$(basename "$(type -P grep)")" - export ac_cv_path_lt_DD="$(basename "$(type -P dd)")" + 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" - [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g" + local myeconfargs=( + # Split into dev-libs/libltdl + --disable-ltdl-install - ECONF_SOURCE="${S}" econf ${myconf} --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() { - emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" + ( + # 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() { From 8fb1cc92e03348edc7abaa761a2a49e8caad2d7c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:37 +0000 Subject: [PATCH 038/239] dev-build/make: Sync with Gentoo It's from Gentoo commit 3b2498c8614935e72bf50fe8655c7a789a95aed2. --- .../portage-stable/dev-build/make/Manifest | 4 ++-- .../dev-build/make/make-4.4.1-r1.ebuild | 16 +++++++++------- .../dev-build/make/make-9999.ebuild | 16 +++++++++------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/make/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/make/Manifest index c639311d60e..886bf48fa5d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/make/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/make/Manifest @@ -1,2 +1,2 @@ -DIST make-4.4.1.tar.gz 2348200 BLAKE2B 09a4ad8060259e36854b525ab610fd317a86f4926e44e3ab8adba75dccc8d4b445df9dd25ccfb4c25a54bc0e98238a9127e36401d74cbc3503a329eadcdf4995 SHA512 145260cbd6a8226cef3dfef0c8baba31847beaebc7e6b65d39d02715fd4f4cab9b139b6c3772e550088d4f9ae80c6d3ed20b9a7664c693644dfb96b4cb60e67c -DIST make-4.4.1.tar.gz.sig 833 BLAKE2B d5f9a33b0262d4a9216f47718f6596884852662a692e708191a7007964007940da1c06549db28ae1d13683c4a949b9ee86da9dedd9a80da8f8b09e71e659e9a1 SHA512 d7a5531c10f216d690ec036f3875c7f314fa53006e138568c60132d506db48d1a59201623e168091dafa4465b005991019e42f81ff1a96a44610b6b18de08b09 +DIST make-4.4.1.tar.lz 1305648 BLAKE2B b0c62a85a99b15e38ee9e08c38be9b1c4c6d81a01bc8ea94f83e7f1a93968b9c8c8b69c92bb4112646a58e38bb9d2effdd461fb2a82b1360681351e07c123a26 SHA512 591e9fab2f807bfda908f3376fdbf304c3377a6b15d13f3029456722972e361d205b692855de8ddbce64ff3f404873cbfb65f4097ca4a3b81029dc83bafcc67c +DIST make-4.4.1.tar.lz.sig 833 BLAKE2B f72d2afaec6f21f4c731a42408200c05ed56532cbee16c1f1a4db2f1d641d27fb3c41ff2becd717e94ded7d079e683ff320c795e5073a95aed731d99666173cd SHA512 a6e4d3ef63456031c357277f0867652776afd0bd801c3be67a3f81b03103dddc5c6471ce50a89a4fd379a535163f22758cadab25a5c2192a2332124bcbbe8d74 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 index 4f363169f0a..aa47d6e80b6 100644 --- 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 @@ -4,7 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc -inherit flag-o-matic verify-sig +inherit flag-o-matic unpacker verify-sig DESCRIPTION="Standard tool to compile source trees" HOMEPAGE="https://www.gnu.org/software/make/make.html" @@ -12,11 +12,11 @@ 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.gz" - SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.gz.sig )" + 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.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.gz.sig )" + 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 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi @@ -31,7 +31,8 @@ RDEPEND=" nls? ( virtual/libintl ) " BDEPEND=" - doc? ( sys-apps/texinfo ) + $(unpacker_src_uri_depends) + doc? ( virtual/texi2dvi ) nls? ( sys-devel/gettext ) verify-sig? ( sec-keys/openpgp-keys-make ) test? ( dev-lang/perl ) @@ -50,7 +51,8 @@ src_unpack() { cd "${S}" || die ./bootstrap || die else - verify-sig_src_unpack + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig} + unpacker ${P}.tar.lz fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-build/make/make-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/make/make-9999.ebuild index 4df10fe0032..6ed0e9b0064 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/make/make-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/make/make-9999.ebuild @@ -4,7 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc -inherit flag-o-matic verify-sig +inherit flag-o-matic unpacker verify-sig DESCRIPTION="Standard tool to compile source trees" HOMEPAGE="https://www.gnu.org/software/make/make.html" @@ -12,11 +12,11 @@ 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.gz" - SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.gz.sig )" + 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.gz" - SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.gz.sig )" + 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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi @@ -31,7 +31,8 @@ RDEPEND=" nls? ( virtual/libintl ) " BDEPEND=" - doc? ( sys-apps/texinfo ) + $(unpacker_src_uri_depends) + doc? ( virtual/texi2dvi ) nls? ( sys-devel/gettext ) verify-sig? ( sec-keys/openpgp-keys-make ) test? ( dev-lang/perl ) @@ -50,7 +51,8 @@ src_unpack() { cd "${S}" || die ./bootstrap || die else - verify-sig_src_unpack + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig} + unpacker ${P}.tar.lz fi } From c280d9d3f9c10a5b3a9cd396fd50783fa8e20142 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:37 +0000 Subject: [PATCH 039/239] dev-build/meson: Sync with Gentoo It's from Gentoo commit dfa1b608bf6d6566827b4c9ea60d9443cc482186. --- .../portage-stable/dev-build/meson/Manifest | 3 + .../dev-build/meson/meson-1.4.0-r1.ebuild | 2 +- .../dev-build/meson/meson-1.4.1.ebuild | 180 ++++++++++++++++++ 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest index c57d99aefd5..60c78060b98 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest @@ -10,4 +10,7 @@ DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb5 DIST meson-1.3.2.tar.gz.asc 833 BLAKE2B b11ae2be4e9cb0278be9cafd304146432e606a5fd23379d08116943676286f240fb8cc1d5f897cbd4c2bacfe298802afb1a847e447d71250f58cee5dec38083b SHA512 0cb9575fb599cba4ae77c1954599a24b1f079c46cf255bb8d581ef434598503db6e08af6a95b7c00bc54c165ec8fd9834310e2d4874afe01c5d44e72cef496b3 DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486 SHA512 2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62 SHA512 ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad +DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 SHA512 2616bcca70d5554407d4852aa3494e05e53aa8a33f58859ada42750221922fcb6ea7f3452844883f4800d77eed4a7289b061324871218f052219b3caa02dcc9e +DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633 DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768 +DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild index 027a1fc0185..d30bc90b110 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.0-r1.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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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-build/meson/meson-1.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild new file mode 100644 index 00000000000..027a1fc0185 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild @@ -0,0 +1,180 @@ +# Copyright 2016-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} pypy3 ) +DISTUTILS_USE_PEP517=setuptools + +inherit bash-completion-r1 edo distutils-r1 flag-o-matic toolchain-funcs + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + +else + inherit verify-sig + + MY_PV=${PV/_/} + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + + SRC_URI=" + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz + verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc ) + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3 + " + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-libs/glib:2 + dev-libs/gobject-introspection + app-alternatives/ninja + dev-vcs/git + sys-libs/zlib[static-libs(+)] + virtual/pkgconfig + ) +" +RDEPEND=" + !/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + insinto /usr/share/zsh/site-functions + doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${PV}.3 meson-reference.3 + fi +} From 5b88198683395c64f47cb15ae1386d64a49d7f0b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:38 +0000 Subject: [PATCH 040/239] dev-build/ninja: Sync with Gentoo It's from Gentoo commit 5707d9394c78b2d83c6eee75214f8bd7ac832942. --- .../src/third_party/portage-stable/dev-build/ninja/Manifest | 2 +- .../ninja/{ninja-1.12.0.ebuild => ninja-1.12.1.ebuild} | 2 +- .../portage-stable/dev-build/ninja/ninja-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-build/ninja/{ninja-1.12.0.ebuild => ninja-1.12.1.ebuild} (98%) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest index 5a84814e817..31bb62aaf6a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest @@ -1,2 +1,2 @@ DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403 -DIST ninja-1.12.0.tar.gz 240291 BLAKE2B e7d721ab62164574b076f7cbf6d40fd2ee950534d124a58f5fe9e09bdae5895c8dc9dd7636a9f2f2b79774d6d9ba5f831e2c8b370826029af060fdc80fdc207f SHA512 167cd838ad47815183b79302a6e19227d956e634ae9d4211f0895ea9f4d893932e1154a765a9d5a1a3167b1a48b398f255fb4f46eb1395a6da11070bda628875 +DIST ninja-1.12.1.tar.gz 240483 BLAKE2B 915545888cbd7d9e6e7e4fb0bad42f6c36ecef2de93356966541de0f8f4315e59e47cf20f189de5de11ba2a038488c7964ec709bad8868488cc03524a88483f4 SHA512 d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild index 3af9c43f1b0..b387ddf90c0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit bash-completion-r1 edo python-any-r1 toolchain-funcs diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild index 3af9c43f1b0..b387ddf90c0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit bash-completion-r1 edo python-any-r1 toolchain-funcs From 77c2f6e3738a9097dd8fe5fd2089977d65430bc7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:39 +0000 Subject: [PATCH 041/239] dev-cpp/gtest: Sync with Gentoo It's from Gentoo commit c09274e48064f7dbc001e8ce1bfc6f5168218171. --- .../portage-stable/dev-cpp/gtest/gtest-1.14.0.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0.ebuild index 5351c69b1cd..db197bf961d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0.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 @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" From 94fba58518f7bcfb34c083a60302212ce020d825 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:39 +0000 Subject: [PATCH 042/239] dev-db/sqlite: Sync with Gentoo It's from Gentoo commit 79551d48565ee6ab99968750deb548725648c73c. --- .../portage-stable/dev-db/sqlite/Manifest | 6 +- .../dev-db/sqlite/sqlite-3.44.2-r1.ebuild | 433 ----------------- .../dev-db/sqlite/sqlite-3.44.2-r2.ebuild | 434 ------------------ .../dev-db/sqlite/sqlite-3.45.3.ebuild | 2 +- ...ite-3.45.2.ebuild => sqlite-3.46.0.ebuild} | 1 - 5 files changed, 3 insertions(+), 873 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r2.ebuild rename sdk_container/src/third_party/portage-stable/dev-db/sqlite/{sqlite-3.45.2.ebuild => sqlite-3.46.0.ebuild} (99%) 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 35aa98d4002..fb357d09254 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,6 @@ -DIST sqlite-doc-3440200.zip 10704552 BLAKE2B 3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d SHA512 a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8 DIST sqlite-doc-3450100.zip 10746925 BLAKE2B 6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e SHA512 dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0 -DIST sqlite-doc-3450200.zip 10755940 BLAKE2B 5d70100ae972024a44a0dbe3214e0465b819710dc23e7b68e6995d2a8f66286ef4378b7bbb96bfaab2551954aa09f0aa85ebde60b5a672d5a3e2d6c739393a81 SHA512 5e80255b0030dd6dfc0f93a1d6863a35dc319c6567300ac5f4e16d15c322f0b3fc2681cae7d27de0d23bf6731069d0060b9edddf3d7e0b105c538beab53979dc DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31 -DIST sqlite-src-3440200.zip 14070781 BLAKE2B 9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba SHA512 5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3 +DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd DIST sqlite-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005 -DIST sqlite-src-3450200.zip 14156848 BLAKE2B a830dce41fd6c9ef936115460ed4aa9be277688389c50545fcb5e8ee65317d3adaf51873ec789556cf293418f7059868c7ffac229dc30756ba5137431839ec69 SHA512 b6e875ab4ed24cd564330e50a87f35aae43c382f88ca86c2eedf5308c7fab683c1880c0053408e864b0cec1feb7ae81aca8a91979a3ee3975f26037a7983011a DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9 +DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327 diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r1.ebuild deleted file mode 100644 index 51e851f2fb3..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r1.ebuild +++ /dev/null @@ -1,433 +0,0 @@ -# Copyright 1999-2023 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/2023/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.44.2-tracker-regression.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 - - # Skip known-broken test for now - # https://sqlite.org/forum/forumpost/d97caf168f - # https://sqlite.org/forum/forumpost/50f136d91d - if use test ; then - rm test/atof1.test || die - 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.44.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r2.ebuild deleted file mode 100644 index 8f3314304ad..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.44.2-r2.ebuild +++ /dev/null @@ -1,434 +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/2023/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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.44.2-tracker-regression.patch - "${FILESDIR}"/${PN}-3.44.2-fts-regression.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 - - # Skip known-broken test for now - # https://sqlite.org/forum/forumpost/d97caf168f - # https://sqlite.org/forum/forumpost/50f136d91d - if use test ; then - rm test/atof1.test || die - 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.45.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.3.ebuild index 46c442c7333..3349ca4de37 100644 --- 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 @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.45.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild index 46c442c7333..c554ab9b159 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.0.ebuild @@ -52,7 +52,6 @@ fi PATCHES=( "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch - "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch ) _fossil_fetch() { From f178a72ce929718c920d7ca10ea5dc8cb6f7bf3d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:39 +0000 Subject: [PATCH 043/239] dev-debug/gdb: Sync with Gentoo It's from Gentoo commit 6ca5c05218aebc2add4f0d690c03baf876cf40be. --- .../portage-stable/dev-debug/gdb/Manifest | 4 +- .../files/gdb-13.2-fix-sparc-debugging.patch | 126 ------------------ .../gdb-14.1-fix-dll-export-forwarding.patch | 60 --------- .../files/gdb-14.1-fix-list-segfault.patch | 101 -------------- ...14.1-fix-print-global-variable-stubs.patch | 109 --------------- ...{gdb-13.2-r2.ebuild => gdb-14.2-r1.ebuild} | 25 ++-- .../dev-debug/gdb/gdb-14.2.ebuild | 2 +- ...{gdb-14.1-r1.ebuild => gdb-15.0.91.ebuild} | 5 +- 8 files changed, 21 insertions(+), 411 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch rename sdk_container/src/third_party/portage-stable/dev-debug/gdb/{gdb-13.2-r2.ebuild => gdb-14.2-r1.ebuild} (91%) rename sdk_container/src/third_party/portage-stable/dev-debug/gdb/{gdb-14.1-r1.ebuild => gdb-15.0.91.ebuild} (96%) 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 bc28a63793c..90feed16c7b 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,3 +1,3 @@ -DIST gdb-13.2.tar.xz 23664644 BLAKE2B bf5216ba2286448a46f9e0a405367c5a678e6d7540204722d355b618018b7b75a2ebc5b51353304c5ded02a3979223a81781d305f5afa5be82516cdc2863d49f SHA512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 -DIST gdb-14.1.tar.xz 24108624 BLAKE2B 52a07b4745f95561f360a597d6ec1d212dafc8e9134dc415cd7bcfb02c26934a60807c8400b545a756c68392e16e104178cdc1464430c53611973881e921a942 SHA512 575e198105076fc4a88f68591aa114ab9c1196e84386a3f7b9b58fe5f30cdeed33f6a5f957b68f08c47284ec922bb60c964627e238471419673fd913575ce427 +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.0.91.tar.xz 24278716 BLAKE2B 8fbbabf40472e6414ef180a9a072db5fa12c9663e723f763c5ebc9583d160d0ca3dc5910e043dba8b12a494a12c202ad095e36e0a0ea2ba1e8e548c3ba1e5221 SHA512 a946b5a074cec93b06b175276c55614b306cfcabb1f467dc0c2f60085cb6853c6d62511a9570ae9ea778c05bad245d8e6e17b15a29b85d48e60d9c8a72086e2e diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch deleted file mode 100644 index 3d5201cd94e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch +++ /dev/null @@ -1,126 +0,0 @@ -https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=31a56a22c45d76df4c597439f337e3f75ac3065c -https://sourceware.org/bugzilla/show_bug.cgi?id=30525 -https://bugs.gentoo.org/907906 - -From 31a56a22c45d76df4c597439f337e3f75ac3065c Mon Sep 17 00:00:00 2001 -From: Pedro Alves -Date: Wed, 7 Jun 2023 10:38:14 +0100 -Subject: [PATCH] Linux: Avoid pread64/pwrite64 for high memory addresses (PR - gdb/30525) - -Since commit 05c06f318fd9 ("Linux: Access memory even if threads are -running"), GDB prefers pread64/pwrite64 to access inferior memory -instead of ptrace. That change broke reading shared libraries on -SPARC64 Linux, as reported by PR gdb/30525 ("gdb cannot read shared -libraries on SPARC64"). - -On SPARC64 Linux, surprisingly (to me), userspace shared libraries are -mapped at high 64-bit addresses: - - (gdb) info sharedlibrary - Cannot access memory at address 0xfff80001002011e0 - Cannot access memory at address 0xfff80001002011d8 - Cannot access memory at address 0xfff80001002011d8 - From To Syms Read Shared Object Library - 0xfff80001000010a0 0xfff8000100021f80 Yes (*) /lib64/ld-linux.so.2 - (*): Shared library is missing debugging information. - -Those addresses are 64-bit addresses with the high bits set. When -interpreted as signed, they're negative. - -The Linux kernel rejects pread64/pwrite64 if the offset argument of -type off_t (a signed type) is negative, which happens if the memory -address we're accessing has its high bit set. See -linux/fs/read_write.c sys_pread64 and sys_pwrite64 in Linux. - -Thankfully, lseek does not fail in that situation. So the fix is to -use the 'lseek + read|write' path if the offset would be negative. - -Fix this in both native GDB and GDBserver. - -Tested on a SPARC64 GNU/Linux and x86-64 GNU/Linux. - -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30525 -Change-Id: I79c724f918037ea67b7396fadb521bc9d1b10dc5 ---- a/gdb/linux-nat.c -+++ b/gdb/linux-nat.c -@@ -3909,18 +3909,26 @@ linux_proc_xfer_memory_partial_fd (int fd, int pid, - - gdb_assert (fd != -1); - -- /* Use pread64/pwrite64 if available, since they save a syscall and can -- handle 64-bit offsets even on 32-bit platforms (for instance, SPARC -- debugging a SPARC64 application). */ -+ /* Use pread64/pwrite64 if available, since they save a syscall and -+ can handle 64-bit offsets even on 32-bit platforms (for instance, -+ SPARC debugging a SPARC64 application). But only use them if the -+ offset isn't so high that when cast to off_t it'd be negative, as -+ seen on SPARC64. pread64/pwrite64 outright reject such offsets. -+ lseek does not. */ - #ifdef HAVE_PREAD64 -- ret = (readbuf ? pread64 (fd, readbuf, len, offset) -- : pwrite64 (fd, writebuf, len, offset)); --#else -- ret = lseek (fd, offset, SEEK_SET); -- if (ret != -1) -- ret = (readbuf ? read (fd, readbuf, len) -- : write (fd, writebuf, len)); -+ if ((off_t) offset >= 0) -+ ret = (readbuf != nullptr -+ ? pread64 (fd, readbuf, len, offset) -+ : pwrite64 (fd, writebuf, len, offset)); -+ else - #endif -+ { -+ ret = lseek (fd, offset, SEEK_SET); -+ if (ret != -1) -+ ret = (readbuf != nullptr -+ ? read (fd, readbuf, len) -+ : write (fd, writebuf, len)); -+ } - - if (ret == -1) - { ---- a/gdbserver/linux-low.cc -+++ b/gdbserver/linux-low.cc -@@ -5377,21 +5377,26 @@ proc_xfer_memory (CORE_ADDR memaddr, unsigned char *readbuf, - { - int bytes; - -- /* If pread64 is available, use it. It's faster if the kernel -- supports it (only one syscall), and it's 64-bit safe even on -- 32-bit platforms (for instance, SPARC debugging a SPARC64 -- application). */ -+ /* Use pread64/pwrite64 if available, since they save a syscall -+ and can handle 64-bit offsets even on 32-bit platforms (for -+ instance, SPARC debugging a SPARC64 application). But only -+ use them if the offset isn't so high that when cast to off_t -+ it'd be negative, as seen on SPARC64. pread64/pwrite64 -+ outright reject such offsets. lseek does not. */ - #ifdef HAVE_PREAD64 -- bytes = (readbuf != nullptr -- ? pread64 (fd, readbuf, len, memaddr) -- : pwrite64 (fd, writebuf, len, memaddr)); --#else -- bytes = -1; -- if (lseek (fd, memaddr, SEEK_SET) != -1) -+ if ((off_t) memaddr >= 0) - bytes = (readbuf != nullptr -- ? read (fd, readbuf, len) -- : write (fd, writebuf, len)); -+ ? pread64 (fd, readbuf, len, memaddr) -+ : pwrite64 (fd, writebuf, len, memaddr)); -+ else - #endif -+ { -+ bytes = -1; -+ if (lseek (fd, memaddr, SEEK_SET) != -1) -+ bytes = (readbuf != nullptr -+ ? read (fd, readbuf, len) -+ : write (fd, writebuf, len)); -+ } - - if (bytes < 0) - return errno; --- -2.39.3 diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch deleted file mode 100644 index 8c2a49f8042..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch +++ /dev/null @@ -1,60 +0,0 @@ -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31112 - -From https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=43a608adb04251be8999304cf724f55b2d840ac3 -From: Hannes Domani -Date: Wed, 6 Dec 2023 20:52:06 +0100 -Subject: [PATCH] Fix DLL export forwarding - -I noticed it when I was trying to set a breakpoint at ExitProcess: -``` -(gdb) b ExitProcess -Breakpoint 1 at 0x14001fdd0 -(gdb) r -Starting program: C:\qiewer\heob\heob64.exe -Warning: -Cannot insert breakpoint 1. -Cannot access memory at address 0x3dbf4120 -Cannot insert breakpoint 1. -Cannot access memory at address 0x77644120 -``` - -The problem doesn't exist in gdb 13.2, and the difference can easily be -seen when printing ExitProcess. -gdb 14.1: -``` -(gdb) p ExitProcess -$1 = {} 0x77644120 -``` -gdb 13.2: -``` -(gdb) p ExitProcess -$1 = {} 0x77734120 -``` - -The new behavior started with 9675da25357c7a3f472731ddc6eb3becc65b469a, -where VMA was then calculated relative to FORWARD_DLL_NAME, while it was -relative to DLL_NAME before. - -Fixed by calculating VMA relative to DLL_NAME again. - -Bug: https://sourceware.org/PR31112 -Approved-By: Tom Tromey - -(cherry picked from commit 2574cd903dd84e7081506e24c2e232ecda11a736) ---- a/gdb/coff-pe-read.c -+++ b/gdb/coff-pe-read.c -@@ -210,7 +210,10 @@ add_pe_forwarded_sym (minimal_symbol_reader &reader, - " \"%s\" in dll \"%s\", pointing to \"%s\"\n"), - sym_name, dll_name, forward_qualified_name.c_str ()); - -- unrelocated_addr vma = msymbol.minsym->unrelocated_address (); -+ /* Calculate VMA as if it were relative to DLL_NAME/OBJFILE, even though -+ it actually points inside another dll (FORWARD_DLL_NAME). */ -+ unrelocated_addr vma = unrelocated_addr (msymbol.value_address () -+ - objfile->text_section_offset ()); - msymtype = msymbol.minsym->type (); - section = msymbol.minsym->section_index (); - --- -2.39.3 - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch deleted file mode 100644 index 76557b5a7e0..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch +++ /dev/null @@ -1,101 +0,0 @@ -Bug: https://bugs.gentoo.org/922336 -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31256 - -From https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0068bd6fb3579dd8df7561e038cb3fe27f122b0e -From: Guinevere Larsen -To: gdb-patches@sourceware.org -Cc: Guinevere Larsen -Subject: [PATCH] gdb: fix "list ." related crash -Date: Tue, 23 Jan 2024 11:50:43 +0100 - -When a user attempts to use the "list ." command with an inferior that -doesn't have debug symbols, GDB would crash. This was reported as PR -gdb/31256. - -The crash would happen when attempting to get the current symtab_and_line -for the stop location, because the symtab would return a null pointer -and we'd attempt to dereference it to print the line. - -This commit fixes that by checking for an empty symtab and erroring out -of the function if it happens. - -Bug: https://sourceware.org/PR31256 ---- a/gdb/cli/cli-cmds.c -+++ b/gdb/cli/cli-cmds.c -@@ -1291,6 +1291,8 @@ list_command (const char *arg, int from_tty) - set_default_source_symtab_and_line (); - cursal = get_current_source_symtab_and_line (); - } -+ if (cursal.symtab == nullptr) -+ error (_("No debug information available to print source lines.")); - list_around_line (arg, cursal); - /* Set the repeat args so just pressing "enter" after using "list ." - will print the following lines instead of the same lines again. */ ---- /dev/null -+++ b/gdb/testsuite/gdb.base/list-nodebug.c -@@ -0,0 +1,21 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2024 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+int main () -+{ -+ return 0; -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.base/list-nodebug.exp -@@ -0,0 +1,37 @@ -+# Copyright 2024 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# Test that using the command "list" in a file with no debug information -+# will not crash GDB and will give reasonable output. -+ -+standard_testfile .c -+ -+if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ -+ {nodebug}]} { -+ return -1 -+} -+ -+if {![runto_main]} { -+ untested "couldn't run to main" -+ return -+} -+ -+# Check that GDB doesn't crash when we use list . on an inferior with -+# no debug information -+gdb_test "list ." "No debug.*" "first 'list .'" -+# This should be called twice because the first list invocation since -+# printing a frame may take a different codepath, which wouldn't -+# trigger the crash. -+gdb_test "list ." "No debug.*" "second 'list .'" --- -2.43.0 - - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch deleted file mode 100644 index ff0ff7bfb0c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch +++ /dev/null @@ -1,109 +0,0 @@ -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31128 - -From https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bc23ea51f8a83e9524dfb553baa8baacb29e68a9 -From: Hannes Domani -Date: Fri, 8 Dec 2023 19:06:14 +0100 -Subject: [PATCH] Fix printing of global variable stubs if no inferior is - running - -Since 3c45e9f915ae4aeab7312d6fc55a947859057572 gdb crashes when trying -to print a global variable stub without a running inferior, because of -a missing nullptr-check (the block_scope function took care of that -check before it was converted to a method). - -With this check it works again: -``` -(gdb) print s -$1 = -``` - -Bug: https://sourceware.org/PR31128 -Approved-By: Tom Tromey -(cherry picked from commit 576745e26c0ec76a53ba45b20af464628a50b3e4) ---- a/gdb/cp-namespace.c -+++ b/gdb/cp-namespace.c -@@ -1026,7 +1026,11 @@ cp_lookup_transparent_type (const char *name) - - /* If that doesn't work and we're within a namespace, look there - instead. */ -- scope = get_selected_block (0)->scope (); -+ const block *block = get_selected_block (0); -+ if (block == nullptr) -+ return nullptr; -+ -+ scope = block->scope (); - - if (scope[0] == '\0') - return NULL; ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/print-global-stub.cc -@@ -0,0 +1,31 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2023 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+struct S -+{ -+ S (int); -+ virtual ~S (); -+ -+ int m_i; -+}; -+ -+S s (5); -+ -+int main () -+{ -+ return 0; -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/print-global-stub.exp -@@ -0,0 +1,32 @@ -+# Copyright (C) 2023 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This file is part of the GDB testsuite. -+# It tests printing of a global stub without inferior. -+ -+require allow_cplus_tests -+ -+standard_testfile .cc -+set objfile [standard_output_file ${testfile}.o] -+ -+if { [gdb_compile $srcdir/$subdir/$srcfile $objfile object \ -+ {c++ debug}] != "" } { -+ untested "failed to compile" -+ return -1 -+} -+ -+clean_restart $objfile -+ -+gdb_test "print s" " = " --- -2.39.3 - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild index 43890c7910a..b8698002fd7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 # See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging # tips & notes. -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -64,8 +64,8 @@ PATCH_DEV="" PATCH_VER="" DESCRIPTION="GNU debugger" HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} +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} " @@ -74,7 +74,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 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 )" @@ -111,9 +111,13 @@ BDEPEND=" test? ( dev-util/dejagnu ) " +QA_CONFIG_IMPL_DECL_SKIP=( + MIN # gnulib FP (bug #898688) +) + PATCHES=( "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${P}-fix-sparc-debugging.patch + "${WORKDIR}"/${PN}-14.2-sim-modern-c99.patch ) pkg_setup() { @@ -128,6 +132,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() { @@ -145,9 +157,6 @@ gdb_branding() { src_configure() { strip-unsupported-flags - # https://sourceware.org/PR22395, bug #853898 - filter-lto - # 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. diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild index 541bf7f8915..7f31a2c3d39 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild @@ -74,7 +74,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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild index 6894ea21be9..541bf7f8915 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild @@ -74,7 +74,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 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 )" @@ -117,9 +117,6 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${PN}-14.1-fix-list-segfault.patch - "${FILESDIR}"/${PN}-14.1-fix-print-global-variable-stubs.patch - "${FILESDIR}"/${PN}-14.1-fix-dll-export-forwarding.patch ) pkg_setup() { From a3ca59184f676288d46179a5eac782d0440439bf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:40 +0000 Subject: [PATCH 044/239] dev-debug/strace: Sync with Gentoo It's from Gentoo commit a5dd4620db559e9d65c22d1bb8390047ea3c293b. --- .../portage-stable/dev-debug/strace/Manifest | 1 + .../dev-debug/strace/strace-6.8.ebuild | 2 +- .../dev-debug/strace/strace-6.9.ebuild | 109 ++++++++++++++++++ 3 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.9.ebuild 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 a62c46f5534..5fe3185d767 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 @@ -1,3 +1,4 @@ DIST strace-6.6.tar.xz 2420364 BLAKE2B f1465fec58ac20ccce6a88441a34b1402e5c51f0bb4b7963f69b5ab5019a8c8722e3406c6f93c10c1eea11d17de7f9874895d6f4df24cf9ec42a18f36267687b SHA512 77ea45c72e513f6c07026cd9b2cc1a84696a5a35cdd3b06dd4a360fb9f9196958e3f6133b4a9c91e091c24066ba29e0330b6459d18a9c390caae2dba97ab399b DIST strace-6.7.tar.xz 2434880 BLAKE2B 249c149a9140fc79be1365e4e8697b46f6558334eefac11b51c96d2d2e67bb82cb2eac3c38c2fa31f40fc5e0ad3c52967e15a034c01c12ed041d51f006a194ae SHA512 da28fd9fb987044782e6fd6f5e90e2cea2ab8e536cbd3893ef4c9b11c9b3185f073ca3d8ca0eade49e9a2af8efbda8c2b66b8988be7ebc463dc45e8f48ca1256 DIST strace-6.8.tar.xz 2457948 BLAKE2B 0897aedc6a1ed162b8967a56d54dd0bc589ce027321c1219e5fc23e6a44103576e0f363f79a03def365a05989173271eb6096a9c48b16cdf8c54033ec6bd6f2a SHA512 c477724a77112a74a5236a38b7dbaa9b6199622a1d21cc6253cac80dc4ddea78aeaf8cddf4a51ee4119e00e1adaf95f64f64e20d9775ec3edd77cd82c8f7b30e +DIST strace-6.9.tar.xz 2466252 BLAKE2B 2da51f253ea18f27b5fabafaebdc54805aeca5b750bec6169c269dbcadb98cf76a47bf92dd619458ca86d46ec7a03710e16e0ac4973d89a86edc2d0b853714c8 SHA512 aa80b9b6ec41082f1710f2327f7a22003cdce6d95ab0e5083ada9c5b7b40b8f7cbc7dc6c017878dc0e42c52e405e98ed1488c51d17bc3538989ff4be2c2411e1 diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.8.ebuild index b7477dfde2e..2ba8f3e59a0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.8.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" fi LICENSE="LGPL-2.1+ test? ( GPL-2+ )" diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.9.ebuild new file mode 100644 index 00000000000..b7477dfde2e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.9.ebuild @@ -0,0 +1,109 @@ +# 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 + +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" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +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" +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 +} From 95100eeb6fe91f4827dbb60f809b7ec1e5254646 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:40 +0000 Subject: [PATCH 045/239] dev-lang/duktape: Sync with Gentoo It's from Gentoo commit 7328f733a5e37ff31abefd9d8467a3f41eaee7a0. --- .../portage-stable/dev-lang/duktape/duktape-2.7.0-r3.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/duktape/duktape-2.7.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/duktape/duktape-2.7.0-r3.ebuild index f77166dfcd4..a4ef2e6cdad 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/duktape/duktape-2.7.0-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/duktape/duktape-2.7.0-r3.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 @@ LICENSE="MIT" # Upstream don't maintain binary compatibility # https://github.com/svaarala/duktape/issues/1524 SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" PATCHES=( "${FILESDIR}"/${PN}-2.7.0-respect-tc-env.patch From 4884c813733c936356f99aace6a91010d98a92d9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:40 +0000 Subject: [PATCH 046/239] dev-lang/lua: Sync with Gentoo It's from Gentoo commit a0d0728ed11cbbe09f46edb4270b676a77710a88. --- .../src/third_party/portage-stable/dev-lang/lua/metadata.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/lua/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/lua/metadata.xml index 9237282a3ce..29700972f00 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/lua/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/lua/metadata.xml @@ -1,10 +1,6 @@ - - williamh@gentoo.org - William Hubbs - robbat2@gentoo.org Robin H. Johnson From 471c4d2807c2d957d5bc9d2b90b19568526867ca Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:41 +0000 Subject: [PATCH 047/239] dev-lang/perl: Sync with Gentoo It's from Gentoo commit f5da069ce95e183a05e1821a021223cd0f870a7d. --- .../portage-stable/dev-lang/perl/Manifest | 3 + .../portage-stable/dev-lang/perl/metadata.xml | 4 - ...5.38.2-r2.ebuild => perl-5.38.2-r3.ebuild} | 76 +- .../dev-lang/perl/perl-5.38.2-r5.ebuild | 865 ++++++++++++++++++ .../dev-lang/perl/perl-5.38.2-r6.ebuild | 865 ++++++++++++++++++ .../dev-lang/perl/perl-5.40.0.ebuild | 861 +++++++++++++++++ 6 files changed, 2647 insertions(+), 27 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/perl/{perl-5.38.2-r2.ebuild => perl-5.38.2-r3.ebuild} (88%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r5.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r6.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest index aecb4fde543..55682d1b523 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest @@ -1,3 +1,6 @@ DIST perl-5.38.0-patches-1.tar.gz 26047 BLAKE2B 809dd5242f9868e54525ae8056598d3252c889afc72ed6f122174f828947223399a5ba4dbc16dd43501f7138205991f8c102cbe0ed94175ae3353040c53a0162 SHA512 c66160e20095555aa21d3be70050dce934d62e55e01dcf0f716129b2faa390923958a48bc448b4fab6f55e5b097eb378f7a6409a92c024fe68c8b34fddcfc5e4 DIST perl-5.38.2.tar.xz 13679524 BLAKE2B 74250e30dde76911902a787134808dae69113c07029cdf09ab4777e7bb4e6c389cdefb9cb08be87e106a4bcd40dacaf188907d7a62c5aca22c1e374741855b39 SHA512 0ca51e447c7a18639627c281a1c7ae6662c773745ea3c86bede46336d5514ecc97ded2c61166e1ac15635581489dc596368907aa3a775b34db225b76d7402d10 +DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac949eb03a9e40716c37082396483045df577ef13bbca58ef06f20868e52e9c78e18fa5b8a3434ceea272ff49832a086a1f5 SHA512 d31a25894e3b34c8e80f439ebd423dd8f28eac056ce42d69376882c1655b1f7289ef22f8aa8d30147eaebbe6693f4d86d1570e153b55d58d7b30e5832e7bea60 +DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d DIST perl-cross-1.5.2.tar.gz 120097 BLAKE2B 8703816363b41ea5fe528b192ed28b169cf0bfc3c61a9332682240bdc02f6ef0208fc0202517ba03e7c177bfbb52783c833aacaf2d16583e0f90bd58805a03ff SHA512 fb16316add0a7458f087295077518402eddaa1c759da6e268742e9ba5439cb3f1db7adcd7ef769c4a613b7518ff9e48849f60b24bd2a6daaaf6e96b59bbf0ac8 +DIST perl-cross-1.5.3.tar.gz 120847 BLAKE2B 346152b44e4ace3a9215aeb24de617ac217a462c1ebfa2b426e7bf9546673e1aef52ac2fd294bb2a00755f6e3590bd5bc3f615d874a0dcd5fa13b1eb2d3960c7 SHA512 cccfd32ee33e52a06fa0c6c1af0cd454bf20354e9ce4e7ebd599915b3a4a39b5e0b98e548c5e8084e175e9a3c78f0f7d782331ec2ceaec07c1c0413690d0d422 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/perl/metadata.xml index c36cc7ac878..993685cc10e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/metadata.xml @@ -5,10 +5,6 @@ perl@gentoo.org Gentoo Perl Project - - Enable Perl threads, has some compatibility problems - Enable 128bit floating point arithmetic via libquadmath - cpe:/a:perl:perl Perl/perl5 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r3.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r3.ebuild index 29d9fb34d47..ed241260b8f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r3.ebuild @@ -39,6 +39,8 @@ MY_PV="${DIST_VERSION%-RC*}" DESCRIPTION="Larry Wall's Practical Extraction and Report Language" +HOMEPAGE="https://www.perl.org/" + SRC_URI=" mirror://cpan/src/5.0/${MY_P}.tar.xz mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz @@ -47,16 +49,17 @@ SRC_URI=" https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz " -HOMEPAGE="https://www.perl.org/" +S="${WORKDIR}/${MY_P}" LICENSE="|| ( Artistic GPL-1+ )" + SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi -IUSE="berkdb debug doc gdbm ithreads minimal quadmath" +IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" RDEPEND=" berkdb? ( sys-libs/db:= ) @@ -82,8 +85,6 @@ PDEPEND=" # bug 390719, bug 523624 # virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker -S="${WORKDIR}/${MY_P}" - dual_scripts() { src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep src_remove_dual perl-core/CPAN 2.360.0 cpan @@ -129,17 +130,46 @@ check_rebuild() { # Reinstall w/ USE Change elif - ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ - ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ - ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \ - ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \ - ( use debug && ! has_version dev-lang/perl[debug] ) || \ - ( ! use debug && has_version dev-lang/perl[debug] ) ; then + ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then echo "" - ewarn "TOGGLED USE-FLAGS WARNING:" - ewarn "You changed one of the use-flags ithreads, quadmath, or debug." - ewarn "You must rebuild all perl-modules installed." + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then + echo "" + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version ' "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + + local patchdir="${WORKDIR}/patches" + + mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + add_patch "${FILESDIR}/${PN}-5.36.0-fix-configure-for-clang.patch" \ + "100-5.36.0-fix-configure-for-clang.patch" \ + "Fix clang check in configure" \ + "https://github.com/Perl/perl5/issues/21099" + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # On musl we dont want to use largefile *64 types, since 1) normal + # types are 64bit / largefile anyway and 2) the *64 types are going + # away in 1.2.4... bug #911233 + use elibc_musl && myconf -Ud_off64_t + + use sparc && myconf -Ud_longdbl + + # This urgently needs debugging - on m68k, miniperl crashes during + # build otherwise.. + use m68k && append-ldflags -Wl,-z,norelro + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you need it..." + myconf -Ui_db -Ui_ndbm + fi + + use perl_features_ithreads && myconf -Dusethreads + + use perl_features_quadmath && myconf -Dusequadmath + + if use perl_features_debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv" + + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + + # bug #913171 + export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" + fi + + # bug #877659, bug #821577 + append-cflags -fno-strict-aliasing + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'int main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dar="$(tc-getAR)" \ + -Dcc="$(tc-getCC)" \ + -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ + -Dnm="$(tc-getNM)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ -z "${ROOT}" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r6.ebuild new file mode 100644 index 00000000000..51b567eba91 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.38.2-r6.ebuild @@ -0,0 +1,865 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.5.2 +PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=PEVANS + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.30.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" + +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi + +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +HOMEPAGE="https://www.perl.org/" + +SRC_URI=" + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://github.com/gentoo-perl/perl-patchset/archive/refs/tags/${PATCH_BASE}.tar.gz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.gz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" + +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( Artistic GPL-1+ )" + +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + >=sys-libs/zlib-1.2.12 + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.31 + >=virtual/perl-CPAN-2.290.0 + >=virtual/perl-Encode-3.120.0 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + >=virtual/perl-Math-BigInt-1.999.842 + virtual/perl-Test-Harness + ) +" +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.360.0 cpan + src_remove_dual perl-core/Digest-SHA 6.40.0 shasum + src_remove_dual perl-core/Encode 3.190.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.700.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.510.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.204.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.160.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.311.290 corelist + src_remove_dual perl-core/Pod-Checker 1.750.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.440.0 prove + src_remove_dual perl-core/podlators 5.10.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 5.10.0 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z "${REPLACING_VERSIONS}" ]]; then + return 0; + # Major Upgrade + # doesn't matter if there's multiple copies, it still needs a rebuild + # if the string is anything other than "5.CURRENTMAJOR" + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0; + + # Reinstall w/ USE Change + elif + ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then + echo "" + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version ' "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + + local patchdir="${WORKDIR}/patches" + + mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + add_patch "${FILESDIR}/${PN}-5.36.0-fix-configure-for-clang.patch" \ + "100-5.36.0-fix-configure-for-clang.patch" \ + "Fix clang check in configure" \ + "https://github.com/Perl/perl5/issues/21099" + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # On musl we dont want to use largefile *64 types, since 1) normal + # types are 64bit / largefile anyway and 2) the *64 types are going + # away in 1.2.4... bug #911233 + use elibc_musl && myconf -Ud_off64_t + + use sparc && myconf -Ud_longdbl + + # This urgently needs debugging - on m68k, miniperl crashes during + # build otherwise.. + use m68k && append-ldflags -Wl,-z,norelro + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you need it..." + myconf -Ui_db -Ui_ndbm + fi + + use perl_features_ithreads && myconf -Dusethreads + + use perl_features_quadmath && myconf -Dusequadmath + + if use perl_features_debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv" + + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + + # bug #913171 + export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" + fi + + # bug #877659, bug #821577 + append-cflags -fno-strict-aliasing + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'int main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dar="$(tc-getAR)" \ + -Dcc="$(tc-getCC)" \ + -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ + -Dnm="$(tc-getNM)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ -z "${ROOT}" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0.ebuild new file mode 100644 index 00000000000..33792179f43 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0.ebuild @@ -0,0 +1,861 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=2 +CROSS_VER=1.5.3 +PATCH_BASE="perl-5.40.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=HAARG + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.40.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" + +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi + +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +HOMEPAGE="https://www.perl.org/" + +SRC_URI=" + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" + +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( Artistic GPL-1+ )" + +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + >=sys-libs/zlib-1.2.12 + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.31 + >=virtual/perl-CPAN-2.290.0 + >=virtual/perl-Encode-3.120.0 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + >=virtual/perl-Math-BigInt-1.999.842 + virtual/perl-Test-Harness + ) +" + +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 3.20.10_rc ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.360.0 cpan + src_remove_dual perl-core/Digest-SHA 6.40.0 shasum + src_remove_dual perl-core/Encode 3.210.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.700.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.510.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.212.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.160.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.406.90 corelist + src_remove_dual perl-core/Pod-Checker 1.770.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.480.0 prove + src_remove_dual perl-core/podlators 5.10.200_rc pod2man pod2text + src_remove_dual_man perl-core/podlators 5.10.200_rc /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z "${REPLACING_VERSIONS}" ]]; then + return 0; + # Major Upgrade + # doesn't matter if there's multiple copies, it still needs a rebuild + # if the string is anything other than "5.CURRENTMAJOR" + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0; + + # Reinstall w/ USE Change + elif + ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then + echo "" + ewarn "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version ' "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + + local patchdir="${WORKDIR}/patches" + + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # On musl we dont want to use largefile *64 types, since 1) normal + # types are 64bit / largefile anyway and 2) the *64 types are going + # away in 1.2.4... bug #911233 + use elibc_musl && myconf -Ud_off64_t + + use sparc && myconf -Ud_longdbl + + # This urgently needs debugging - on m68k, miniperl crashes during + # build otherwise.. + use m68k && append-ldflags -Wl,-z,norelro + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you need it..." + myconf -Ui_db -Ui_ndbm + fi + + use perl_features_ithreads && myconf -Dusethreads + + use perl_features_quadmath && myconf -Dusequadmath + + if use perl_features_debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv" + + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + + # bug #913171 + export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" + fi + + # bug #877659, bug #821577 + append-cflags -fno-strict-aliasing + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'int main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dar="$(tc-getAR)" \ + -Dcc="$(tc-getCC)" \ + -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ + -Dnm="$(tc-getNM)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ -z "${ROOT}" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} From 838cff1cb0ce2c12b231e2ca861050767e3065f2 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:41 +0000 Subject: [PATCH 048/239] dev-lang/python: Sync with Gentoo It's from Gentoo commit 8d213f1a121fb27620e9675ae30116d34e1093db. --- .../portage-stable/dev-lang/python/Manifest | 44 +- .../dev-lang/python/metadata.xml | 4 + .../dev-lang/python/python-3.10.14.ebuild | 508 ------------- ..._p3.ebuild => python-3.10.14_p1-r1.ebuild} | 34 + .../dev-lang/python/python-3.10.14_p1.ebuild | 2 +- ...11.8_p1.ebuild => python-3.11.9-r1.ebuild} | 34 + .../dev-lang/python/python-3.11.9.ebuild | 2 +- ...12.2_p1.ebuild => python-3.12.3-r1.ebuild} | 34 + .../dev-lang/python/python-3.12.3.ebuild | 2 +- ...3.0_alpha4.ebuild => python-3.12.4.ebuild} | 63 +- ..._alpha5.ebuild => python-3.12.4_p1.ebuild} | 79 +- ...6.ebuild => python-3.13.0_beta1_p1.ebuild} | 22 +- .../python/python-3.13.0_beta1_p2.ebuild | 643 ++++++++++++++++ .../python/python-3.13.0_beta1_p3.ebuild | 684 ++++++++++++++++++ .../python/python-3.13.0_beta2.ebuild | 684 ++++++++++++++++++ .../python/python-3.13.0_beta2_p1.ebuild | 684 ++++++++++++++++++ .../python/python-3.13.0_beta2_p3.ebuild | 668 +++++++++++++++++ .../python/python-3.13.0_beta2_p5.ebuild | 684 ++++++++++++++++++ .../dev-lang/python/python-3.8.18_p2.ebuild | 430 ----------- .../dev-lang/python/python-3.8.19_p1.ebuild | 2 +- ...-3.8.19.ebuild => python-3.8.19_p2.ebuild} | 4 +- .../dev-lang/python/python-3.9.19.ebuild | 490 ------------- .../dev-lang/python/python-3.9.19_p2.ebuild | 2 +- ...9.18_p2.ebuild => python-3.9.19_p3.ebuild} | 2 + 24 files changed, 4289 insertions(+), 1516 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.10.13_p3.ebuild => python-3.10.14_p1-r1.ebuild} (95%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.11.8_p1.ebuild => python-3.11.9-r1.ebuild} (95%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.12.2_p1.ebuild => python-3.12.3-r1.ebuild} (95%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha4.ebuild => python-3.12.4.ebuild} (92%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha5.ebuild => python-3.12.4_p1.ebuild} (91%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha6.ebuild => python-3.13.0_beta1_p1.ebuild} (94%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.18_p2.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.8.19.ebuild => python-3.8.19_p2.ebuild} (98%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.9.18_p2.ebuild => python-3.9.19_p3.ebuild} (99%) 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 7037e2147c5..6c670f37374 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 @@ -1,45 +1,35 @@ DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 -DIST Python-3.10.13.tar.xz 19663088 BLAKE2B d9a8edf89d0ccd665fd5ed444a144af240e078fcab1876fea8b44586c23651a08cf5833fc54c39e8471fd9e66ea0ded11fcaa5d215bc025acaf4504a15c5846d SHA512 7579772e501486b2b07f78142082dee1e99c7643640098860ac0cf2ca87daf7588b0c00b1db1960146b37f56a6ed98fd08297c25c9a19b612cf6e6a258984da8 -DIST Python-3.10.13.tar.xz.asc 833 BLAKE2B b00222b30a6701e77c11c6019e2240be7cf42f2b4e558c03f7a058664d242a00665fbc52fdf03106e84c75f49b51b705d8acd1f381d1f41ada67c4647652ef4c SHA512 3083e66f8d26128302dc77a0c6ba3bfefc4229928a1bbd06460f2fec2421188bd30d493e3bce138cde1fed1df206e1dda04912b9f43a0b81229f1e69135e3a7f DIST Python-3.10.14.tar.xz 19600188 BLAKE2B a9e65fff590d56848f55f2d93d8a1c631bb8135617112997fbaea9fc45db1d5e2ce39f00cb29c9428542e523fdf48064bdb9aea144acb7aa7cfe71990b8e949e SHA512 adee638aeca898743da4b8245c0fa1e9b94b516f22e716e60c99038f0bb3dcbf726317aa86656404be1719b5a7c58eb09533720ebc0badbb04bd9a534dd48fef DIST Python-3.10.14.tar.xz.asc 833 BLAKE2B a8ff46628d72540d0cbfbca91742e0901d7679229d873c3c92fd06d3b45a057daa5b70eb5f026db89d498cb84c10b8c477e79b012582c9fa2bf9d514637c2de7 SHA512 821046b8eb559c3ef800f26739c995e7a71469a1e765ee7d516690236e16d2637ada7b2f9535b8c0dceaacf243e7b059f6f106b4a25faae365aa2099d1ff538c -DIST Python-3.11.8.tar.xz 20041256 BLAKE2B 361253743c58facd01063922523c39fafe647a4204e04db79f36f0c3c180c2f1e95e8ea6662e85a8da06bdbd84d32bb7df9ac0febf361122df5b207ade562740 SHA512 434e727fa370def348838fd84acb69b4d309cfb03f61bf5069150164e9ca005637ac01dfbf997f445607d4e28d02c8bed0858b36589240ccadaa4c14c19f2320 -DIST Python-3.11.8.tar.xz.asc 833 BLAKE2B c82907808de345b263cd1869589004a29e94f225c338a6da3035130728bda137727898743f30d64cc4b819a28cd035fa70123cc45cbf8719b66f9d3ef14452e2 SHA512 aebec01f84e96a76f6c5949004df2bb51c817bac3fc8d925ee26ded1ff2d80bec1b579dd0fc129004bc9cd81cbdcdcdf7c1f0471c3d26b70bd6dac11b97187e0 DIST Python-3.11.9.tar.xz 20175816 BLAKE2B 4e7cd2c42ee39b5ef9624ebd1798320957e948cb4f23f17fd1530814c60126dbf988846928d4d7d4b9d2174029ab8d4dbaf19e6203da237da4c3212ddebd5803 SHA512 2b0a1d936b4ef8376f9655797aece8ffdff75031ad7bfa840f330cac2aed189aecc80c163edc12ea772851d7a011f3fc1960470a73d9d4290cf3ab8ad6ed7e6a DIST Python-3.11.9.tar.xz.asc 833 BLAKE2B fa29f632bae0bee7db946038ee3529bc3bfbe1b2e755b21394f67a3c80911ce8079aaab43a16d88e614a8bfc01fb5105ce3f61c59a5ca44470b0f59787c707b3 SHA512 b18b50e7168b2ca5376a1fa75e50e8baae2026d4f11d4cf613d758f3f17df4610fe4653fb2ac0c5c4ec0f6e630dc6490ad1ff32a2fd0ebd60f9f3bd136207ffc -DIST Python-3.12.2.tar.xz 20591308 BLAKE2B 419186d220d4ae5ca31466771158c8b56f5298b93e81a29993f36711e08b0384e002d891280ca29099ae826919ba99c2d056d468d9d3049a984d58e01d4972c0 SHA512 2ccfae7b9f95d8e15ea85d3f66eea5f6a8fdcaffc0b405095fecb33efc0df50b831c1215542910ced948b54e6de1f7242b0b8b9afc5f89079451c552430d7d9f -DIST Python-3.12.2.tar.xz.asc 963 BLAKE2B 45bfa01009f4df19d348a1fda722901cb4f0b76eb63fcf1061c2796949b5b2ef301fd0fdf818cd145e41d45e5785e0cfbfab8d98751765741715ee7d1b27f2f8 SHA512 fb477acb49864a662b1586db79e80fd8ebab85d4e5e14acd3bfb5afc3dbe8d6b9bf97eb518dfb77662e27040d400f451ed7575fe1264a6cc0d9feb06e4f2dc84 DIST Python-3.12.3.tar.xz 20625068 BLAKE2B fc4f57ae50183db4c8cb37d94c37a7e58da5d031e03866841a678b986f01bbb8afdefb38124ba82b0a4988445b647214be43338dea13b0f063d3c2bf81c48c0b SHA512 4a2213b108e7f1f1525baa8348e68b2a2336d925e60d0a59f0225fc470768a2c8031edafc0b8243f94dbae18afda335ee5adf2785328c2218fd64cbb439f13a4 DIST Python-3.12.3.tar.xz.asc 963 BLAKE2B f9668dde210793f8da0e0bb026b8ec3e0b4bc3abc58e72732f8faf356b19ca88a59b9d89b4b10f77b3602d9a967f0f2f44a0f091d698bc28ba9bad8049e5e006 SHA512 c291ec5b5e4f8deba867cc517624dd9a174745f04061ef737e58f3d52b9b30318264aec350e339fe88ccb493809ca1a90a378e86d86b8ec4a4f578b1a5843624 -DIST Python-3.13.0a4.tar.xz 20648544 BLAKE2B 4d45bdc1d88792c0bff93b4f9023d494b5ae86cd74eef49089fb11fab951b7fd2a5b8ac5b827b50fe1d61b516ed9a50f3f0e0b112299a70128f5e29e7b1d3f0f SHA512 f0dccc822ba000e8a50853d62698975d35382b981b62091e25ad6a6e0669e4e517c880e884644b508172de38226006ec11ddc649d9271320e728c0cd6c0b4dcc -DIST Python-3.13.0a4.tar.xz.asc 963 BLAKE2B 2b27d93d4a1240b85657e455b1f148424460a10f8dc71a052a16f62c2e115a1767f1af1e6b4b7ccee5a4b59b4a92351875270567fd120aa53ee7fd50c51fd607 SHA512 261c0b23f84301f8b2aa4e8ea32995ea64a74a48dabc595028af71466915df93c118e699c939d7e4372d4575c59221743cb5ae21a936cc41241bdbafb9fab6c3 -DIST Python-3.13.0a5.tar.xz 20734172 BLAKE2B de5c0887fe67571f1f93fad3252433234683de266759d047f748f236328d091a73b24432e345382deaf4521fd462cd0d6916dddd8c4d66c5e3d56b12b780fb3b SHA512 7238d6792ac35f4cf9c701f7a69ed37de13efe0ba676f26a9b01a15ded1f8f070be295be6fc70b29153e9f2216224438d46500570b5d64641347cf2ccc66b556 -DIST Python-3.13.0a5.tar.xz.asc 963 BLAKE2B bbb0f90d2b5c1e39e224e97e627b89a4f9d8384bfc30a2da45f112a088290bbb4f36c39e4f12158d10fe737ec4b2af2db675917077aae36ba0166fdd8ef2c34e SHA512 9cb4235afcde912904a2c3a728d83db45947cbda5ae1efae742f6045d1744008fefe67ed4b667f58194d81b2f341f3718841eb06ffad9a2f2fb5357cb1a373f4 -DIST Python-3.13.0a6.tar.xz 20890000 BLAKE2B 3a08003be366d78c8e3f7d45440bb23a6c9fb1228a31212b1585d1ab1129a6e252e852f8bd300c13d45ccaa0988f6f5de2a067b4a0c9583be10da4c20ceffa74 SHA512 6e999c718cdfede4abc52297aae7160a2864424e8f49a47321fa822d40c331a3d061a0982e355351a0c4bea40e9b1ec3832d76a7f4b6b3986b62fca2757f0ca1 -DIST Python-3.13.0a6.tar.xz.asc 963 BLAKE2B 8f221fbba5f92a0468d2c28418b4d02037a59d4177e3e96f339a67376d0335df9ca23294e63d5ef4ef926bf7deafb2f8a458e740281429b0a648bd087b4e99a4 SHA512 1ec2abe8198a5fbd98490274bed7e84b48fcfc6ff25fcb474455d9f33b62673cfb7cf4939b304684aed005975d166143cb644b9a3e484d25de3dacb869de0131 -DIST Python-3.8.18.tar.xz 20696952 BLAKE2B 45be712aeef8bb3ba04aa2bd7d0282aa5f817327749c620ede18ee307fcb432540db9062a8186b08b49467515c74f01eb6fa739f366cca76dfadedcb22858429 SHA512 0be1d85cafade25e99b8277ba51d7b9b3a3d2dbbcc52fd0d1c633c47982e5dd87fd7a0ca180a78d7801d79a8ecafa79bd9d501d544cd7b6da53ea409daa70adf -DIST Python-3.8.18.tar.xz.asc 833 BLAKE2B bc4e989748d53c6be7040e78d9f1852227c6a76f4c63a68824f5139defd51d1ea7988df01f961ff5c77382e156ef45fead2bb97bddbb38b208ddfa9c709e4f34 SHA512 99a0fd74fe19144819fd9522836474e10c1593787eb464694bdc6224b2d4a9331e31d2ecafc35c2bbb9bf67f20186295b28f9374c1fdcd05ac13f5f400219489 +DIST Python-3.12.4.tar.xz 20659356 BLAKE2B 4255171ef8ee1777bab829be7bbaf28a9d5073985b3b1309a41694dda5f6b4ad599df4534a1ce83ec65b357d42416cc18722ca94b4227a45ebd90e2c1df90945 SHA512 750132ee6369196096130a924f4ddb78b9a55804133e5d136a70b9280928822974d1aa559d844486df02e89155fb0d8117871e1ac532abc18174309ca4b08369 +DIST Python-3.12.4.tar.xz.asc 963 BLAKE2B d4f62dca1de5f4e4b2581fc49ca55b1d87abe7c4ceb2c9087efe4b92d9e9b3bdd25949bbf82fd771b4b60bc3690be982c2f25b810d87592665f0728fbe08be9d SHA512 1102b17f395e0ec5de5368d04a4dceb8cc98dd408b68b53998071cf129eb9a6c259316a416128f1dfa37a739f86e599507502a98430348da2272442ce1b7059e +DIST Python-3.13.0b1.tar.xz 21054240 BLAKE2B fba108b2971fe188a05340753a48379c9a829ce680f13dc50d95d889ef5ee833b82be157d1b011ba841c149d633e8eb64b07098bf03a2adcf711b3f688465050 SHA512 81cc1d8691bfcc8f8bb232ea15c18039d0df036f5cbc1667fec3b6c34cdf198bed97418ec775c037778c250b7bc4f35bd5fb938dd478cc17fc48c74b8a2b2d19 +DIST Python-3.13.0b1.tar.xz.asc 963 BLAKE2B 1b038d2b73fdbe11a1ada18ceab4a174ae52aab68ae9c3a9952ee60a16ce3e08e54c13e0c47264442415f70bd39a06c2b0f97c3cef31330f51102dad6d4a837b SHA512 c10832b5016ad9a9588b7efd29a35272c1c07b444df116c397fed82d66f30150687d68a6853637094be2fe1d8ed0928a9cd151617c91d9eb9938ba1385bd7143 +DIST Python-3.13.0b2.tar.xz 21089692 BLAKE2B 3cc77e9b7abcd8c9797a40b2a1f5ff6562a1841dd44c4785a57941b1eb4d70d20a3dc5bcf8cbfe3d1b2c7f846d7da7fd89758e113542820945da996d2c6a68af SHA512 3a37c8137958a6ebaf06f5a03b28c7817f359f346d820a9989932b1a716478647e8d1b94c1a08197bcabf68cd90443a08ab9454af9151eace52401d8b60d0c35 +DIST Python-3.13.0b2.tar.xz.asc 963 BLAKE2B 2acab01cd8b2b5072e87f0c697767e9cec6a73cd6afae38f066a3bfa14798d10e01c03e806a1a90d1db3e5d91dea090d9dd37d1884bef3291783e6163e3d8906 SHA512 17091aba45ebd8c8feb3e9c54854e20dcd44fec4a1c08c9c0c4593166c407c4ad2b245a0e0893afc83a43e8b461a557fa1d6691c87a6a5ebc97ea448a9201c87 DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625 DIST Python-3.8.19.tar.xz.asc 833 BLAKE2B a11705011e9ea2bd6cbabc2b4c896ba94675341188eb483b881c2cb25c932e9ff25f9f589f930605b0442ff93a1f54532608b111c8ace715a406ce10809af671 SHA512 efdaae5462badcf4b98625ce8ab0e34756acea9539416e6ec428725b04539f8c38c1978de346510d669e93bbeef3ae20b1534e4c6582f89c7dc56a04c7cae140 -DIST Python-3.9.18.tar.xz 19673928 BLAKE2B 97da9bedaf29101e5df82199ac3ee12f1da74d5cc89de21ff1510c3f6d34d7f9194489e79855f1ab3c6f26768738e784cb7231c1a692fa746edd21d35558bc4e SHA512 aab155aca757d298394eddb91ff9a8f239665bd46feb495c6b6f735bbcb7489c05c858cc4cd08f1575c24f293b33492d763e9a140d92f0b2b0cc81a165a677c7 -DIST Python-3.9.18.tar.xz.asc 833 BLAKE2B b2160eedf7a7529c379ede5cd626f2d1e36db65bad8c8968adbc2940e597bf0e66f4872078c6543c69aed9b7f38b41d922fdc1cb8046738c1d8566a3f48da7d3 SHA512 dff9a86df2b0774b68e7c762bacf05e2482dbb218301acfdc9128fc600bbc51c97a3a44f6b7cee87bd4e153bcb4a0af3c98109560d0c7861b7508edc9ae05ea1 DIST Python-3.9.19.tar.xz 19682840 BLAKE2B a12256663f0ff3b799c2193c5877aa89a434340dfa01e655f790abea70af0709b54577e1c2590add241308a8581fd6f45a22aed450bd5db2bf9fa35c4a9d619b SHA512 5577830c734e63a70bbc62cd33d263b9aa87c4381b49cb694c3559067c4c682a55506b65ec5514a8e0a5abf6294dc728e909385d449ae1c388e62f83cea9bb89 DIST Python-3.9.19.tar.xz.asc 833 BLAKE2B b48b58b8ccf4d6ba8d0d7120f04bebf59f843ffecf5fde4c3989fd9c26e3d3d1ccf4e5688f7024ae94775c8731e9ffa56799fca8596289edf93e4aac5480aaad SHA512 f7f4946243dfc56de2c84f50276b088d347f17054f50e3331d1e312e2a8e2c6ed1b4b4a807202b51137fd2af3fc9218cafa42ed348a954ace896d9a432e2defd DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f -DIST python-gentoo-patches-3.10.13_p3.tar.xz 16192 BLAKE2B f13efbaf3b41572cc9d1f3878cf2339448f513c96fd85b35d0f4a9a472cd4867d898ec46230391fc916debf5dc23ac0030b228f8ab78b2ac9e38159c75aecabb SHA512 a5eab5f3ea59b12fa6613a18b4f318981b750899d69cf382abea7705efb873be5b94024ed64fb47f19aa6f6e4f2a9ebe05c05361e7a45bd41dea5161f955448c -DIST python-gentoo-patches-3.10.14.tar.xz 15240 BLAKE2B 0bfae6d93ceb1292891450d6af3bd7f286546141f1eb4a6a39ec1a43450f62fab6f31aa7e7be25982e6354ccfa1f233a4c949f6c9dffcf2d71ef136a64d91597 SHA512 c7084bf49642192d69979fff205d7e29d9491f483219240e3a1cd5fc00985e471a1f884af789058fa490f0994829b50accf2e445d21906a96aefdec8a394da24 DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38ccba937f1b3ee8443ed186c22ede58b4c7324a8541cf724590686671a9aa9194662303ce75bc80aac8ee6f9da34b793876817b6f593ff SHA512 5d969f5e5126ee675a062924a5f403de142fc5bfe4a931fd3576bcc6298a855419d305d4b1ffedacb429783a05324b36eef4c45c861c47bada0bdd840de2bca3 -DIST python-gentoo-patches-3.11.8_p1.tar.xz 9604 BLAKE2B 9017104f160f24e0a1818a8b12225c596faee79d646cc73b6edc4ed1e3faca86cfa2fcea09a128224b85330a67dea65f658507e60dcd09b10af0d590a2b05082 SHA512 0f0afa57abfb4282953a1a78e5ad1cc5e17c0a205e96d9c152f9de6537da95671c1d429ac03fd6aa70a457b27a19b0892a1f9b81164468c4085172a58f5e8d9e DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997 -DIST python-gentoo-patches-3.12.2_p1.tar.xz 7208 BLAKE2B 8266f2b6c64ffd509278c0d8756680e6700dcd3ed3ab6d3f0e1be2cc87cb20bc694f9e386b474fa5d115ffecdd5d4807a956a48450e109ef7f449ed6f4a8afce SHA512 5fdb93ffae471b5a9e617c12ca1646b9521867cd260efe6da6350fcf5ba24114cad1dc715f033079ab69ecab7cc62c870e14fe2d2035c2d7f29c05cc0f1297db DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f -DIST python-gentoo-patches-3.13.0a4.tar.xz 5256 BLAKE2B e3ad093b0c4bb044fb5883b5af14d130a6d5c94d8e9094263544f458ba2a38056ae64bd94d78ec44372caf40fafdb542d06be197cd5d1742f43a4f842d2fd2e3 SHA512 d845febc89d089791bac09beb758a615c20968b97077a3483c037562b4811edfe7c2d17e815032a77676bafda6ed838dba370fdcbba37f93ea83ee9d4b092fe8 -DIST python-gentoo-patches-3.13.0a5.tar.xz 5272 BLAKE2B d3251c26bf170c30cd3c935f697617e431c4d8dd9192e0ffd7a314b6780bf193b1fa1d6f4108455c993a0057b4712d336132ccc49fcd3d510003868afb3c2b5b SHA512 13dcdf5b037a7c09a9964cbe74c7caa26894bb842b53d7ff027a1675a005bd72452526b18e69b7c1579a3b786f67d4b3236c1c744b224bc7a09fa61aead01ef4 -DIST python-gentoo-patches-3.13.0a6.tar.xz 5240 BLAKE2B 827a365f60a1acfcbb5ddd568e4938cbd7f98678a12c756774b4307141834d90b890006e68965369663af1c6d594cf44466b9624f5ce3741ade28d80f3289437 SHA512 e45e0aaab022d2cc633576990a6232235067d89fc1270004caf18da898b98767ba7fa811bc8beb3cd8f0f842125cbd3cc3382e3aee13f15b8971d818f4813a30 -DIST python-gentoo-patches-3.8.18_p2.tar.xz 34160 BLAKE2B 2e97f70615b950798cb7e2ae076f6617da3c28ef2d3f56f4e9be5c9144a64512fab1c098ed778d740ef79fc95af3ede231efc712304937c65b867e6e18dc0405 SHA512 fd05a1f6f7ae8173f4976464116fed66486a36b937f638d97d60c2eb0f3b277525b25b60c800c3b2b3403b63c0cb813b138094c59ccf43aeecc4a23c69f2f3ca -DIST python-gentoo-patches-3.8.19.tar.xz 33176 BLAKE2B 8e177fdede42ca5121c12414987fa4597648ef5f76d795856aef21fce528e15ef71ab5fad2399ae11a36b8adb443650b77e9e8d2ac9a768b7d12d3083334bd58 SHA512 362189294f36f86302b1bf988d1938ecbefc34b4300701c0a9171008184f1ae5657e3452274240592707ee1b651731e4758801d1f94a1bd10b7f1054bd9a7ceb +DIST python-gentoo-patches-3.12.4.tar.xz 6056 BLAKE2B 8e8caa52f5725aaed08e8442609bec45b11c63d5f29f8fdb302416716bf77ef1bb7fe5e9d14bab12517dabd01dc06172fe11b176326291b19785a8b1d74ee9b9 SHA512 d2fd747f81a3812f5d4a0d281ac336a43961abcf4a4e503564fa3b5d33c0312a6c7148c6f516f5c4c917432c63488615161a847ccb6539a457406b82f1661a24 +DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7 +DIST python-gentoo-patches-3.13.0b1_p1.tar.xz 5480 BLAKE2B 830370b56bd662b10dd4423f1e758da79c61d535a18b35496e09d864642873449a13738da8e042b94c58e8e300ac7c003088be69e27467dd024daf54b6a34c22 SHA512 d696c96263ca51f611d508ee644f7254d2607236e829946c35dc6a6977eafa98748fa807b36d40d5e32f278db3493876b2214b4e2bb1ceb4deaa1fbb8fb2c052 +DIST python-gentoo-patches-3.13.0b1_p2.tar.xz 9300 BLAKE2B 63179b01623c6677363c4d1c2f7890e81defd4ca451259b66eff79c92bee68a92a0a33893801fabd8af2e9f07fe1bbd985a494a9ac3fe4662f9db6dc346db418 SHA512 29b29975571abe7dc4269f8b758bf825b431adc7e72bceb42eb801d35bc2eea4f11adea96c8742a0cc273b718b3a632a1051bac1d2d45e40aa419d0f624cf1f6 +DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b +DIST python-gentoo-patches-3.13.0b2.tar.xz 5276 BLAKE2B 047e0362c328ca7545d7b0a86476f95eeecb381b979284a779788c451000e9fe0e1d31461865cd8f818be203b72404f9d810e5baf479a89c6dccc6db7501719a SHA512 43d3ef8e558309d2d93ce6d473eaecfc5359515067a861303b0f085eeb741265d4d071112dcaf55c0d38707c27df35398d3e6310fc1e522debeaaa1e5e8b55b4 +DIST python-gentoo-patches-3.13.0b2_p1.tar.xz 9300 BLAKE2B 1aad8a19a5c237dc0dd67dd3f83116009e1d78f0e3d63780c463e418f22b5f1a4d50035fff8a80ac24b4d5fbcac281fc766fd3e86428d3c3041b5df3f5a518fc SHA512 bc09bdd4bc9716c83d580307af6d30f149894912ad2dbbf02274c88be82f67653aada0a8d16199d85418b1237ecff7c5e41352c759a31b807e7011089ebbbc20 +DIST python-gentoo-patches-3.13.0b2_p3.tar.xz 10216 BLAKE2B ecc5c82ab17a4874ac8f8694fd76bd9401926a164c8ba38578da3c153138921463d07788e5bbcd5a87bc1d31703c4f06b193003bdb098ff6f07ff93178299113 SHA512 79d19cad2b497a315ecd923e995a99b22b132fb13239592ab73716ff1c799da8d371106f57f597eac44a5958d13e5bc7ce4c8bf4c160b6b219ad59b23da99298 +DIST python-gentoo-patches-3.13.0b2_p5.tar.xz 10616 BLAKE2B e80e96270fcf5d102a1c9f71eae1917387776fdfd32495117cb8854778457e5443c6293fc6af139483ba8339503a7c7f8da8db50f6a95940892ae769f2661d9c SHA512 b281438577bf56a0e1518541d760d9ceaa3c5e5e5619a8a7692ba2ca6cd94ddde3b8fa0132e2c590165fddeb3df88971c1842bc72bace92484cacfa254c5ce86 DIST python-gentoo-patches-3.8.19_p1.tar.xz 35008 BLAKE2B 8771e3a2329577659a4ff64987f2500b7dc4f07f78677b823c8f11e7a9e7fc0369cc127e6ad1f1000986937b7811467bd22ba02129a754246658f99b7219a4a7 SHA512 470c125e8df23c1db358c2f7bbf5ac3b28e76fb843364f7fd5aa2fd399ac9b01a2ddfc2c1765f91236c71712941d19f273fb21f960239f79a0263b5b47081d46 -DIST python-gentoo-patches-3.9.18_p2.tar.xz 26756 BLAKE2B d9625e8972e2b7536ca1f54a284f0b414361e234b869f98593d132d7bc63b7a1a311c3e6769deba1f07358053982845a96b62b14871388e3b6d211f51f7358b5 SHA512 83584170cb29fb71937dd224af381cd5602b736d893c8ae89891805d6882d74208244040e3278baef82c31a6769c827c21746265260e9be7bc55ffdb8b625b2d -DIST python-gentoo-patches-3.9.19.tar.xz 25828 BLAKE2B 1213880c55a34d4c39546fd5b5bfed17f969d8ebf0230861c04730c193b568adc9236e72cf3d65b0169769f47c488954abbcbbefaa28058409010704f3a5ccd0 SHA512 634809c9c80df37336d435e3d946c156f3623454b2cf5aa9a3a6d5b6754a5cfe2fa370310d9ba846abb3b2cdfe81dfec2071efe45b5e23396b38e392cd3314b8 +DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 DIST python-gentoo-patches-3.9.19_p2.tar.xz 27684 BLAKE2B a69f00548c153da7b13dfeccb332d3d67ecf649fb5ae054590492f3e2fc2c84b78ebaf90bcf9738157c9022778e5bf2a6b4fb6a99e996dcb63859dcf6f84af23 SHA512 552a5f2d89307d4193d76df5a2cf1deb4bd5c8ad9ec81e6768987f1649f6571a318e68b92d8f8ecdba12bfe9c5f1a427a4cc577e6aaebf7748027cc50e412804 +DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/python/metadata.xml index 22ce986e067..97c6bd965b9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/metadata.xml @@ -14,6 +14,10 @@ to bootstrap pip and setuptools (if disabled, it will be only possible to use venv `--without-pip`) + + Build with Global Interpreter Lock. Disable to use + the experimental freethreading mode. + Enable experimental Just-In-Time compilation support. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14.ebuild deleted file mode 100644 index 51e48b3385d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14.ebuild +++ /dev/null @@ -1,508 +0,0 @@ -# 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 ~ia64 ~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-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 - - 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 - - -x test_gdb - -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 - ) - - 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-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} - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - addpredict "/usr/lib/python${PYVER}/site-packages" - 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=( - -u-network - -j "$(makeopts_jobs)" - - # fails - -x test_concurrent_futures - -x test_gdb - ) - - if use sparc ; then - # bug #788022 - test_opts+=( - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - ) - fi - - # workaround docutils breaking tests - cat > Lib/docutils.py <<-EOF || die - raise ImportError("Thou shalt not import!") - EOF - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - # workaround https://bugs.gentoo.org/775416 - addwrite "/usr/lib/python${PYVER}/site-packages" - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - rm Lib/docutils.py || die - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" 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,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.10.13_p3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.13_p3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1-r1.ebuild index c3099177aff..bc8bf7c032e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.13_p3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1-r1.ebuild @@ -45,6 +45,7 @@ RDEPEND=" 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:= @@ -259,6 +260,22 @@ src_configure() { -x test_tools ) + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -287,6 +304,7 @@ src_configure() { --without-lto --with-system-expat --with-system-ffi + --with-system-libmpdec --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) @@ -397,6 +415,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.ebuild index 1c8c99fe93c..c3099177aff 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.11.8_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.8_p1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9-r1.ebuild index 0b7d97cc23b..b3aae1c5eb1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.8_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9-r1.ebuild @@ -46,6 +46,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -249,6 +250,22 @@ src_configure() { -x test_tools ) + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -277,6 +294,7 @@ src_configure() { --without-lto --with-system-expat --with-system-ffi + --with-system-libmpdec --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip @@ -411,6 +429,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild index 99f9650f71a..0b7d97cc23b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.12.2_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.2_p1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3-r1.ebuild index 7e8fb832f57..07331bb69fd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.2_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3-r1.ebuild @@ -46,6 +46,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -249,6 +250,22 @@ src_configure() { -x test_tools ) + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -276,6 +293,7 @@ src_configure() { --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 @@ -405,6 +423,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3.ebuild index 6133d8e6f04..7e8fb832f57 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.13.0_alpha4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4.ebuild index 78f3cecc7a9..f7e54652ded 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4.ebuild @@ -2,15 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="8" - -LLVM_COMPAT=( 16 ) -LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_alpha/a} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -31,11 +28,11 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit + bluetooth build debug +ensurepip examples gdbm 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. @@ -49,6 +46,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -87,12 +85,6 @@ 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+=" @@ -118,7 +110,6 @@ pkg_pretend() { } pkg_setup() { - use jit && llvm-r1_pkg_setup use test && check-reqs_pkg_setup } @@ -144,6 +135,9 @@ src_prepare() { # 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 } @@ -259,6 +253,22 @@ src_configure() { -x test_tools ) + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -286,12 +296,12 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-libmpdec --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -369,7 +379,7 @@ src_compile() { local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= - addwrite "/usr/lib/python${PYVER}/site-packages" + addpredict "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -416,6 +426,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") @@ -522,7 +548,8 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die # idle if use tk; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild index 78f3cecc7a9..bec993fb2e8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild @@ -2,15 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="8" - -LLVM_COMPAT=( 16 ) -LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_alpha/a} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -31,11 +28,11 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit + bluetooth build debug +ensurepip examples gdbm 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. @@ -49,6 +46,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -87,12 +85,6 @@ 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+=" @@ -118,7 +110,6 @@ pkg_pretend() { } pkg_setup() { - use jit && llvm-r1_pkg_setup use test && check-reqs_pkg_setup } @@ -144,6 +135,9 @@ src_prepare() { # 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 } @@ -259,6 +253,22 @@ src_configure() { -x test_tools ) + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -286,12 +296,12 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-libmpdec --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -369,7 +379,7 @@ src_compile() { local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= - addwrite "/usr/lib/python${PYVER}/site-packages" + addpredict "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -416,6 +426,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") @@ -522,26 +548,11 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 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 } - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.11.0_beta4-r2; then - ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.11 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.11/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha6.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p1.ebuild index ffa0f839d60..2b6b7179aa7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_alpha6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p1.ebuild @@ -3,14 +3,14 @@ EAPI="8" -LLVM_COMPAT=( 16 ) +LLVM_COMPAT=( 18 ) LLVM_OPTIONAL=1 WANT_LIBTOOL="none" inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing inherit pax-utils python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_alpha/a} +MY_PV=${PV/_beta/b} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -31,8 +31,9 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit + bluetooth build +debug +ensurepip examples gdbm +gil jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" @@ -49,6 +50,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -115,6 +117,14 @@ QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) pkg_pretend() { use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi } pkg_setup() { @@ -144,6 +154,9 @@ src_prepare() { # 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 } @@ -234,6 +247,7 @@ src_configure() { -m test "-j$(makeopts_jobs)" --pgo-extended + --verbose3 -u-network # We use a timeout because of how often we've had hang issues @@ -294,6 +308,7 @@ src_configure() { --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) + $(use_enable gil) $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") @@ -403,6 +418,7 @@ src_test() { local -x LOGNAME=buildbot local test_opts=( + --verbose3 -u-network -j "$(makeopts_jobs)" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p2.ebuild new file mode 100644 index 00000000000..54b95e89635 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p2.ebuild @@ -0,0 +1,643 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + big-endian bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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 + + 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 + + -x test_gdb + -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 + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${ARCH} in + hppa) + profile_task_flags+=( + -x test_descr + -x test_exceptions # bug 931908 + -x test_os + ) + ;; + ia64) + profile_task_flags+=( + -x test_ctypes + -x test_external_inspection # partial PGO only (flaky in src_test) + -x test_signal # PGO only + ) + ;; + mips) + profile_task_flags+=( + -x test_ctypes # partial PGO only (more fails) + -x test_external_inspection # PGO only + -x test_statistics + ) + ;; + ppc64) + if use big-endian; then + profile_task_flags+=( + -x test_descr + -x test_exceptions # PGO only, bug 931908 + ) + fi + ;; + riscv) + profile_task_flags+=( + -x test_statistics + -x test_urllib2 + ) + ;; + sparc) + profile_task_flags+=( + -x test_ctypes + -x test_descr + -x test_exceptions # bug 931908 + ) + ;; + 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${ARCH} in + ia64) + test_opts+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips) + test_opts+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + ppc64) + if use big-endian; then + test_opts+=( -x test_descr ) + fi + ;; + riscv) + test_opts+=( + -x test_urllib2 + ) + ;; + sparc) + test_opts+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + -x test_exceptions # bug 931908 + ) + ;; + esac + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild new file mode 100644 index 00000000000..792927c0546 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild @@ -0,0 +1,684 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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=( + # failures + -x test_concurrent_futures + -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 + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + 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_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 + --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 + ) + + # 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 + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2.ebuild new file mode 100644 index 00000000000..792927c0546 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2.ebuild @@ -0,0 +1,684 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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=( + # failures + -x test_concurrent_futures + -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 + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + 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_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 + --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 + ) + + # 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 + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p1.ebuild new file mode 100644 index 00000000000..792927c0546 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p1.ebuild @@ -0,0 +1,684 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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=( + # failures + -x test_concurrent_futures + -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 + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + 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_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 + --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 + ) + + # 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 + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p3.ebuild new file mode 100644 index 00000000000..d8206dba60a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p3.ebuild @@ -0,0 +1,668 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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=( + # failures + -x test_concurrent_futures + -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 + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + 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_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 + --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 + ) + + # 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 + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p5.ebuild new file mode 100644 index 00000000000..2b50881a163 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p5.ebuild @@ -0,0 +1,684 @@ +# 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 llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=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-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? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + 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 + +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 + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them 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[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + 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=( + # failures + -x test_concurrent_futures + -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 + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + 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_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 + --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 + ) + + # 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 + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 + + $(use_with debug assertions) + $(use_enable gil) + $(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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/site-packages" + 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[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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,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 + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.13.0_beta2; then + ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.13 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.13/site-packages" + fi + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.18_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.18_p2.ebuild deleted file mode 100644 index 35dce04267d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.18_p2.ebuild +++ /dev/null @@ -1,430 +0,0 @@ -# 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 ~ia64 ~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-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 - - 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-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 - - # 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=( - -u-network - -j "$(makeopts_jobs)" - - # fails - -x test_concurrent_futures - -x test_gdb - ) - - if use sparc ; then - # bug #788022 - test_opts+=( - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - ) - fi - - # workaround docutils breaking tests - cat > Lib/docutils.py <<-EOF || die - raise ImportError("Thou shalt not import!") - EOF - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - rm Lib/docutils.py || die - - [[ ${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.8.19_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p1.ebuild index 40996eefef2..35dce04267d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p1.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p2.ebuild index 615fcded9e9..58a211df31e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p2.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -45,6 +45,7 @@ RDEPEND=" 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:= @@ -167,6 +168,7 @@ src_configure() { --without-lto --with-system-expat --with-system-ffi + --with-system-libmpdec --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19.ebuild deleted file mode 100644 index 428c1e90277..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19.ebuild +++ /dev/null @@ -1,490 +0,0 @@ -# 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 ~ia64 ~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-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 - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - -x test_gdb - -x test_dtrace - -u-network - - # 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 - ) - - 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-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} - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - addpredict "/usr/lib/python${PYVER}/site-packages" - 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=( - -u-network - -j "$(makeopts_jobs)" - - # fails - -x test_concurrent_futures - -x test_gdb - ) - - if use sparc ; then - # bug #788022 - test_opts+=( - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - ) - fi - - # workaround docutils breaking tests - cat > Lib/docutils.py <<-EOF || die - raise ImportError("Thou shalt not import!") - EOF - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - rm Lib/docutils.py || die - - [[ ${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.19_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p2.ebuild index fcb40b0b159..2fac75e3922 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p2.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.18_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p3.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.18_p2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p3.ebuild index 2fac75e3922..159b35baecf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.18_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p3.ebuild @@ -45,6 +45,7 @@ RDEPEND=" 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:= @@ -210,6 +211,7 @@ src_configure() { --without-lto --with-system-expat --with-system-ffi + --with-system-libmpdec --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) From c5dffd8796fc3f5f09da6e425adfd614a8b74a7b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:42 +0000 Subject: [PATCH 049/239] dev-lang/swig: Sync with Gentoo It's from Gentoo commit 1e228e40bbadeba139609dd5956cd1e6c8294fc8. --- .../portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild | 4 ++-- .../portage-stable/dev-lang/swig/swig-4.2.0.ebuild | 2 +- .../portage-stable/dev-lang/swig/swig-4.2.1.ebuild | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild index 77019af7643..fc66fd73dc9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.1.1-r1.ebuild @@ -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 @@ -7,7 +7,7 @@ inherit autotools toolchain-funcs DESCRIPTION="Simplified Wrapper and Interface Generator" HOMEPAGE="http://www.swig.org/ https://github.com/swig/swig" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.0.ebuild index 168ccf98d9b..4e5082167be 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.0.ebuild @@ -7,7 +7,7 @@ inherit toolchain-funcs DESCRIPTION="Simplified Wrapper and Interface Generator" HOMEPAGE="http://www.swig.org/ https://github.com/swig/swig" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild index 2ca82d48866..9455e5922f3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/swig/swig-4.2.1.ebuild @@ -7,11 +7,11 @@ inherit toolchain-funcs DESCRIPTION="Simplified Wrapper and Interface Generator" HOMEPAGE="http://www.swig.org/ https://github.com/swig/swig" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" From 2c43787c994a5208fd44e1ec27458da0f0fc7250 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:43 +0000 Subject: [PATCH 050/239] dev-libs/cJSON: Sync with Gentoo It's from Gentoo commit fed09f46511e1440a0af2a1b7a5fb75d21bd0c3c. --- .../portage-stable/dev-libs/cJSON/Manifest | 1 + .../dev-libs/cJSON/cJSON-1.7.18.ebuild | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest index 50cc2e280a8..f901e6641f9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/Manifest @@ -1 +1,2 @@ DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8 +DIST cJSON-1.7.18.tar.gz 354726 BLAKE2B 293c483ed39028a23a49994698be69de16274500298893711d5767c381f51802c52f4981e074b26fd9174c186f9874fdc1811f49272c1b90f8fb82a1a315db60 SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild new file mode 100644 index 00000000000..81d883d596a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cJSON/cJSON-1.7.18.ebuild @@ -0,0 +1,30 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Ultralightweight JSON parser in ANSI C" +HOMEPAGE="https://github.com/DaveGamble/cJSON" +SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +src_prepare() { + cmake_src_prepare + + sed -i -e '/-Werror/d' CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DENABLE_CJSON_TEST=$(usex test) + ) + + cmake_src_configure +} From 1833c2b8860fd45571435fbd849baf3d8dd156ad Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:44 +0000 Subject: [PATCH 051/239] dev-libs/cyrus-sasl: Sync with Gentoo It's from Gentoo commit 9f10d53dc71950701eb206c84c62019ac0fe44ca. --- .../dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild index 14ebb512099..f5eba5bfaf0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild @@ -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=8 @@ -60,7 +60,12 @@ src_prepare() { src_configure() { export CC_FOR_BUILD="$(tc-getBUILD_CC)" - append-flags -fno-strict-aliasing + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/894684 + # https://github.com/cyrusimap/cyrus-sasl/pull/771 + # + # Fixed upstream in git master but not released. + use srp && filter-lto if [[ ${CHOST} == *-solaris* ]] ; then # getpassphrase is defined in /usr/include/stdlib.h From 621427a6a79ccb58b5800cb43a47b3b42dc1d8c1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:47 +0000 Subject: [PATCH 052/239] dev-libs/elfutils: Sync with Gentoo It's from Gentoo commit 631d30345702f6c5aa323808f8ebbae1c0fbd5ea. --- .../elfutils/elfutils-0.191-r1.ebuild | 123 ++++++++++++++++++ ...void-overriding-libcxx-system-header.patch | 28 ++++ 2 files changed, 151 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild new file mode 100644 index 00000000000..d46e6f24560 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 2003-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/elfutils.gpg +inherit autotools flag-o-matic multilib-minimal verify-sig + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="https://sourceware.org/elfutils/" +SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" + +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd" +RESTRICT="!test? ( test )" + +RDEPEND=" + !dev-libs/libelf + >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) + debuginfod? ( + app-arch/libarchive:= + dev-db/sqlite:3= + net-libs/libmicrohttpd:= + + net-misc/curl[static-libs?,${MULTILIB_USEDEP}] + ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) + elibc_musl? ( + dev-libs/libbsd + sys-libs/argp-standalone + sys-libs/fts-standalone + sys-libs/obstack-standalone + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + app-alternatives/lex + sys-devel/m4 + virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch + "${FILESDIR}"/${PN}-0.191-musl-macros.patch + "${FILESDIR}"/${PN}-0.191-avoid-overriding-libcxx-system-header.patch +) + +src_prepare() { + default + + if ! use static-libs; then + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die + fi + + eautoreconf + + # https://sourceware.org/PR23914 + sed -i 's:-Werror::' */Makefile.in || die +} + +src_configure() { + # bug #407135 + use test && append-flags -g + + # bug 660738 + filter-flags -fno-asynchronous-unwind-tables + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable nls) + $(multilib_native_use_enable debuginfod) + $(use_enable debuginfod libdebuginfod) + + # explicitly disable thread safety, it's not recommended by upstream + # doesn't build either on musl. + --disable-thread-safety + + # Valgrind option is just for running tests under it; dodgy under sandbox + # and indeed even w/ glibc with newer instructions. + --disable-valgrind + --program-prefix="eu-" + --with-zlib + $(use_with bzip2 bzlib) + $(use_with lzma) + $(use_with zstd) + ) + + # Needed because sets alignment macro + is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) + is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check VERBOSE=1 +} + +multilib_src_install_all() { + einstalldocs + + dodoc NOTES + + # These build quick, and are needed for most tests, so don't + # disable their building when the USE flag is disabled. + if ! use utils; then + rm -rf "${ED}"/usr/bin || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch new file mode 100644 index 00000000000..acba803fa2f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/925241 + +Replace -I with -iquote to avoid overriding stack system header from libcxx-18 +with the previously built stack binary. Override DEFAULT_INLCUDES because m4 +adds -I. by default. + +--- a/config/eu.am ++++ b/config/eu.am +@@ -31,7 +31,7 @@ + ## + + DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"' +-AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. ++AM_CPPFLAGS = -iquote . -I$(srcdir) -I$(top_srcdir)/lib -I.. + + # Drop the 'u' flag that automake adds by default. It is incompatible + # with deterministic archives. +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -19,6 +19,8 @@ + include $(top_srcdir)/config/eu.am + DEFS += $(YYDEBUG) -DDEBUGPRED=@DEBUGPRED@ \ + -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\" ++ ++DEFAULT_INCLUDES = + AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ + -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \ + -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod From b3086ee86cd07217d8325c89cb5b19540ddad6e9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:48 +0000 Subject: [PATCH 053/239] dev-libs/glib: Sync with Gentoo It's from Gentoo commit 0ae9641ba8c5eb79b6c4f9f9a3bc154ccd860d92. --- .../portage-stable/dev-libs/glib/Manifest | 1 + .../dev-libs/glib/glib-2.76.4.ebuild | 2 +- .../dev-libs/glib/glib-2.78.3.ebuild | 2 +- .../dev-libs/glib/glib-2.78.4-r1.ebuild | 4 +- .../dev-libs/glib/glib-2.78.6.ebuild | 320 ++++++++++++++++++ 5 files changed, 325 insertions(+), 4 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild 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 b5a930af82f..c46b7e68014 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest @@ -1,3 +1,4 @@ DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7 DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246 DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6 +DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.76.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.76.4.ebuild index 51da7bfa347..356bd10b879 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.76.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.76.4.ebuild @@ -217,7 +217,7 @@ multilib_src_test() { mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - meson_src_test --timeout-multiplier 2 --no-suite flaky + meson_src_test --timeout-multiplier 20 --no-suite flaky } multilib_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.3.ebuild index 51da7bfa347..356bd10b879 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.3.ebuild @@ -217,7 +217,7 @@ multilib_src_test() { mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - meson_src_test --timeout-multiplier 2 --no-suite flaky + meson_src_test --timeout-multiplier 20 --no-suite flaky } multilib_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild index f1a94faa007..f3dbbeb1f18 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild @@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u RESTRICT="!test? ( test )" REQUIRED_USE="gtk-doc? ( test )" # Bug #777636 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # * elfutils (via libelf) does not build on Windows. gresources are not embedded # within ELF binaries on that platform anyway and inspecting ELF binaries from @@ -226,7 +226,7 @@ multilib_src_test() { mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - meson_src_test --timeout-multiplier 2 --no-suite flaky + meson_src_test --timeout-multiplier 20 --no-suite flaky } multilib_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild new file mode 100644 index 00000000000..339ee604f85 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.6.ebuild @@ -0,0 +1,320 @@ +# 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..12} ) + +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/" + +LICENSE="LGPL-2.1+" +SLOT="2" +IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr" +RESTRICT="!test? ( test )" +REQUIRED_USE="gtk-doc? ( test )" # Bug #777636 + +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +# * 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}] + 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 + gtk-doc? ( >=dev-util/gtk-doc-1.33 + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 ) + systemtap? ( >=dev-debug/systemtap-1.3 ) + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/packaging[${PYTHON_USEDEP}] + ') + test? ( >=sys-apps/dbus-1.2.14 ) + virtual/pkgconfig +" +# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen + +PDEPEND=" + dbus? ( gnome-base/dconf ) + mime? ( x11-misc/shared-mime-info ) +" +# shared-mime-info needed for gio/xdgmime, bug #409481 +# dconf is needed to be able to save settings, bug #498436 + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gio-querymodules$(get_exeext) +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch + "${FILESDIR}"/${PN}-2.78.4-distutils.patch +) + +python_check_deps() { + python_has_version "dev-python/packaging[${PYTHON_USEDEP}]" +} + +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 + + # 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 + + 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 + + local emesonargs=( + $(meson_feature debug glib_debug) + -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=true + $(meson_use systemtap dtrace) + $(meson_use systemtap) + $(meson_feature sysprof) + $(meson_native_use_bool gtk-doc gtk_doc) + $(meson_use test tests) + -Dinstalled_tests=false + -Dnls=enabled + -Doss_fuzz=disabled + $(meson_native_use_feature elf libelf) + -Dmultiarch=false + ) + 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" + chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" + + 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 + } + multilib_foreach_abi multilib_pkg_postrm + rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled + fi +} From beae2d91555e5b34777841a05471e29a7e331451 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:51 +0000 Subject: [PATCH 054/239] dev-libs/inih: Sync with Gentoo It's from Gentoo commit 8dcbb282ee4e7da42dffd182cd6ba118f1ed0ae8. --- .../src/third_party/portage-stable/dev-libs/inih/inih-58.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-58.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-58.ebuild index 24cf8b3e6eb..98e9528ea2d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-58.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/inih/inih-58.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}"/inih-r${PV} LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" DOCS=( README.md ) From 280e54a9470128f7bd96d8f58c565c963e95eacb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:54 +0000 Subject: [PATCH 055/239] dev-libs/libassuan: Sync with Gentoo It's from Gentoo commit 277892b4a739f2c38e2c97fcc95ded1adbdd7dff. --- .../portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild index 9ad4f60dc2e..563357cfc0c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-2.5.7.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-3 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # Note: On each bump, update dep bounds on each version from configure.ac! RDEPEND=">=dev-libs/libgpg-error-1.33" From 191ff6a717a326e1f9a9e5004ffeba15e46322ae Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:11:59 +0000 Subject: [PATCH 056/239] dev-libs/libdnet: Sync with Gentoo It's from Gentoo commit 17b0683649b79143c2173144887ae0743abdbe1e. --- .../dev-libs/libdnet/libdnet-1.18.0-r1.ebuild | 98 +++++++++++++++++++ .../dev-libs/libdnet/libdnet-1.18.0.ebuild | 2 +- 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild new file mode 100644 index 00000000000..b7c86a6585c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools + +inherit autotools distutils-r1 + +DESCRIPTION="Simplified, portable interface to several low-level networking routines" +HOMEPAGE="https://github.com/ofalk/libdnet" +SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86" +IUSE="python test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND=" + dev-libs/libbsd + python? ( ${PYTHON_DEPS} ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + python? ( + ${DISTUTILS_DEPS} + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( dev-libs/check ) +" + +DOCS=( README.md THANKS ) + +src_prepare() { + default + + sed -i \ + -e 's/libcheck.a/libcheck.so/g' \ + configure.ac || die + sed -i \ + -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \ + configure.ac || die + sed -i \ + -e 's|-L$libdir ||g' \ + dnet-config.in || die + sed -i \ + -e '/^SUBDIRS/s|python||g' \ + Makefile.am || die + + # Stale e.g. pkg-config macros w/ bashisms + rm aclocal.m4 {config,m4}/libtool.m4 || die + + AT_M4DIR="config" eautoreconf + + if use python; then + cd python || die + distutils-r1_src_prepare + fi +} + +src_configure() { + econf \ + $(use_with python) \ + $(use_enable test check) +} + +src_compile() { + default + + if use python; then + cd python || die + distutils-r1_src_compile + fi +} + +src_test() { + # https://bugs.gentoo.org/778797#c4 + # check_ip needs privileges and check_fw can't work on Linux + emake check XFAIL_TESTS="check_fw check_ip" +} + +src_install() { + default + + if use python; then + cd python || die + unset DOCS + distutils-r1_src_install + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0.ebuild index fd47d46e018..06d3ec21713 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libdnet/libdnet-1.18.0.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86" IUSE="python test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" From b2a4b07e14671cd09b1a69cc09208bc6e8fe4d8b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:01 +0000 Subject: [PATCH 057/239] dev-libs/libffi: Sync with Gentoo It's from Gentoo commit 04dc920a492a4b68c6b21826801e626452973f1b. --- .../dev-libs/libffi/libffi-3.4.4-r3.ebuild | 82 ------------------- 1 file changed, 82 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.4-r3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.4-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.4-r3.ebuild deleted file mode 100644 index 835adbe6121..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.4.4-r3.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib-minimal preserve-libs - -MY_PV=${PV/_rc/-rc} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Portable, high level programming interface to various calling conventions" -HOMEPAGE="https://sourceware.org/libffi/" -SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" -S="${WORKDIR}"/${MY_P} - -LICENSE="MIT" -# This is a core package which is depended on by e.g. Python -# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users -# with FEATURES="-preserved-libs" or another package manager if SONAME -# changes. -SLOT="0/8" # SONAME=libffi.so.8 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="debug exec-static-trampoline pax-kernel static-libs test" - -RESTRICT="!test? ( test )" -BDEPEND="test? ( dev-util/dejagnu )" - -PATCHES=( - "${FILESDIR}"/${P}-hppa-large-struct.patch - "${FILESDIR}"/${P}-hppa-closure-function-ptrs.patch - "${FILESDIR}"/${P}-hppa-jump-table.patch - "${FILESDIR}"/${P}-sparc-float-typo.patch - "${FILESDIR}"/${P}-lld-17.patch -) - -src_prepare() { - default - - if [[ ${CHOST} == arm64-*-darwin* ]] ; then - # ensure we use aarch64 asm, not x86 on arm64 - sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ - configure configure.host || die - fi -} - -multilib_src_configure() { - # --includedir= path maintains a few properties: - # 1. have stable name across libffi versions: some packages like - # dev-lang/ghc or kde-frameworks/networkmanager-qt embed - # ${includedir} at build-time. Don't require those to be - # rebuilt unless SONAME changes. bug #695788 - # - # We use /usr/.../${PN} (instead of former /usr/.../${P}). - # - # 2. have ${ABI}-specific location as ffi.h is target-dependent. - # - # We use /usr/$(get_libdir)/... to have ABI identifier. - ECONF_SOURCE="${S}" econf \ - --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ - --disable-multi-os-directory \ - $(use_enable static-libs static) \ - $(use_enable exec-static-trampoline exec-static-tramp) \ - $(use_enable pax-kernel pax_emutramp) \ - $(use_enable debug) -} - -multilib_src_test() { - emake -Onone check -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -name "*.la" -delete || die -} - -pkg_preinst() { - preserve_old_lib /usr/$(get_libdir)/libffi.so.7 -} - -pkg_postinst() { - preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 -} From 61b9059643f72e328be3454f1bb316f6ed4ae6c8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:02 +0000 Subject: [PATCH 058/239] dev-libs/libgpg-error: Sync with Gentoo It's from Gentoo commit 8b4d4bfd2c35cb948a303efc9742ab0bffc61503. --- .../dev-libs/libgpg-error/Manifest | 2 + .../libgpg-error/libgpg-error-1.48.ebuild | 2 +- .../libgpg-error/libgpg-error-1.49.ebuild | 88 +++++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild 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 24f9363b028..5c24aeb0ee7 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 @@ -2,3 +2,5 @@ DIST libgpg-error-1.47.tar.bz2 1020862 BLAKE2B bc04efa0686b1b7d7cdce045fc080c090 DIST libgpg-error-1.47.tar.bz2.sig 119 BLAKE2B d23ea6c38621407c8f9f0c6bde71abd0e50c136d2e5de9a6cef64627f5d398c344a3438995a2405c4ef148ad8638ef7125f34670819957acd7d597370f1630e5 SHA512 09343016eaf7fcc455f8ce533847153a8a9b7c36f375a8ebe71ef5fc2923edf7b70842f834f52c51874e427869487b74a2286ea0112cffad0d72f79cb6d4eceb DIST libgpg-error-1.48.tar.bz2 1080417 BLAKE2B 4ced63058586558f4d001bcc468f4bd419b8ec29fbd7dbcaa1a21f959d847c9e12c10c548a0038fd4eac0bdfc9907b61e9f6be71c95fc61c964c649e2415dfd7 SHA512 3e9ea99cfb7d706791eb3349a9356b6bc44a53ef8bfa9a4e89afb5203dad5af3f466a039a1764361c0c7f697a6fa668a21d05ceaeb8e44ec5a11d6468998adf2 DIST libgpg-error-1.48.tar.bz2.sig 119 BLAKE2B 36e74c520df1740d48630584cb7093413c7974157038dd0e732cb821d6e3b3386a331be9e94a7f19ea10256bd2902d778d52fe1eeab68065ef9dc2625ac2902c SHA512 302091beddab877acf4355f913fae4bd0a795f0a032f47e0e17c58fe1049833116a743d3470669cff59eab2f6d184b143689763cbb4d0f2f9bcab598e09dc12c +DIST libgpg-error-1.49.tar.bz2 1081175 BLAKE2B f1d7ce3c8b32a1a98495576b4ed7bf938b847a84d0fa3ed585d461ad6b136cf87112055a39b4859301f87f555666d9dbf0dda5ec03ea6270802d98352224071e SHA512 bb4dd3faa8e2ec945e61fb2006697b48a51da7ee510b6650a6ab09c8734a987bc33c9835bc710ca9a9395c088271939091be418efc6ca5130b426c2fbc4959a3 +DIST libgpg-error-1.49.tar.bz2.sig 119 BLAKE2B 6d290318fc8759b6c8bf09a2e2622ed645dded003ffdd76b599cd3ec8af3ca51abf237e35c0c942d78c72e95f6cd644df7eb63fabd8b69b9566bb4f878648f14 SHA512 7f36f603dbb492c4dcafe3eae153b35fede29bf85f50d8908c517330003babd8e357aa54e3f354cd0abbcb9862435d5756ac85aff3c2968ce9fcde8cbf6565de diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.48.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.48.ebuild index 0939b629b21..63ea4f05878 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.48.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.48.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild new file mode 100644 index 00000000000..949d3e4118c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild @@ -0,0 +1,88 @@ +# 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 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 ~ia64 ~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 + + 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 +} From 438e776506ab0be75a0b6f660ac7ba6f1203e3d6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:02 +0000 Subject: [PATCH 059/239] dev-libs/libgudev: Sync with Gentoo It's from Gentoo commit f2616e2c1a6dc2df57b016df5603225fdcb8fa32. --- .../files/238-clang18-export-dynamic.patch | 37 ++++++++++++++ .../dev-libs/libgudev/libgudev-238-r2.ebuild | 51 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgudev/files/238-clang18-export-dynamic.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/files/238-clang18-export-dynamic.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/files/238-clang18-export-dynamic.patch new file mode 100644 index 00000000000..8894f0116ed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/files/238-clang18-export-dynamic.patch @@ -0,0 +1,37 @@ +From a354fcbb911220965f737d38fefe700f7b941cf8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 16 Jan 2024 12:02:46 -0800 +Subject: [PATCH] meson: Pass --export-dynamic option to linker + +Bypass the compiler driver trying to comprehend and translate it for +linker, since its not clear what the right behavior should be, gcc seems +to translate it into --export-dynamic but clang 18+ rejects it + +| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic' + +also see [1] + +This makes it work as intended across gcc and clang + +[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454 +Signed-off-by: Khem Raj +--- + gudev/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gudev/meson.build b/gudev/meson.build +index e904203..3ed580b 100644 +--- a/gudev/meson.build ++++ b/gudev/meson.build +@@ -33,7 +33,7 @@ libgudev_c_args = [ + ] + + libgudev_link_args = [ +- '-export-dynamic', ++ '-Wl,--export-dynamic', + '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir), + ] + +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild new file mode 100644 index 00000000000..7e9eb935f5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild @@ -0,0 +1,51 @@ +# Copyright 2015-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson-multilib + +DESCRIPTION="GObject bindings for libudev" +HOMEPAGE="https://wiki.gnome.org/Projects/libgudev" +SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="0/0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="introspection test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}] + >=virtual/libudev-251:=[sticky-tags(+),${MULTILIB_USEDEP}] + introspection? ( >=dev-libs/gobject-introspection-1.31.1 ) +" +DEPEND="${RDEPEND} + test? ( dev-util/umockdev[${MULTILIB_USEDEP}] ) +" +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PV}-clang18-export-dynamic.patch #926350 +) + +multilib_src_configure() { + local emesonargs=( + $(meson_native_use_feature introspection) + -Dgtk_doc=false + $(meson_feature test tests) + -Dvapi=disabled + ) + meson_src_configure +} + +src_test() { + # libsandbox interferes somehow. + # There are no access violations, but tests fail. + # https://bugs.gentoo.org/805449 + local -x SANDBOX_ON=0 + meson-multilib_src_test +} From 5aaee466f5e5f2da93fa0871afec5e93e3bfff20 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:03 +0000 Subject: [PATCH 060/239] dev-libs/libksba: Sync with Gentoo It's from Gentoo commit dae4686342b79ac211d50eef15de0f74d41a2626. --- .../src/third_party/portage-stable/dev-libs/libksba/Manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest index 3204285fa2a..c1e1649791c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/Manifest @@ -1,4 +1,4 @@ DIST libksba-1.6.5.tar.bz2 708400 BLAKE2B 934bde6412de6c1f3062b101930d7b2beac3f6e3f2fbeb5c964a6252b68a3b70c7cb3a48c7eac04b7f1d2ea3c717e1c7e164c1bc6113b46244b9dd130c64b540 SHA512 959312ac0bb2dabcdd22217266daccdf3938d62ff2936c767cade76888757ece1bb6fe79f2c679db03d1baf3919757265d0ded216fee8b8d235e94a70fcf05de DIST libksba-1.6.5.tar.bz2.sig 119 BLAKE2B 70f290ed44160af2882b5f2543965e3003dd0fd106ab6eaa1f7dfbb878d1f0402c16f3e802af6be589e501e17d0ead82c03afe73c8353b314c8cafb24e7d4a11 SHA512 e70f136edcf29bf931eccaf930e0ae644fd372e0a6f472599898d2fd5e44e64ab2cea63b0be2b1d9a468f73f607881dfdf06adfe6d1fc9ebd66b21e4c245f837 DIST libksba-1.6.6.tar.bz2 708510 BLAKE2B 9985b16e946d6b407b5acbf005610cfb2f01d2a733ddff110e329dec8d95bd248cce6e9936d441676a4b06f031cc9122e26146a0f6d36cb343fb9ec16aef3627 SHA512 3b30bef9452ae0c52b4a52e9145fbd6dc57cf7a2b59302e3af063db6b45384e8ed7af62604efd7939b9e0cb5931e946b15609888e9699fafe4acbb0cbf138087 -DIST libksba-1.6.6.tar.bz2.sig 119 BLAKE2B ec4b72d612bb20c280316de7a66ffe697c65caf52e451621b42965d7d5b3e53577fc5b9c41ad5f5c09e42d90654d82afad8462f0baaf757e122fffedcd35d4ce SHA512 5ab4f890819ee3638660fa2ce529223e1798da53508d0cc2db5a9f0b21a242863037f5e81cdf2805e6cafb56e22412005f01cbe7b6344f3eb1a38f7cff98520d +DIST libksba-1.6.6.tar.bz2.sig 238 BLAKE2B 0d62b39821dee0a3f921e87190247cacec1fcde253d26773a378f3a55a61468feba7b79fc875b1b2b8735f9ff310467dc30d8e5b5b06f37bd1ef4744a3fbfeec SHA512 053b594044ea2d5ad90341e14cf9969e3d8695e4671586cbcdf12d33c7864bf258fcf4474ea09db9612677cb239cb629d6b61799f684a1d838a57c0b53e27bf8 From 5389297a4c16a1119e5c5433d9b2050239a8f8c7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:05 +0000 Subject: [PATCH 061/239] dev-libs/libltdl: Sync with Gentoo It's from Gentoo commit f2eedcdbfedb96dfc136e0e18e08202442e5be2e. --- .../portage-stable/dev-libs/libltdl/Manifest | 1 + .../dev-libs/libltdl/libltdl-2.5.0.ebuild | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.0.ebuild 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 d36ba6c5761..1fd70247996 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 +1,2 @@ DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da +DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.0.ebuild new file mode 100644 index 00000000000..0dc5df4fd2b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.0.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 ! [[ $(( $(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 ~ia64 ~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 +} From 59386603394fa5734cf4bcbe175d9812595f8bec Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:07 +0000 Subject: [PATCH 062/239] dev-libs/libnl: Sync with Gentoo It's from Gentoo commit d56838a33779350ac14d687b220e4ba3f44ceb37. --- .../dev-libs/libnl/libnl-3.9.0.ebuild | 17 ++++++++++++++--- .../dev-libs/libnl/libnl-9999.ebuild | 15 +++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.9.0.ebuild index b80abc5153f..cd91ab04a01 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-3.9.0.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 @@ -8,7 +8,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit autotools distutils-r1 multilib-minimal LIBNL_P=${P/_/-} @@ -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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${LIBNL_P}" fi @@ -96,6 +96,17 @@ multilib_src_compile() { fi } +multilib_src_test() { + CK_VERBOSITY=verbose emake check VERBOSE=1 + + if multilib_is_native_abi && use python ; then + pushd python > /dev/null || die + # TODO: run python/tests/test-create-bridge.py + distutils-r1_src_test + popd > /dev/null || die + fi +} + multilib_src_install() { default diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild index b80abc5153f..65afdf1df75 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libnl/libnl-9999.ebuild @@ -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 @@ -8,7 +8,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit autotools distutils-r1 multilib-minimal LIBNL_P=${P/_/-} @@ -96,6 +96,17 @@ multilib_src_compile() { fi } +multilib_src_test() { + CK_VERBOSITY=verbose emake check VERBOSE=1 + + if multilib_is_native_abi && use python ; then + pushd python > /dev/null || die + # TODO: run python/tests/test-create-bridge.py + distutils-r1_src_test + popd > /dev/null || die + fi +} + multilib_src_install() { default From 22b078f6e491088cb2fdca94ccdbf96852ec59b4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:08 +0000 Subject: [PATCH 063/239] dev-libs/libpcre: Sync with Gentoo It's from Gentoo commit 794061a3298b5716db015defa7b3e2c583b73980. --- .../portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild | 2 +- .../portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild | 2 +- .../portage-stable/dev-libs/libpcre/libpcre-8.45-r3.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild index 486937c58cb..7705ae51633 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="http://www.pcre.org/" MY_P="pcre-${PV/_rc/-RC}" if [[ ${PV} != *_rc* ]] ; then # Only the final releases are available here. - SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2 + SRC_URI="https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2 https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2" else diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild index c87877646d8..8c710120137 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild @@ -11,7 +11,7 @@ MY_P="pcre-${PV/_rc/-RC}" if [[ ${PV} != *_rc* ]] ; then # Only the final releases are available here. SRC_URI=" - mirror://sourceforge/pcre/${MY_P}.tar.bz2 + https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2 https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2 " diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r3.ebuild index 6147da6ca44..e528590ffb7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r3.ebuild @@ -11,7 +11,7 @@ MY_P="pcre-${PV/_rc/-RC}" if [[ ${PV} != *_rc* ]] ; then # Only the final releases are available here. SRC_URI=" - mirror://sourceforge/pcre/${MY_P}.tar.bz2 + https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2 https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2 " From b3b1116c632fb41dd2be507849fbda06e2818a8c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:08 +0000 Subject: [PATCH 064/239] dev-libs/libpcre2: Sync with Gentoo It's from Gentoo commit a4be70b1478e91763142c73ec6abdc6f47d96de8. --- .../portage-stable/dev-libs/libpcre2/libpcre2-10.43.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.43.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.43.ebuild index eebbe19389e..1b77aa920e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.43.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.43.ebuild @@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0/3" # libpcre2-posix.so version if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" REQUIRED_USE="?? ( libedit readline )" From 776f1f7c064367a8f3e83621391a15f25bbb75cb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:10 +0000 Subject: [PATCH 065/239] dev-libs/libpwquality: Sync with Gentoo It's from Gentoo commit 05bdb9f8384d6592415d8578f48b06b89127134b. --- ...wquality-1.4.4-pam_pwquality-include.patch | 35 -------- .../libpwquality/libpwquality-1.4.5-r1.ebuild | 2 +- .../libpwquality/libpwquality-1.4.5-r2.ebuild | 90 +++++++++++++++++++ .../libpwquality/libpwquality-1.4.5.ebuild | 87 ------------------ 4 files changed, 91 insertions(+), 123 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch deleted file mode 100644 index 2ed638c1e34..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch +++ /dev/null @@ -1,35 +0,0 @@ -https://github.com/libpwquality/libpwquality/pull/62 - -From 27057c6cbf528108c35df934280c7dd83e8d5ce9 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Wed, 7 Sep 2022 05:42:17 +0100 -Subject: [PATCH] pam_pwquality: add include for - pam_modutil_check_user_in_passwd - -After 9084c1b032161cdb53d5f66132a91bdc207faecf, one gets: -``` -pam_pwquality.c: In function 'check_local_user': -pam_pwquality.c:102:16: error: implicit declaration of function 'pam_modutil_check_user_in_passwd' [-Werror=implicit-function-declaration] - 102 | return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cc1: some warnings being treated as errors -make[2]: *** [Makefile:634: pam_pwquality.lo] Error 1 -make[2]: *** Waiting for unfinished jobs.... -``` - -We need to include security/pam_modutil.h when appropriate. - -Signed-off-by: Sam James ---- a/src/pam_pwquality.c -+++ b/src/pam_pwquality.c -@@ -34,6 +34,10 @@ - #include - #include - -+#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD -+#include -+#endif -+ - /* argument parsing */ - #define PAM_DEBUG_ARG 0x0001 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild index f4eb2d41518..6d3790bc64a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" LICENSE="|| ( BSD GPL-2 )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="pam python static-libs" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild new file mode 100644 index 00000000000..55249fc59c6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +inherit libtool pam distutils-r1 + +DESCRIPTION="Library for password quality checking and generating random passwords" +HOMEPAGE="https://github.com/libpwquality/libpwquality" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" + +LICENSE="|| ( BSD GPL-2 )" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="pam python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=" + >=sys-devel/gettext-0.18.2 + virtual/pkgconfig + python? ( + ${DISTUTILS_DEPS} + ${PYTHON_DEPS} + ) +" +RDEPEND=" + >=sys-libs/cracklib-2.8:=[static-libs(+)?] + pam? ( sys-libs/pam ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + default + elibtoolize + + if use python ; then + cd python || die + distutils-r1_src_prepare + fi +} + +src_configure() { + # Install library in /lib for pam + local myeconfargs=( + --libdir="${EPREFIX}/usr/$(get_libdir)" + $(use_enable pam) + --with-securedir="${EPREFIX}/$(getpam_mod_dir)" + --disable-python-bindings + $(use_enable static-libs static) + ) + + econf "${myeconfargs[@]}" + + if use python; then + cd python || die + distutils-r1_src_configure + fi +} + +src_compile() { + default + if use python; then + cd python || die + distutils-r1_src_compile + fi +} + +src_test() { + default + if use python; then + cd python || die + distutils-r1_src_test + fi +} + +src_install() { + default + + if use python; then + cd python || die + distutils-r1_src_install + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild deleted file mode 100644 index 87db7e77e81..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -inherit pam python-r1 usr-ldscript - -DESCRIPTION="Library for password quality checking and generating random passwords" -HOMEPAGE="https://github.com/libpwquality/libpwquality" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" - -LICENSE="|| ( BSD GPL-2 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="pam python static-libs" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -BDEPEND=" - >=sys-devel/gettext-0.18.2 - virtual/pkgconfig -" -RDEPEND=" - >=sys-libs/cracklib-2.8:=[static-libs(+)?] - pam? ( sys-libs/pam ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.4.4-pam_pwquality-include.patch -) - -src_prepare() { - default - # ensure pkgconfig files go in /usr - sed -e "s:\(pkgconfigdir *=\).*:\1 ${EPREFIX}/usr/$(get_libdir)/pkgconfig:" \ - -i src/Makefile.{am,in} || die "sed failed" - - if use python ; then - # bug #830397 - export SETUPTOOLS_USE_DISTUTILS=stdlib - python_copy_sources - fi -} - -src_configure() { - # Install library in /lib for pam - configuring() { - local sitedir - econf \ - --libdir="${EPREFIX}/$(get_libdir)" \ - $(use_enable pam) \ - --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \ - $(use_enable python python-bindings) \ - $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \ - $(use_enable static-libs static) - } - if_use_python_python_foreach_impl configuring -} - -src_compile() { - if_use_python_python_foreach_impl default -} - -src_test() { - if_use_python_python_foreach_impl default -} - -src_install() { - if_use_python_python_foreach_impl default - if use static-libs; then - # Do not install static libs in /lib - mkdir -p "${ED}/usr/$(get_libdir)" - mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die - gen_usr_ldscript libpwquality.so - fi - find "${ED}" -name '*.la' -delete || die -} - -if_use_python_python_foreach_impl() { - if use python; then - python_foreach_impl run_in_build_dir "$@" - else - "$@" - fi -} From 2bb35a345791a5f0d18d6e7e8f6fffac5ed97d52 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:11 +0000 Subject: [PATCH 066/239] dev-libs/libsodium: Sync with Gentoo It's from Gentoo commit 680eae567c767a6924f93029e556384443581004. --- .../dev-libs/libsodium/Manifest | 6 +- .../files/libsodium-1.0.10-cpuflags.patch | 40 ---------- .../libsodium-1.0.18_p20220618.ebuild | 74 ------------------- .../libsodium/libsodium-1.0.19-r1.ebuild | 74 ------------------- .../libsodium-1.0.19_p20240117.ebuild | 2 +- ...0.19-r2.ebuild => libsodium-1.0.20.ebuild} | 11 ++- 6 files changed, 10 insertions(+), 197 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild rename sdk_container/src/third_party/portage-stable/dev-libs/libsodium/{libsodium-1.0.19-r2.ebuild => libsodium-1.0.20.ebuild} (86%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest index e2368db28f3..4d9f70e5403 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest @@ -1,6 +1,4 @@ -DIST libsodium-1.0.18_p20220618.tar.gz 1869858 BLAKE2B 60d46f722c4e5c9896226e3e03c31768a2183bae80a535234b23ac5bc9a2c3632d6c891ce72cbc1d6dc633a15b539111e322c2d210f993f99d6e5bd32f8a8b63 SHA512 14d1c6109de2ac02ba6cb5541746275f6deb25302b60cb3f65a7922b34d2c3bd5f17a4d730acf77a53d5837be00228c68fa06c6a2e9095ea97f6d8c4b782ab6b -DIST libsodium-1.0.18_p20220618.tar.gz.minisig 318 BLAKE2B a2cba3c62ca5a84e7897373cdfe4033c636c652c848bf9beff15765d359f1dd2a8834dc3a4d4443d0b9418a59a94309cf9c5c917ae9c8965778411e21f98e4e6 SHA512 ca1ac892b41c5cb6dd1ba9d4bbde8e75987e66023d29cfc81839bbb3b99efa215f7db1ef903c375dd9d2d5a76f6064b3c7eab833081d21983693b7db87175160 -DIST libsodium-1.0.19.tar.gz 1945523 BLAKE2B de43520150b55760142d186404cc3e49471c6e911a7a590c7ae08bc61e928c063c459555f49cd88155238fb0008ef3924b6d7c14ba9cff2f90f1e96201e1259c SHA512 8e9b6d796f6330e00921ce37f1b43545966094250938626ae227deef5fd1279f2fc18b5cd55e23484732a27df4d919cf0d2f07b9c2f1aa0c0ef689e668b0d439 -DIST libsodium-1.0.19.tar.gz.minisig 318 BLAKE2B e86e653107478d9e9281894632baafda57358229f2d56fcaf55591098e38d6be72ed2f599a7f2c16d5b9978d2cbfe8e07db4e772b053a832a61fd325fc1efae4 SHA512 8b5993bd7e541a5913ea1659c1009c4edefd9b5907e0a7c9090fa604c23d77006ad9d9a897d66243162742d63ce9bc1f2c81091d50a584f1495dd3bd87d4451e DIST libsodium-1.0.19_p20240117.tar.gz 1946650 BLAKE2B 6faa56733ed28f34d58b41a71a41d6ba6369e2f5686e01169f83d5fe955523825bd250cfd59e15515b24f67cef1610af41749b6f56bc370e7f77708a86bd7684 SHA512 2cefd883b60fba5522bf4a6f3c73f9bc54164340400377089eea8fbb01447f1137fcb7f6183845a6c5e2aad51982122a356272b4eda5452d7b550a65aa576140 DIST libsodium-1.0.19_p20240117.tar.gz.minisig 318 BLAKE2B f951b547f53b2569ed1493dcdbff1cc93519437f56cdf97a764d61a7e1fa98b383b49d4f4a9c4b7b199e2060037971f293796e641bd689c9cd6c7ae2c90b7a20 SHA512 202f9686fabcb7b362923b7f1eeac8544c5f21e7eaa0b4cdd7329733a62a5ec9efd18713bc63187055149525a066540a6904776870d718fd3b238b71ba4b9a35 +DIST libsodium-1.0.20.tar.gz 1925167 BLAKE2B 2f1d8b2dc8a65f95433132b12bdccb7e0e4750326b05c4f42ddd3a74bf568faa2515384bfe94bba2ef420aff35c515d3d44945ea5a68f72e6a73b3a9b5bb234c SHA512 7ea165f3c1b1609790e30a16348b9dfdc5731302da00c07c65e125c8ab115c75419a5631876973600f8a4b560ca2c8267001770b68f2eb3eebc9ba095d312702 +DIST libsodium-1.0.20.tar.gz.minisig 318 BLAKE2B b5939a9ca9b25332c39484b3ef02ced54aa75b2dc732d384d4f42daa0b6bd276f0c3359a8cbe8c97d8ab76b8c49e9f66959dcf350e3cf00fae10a279826109ae SHA512 fc5a4282093d58eb42559f88ccf75ea3788449afda9d882d313714e448e78ef11c22ff1e52091af026f6bf3ba01917d606040b1dca240dd1a32278c901b4affb diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch deleted file mode 100644 index e03a703d7fa..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -344,6 +344,10 @@ - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - -+AC_ARG_ENABLE(sse4_1, [AS_HELP_STRING(--disable-sse4_1,Do not use sse4.1 code)], -+ AS_IF([test "x$enableval" = "xyes"], check_sse4_1="yes", check_sse4_1="no"), -+ check_sse4_1="yes") -+AS_IF([test "$check_sse4_1" = "yes"],[ - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"]) - AC_MSG_CHECKING(for SSE4.1 instructions set) -@@ -356,6 +360,7 @@ - AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" -+ ]) - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"]) -@@ -393,6 +398,10 @@ - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - -+AC_ARG_ENABLE(aesni, [AS_HELP_STRING(--disable-aesni,Do not use aesni code)], -+ AS_IF([test "x$enableval" = "xyes"], check_aesni="yes", check_aesni="no"), -+ check_aesni="yes") -+AS_IF([test "$check_aesni" = "yes"],[ - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"]) - AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"]) -@@ -410,6 +419,7 @@ - ], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" -+ ]) - - ]) - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild deleted file mode 100644 index bcd05ad21ed..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig -VERIFY_SIG_METHOD=minisig -inherit autotools multilib-minimal verify-sig - -DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library" -HOMEPAGE="https://libsodium.org" - -if [[ ${PV} == *_p* ]] ; then - MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-) - - # We use _pN to represent 'stable releases' - # These are backports from upstream to the last release branch - # See https://download.libsodium.org/libsodium/releases/README.html - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) - " -else - SRC_URI=" - https://download.libsodium.org/${PN}/releases/${P}.tar.gz - verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) - " -fi - -S="${WORKDIR}"/${PN}-stable - -LICENSE="ISC" -SLOT="0/23" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" -IUSE="+asm minimal static-libs +urandom" - -CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) -IUSE+=" ${CPU_USE[@]}" - -BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch -) - -src_prepare() { - default - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable asm) - $(use_enable cpu_flags_x86_aes aesni) - $(use_enable cpu_flags_x86_sse4_1 sse4_1) - $(use_enable minimal) - $(use_enable static-libs static) - $(use_enable !urandom blocking-random) - ) - - # --disable-pie is needed on x86, see bug #512734 - # TODO: Check if still needed? - if [[ ${ABI} == x86 ]] ; then - myeconfargs+=( --disable-pie ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild deleted file mode 100644 index 575daa8a505..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild +++ /dev/null @@ -1,74 +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/libsodium.minisig -VERIFY_SIG_METHOD=minisig -inherit autotools multilib-minimal verify-sig - -DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library" -HOMEPAGE="https://libsodium.org" - -if [[ ${PV} == *_p* ]] ; then - MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-) - - # We use _pN to represent 'stable releases' - # These are backports from upstream to the last release branch - # See https://download.libsodium.org/libsodium/releases/README.html - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) - " -else - SRC_URI=" - https://download.libsodium.org/${PN}/releases/${P}.tar.gz - verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) - " -fi - -S="${WORKDIR}"/${PN}-stable - -LICENSE="ISC" -SLOT="0/26" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" -IUSE="+asm minimal static-libs +urandom" - -CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) -IUSE+=" ${CPU_USE[@]}" - -BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch -) - -src_prepare() { - default - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable asm) - $(use_enable cpu_flags_x86_aes aesni) - $(use_enable cpu_flags_x86_sse4_1 sse4_1) - $(use_enable minimal) - $(use_enable static-libs static) - $(use_enable !urandom blocking-random) - ) - - # --disable-pie is needed on x86, see bug #512734 - # TODO: Check if still needed? - if [[ ${ABI} == x86 ]] ; then - myeconfargs+=( --disable-pie ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild index bb62d58a0e8..3654a117b23 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild @@ -31,7 +31,7 @@ S="${WORKDIR}"/${PN}-stable LICENSE="ISC" SLOT="0/26" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" IUSE="+asm static-libs +urandom" CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild index eebd3c520e9..35a5bc16739 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild @@ -20,6 +20,7 @@ if [[ ${PV} == *_p* ]] ; then https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) " + S="${WORKDIR}"/${PN}-stable else SRC_URI=" https://download.libsodium.org/${PN}/releases/${P}.tar.gz @@ -27,11 +28,9 @@ else " fi -S="${WORKDIR}"/${PN}-stable - LICENSE="ISC" SLOT="0/26" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" IUSE="+asm static-libs +urandom" CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) @@ -39,8 +38,12 @@ IUSE+=" ${CPU_USE[@]}" BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" +QA_CONFIG_IMPL_DECL_SKIP=( + _rdrand64_step # depends on target, bug #924154 +) + PATCHES=( - "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch + "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch ) src_prepare() { From 176999f7976c31f82aab933472f9bd3f7cfde390 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:12 +0000 Subject: [PATCH 067/239] dev-libs/libtraceevent: Sync with Gentoo It's from Gentoo commit 2633a561c341f8ee2e74e9653df2a605c3141956. --- .../dev-libs/libtraceevent/Manifest | 3 +- .../libtraceevent/libtraceevent-1.6.3.ebuild | 50 ---------------- .../libtraceevent/libtraceevent-1.7.2.ebuild | 59 ------------------- .../libtraceevent/libtraceevent-1.8.2.ebuild | 48 +++++++++++++++ 4 files changed, 49 insertions(+), 111 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest index 195d6b5bee9..268f70c1409 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest @@ -1,3 +1,2 @@ -DIST libtraceevent-1.6.3.tar.gz 140072 BLAKE2B 416fa68e2604c3cc71323171b084261e38f08f630a03afda0e2ecc4860c8b08dae10b2abaa2afae54d2b4e382720b43a6616a9ab8599759de102af918eeb24fc SHA512 8064eb18dda6fdbff020759ed92e785b87d34be9ebc30cb6085785edeb8d7252cabf8d33d8738a3ec407672a3d891884d0f0b4c551fce26c76fa8eaf61b9e2f5 -DIST libtraceevent-1.7.2.tar.gz 148242 BLAKE2B 03eae9ea7a8cdf6b015af95031d6fbe8638361f8b0db836f48e9ef47c814465fad583440f80f0103e08758712bd24f7562e1a8678ab24d4a1749a0b88efa7a85 SHA512 aa6d14e6d2e8e64c7d53ba9f93d47331d5f1b5a5a624891ec18a08b0d4e3e82f7845d29957bb3fe4360151bb5870a67c69d5cb1f758bb2956d946221f186546e DIST libtraceevent-1.7.3.tar.gz 152363 BLAKE2B dcbca01f2246045f4f2377f91118e2468bca4344686b9e0349d04270543fea5648d5c227bdaf6e716d623bab8d03cec7a869bf67d03ca6a7836014854bbe40b8 SHA512 81302cb24a3fc71e8bd6a0ba975a2699eaa629ac0e90837bf8fc8e23e04156827d19b25544cdb506b0bf76d5f08699264c9ecb979f9218bdee6b0b0e7339b1e0 +DIST libtraceevent-1.8.2.tar.gz 155682 BLAKE2B afadd9f559bdc071b3741ce42b8bf0c320523f2b39c437bcf4180f277eb804c33b2feac447fae15a869164475fb5f019ef171b69be32c46b74e5f22a3ed3808b SHA512 52b7a23e8bf04feaa568199c99c98217fcb8df1b99d46197ef9edcea19b42e71ff9d2e6c45ebf5335ec782d636ad3d14be4acae5a9e5158650f5f62813081fa2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild deleted file mode 100644 index 4be481f862e..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2019-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Linux kernel trace event library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" - -if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" - inherit git-r3 -else - SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz" - KEYWORDS="amd64 ~arm64 x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="doc" - -RDEPEND=" - ! Date: Mon, 17 Jun 2024 07:12:13 +0000 Subject: [PATCH 068/239] dev-libs/libtracefs: Sync with Gentoo It's from Gentoo commit 962eb609a997b28764d0639a2e16de2ab2c273ec. --- .../dev-libs/libtracefs/Manifest | 4 +- .../files/libtracefs-1.8.0-mmap.patch | 25 ++++++++ .../libtracefs/libtracefs-1.6.1-r2.ebuild | 55 ----------------- .../libtracefs/libtracefs-1.6.3-r2.ebuild | 55 ----------------- .../libtracefs/libtracefs-1.6.4-r1.ebuild | 61 ------------------- .../libtracefs/libtracefs-1.8.0.ebuild | 53 ++++++++++++++++ 6 files changed, 79 insertions(+), 174 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest index 234705e75a8..fcc9ea55ab6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/Manifest @@ -1,4 +1,2 @@ -DIST libtracefs-1.6.1.tar.gz 193086 BLAKE2B 53f6740c7f06e1d618594e03ec7fbda273bbeb87bfda67acfad1e1670fd69670187c7267af1abcd1502c338499dc8d4ffe28a213b3ad17ff5a6e2b435c1c242f SHA512 9fa9b470869bdc0134cc72eb7a9e0131638c3416d24e403c7fc819d49a5e521ca8c852ece4ac87d6a744c32846a2567c44c1e3b8b329f77db2d89e57c9e36340 -DIST libtracefs-1.6.3.tar.gz 193859 BLAKE2B 89029e59590f4e25c5d39d5b638c381e966e8dee055bf7873492a6cdc8b1e1df90cad84a8db4e1abcacbc43fbb23c9fefbdb53123a409a19d07925e7a39efcdb SHA512 273d008644b5d205def79fa8c1db51f21327c02abee16dfc706cfa7ad421be111ac3280b2dd493a8be5f4d9f2fdcb471d7de17e6b3e56df7cb2f1a11b4e1bfaa -DIST libtracefs-1.6.4.tar.gz 193967 BLAKE2B 24ca0affbd3343429c096795ea25fca6b96c5e806fff197149db290a4b3ed4ad642738a74d395c025b2a5813d9a14ada9b36be8bc0bdbc31d110542fb49ce1ae SHA512 0db20393272ce75c9132fc189993929545f41ac00cc9b0fdbb6adcb4bcda41433f05c047d06d9774f9b00b9e3ed3cfed3879e75365e72c0bb705cf16449e06c4 DIST libtracefs-1.7.0.tar.gz 205716 BLAKE2B 7e11ed75e65ddfb6e95fa67db2d3a3000e722108b6cb9d8efe7f057bf96afa608f0452e42090dab077b59044d3cbaebf2e4361812b994943964ea611b0ec6a49 SHA512 8b95c798a9013c0278da1c68ab4625446e1cc9d437eed91a6ce16660e7787f0af04ab65ce0dba536039f2facca39c50df5e45335b1af630e7bcce70b584e2f0c +DIST libtracefs-1.8.0.tar.gz 224662 BLAKE2B 06ee6872ec5cd6c671ee2ddd3de19356ffa560b3ae20318e36be6a95bfe37bf61233841e32c530ab0a3463d13dd57ff1b09bba296663b25d76da2a2ea3e89f51 SHA512 2d9728186de63f03a2222d56efe6b373c038519ad1e81dd10d97640c296696df6b0661743dcd9e851edda5225342ea10a8746434439f7ad878e26780b797eb6c diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch new file mode 100644 index 00000000000..15000318863 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch @@ -0,0 +1,25 @@ +Subject: [PATCH] libtracefs meson: build tracefs-mmap by default + +Accordingly to Makefile let's add tracefs-mmap.c to build, this is needed +for linking by other object files. + +Link: https://lore.kernel.org/linux-trace-devel/20240110203925.266999-1-giulio.benetti@benettiengineering.com +--- + src/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/meson.build b/src/meson.build +index 5b76554..f7a98b9 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -11,6 +11,7 @@ sources= [ + 'tracefs-instance.c', + 'tracefs-kprobes.c', + 'tracefs-marker.c', ++ 'tracefs-mmap.c', + 'tracefs-record.c', + 'tracefs-sqlhist.c', + 'tracefs-tools.c', +-- +2.43.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild deleted file mode 100644 index e5a02ff37b5..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2019-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Linux kernel trace file system library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - -if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - inherit git-r3 -else - SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" - KEYWORDS="amd64 ~arm64 ~x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="doc" - -RDEPEND=" - !=dev-libs/libtraceevent-1.3.0 -" -DEPEND="${RDEPEND}" -# source-highlight is needed, see bug https://bugs.gentoo.org/865469 -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight ) -" - -src_configure() { - EMAKE_FLAGS=( - "prefix=${EPREFIX}/usr" - "libdir=${EPREFIX}/usr/$(get_libdir)" - "CC=$(tc-getCC)" - "AR=$(tc-getAR)" - VERBOSE=1 - ) -} - -src_compile() { - emake "${EMAKE_FLAGS[@]}" - use doc && emake doc -} - -src_install() { - emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install - # can't prevent installation of the static lib with parameters - rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die - # install-doc is wrong target, see https://bugs.gentoo.org/865465 - use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild deleted file mode 100644 index 8586159db3f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2019-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Linux kernel trace file system library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - -if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - inherit git-r3 -else - SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="doc" - -RDEPEND=" - !=dev-libs/libtraceevent-1.3.0 -" -DEPEND="${RDEPEND}" -# source-highlight is needed, see bug https://bugs.gentoo.org/865469 -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight ) -" - -src_configure() { - EMAKE_FLAGS=( - "prefix=${EPREFIX}/usr" - "libdir=${EPREFIX}/usr/$(get_libdir)" - "CC=$(tc-getCC)" - "AR=$(tc-getAR)" - VERBOSE=1 - ) -} - -src_compile() { - emake "${EMAKE_FLAGS[@]}" - use doc && emake doc -} - -src_install() { - emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install - # can't prevent installation of the static lib with parameters - rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die - # install-doc is wrong target, see https://bugs.gentoo.org/865465 - use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild deleted file mode 100644 index 0fa9a748d6a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 2019-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Linux kernel trace file system library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - -if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" - inherit git-r3 -else - SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="doc" - -RDEPEND=" - !=dev-libs/libtraceevent-1.3.0 -" -DEPEND="${RDEPEND}" -# source-highlight is needed, see bug https://bugs.gentoo.org/865469 -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight ) -" - -src_prepare() { - default - sed -i -e "s|share/doc/libtracefs-doc|share/doc/libtracefs-${PV}|g" \ - Documentation/Makefile || die -} - -src_configure() { - EMAKE_FLAGS=( - "prefix=${EPREFIX}/usr" - "libdir=${EPREFIX}/usr/$(get_libdir)" - "CC=$(tc-getCC)" - "AR=$(tc-getAR)" - VERBOSE=1 - ) -} - -src_compile() { - emake "${EMAKE_FLAGS[@]}" - use doc && emake doc -} - -src_install() { - emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install - # can't prevent installation of the static lib with parameters - rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die - # install-doc is wrong target, see https://bugs.gentoo.org/865465 - use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.0.ebuild new file mode 100644 index 00000000000..b1d311a9f1c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Linux kernel trace file system library" +HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" + +if [[ ${PV} =~ [9]{4,} ]]; then + EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" + inherit git-r3 +else + SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="LGPL-2.1" +SLOT="0" + +# Please double check the minimum libtraceevent version! +RDEPEND=" + >=dev-libs/libtraceevent-1.8.1 +" +DEPEND="${RDEPEND}" +# source-highlight is needed, see bug https://bugs.gentoo.org/865469 +BDEPEND=" + app-text/asciidoc + app-text/xmlto + dev-util/source-highlight + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}/${P}-mmap.patch" ) + +src_configure() { + local emesonargs=( + -Dasciidoctor=false + -Ddoc=false + ) + + # TODO: get docs & tests optional upstream + meson_src_configure +} + +src_install() { + meson_src_install + + find "${ED}" -type f -name '*.a' -delete || die +} From 8168943c6186b22db94b839ccc97479362dea116 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:13 +0000 Subject: [PATCH 069/239] dev-libs/libunistring: Sync with Gentoo It's from Gentoo commit fd6381b61a9d790cc4d2ca5742806f0417ce698b. --- .../dev-libs/libunistring/libunistring-1.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild index dfd324c6975..46e9e200aa8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" # Check regularly even on "minor" bumps SLOT="0/5" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc static-libs" QA_CONFIG_IMPL_DECL_SKIP=( From afbe78747c4fd9e92f1851bf8602540ec946c591 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:13 +0000 Subject: [PATCH 070/239] dev-libs/libusb: Sync with Gentoo It's from Gentoo commit 0aed818694558f1641f289cba6247e995747afe4. --- .../portage-stable/dev-libs/libusb/libusb-1.0.27-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libusb/libusb-1.0.27-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libusb/libusb-1.0.27-r1.ebuild index b956c08ca08..9586c4d8b9d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libusb/libusb-1.0.27-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libusb/libusb-1.0.27-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" IUSE="debug doc examples static-libs test udev" RESTRICT="!test? ( test )" REQUIRED_USE="static-libs? ( !udev )" From cbf9e349d6f46f8f547b7db10f47b431a73d39ce Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:15 +0000 Subject: [PATCH 071/239] dev-libs/libxml2: Sync with Gentoo It's from Gentoo commit 8037d195083d9e4f81cc40bda1026e37ee227099. --- .../portage-stable/dev-libs/libxml2/Manifest | 3 + .../dev-libs/libxml2/libxml2-2.11.8.ebuild | 200 ++++++++++++++++++ .../dev-libs/libxml2/libxml2-2.12.6.ebuild | 2 +- .../dev-libs/libxml2/libxml2-2.12.7.ebuild | 196 +++++++++++++++++ .../dev-libs/libxml2/libxml2-2.12.8.ebuild | 196 +++++++++++++++++ 5 files changed, 596 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild 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 417300261f0..e2dc21a8fc0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -1,6 +1,9 @@ DIST libxml2-2.11.7.tar.xz 2628860 BLAKE2B 9aa553b09ec20fe01272ceafb59bf76b480f3cfc57084a527d09797dc39987e59635f8f7b1591060ef6a27adfcc07d8c8e8a907ee7ed04da0a108aae1517cd52 SHA512 202b0523d982eb5269dcb4644d8ab2ea31404771069462cdd6c5cd7e6672e0e50371ceb334133bb8f2c0a42f133e8f40c3f582bba5fc71ab168a2b18d4cfd81d +DIST libxml2-2.11.8.tar.xz 2628212 BLAKE2B 7a9f62b9e6628e71462b0ae2a43947e398c8b948d57280ee5ac64a7cd0a13d39aa4cc55148421f999e5a04e19ca1ae2cb84884f85f3e22559cb45d8a7fca7d45 SHA512 b8c38365172b9f46e2da4dd696f5df4f917d05cc33456079d3d042578543c0f951da207361958ba8699a9f7256889f063737ba80dba8bb9720c8434be1ca723f DIST libxml2-2.12.5.tar.xz 2643452 BLAKE2B b63ade8b18d98701e95b79ac2199bfc4ca89c6085c48c3d0970945ae526558ee2137622ee8b4af5391f86e663a3f06a7e1aaad5f57eb639fc9da74704e2280f3 SHA512 da5c5afb95db80342d78d4371d029bf10ce5cd601b24b294272d9996f82357bd5262a15a2b44b0904a14471c8ff0c9fd9c796f164246551f02ee19a8f083f926 DIST libxml2-2.12.6.tar.xz 2643124 BLAKE2B 677589cf063b109018aafc04a1564242ba1a9d88b2c511f583d4aa511c13aff15254a9d5f6ea2c294902338b0c0207ff59c51298e128981d57f86367ddc1a803 SHA512 19d6901c0f189813e8bd20ffdfbb29d8545ca30154d1f3cc82624d64e4db3cfbe8eef7e8ccc1e195289f1bf94bb50fefcf11a95badb0ddeb845b4e4ea5a819ac +DIST libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f +DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77 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.11.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild new file mode 100644 index 00000000000..efd633ea121 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.8.ebuild @@ -0,0 +1,200 @@ +# 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..12} ) +PYTHON_REQ_USE="xml(+)" +inherit flag-o-matic 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 autotools git-r3 +else + inherit gnome.org libtool + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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="debug examples +ftp 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.11.5-CVE-2023-45322.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 + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + elibtoolize + fi +} + +multilib_src_configure() { + # Filter seemingly problematic CFLAGS (bug #26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # Notes: + # The meaning of the 'debug' USE flag does not apply to the --with-debug + # switch (enabling the libxml2 debug module). See bug #100898. + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-ipv6 \ + $(use_with ftp) \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.6.ebuild index c4d87530a6d..3d915e2ccc5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.6.ebuild @@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 else inherit gnome.org libtool - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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.12.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild new file mode 100644 index 00000000000..c4d87530a6d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.7.ebuild @@ -0,0 +1,196 @@ +# 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..12} ) +PYTHON_REQ_USE="xml(+)" +inherit flag-o-matic 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 autotools git-r3 +else + inherit gnome.org libtool + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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="debug examples +ftp 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 +) + +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 + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + elibtoolize + fi +} + +multilib_src_configure() { + # Filter seemingly problematic CFLAGS (bug #26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # Notes: + # The meaning of the 'debug' USE flag does not apply to the --with-debug + # switch (enabling the libxml2 debug module). See bug #100898. + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-ipv6 \ + $(use_with ftp) \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild new file mode 100644 index 00000000000..c4d87530a6d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild @@ -0,0 +1,196 @@ +# 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..12} ) +PYTHON_REQ_USE="xml(+)" +inherit flag-o-matic 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 autotools git-r3 +else + inherit gnome.org libtool + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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="debug examples +ftp 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 +) + +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 + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + elibtoolize + fi +} + +multilib_src_configure() { + # Filter seemingly problematic CFLAGS (bug #26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # Notes: + # The meaning of the 'debug' USE flag does not apply to the --with-debug + # switch (enabling the libxml2 debug module). See bug #100898. + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-ipv6 \ + $(use_with ftp) \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # 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 +} From e3a50efc694a689d3f1a8f5e637993d27a20ef33 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:25 +0000 Subject: [PATCH 072/239] dev-libs/opensc: Sync with Gentoo It's from Gentoo commit 09bf61ced9f91e8460b2227f15b2256618ffaf29. --- .../portage-stable/dev-libs/opensc/Manifest | 3 +- .../dev-libs/opensc/opensc-0.24.0.ebuild | 76 ------------------- .../dev-libs/opensc/opensc-0.25.0.ebuild | 76 ------------------- ...-0.25.0-r1.ebuild => opensc-0.25.1.ebuild} | 2 +- 4 files changed, 2 insertions(+), 155 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.24.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.0.ebuild rename sdk_container/src/third_party/portage-stable/dev-libs/opensc/{opensc-0.25.0-r1.ebuild => opensc-0.25.1.ebuild} (95%) 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 de041bb4fbc..d29912a059a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/Manifest @@ -1,2 +1 @@ -DIST opensc-0.24.0.tar.gz 2440952 BLAKE2B afacdd151d169dd1840ecd6df1cec99a9805598d7b7af81e17b648f146cd1b3ad1d3dcae19ed94cf8ce0dbbd5b4285af9653af5ef5739d53908ce30a49544adb SHA512 0fd2ea858874ae0b85c8fe8c4b920988693a47ca95b26449a1e95f86e17b76000f236c1f75d63ee133306e01a965155da5e14c1b8a59053b85026ecb58fb97bb -DIST opensc-0.25.0.tar.gz 2406137 BLAKE2B 07c7de7fa1c258a90b1acbfbc01383f204ad88169ae1d3681f240e881ab80652dc9b04ba452a433576847caa5ef49d35608b3f895e965fec9e79da231ecabab2 SHA512 c220607a543b1fcf7c89e051e7c7ca3908abab6c022818b01a6219becdbad217708fb3c5fe2fe2218ac82be0f174c5694e5fa07c6e0ae540cf3171462a23eee6 +DIST opensc-0.25.1.tar.gz 2395579 BLAKE2B cc7994cad78083c8eeafc947e90c06178209edc825cb14b54bc4281d37c6dae1006ab2c9b9566823ef90626a4134bce96a9806bebc455a389216d7953da6b873 SHA512 6277abb31f903af68b4c19f549fc881b69d7aa9a55ba39936386118eadde86b62853ba2906cd165d9b1ad9090e1aa4d2b236bf19650aa228ed776b3f4d9f8805 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.24.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.24.0.ebuild deleted file mode 100644 index 4168ed5b24b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.24.0.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# 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="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -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 )" -BDEPEND="virtual/pkgconfig" - -REQUIRED_USE=" - pcsc-lite? ( !openct !ctapi ) - openct? ( !pcsc-lite !ctapi ) - ctapi? ( !pcsc-lite !openct ) - || ( pcsc-lite openct ctapi )" - -src_prepare() { - 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_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-0.25.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.0.ebuild deleted file mode 100644 index 18fa3aefc24..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.0.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -LICENSE="LGPL-2.1" -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 )" -BDEPEND="virtual/pkgconfig" - -REQUIRED_USE=" - pcsc-lite? ( !openct !ctapi ) - openct? ( !pcsc-lite !ctapi ) - ctapi? ( !pcsc-lite !openct ) - || ( pcsc-lite openct ctapi )" - -src_prepare() { - 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_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-0.25.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.1.ebuild index cd1b22fb2bc..98f3d13a9b1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.25.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" else SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi LICENSE="LGPL-2.1" From 1579a27fa0ed784f06465a7b733bcb52754ab98f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:26 +0000 Subject: [PATCH 073/239] dev-libs/protobuf: Sync with Gentoo It's from Gentoo commit 7607deb671dad94c3f7a8af3bb47fcea43eefa22. --- .../portage-stable/dev-libs/protobuf/Manifest | 1 + ...3.3-messages_lite-template-instances.patch | 66 ++++++++++ .../protobuf-26.1-disable-32-bit-tests.patch | 37 ++++++ .../dev-libs/protobuf/metadata.xml | 9 +- ...uf-22.5.ebuild => protobuf-22.5-r1.ebuild} | 9 +- .../dev-libs/protobuf/protobuf-23.3-r4.ebuild | 116 ++++++++++++++++++ ...23.3-r2.ebuild => protobuf-26.1-r1.ebuild} | 9 +- 7 files changed, 236 insertions(+), 11 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch rename sdk_container/src/third_party/portage-stable/dev-libs/protobuf/{protobuf-22.5.ebuild => protobuf-22.5-r1.ebuild} (90%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild rename sdk_container/src/third_party/portage-stable/dev-libs/protobuf/{protobuf-23.3-r2.ebuild => protobuf-26.1-r1.ebuild} (94%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest index 8695f23be04..491e8fa19f2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest @@ -2,3 +2,4 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f8 DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1 DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584 DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b +DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch new file mode 100644 index 00000000000..3869ad95993 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch @@ -0,0 +1,66 @@ +https://bugs.gentoo.org/917046 +https://github.com/protocolbuffers/protobuf/commit/e6f8b9d1026996f6463d4f014d7760256b757227 + +From e6f8b9d1026996f6463d4f014d7760256b757227 Mon Sep 17 00:00:00 2001 +From: Protobuf Team Bot +Date: Wed, 8 Nov 2023 09:20:10 -0800 +Subject: [PATCH] message_lite.h: Use PROTOBUF_EXPORT_TEMPLATE_DECLARE with + extern template + +Export extern templates in message_lite.h to avoid missing symbols when +linking protobuf-lite.so. + +PiperOrigin-RevId: 580556084 +--- a/src/google/protobuf/message_lite.h ++++ b/src/google/protobuf/message_lite.h +@@ -616,22 +616,22 @@ namespace internal { + template + bool MergeFromImpl(absl::string_view input, MessageLite* msg, + MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(absl::string_view input, +- MessageLite* msg, +- MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(absl::string_view input, +- MessageLite* msg, +- MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ absl::string_view input, MessageLite* msg, ++ MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ absl::string_view input, MessageLite* msg, ++ MessageLite::ParseFlags parse_flags); + + template + bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg, + MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(io::ZeroCopyInputStream* input, +- MessageLite* msg, +- MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(io::ZeroCopyInputStream* input, +- MessageLite* msg, +- MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ io::ZeroCopyInputStream* input, MessageLite* msg, ++ MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ io::ZeroCopyInputStream* input, MessageLite* msg, ++ MessageLite::ParseFlags parse_flags); + + struct BoundedZCIS { + io::ZeroCopyInputStream* zcis; +@@ -641,10 +641,10 @@ struct BoundedZCIS { + template + bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, + MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, +- MessageLite::ParseFlags parse_flags); +-extern template bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, +- MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags); ++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( ++ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags); + + template + struct SourceWrapper; + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch new file mode 100644 index 00000000000..dfbda168d58 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch @@ -0,0 +1,37 @@ +https://github.com/protocolbuffers/protobuf/issues/8460 +--- a/src/google/protobuf/any_test.cc ++++ b/src/google/protobuf/any_test.cc +@@ -40,9 +40,8 @@ TEST(AnyTest, TestPackAndUnpack) { + } + + TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) { +-#if defined(_MSC_VER) && defined(_M_IX86) +- GTEST_SKIP() << "This toolchain can't allocate that much memory."; +-#endif ++ // Filter out this test on 32-bit architectures. ++ if(sizeof(void*) < 8) return; + protobuf_unittest::TestAny submessage; + submessage.mutable_text()->resize(INT_MAX, 'a'); + protobuf_unittest::TestAny message; + +https://github.com/protocolbuffers/protobuf/issues/8459 +--- a/src/google/protobuf/arena_unittest.cc ++++ b/src/google/protobuf/arena_unittest.cc +@@ -1373,6 +1373,8 @@ TEST(ArenaTest, MessageLiteOnArena) { + uint64_t Align8(uint64_t n) { return (n + 7) & -8; } + + TEST(ArenaTest, SpaceAllocated_and_Used) { ++ // Filter out this test on 32-bit architectures. ++ if(sizeof(void*) < 8) return; + Arena arena_1; + EXPECT_EQ(0, arena_1.SpaceAllocated()); + EXPECT_EQ(0, arena_1.SpaceUsed()); +@@ -1453,6 +1455,8 @@ TEST(ArenaTest, Alignment) { + } + + TEST(ArenaTest, BlockSizeSmallerThanAllocation) { ++ // Filter out this test on 32-bit architectures. ++ if(sizeof(void*) < 8) return; + for (size_t i = 0; i <= 8; ++i) { + ArenaOptions opt; + opt.start_block_size = opt.max_block_size = i; diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml index 4ac93ba8e52..8549a8aa96f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml @@ -1,14 +1,7 @@ - - arfrever.fta@gmail.com - Arfrever Frehtes Taifersar Arahesis - - - cjk@gentoo.org - Cjk - + Soname version number diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild index dc99040c5f3..ff2783d5e7c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]]; then EGIT_SUBMODULES=() else SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" fi DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" @@ -25,11 +25,13 @@ RESTRICT="!test? ( test )" BDEPEND="emacs? ( app-editors/emacs:* )" DEPEND=" + =dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}] zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) " RDEPEND=" + =dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}] emacs? ( app-editors/emacs:* ) zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) @@ -81,6 +83,11 @@ src_compile() { fi } +src_test() { + local -x srcdir="${S}"/src + cmake-multilib_src_test +} + multilib_src_install_all() { find "${ED}" -name "*.la" -delete || die diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild new file mode 100644 index 00000000000..17092c5a48c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild @@ -0,0 +1,116 @@ +# Copyright 2008-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib elisp-common toolchain-funcs + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE="https://protobuf.dev/" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2).0" +IUSE="emacs examples test zlib" +RESTRICT="!test? ( test )" + +BDEPEND="emacs? ( app-editors/emacs:* )" +DEPEND=" + =dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}] + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) + test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) +" +RDEPEND=" + =dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}] + emacs? ( app-editors/emacs:* ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" + "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" + "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.patch" +) + +DOCS=( CONTRIBUTORS.txt README.md ) + +src_configure() { + if tc-ld-is-gold; then + # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 + tc-ld-disable-gold + fi + + cmake-multilib_src_configure +} + +multilib_src_configure() { + local mycmakeargs=( + -Dprotobuf_DISABLE_RTTI=ON + -Dprotobuf_BUILD_EXAMPLES=$(usex examples) + -Dprotobuf_WITH_ZLIB=$(usex zlib) + -Dprotobuf_BUILD_TESTS=$(usex test) + -Dprotobuf_ABSL_PROVIDER=package + ) + use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) + + cmake_src_configure +} + +src_compile() { + cmake-multilib_src_compile + + if use emacs; then + elisp-compile editors/protobuf-mode.el + fi +} + +src_test() { + local -x srcdir="${S}"/src + cmake-multilib_src_test +} + +multilib_src_install_all() { + find "${ED}" -name "*.la" -delete || die + + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" + die "Please update SLOT variable" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/proto.vim" + + if use emacs; then + elisp-install ${PN} editors/protobuf-mode.el* + elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" + fi + + if use examples; then + DOCS+=(examples) + docompress -x /usr/share/doc/${PF}/examples + fi + + einstalldocs +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r1.ebuild index c9721bfd61c..534834edca7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2008-2023 Gentoo Authors +# Copyright 2008-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -36,7 +36,7 @@ RDEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" + "${FILESDIR}/${P}-disable-32-bit-tests.patch" "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" ) @@ -72,6 +72,11 @@ src_compile() { fi } +src_test() { + local -x srcdir="${S}"/src + cmake-multilib_src_test +} + multilib_src_install_all() { find "${ED}" -name "*.la" -delete || die From 57a1d58ffa6f8f9db9c2914d8a41ad17b668fdc4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:29 +0000 Subject: [PATCH 074/239] dev-libs/xmlsec: Sync with Gentoo It's from Gentoo commit 885e8b3941b4617906768a9358979fd5e4da01a7. --- .../portage-stable/dev-libs/xmlsec/Manifest | 3 +- ...xmlsec-1.3.2-libxml2-2.12.0-includes.patch | 114 ------------------ ...lsec-1.3.2.ebuild => xmlsec-1.2.39.ebuild} | 64 ++++------ ...mlsec-1.3.3.ebuild => xmlsec-1.3.4.ebuild} | 0 4 files changed, 23 insertions(+), 158 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch rename sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/{xmlsec-1.3.2.ebuild => xmlsec-1.2.39.ebuild} (50%) rename sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/{xmlsec-1.3.3.ebuild => xmlsec-1.3.4.ebuild} (100%) 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 a6d97770474..1a4adea1809 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,5 +1,6 @@ DIST xmlsec1-1.2.37.tar.gz 2009175 BLAKE2B 19f43ba6bf6eb49428b9c5563baecbab21476f326cceee13785ae16769afa258f100732831c0f3f7d160543bd075cdcfdc5cbf11b7406637ee6c2f0e27c07f30 SHA512 99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900 DIST xmlsec1-1.2.38.tar.gz 2036578 BLAKE2B 03f7e1b5e659793bf1984c5a59582d9459089ce913620d5cc1e5a5d0eb65557580cd23fa190db277298fd7cc55bd41563b93cf61a37c8b7521a4690cd2ca3489 SHA512 724089777caae95db27e67f24381c066eaae23a9d64819a18bb04837c1ab1b380d19be2c7ee25659ca481d9eab96fcbe8027a430a0ac1630ad3b073cddd20fac +DIST xmlsec1-1.2.39.tar.gz 2036905 BLAKE2B c1844f2068f6afe8dff3bf3fcf45a7180f09cae3418812b49b5c86b5387c795900a9ebd2077691d51d778c081f4282a54fdc11e7a54e6b8d969ef2871c2f5bb8 SHA512 bc8457bca8ada87c12d3be685bf8ad805f102b4ac1265e257ba12137e0430783973f27d22bfcb7559be5e89cb4c01b3556488fa641fc7c9d8f403972fdc8f2f7 DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e SHA512 7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f -DIST xmlsec1-1.3.2.tar.gz 2437263 BLAKE2B d11953c6e2a263a6742ef62309c2f29e2ba5761d58bee5f8cc761965d0e16fea148811ac3d8036d271400840a62ff2a7fff947bb5331170d3bcc598c558b2a95 SHA512 328f3d27cc1dadee27e5ee4649f6c5a094203cc27f42f1fe98fd429f7dd5630eaadff0e8bf14616016fc3530482ed8bcee4870289a41a083f6dd9bd603782a92 DIST xmlsec1-1.3.3.tar.gz 2435741 BLAKE2B 1b0e44a8a5185d67b8f97ec72cd8e215fe79a988eb7ade0d2890be662b693d511857b24670ec692f9452bf95ad8c53ff80c250ecbcd167742477a83e0b72fda0 SHA512 1535b6f878259914ab9574892d05c927fbcd548986cf7bcf91e435acb2cb74eb11e58163f797038ee13a11444882814b2b4318cd677053fbe52557a2e4acf68a +DIST xmlsec1-1.3.4.tar.gz 2435656 BLAKE2B b398f970e5b201971419b537125e9a7430c8d7c1c57e193b2592ee3f01ce797993607a210e87ad44e99bc0ef49ac4c350492268a3ac3bedbb81d937d99837468 SHA512 959a97ed7d7cbdc3e5ef037b2cb4f05bda299274c09ed3dfe24f7203d97e3dfc13bf480e15a2d15bcc7893569d341204884de58cc9b462b6c29306b67672e9c7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch deleted file mode 100644 index e4b7ec4d7f6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch +++ /dev/null @@ -1,114 +0,0 @@ -https://github.com/lsh123/xmlsec/commit/ffb327376f5bb69e8dfe7f805529e45a40118c2b - -From ffb327376f5bb69e8dfe7f805529e45a40118c2b Mon Sep 17 00:00:00 2001 -From: lsh123 -Date: Mon, 20 Nov 2023 11:50:43 -0500 -Subject: [PATCH] Fix libxml2 v2.12.0 includes (#729) - ---- a/apps/crypto.c -+++ b/apps/crypto.c -@@ -12,6 +12,7 @@ - #endif - - #include -+#include - - #include - #include ---- a/apps/xmlsec.c -+++ b/apps/xmlsec.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - - #ifndef XMLSEC_NO_XSLT -@@ -3030,7 +3031,7 @@ xmlSecAppInit(void) { - /* Init libxml */ - xmlInitParser(); - LIBXML_TEST_VERSION -- xmlTreeIndentString = "\t"; -+ xmlThrDefTreeIndentString("\t"); - #ifndef XMLSEC_NO_XSLT - xmlIndentTreeOutput = 1; - #endif /* XMLSEC_NO_XSLT */ ---- a/include/xmlsec/xmlsec.h -+++ b/include/xmlsec/xmlsec.h -@@ -12,6 +12,7 @@ - #define __XMLSEC_H__ - - #include -+#include - - #include - #include ---- a/src/errors_helpers.h -+++ b/src/errors_helpers.h -@@ -136,7 +136,7 @@ extern "C" { - */ - #define xmlSecXmlError(errorFunction, errorObject) \ - { \ -- xmlErrorPtr error = xmlGetLastError(); \ -+ const xmlError * error = xmlGetLastError(); \ - int code = (error != NULL) ? error->code : 0; \ - const char* message = (error != NULL) ? error->message : NULL; \ - xmlSecError(XMLSEC_ERRORS_HERE, \ -@@ -159,7 +159,7 @@ extern "C" { - */ - #define xmlSecXmlError2(errorFunction, errorObject, msg, param) \ - { \ -- xmlErrorPtr error = xmlGetLastError(); \ -+ const xmlError * error = xmlGetLastError(); \ - int code = (error != NULL) ? error->code : 0; \ - const char* message = (error != NULL) ? error->message : NULL; \ - xmlSecError(XMLSEC_ERRORS_HERE, \ -@@ -181,7 +181,7 @@ extern "C" { - */ - #define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \ - { \ -- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\ -+ const xmlError * error = xmlCtxtGetLastError(ctxt);\ - int code = (error != NULL) ? error->code : 0; \ - const char* message = (error != NULL) ? error->message : NULL; \ - xmlSecError(XMLSEC_ERRORS_HERE, \ -@@ -205,7 +205,7 @@ extern "C" { - */ - #define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \ - { \ -- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\ -+ const xmlError * error = xmlCtxtGetLastError(ctxt);\ - int code = (error != NULL) ? error->code : 0; \ - const char* message = (error != NULL) ? error->message : NULL; \ - xmlSecError(XMLSEC_ERRORS_HERE, \ -@@ -227,7 +227,7 @@ extern "C" { - */ - #define xmlSecXsltError(errorFunction, ctxt, errorObject) \ - { \ -- xmlErrorPtr error = xmlGetLastError(); \ -+ const xmlError * error = xmlGetLastError(); \ - int code = (error != NULL) ? error->code : 0; \ - const char* message = (error != NULL) ? error->message : NULL; \ - xmlSecError(XMLSEC_ERRORS_HERE, \ ---- a/src/mscrypto/certkeys.c -+++ b/src/mscrypto/certkeys.c -@@ -18,6 +18,7 @@ - #include "globals.h" - - #include -+#include - - #ifndef XMLSEC_NO_GOST - #include "csp_oid.h" ---- a/src/mscrypto/signatures.c -+++ b/src/mscrypto/signatures.c -@@ -17,6 +17,7 @@ - #include "globals.h" - - #include -+#include - - #ifndef XMLSEC_NO_GOST - #include "csp_calg.h" - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.2.39.ebuild similarity index 50% rename from sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.2.39.ebuild index a64cafb9198..5fcdd6b380d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.2.39.ebuild @@ -3,34 +3,34 @@ 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" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc gcrypt gnutls nss +openssl static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE=" - || ( gnutls nss openssl ) + || ( gcrypt gnutls nss openssl ) + gnutls? ( gcrypt ) " RDEPEND=" - >=dev-libs/libxml2-2.7.4 + >=dev-libs/libxml2-2.7.4[ftp(+)] >=dev-libs/libxslt-1.0.20 dev-libs/libltdl gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= ) - gnutls? ( >=net-libs/gnutls-3.6.13:= ) + gnutls? ( >=net-libs/gnutls-2.8.0:= ) nss? ( >=dev-libs/nspr-4.4.1 >=dev-libs/nss-3.9 ) - openssl? ( dev-libs/openssl:= ) + openssl? ( + dev-libs/openssl:= + ) " DEPEND="${RDEPEND}" BDEPEND=" @@ -43,43 +43,21 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-1.3.0-optimisation.patch - "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch + "${FILESDIR}"/${PN}-1.2.37-libressl.patch # bug #903001 ) -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[@]}" + CONFIG_SHELL="${BROOT}"/bin/bash econf \ + $(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) \ + --enable-mans \ + --enable-pkgconfig } src_test() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.4.ebuild From bc0803dd7984f01afe22e1d90bcaba42fce9129d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:34 +0000 Subject: [PATCH 075/239] dev-python/autocommand: Sync with Gentoo It's from Gentoo commit 3d9fa0c0a95893194c74be8f7b39534545669488. --- .../dev-python/autocommand/autocommand-2.2.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/autocommand/autocommand-2.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/autocommand/autocommand-2.2.2.ebuild index 5c2c6ee2ac6..7fde041a743 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/autocommand/autocommand-2.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/autocommand/autocommand-2.2.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 From 6a22f38a37e15770d466a9365a2d4981d2ba7e73 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:34 +0000 Subject: [PATCH 076/239] dev-python/crcmod: Sync with Gentoo It's from Gentoo commit 31e92f80f96d9c2b9c5446099ba8651f5386143b. --- .../portage-stable/dev-python/crcmod/crcmod-1.7-r5.ebuild | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/crcmod/crcmod-1.7-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/crcmod/crcmod-1.7-r5.ebuild index 902177adf57..56e078427fa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/crcmod/crcmod-1.7-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/crcmod/crcmod-1.7-r5.ebuild @@ -1,16 +1,16 @@ -# Copyright 1999-2023 Gentoo Authors +# 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 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10,11,12,13,13} ) inherit distutils-r1 DESCRIPTION="Python CRC Generator module" -HOMEPAGE="http://crcmod.sourceforge.net/" +HOMEPAGE="https://crcmod.sourceforge.net/" SRC_URI=" https://downloads.sourceforge.net/project/crcmod/crcmod/${P}/${P}.tar.gz " From 3e1c61c3fa610729a44fa7ce104e27b68b1eea80 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:34 +0000 Subject: [PATCH 077/239] dev-python/cython: Sync with Gentoo It's from Gentoo commit 27332dcd2ae6aa0aed59ae5ac002390c11240ef5. --- .../portage-stable/dev-python/cython/Manifest | 2 - .../dev-python/cython/cython-3.0.10.ebuild | 4 +- .../dev-python/cython/cython-3.0.8.ebuild | 84 ------------------- .../dev-python/cython/cython-3.0.9.ebuild | 84 ------------------- 4 files changed, 2 insertions(+), 172 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.8.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.9.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 460c3e92d54..3cdcf35a337 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1,3 +1 @@ DIST cython-3.0.10.gh.tar.gz 2771679 BLAKE2B f0813afc291bdc4940cd6770a368eca4f6d9fd728e41e9c341970512196154be900600146f98ce1e5a056eaeeda2df2a59fea2a9973c3ec275fe605bfd12e418 SHA512 97aa831cea96c1f3c51653c51fadb0aea8bdfdb076a2c898862637f52b826bcb9162d1b7aade3304c5650d0b894cb1083052f036365d79cd3d390e0486b33ac5 -DIST cython-3.0.8.gh.tar.gz 2764668 BLAKE2B 03202ea480fa398d2b0893cc96185467009c783cf4451fc5d1c09ec229398bc084276680ed2b64acf63253744f827427e03674be3e5985d5a2912d9f338c786a SHA512 1070fc278401990595d177b0e6396bc1eba2ea8234a7c5bb26399b6b7284de7791ee5fa60ef74d06d0f4120b9c877bfd7703a7d701838f1634737526c614b860 -DIST cython-3.0.9.gh.tar.gz 2769345 BLAKE2B 2a21b5e7060727d727902a08d7e038dacc047b724ebaa496ba5768542e28eec3c6198062ac3dd774a4321204752b373516f193f01bc6951e5f38b6029754647e SHA512 7899474882faab14716973783bbb46b981eab48192791acbbd06133efee83bfa9ace0e9a0272b0a44061a95ed94cdceaa98c4100f843220f5987791e36fa00e6 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild index 4ca5a857b62..207c3a055f1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools PYTHON_TESTED=( python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 python3_13 ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 multiprocessing toolchain-funcs @@ -26,7 +26,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.8.ebuild deleted file mode 100644 index 65a4fd8e36b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.8.ebuild +++ /dev/null @@ -1,84 +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 -PYTHON_TESTED=( python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing toolchain-funcs - -MY_P=${P/_rc/rc} -DESCRIPTION="A Python to C compiler" -HOMEPAGE=" - https://cython.org/ - https://github.com/cython/cython/ - https://pypi.org/project/Cython/ -" -SRC_URI=" - https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' "${PYTHON_TESTED[@]}") - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch" - "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch" - "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch" -) - -distutils_enable_sphinx docs \ - dev-python/jinja \ - dev-python/sphinx-issues \ - dev-python/sphinx-tabs - -python_compile() { - # Python gets confused when it is in sys.path before build. - local -x PYTHONPATH= - - distutils-r1_python_compile -} - -python_test() { - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (xfail)" - return - fi - - # Needed to avoid confusing cache tests - unset CYTHON_FORCE_REGEN - - tc-export CC - # https://github.com/cython/cython/issues/1911 - local -x CFLAGS="${CFLAGS} -fno-strict-overflow" - "${PYTHON}" runtests.py \ - -vv \ - -j "$(makeopts_jobs)" \ - --work-dir "${BUILD_DIR}"/tests \ - --no-examples \ - --no-code-style \ - || die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt ) - distutils-r1_python_install_all -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.9.ebuild deleted file mode 100644 index 3b1f0323887..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.9.ebuild +++ /dev/null @@ -1,84 +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 -PYTHON_TESTED=( python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing toolchain-funcs - -MY_P=${P/_rc/rc} -DESCRIPTION="A Python to C compiler" -HOMEPAGE=" - https://cython.org/ - https://github.com/cython/cython/ - https://pypi.org/project/Cython/ -" -SRC_URI=" - https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' "${PYTHON_TESTED[@]}") - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch" - "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch" - "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch" -) - -distutils_enable_sphinx docs \ - dev-python/jinja \ - dev-python/sphinx-issues \ - dev-python/sphinx-tabs - -python_compile() { - # Python gets confused when it is in sys.path before build. - local -x PYTHONPATH= - - distutils-r1_python_compile -} - -python_test() { - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (xfail)" - return - fi - - # Needed to avoid confusing cache tests - unset CYTHON_FORCE_REGEN - - tc-export CC - # https://github.com/cython/cython/issues/1911 - local -x CFLAGS="${CFLAGS} -fno-strict-overflow" - "${PYTHON}" runtests.py \ - -vv \ - -j "$(makeopts_jobs)" \ - --work-dir "${BUILD_DIR}"/tests \ - --no-examples \ - --no-code-style \ - || die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt ) - distutils-r1_python_install_all -} From 0583c8db135bd90fa02b56e1ea479e1894d7eeb1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:35 +0000 Subject: [PATCH 078/239] dev-python/distro: Sync with Gentoo It's from Gentoo commit efb9ee4114553383890b88840b21d125ffe39c28. --- .../portage-stable/dev-python/distro/distro-1.9.0.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild index bea87a4b1ed..6d30b2fecc9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi @@ -15,8 +15,8 @@ HOMEPAGE=" https://pypi.org/project/distro/ " -SLOT="0" LICENSE="Apache-2.0" +SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" distutils_enable_tests pytest From 8c18141a3764ca6bffc83d5ec04656315d110b8c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Jun 2024 07:12:35 +0000 Subject: [PATCH 079/239] dev-python/docutils: Sync with Gentoo It's from Gentoo commit 026ce04830608e1d96f38f680f681c4f5e80ad26. --- .../dev-python/docutils/Manifest | 3 +- .../dev-python/docutils/docutils-0.19.ebuild | 76 -- ...s-0.21.1.ebuild => docutils-0.21.2.ebuild} | 10 +- .../files/docutils-0.19-pygments-2.14.patch | 672 ------------------ .../docutils/files/docutils-0.21.1-test.patch | 42 -- 5 files changed, 3 insertions(+), 800 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/docutils/{docutils-0.21.1.ebuild => docutils-0.21.2.ebuild} (83%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest index 520c7d2dd76..c80b3785c86 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest @@ -1,3 +1,2 @@ -DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5 DIST docutils-0.20.1.tar.gz 2058365 BLAKE2B 73fb8302599ffe57b0840c898b0b2e3ccd39ff9ea6eec2b5d345d02c950e1a8357bd821e62733b0484e82bc30e71d30fab381390b0edaef4375b02bcd9eeeb40 SHA512 a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0 -DIST docutils-0.21.1.tar.gz 2201080 BLAKE2B a89792a69a7faa0eda7b2470e5e3a3d3cf8250a3577553a8f8f8d3d86d2693394e97dca6c75c1b4815748d2ce126ccd3f71dead5763ec8b70aee7be183165473 SHA512 2816fe074b12d7f15fb6730339f3af5f459f50af0cd2a4922194887f48bfd9931c2f2054a17a5418585b586502b96e05ed18600d31c523084537dc72707ab0ee +DIST docutils-0.21.2.tar.gz 2204444 BLAKE2B 727c2f97fc5835a0ffa62e38ea85af366cd89ad1eaec0b8af8b1f3b12e6cddfddb65161ba34f9109952d37ba2cf8985f3c3b6905ebb2ac1c9a984cce3fb4d170 SHA512 7fafa331f5687448e80d299c20cdccc4b49819fa471b5f586bf0ab18c694ba43a70f58e7c76b0a70a16267585548389214e11a4998ad7fdc19a27f0f7644539c diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild deleted file mode 100644 index 1bbeb19e0cb..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..12} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)" -HOMEPAGE=" - https://docutils.sourceforge.io/ - https://pypi.org/project/docutils/ -" - -LICENSE="BSD-2 GPL-3 public-domain" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" - -RDEPEND=" - dev-python/pygments[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.19-pygments-2.14.patch -) - -python_compile_all() { - # Generate html docs from reStructured text sources. - - # Place html4css1.css in base directory to ensure that the generated reference to it is correct. - cp docutils/writers/html4css1/html4css1.css . || die - - cd tools || die - "${EPYTHON}" buildhtml.py --input-encoding=utf-8 \ - --stylesheet-path=../html4css1.css, --traceback ../docs || die -} - -src_test() { - cd test || die - distutils-r1_src_test -} - -python_test() { - "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}" -} - -python_install() { - distutils-r1_python_install - - # Install tools. - python_doscript tools/{buildhtml,quicktest}.py -} - -install_txt_doc() { - local doc="${1}" - local dir="txt/$(dirname ${doc})" - docinto "${dir}" - dodoc "${doc}" -} - -python_install_all() { - local DOCS=( *.txt ) - local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css ) - - distutils-r1_python_install_all - - local doc - while IFS= read -r -d '' doc; do - install_txt_doc "${doc}" - done < <(find docs tools -name '*.txt' -print0) -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild similarity index 83% rename from sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild index 773ff8bded5..8d6d100266f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 optfeature pypi @@ -17,7 +17,7 @@ HOMEPAGE=" # GPL-3+ only for emacs/rst.el LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/pillow[${PYTHON_USEDEP}] @@ -27,11 +27,6 @@ BDEPEND=" ${RDEPEND} " -PATCHES=( - # minimal backport of upstream r9637, r9641 - "${FILESDIR}/${P}-test.patch" -) - python_compile_all() { # Generate html docs from reStructured text sources. @@ -45,7 +40,6 @@ python_compile_all() { src_test() { cd test || die - mkdir functional/output || die distutils-r1_src_test } diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch b/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch deleted file mode 100644 index 42324aa49c4..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch +++ /dev/null @@ -1,672 +0,0 @@ -https://bugs.gentoo.org/892213 -https://sourceforge.net/p/docutils/patches/201/ ---- a/test/test_parsers/test_rst/test_directives/test_code.py -+++ b/test/test_parsers/test_rst/test_directives/test_code.py -@@ -10,14 +10,20 @@ Test the 'code' directive in parsers/rst - - if __name__ == '__main__': - import __init__ # noqa: F401 -+from packaging.version import Version - from test_parsers import DocutilsTestSupport --from docutils.utils.code_analyzer import with_pygments -+from docutils.utils.code_analyzer import with_pygments, pygments_version - - - def suite(): - s = DocutilsTestSupport.ParserTestSuite() - if not with_pygments: - del(totest['code-parsing']) -+ del(totest['code-parsing-2-14']) -+ elif pygments_version >= Version('2.14.0'): -+ del(totest['code-parsing']) -+ else: -+ del(totest['code-parsing-2-14']) - s.generateTests(totest) - return s - -@@ -170,6 +176,165 @@ totest['code-parsing'] = [ - \n\ - - print -+ -+ ( -+ -+ 8 -+ -+ / -+ -+ 2 -+ -+ ) -+"""], -+["""\ -+.. code:: latex -+ :class: testclass -+ -+ hello \\emph{world} % emphasize -+""", -+"""\ -+ -+ -+ hello \n\ -+ -+ \\emph -+ -+ { -+ world -+ -+ } -+ \n\ -+ -+ % emphasize"""], -+["""\ -+.. code:: rst -+ :number-lines: -+ -+ This is a code block with text. -+""", -+"""\ -+ -+ -+ -+ 1 \n\ -+ This is a code block with text. -+"""], -+["""\ -+Code not parsed but warning silenced in ParserTestCase. -+ -+.. code:: s-lang -+ -+ % abc.sl -+ autoload("abc_mode", "abc"); -+""", -+"""\ -+ -+ -+ Code not parsed but warning silenced in ParserTestCase. -+ -+ % abc.sl -+ autoload("abc_mode", "abc"); -+"""], -+["""\ -+Place the language name in a class argument to avoid the no-lexer warning: -+ -+.. code:: -+ :class: s-lang -+ -+ % abc.sl -+ autoload("abc_mode", "abc"); -+""", -+"""\ -+ -+ -+ Place the language name in a class argument to avoid the no-lexer warning: -+ -+ % abc.sl -+ autoload("abc_mode", "abc"); -+"""], -+] -+ -+totest['code-parsing-2-14'] = [ -+["""\ -+.. code:: python3 -+ :class: testclass -+ -+ print('hello world') # to stdout -+""", -+"""\ -+ -+ -+ \n\ -+ -+ print -+ -+ ( -+ -+ 'hello world' -+ -+ ) -+ \n\ -+ -+ # to stdout -+"""], -+["""\ -+.. code:: python3 -+ :class: testclass -+ :name: my_function -+ :number-lines: 7 -+ -+ def my_function(): -+ '''Test the lexer. -+ ''' -+ -+ # and now for something completely different -+ print(8/2) -+""", -+"""\ -+ -+ -+ -+ 7 \n\ -+ -+ def -+ \n\ -+ -+ my_function -+ -+ (): -+ -+ \n\ -+ -+ 8 \n\ -+ -+ \n\ -+ -+ \'\'\'Test the lexer. -+ -+ 9 \n\ -+ -+ \'\'\' -+ -+ \n\ -+ -+ 10 \n\ -+ -+ \n\ -+ -+ 11 \n\ -+ -+ \n\ -+ -+ # and now for something completely different -+ -+ \n\ -+ -+ 12 \n\ -+ -+ \n\ -+ -+ print - - ( - ---- a/test/test_parsers/test_rst/test_directives/test_code_long.py -+++ b/test/test_parsers/test_rst/test_directives/test_code_long.py -@@ -10,15 +10,22 @@ Test the 'code' directive in body.py wit - - if __name__ == '__main__': - import __init__ # noqa: F401 -+from packaging.version import Version - from test_parsers import DocutilsTestSupport --from docutils.utils.code_analyzer import with_pygments -+from docutils.utils.code_analyzer import with_pygments, pygments_version - - - def suite(): - settings = {'syntax_highlight': 'long'} - s = DocutilsTestSupport.ParserTestSuite(suite_settings=settings) - if with_pygments: -+ if pygments_version >= Version('2.14.0'): -+ del(totest['code-parsing-long']) -+ else: -+ del(totest['code-parsing-long-2-14']) -+ - s.generateTests(totest) -+ - return s - - -@@ -73,6 +80,94 @@ totest['code-parsing-long'] = [ - \n\ - - print -+ -+ ( -+ -+ 8 -+ -+ / -+ -+ 2 -+ -+ ) -+"""], -+["""\ -+.. code:: latex -+ -+ hello \\emph{world} % emphasize -+""", -+"""\ -+ -+ -+ hello \n\ -+ -+ \\emph -+ -+ { -+ world -+ -+ } -+ \n\ -+ -+ % emphasize"""], -+] -+ -+totest['code-parsing-long-2-14'] = [ -+["""\ -+.. code:: python3 -+ :number-lines: 7 -+ -+ def my_function(): -+ '''Test the lexer. -+ ''' -+ -+ # and now for something completely different -+ print(8/2) -+""", -+"""\ -+ -+ -+ -+ 7 \n\ -+ -+ def -+ \n\ -+ -+ my_function -+ -+ (): -+ -+ \n\ -+ -+ 8 \n\ -+ -+ \n\ -+ -+ \'\'\'Test the lexer. -+ -+ 9 \n\ -+ -+ \'\'\' -+ -+ \n\ -+ -+ 10 \n\ -+ -+ \n\ -+ -+ 11 \n\ -+ -+ \n\ -+ -+ # and now for something completely different -+ -+ \n\ -+ -+ 12 \n\ -+ -+ \n\ -+ -+ print - - ( - ---- a/test/test_parsers/test_rst/test_directives/test_include.py -+++ b/test/test_parsers/test_rst/test_directives/test_include.py -@@ -10,9 +10,10 @@ Tests for misc.py "include" directive. - import os.path - if __name__ == '__main__': - import __init__ # noqa: F401 -+from packaging.version import Version - from test_parsers import DocutilsTestSupport - from docutils import parsers --from docutils.utils.code_analyzer import with_pygments -+from docutils.utils.code_analyzer import with_pygments, pygments_version - - # optional 3rd-party markdown parser - md_parser_name = 'recommonmark' -@@ -27,6 +28,11 @@ def suite(): - # eventually skip optional parts: - if not with_pygments: - del(totest['include-code']) -+ del(totest['include-code-2-14']) -+ elif pygments_version >= Version('2.14.0'): -+ del(totest['include-code']) -+ else: -+ del(totest['include-code-2-14']) - if not md_parser_class: - del(totest['include-markdown']) - s.generateTests(totest) -@@ -1191,6 +1197,313 @@ Including includes/include14.txt - - .. - \n\ -+ -+ include -+ -+ :: -+ ../sibling/include7.txt -+""" % reldir(include6)], -+["""\ -+Circular inclusion -+ -+.. include:: %s -+""" % include15, -+"""\ -+ -+ -+ Circular inclusion -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ File "include15.txt": example of rekursive inclusion. -+""" % (reldir(include16), reldir(include15), -+ reldir(include16), reldir(include15))], -+["""\ -+Circular inclusion with clipping. -+ -+.. include:: %s -+ :start-line: 2 -+""" % include16, -+"""\ -+ -+ -+ Circular inclusion with clipping. -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ No loop when clipping before the "include" directive: -+ -+ File "include15.txt": example of rekursive inclusion. -+""" % (reldir(include16), reldir(include15), reldir(include16), -+ reldir(include15), reldir(include16))], -+["""\ -+Circular inclusion with specified parser. -+ -+.. include:: %s -+ :parser: rst -+""" % include15, -+"""\ -+ -+ -+ Circular inclusion with specified parser. -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ File "include15.txt": example of rekursive inclusion. -+""" % (reldir(include16), reldir(include15), -+ reldir(include16), reldir(include15))], -+["""\ -+No circular inclusion. -+ -+============================= ============================= -+.. include:: data/include.txt .. include:: data/include.txt -+============================= ============================= -+""", -+"""\ -+ -+ -+ No circular inclusion. -+ -+ -+ -+ -+ -+ -+ -+ -+ Some include text. -+ -+ -+ Some include text."""], -+] -+ -+totest['include-code-2-14'] = [ -+["""\ -+Included code -+ -+.. include:: %s -+ :code: rst -+""" % include1, -+"""\ -+ -+ -+ Included code -+ -+ -+ Inclusion 1 -+ \n\ -+ -+ ----------- -+ \n\ -+ -+ \n\ -+ This file is used by \n\ -+ -+ ``test_include.py`` -+ . -+""" % reldir(include1)], -+["""\ -+Included code -+ -+.. include:: %s -+ :code: rst -+ :number-lines: -+""" % include1, -+"""\ -+ -+ -+ Included code -+ -+ -+ 1 \n\ -+ -+ Inclusion 1 -+ \n\ -+ -+ 2 \n\ -+ -+ ----------- -+ \n\ -+ -+ 3 \n\ -+ -+ \n\ -+ -+ 4 \n\ -+ -+ This file is used by \n\ -+ -+ ``test_include.py`` -+ . -+""" % reldir(include1)], -+["""\ -+TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+""" % include_literal, -+"""\ -+ -+ -+ TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ <- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Custom TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+ :tab-width: 2 -+""" % include_literal, -+"""\ -+ -+ -+ Custom TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ <- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Custom TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+ :tab-width: -1 -+""" % include_literal, -+"""\ -+ -+ -+ Custom TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ \t<- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Including includes/include14.txt -+ -+.. include:: %s -+""" % include14, -+"""\ -+ -+ -+ Including includes/include14.txt -+ -+ Including more/include6.txt as rst-code from includes/include14.txt: -+ -+ In includes/more/include6.txt -+ -+ \n\ -+ \n\ -+ -+ .. -+ \n\ - - include - ---- a/docutils/utils/code_analyzer.py -+++ b/docutils/utils/code_analyzer.py -@@ -9,11 +9,14 @@ - from docutils import ApplicationError - try: - import pygments -+ from packaging.version import Version - from pygments.lexers import get_lexer_by_name - from pygments.formatters.html import _get_ttype_class - with_pygments = True -+ pygments_version = Version(pygments.__version__) - except ImportError: - with_pygments = False -+ pygments_version = '0' - - # Filter the following token types from the list of class arguments: - unstyled_tokens = ['token', # Token (base token type) - - diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch b/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch deleted file mode 100644 index 507fd239c16..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/test/test_writers/test_html5_polyglot_parts.py b/test/test_writers/test_html5_polyglot_parts.py -index fb2792ee7..cb03fea2f 100644 ---- a/test/test_writers/test_html5_polyglot_parts.py -+++ b/test/test_writers/test_html5_polyglot_parts.py -@@ -24,11 +24,20 @@ if __name__ == '__main__': - - import docutils - import docutils.core -+from docutils.parsers.rst.directives.images import PIL - from docutils.utils.code_analyzer import with_pygments - - ROOT_PREFIX = (Path(__file__).parent.parent/'functional'/'input').as_posix() - DATA_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', 'data')) - -+with_pygments = False -+PIL_NOT_FOUND_PATH = 'dummy.png' -+try: -+ if PIL and (tuple(int(i) for i in PIL.__version__.split('.')) >= (10, 3)): -+ PIL_NOT_FOUND_PATH = Path('dummy.png').resolve() -+except: -+ PIL = None -+ - - class Html5WriterPublishPartsTestCase(unittest.TestCase): - """Test case for HTML writer via the publish_parts interface.""" -@@ -642,14 +651,14 @@ totest['system_messages'] = ({'stylesheet_path': '', - .. image:: dummy.mp4 - :scale: 100% - """, --{'fragment': """\ -+{'fragment': f"""\ - dummy.png - -