From d49de923da35387f0621e6fbb582fbf04fa06589 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:27 +0000 Subject: [PATCH 001/267] 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 1f97f197c69a917a871f763da3752a5e64e6aacf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:42 +0000 Subject: [PATCH 002/267] 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 1c9564b3e99c24d59e449f4f249d510e15c5318d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:43 +0000 Subject: [PATCH 003/267] app-arch/lbzip2: Sync with Gentoo It's from Gentoo commit 0c6cf4c10de3413939d7596d68190339f6727fa5. --- .../app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild index b92a6e2fff2..5c21dd52804 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ inherit autotools flag-o-matic DESCRIPTION="Parallel bzip2 utility" HOMEPAGE="https://github.com/kjn/lbzip2/" -SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.gz" +SRC_URI="mirror://gentoo/05/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" From bd0f8234c60ab5e932138c6205e7222542fe07c3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:44 +0000 Subject: [PATCH 004/267] 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 aa0711089138fe2992462032261ac13697ec6238 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:52 +0000 Subject: [PATCH 005/267] 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 9d738c129b149a26e23a7211513046535c18d477 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:53 +0000 Subject: [PATCH 006/267] app-arch/xz-utils: Sync with Gentoo It's from Gentoo commit 13df71170862582d53c6c402122e8c05b565369c. --- .../portage-stable/app-arch/xz-utils/Manifest | 6 +- .../app-arch/xz-utils/xz-utils-5.4.2.ebuild | 2 +- ...4.6-r1.ebuild => xz-utils-5.4.7-r1.ebuild} | 23 +- .../xz-utils/xz-utils-5.6.2-r1.ebuild | 203 ++++++++++++++++++ .../app-arch/xz-utils/xz-utils-9999.ebuild | 62 ++++-- 5 files changed, 270 insertions(+), 26 deletions(-) rename sdk_container/src/third_party/portage-stable/app-arch/xz-utils/{xz-utils-5.4.6-r1.ebuild => xz-utils-5.4.7-r1.ebuild} (79%) create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.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.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild similarity index 79% 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-r1.ebuild index 50f09f3d341..2b5beefd93f 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-r1.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() { @@ -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) @@ -123,6 +127,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 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..81f46758676 --- /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 (and bug #934515) + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then + eerror "Sanity check for liblzma$(get_libname) failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting" + fi +} + +multilib_src_install_all() { + 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..329b5b8e219 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,18 @@ 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 '' - '-9e' - '--x86 --lzma2=preset=9e' + '-e' + "$(usev extra-filters '--x86 --lzma2=preset=6e')" ) local test_variant for test_variant in "${test_variants[@]}" ; do + einfo "Testing '${test_variant}' variant" "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null assert "Testing '${test_variant}' variant failed" done @@ -162,6 +175,17 @@ multilib_src_compile() { fi } +multilib_src_install() { + default + + # bug #934370 and bug #450436 (and bug #934515) + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then + eerror "Sanity check for liblzma$(get_libname) failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting" + fi +} + multilib_src_install_all() { find "${ED}" -type f -name '*.la' -delete || die From e093e359a2574474e13b4ab5cf4338bf9b14a687 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:53 +0000 Subject: [PATCH 007/267] 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 812e36d42cc30551523923e8a93ad3eaffc67dc4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:53 +0000 Subject: [PATCH 008/267] 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 f8630cf9564a58b4c5a2977626e3629d3bac1549 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:54 +0000 Subject: [PATCH 009/267] 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 376cdd7481681cd2605f771e6e8b4ae30e4cd8dc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:55 +0000 Subject: [PATCH 010/267] app-containers/docker: Sync with Gentoo It's from Gentoo commit 2adeb45281293dbfccde143f29b4916ec6366edb. --- .../app-containers/docker/Manifest | 7 +- .../docker/docker-24.0.5.ebuild | 330 ----------------- .../docker/docker-24.0.6.ebuild | 331 ------------------ .../docker/docker-24.0.7.ebuild | 331 ------------------ ...-25.0.4.ebuild => docker-26.1.0-r1.ebuild} | 18 +- ...ker-25.0.1.ebuild => docker-27.0.3.ebuild} | 20 +- .../docker-26.1.0-automagic-systemd.patch | 13 + .../app-containers/docker/metadata.xml | 4 - 8 files changed, 38 insertions(+), 1016 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.6.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/docker/{docker-25.0.4.ebuild => docker-26.1.0-r1.ebuild} (93%) rename sdk_container/src/third_party/portage-stable/app-containers/docker/{docker-25.0.1.ebuild => docker-27.0.3.ebuild} (93%) 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..b3bdda45985 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 @@ -1,5 +1,2 @@ -DIST docker-24.0.5.tar.gz 14456089 BLAKE2B be13a4256787152cb35ddb96d80e97a5e5b587094f1c61d18158737a037c4e81b88c186098ba7416eb7778022ece07bc31ee55af13d3e3da8e0bbd5452ad027f SHA512 cde2e47e7658b153399ee29154ec21eebf54b292185e07d43b968895dcfdfead95e4507fefb713859a4540f21d8007116d3ebeaa1fb7ba305fb2a0449ba1bee6 -DIST docker-24.0.6.tar.gz 14462378 BLAKE2B bced8e687abac59254a9969df46f323a835627a724889e5966bea08df8766b4291914442001d1b573280c45ac4d357a673e98e8fba2b8d116a1dbd65424ccf78 SHA512 d9bf0ba756b1ebe69a44819d7c6aa5d66dad8db5bcc41233e2bfce8131334a2fe1af3972de7f602b7911231288d29aaea797b7a05b335c2d7214a613b27c4b63 -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 +DIST docker-27.0.3.tar.gz 16523895 BLAKE2B a86b2bf7ed85216f6a033a2fdb6cb0d545822570463b6b5f218052bf8e9ca3dde0e15ba4872da6370502a985e84ce704f810386b806e7dfb9d40d6d7b497d629 SHA512 bff7084f1bbe7fd6e4241d7172d3445b8ea36ef68ec5ee429a8ee27e1dfa81c1810d8ce07cb4c77f78037725c53d1de565e587d7f96994a653a09ce33e9bc344 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.ebuild deleted file mode 100644 index ac578996d43..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.5.ebuild +++ /dev/null @@ -1,330 +0,0 @@ -# Copyright 1999-2023 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 linux-info systemd udev golang-vcs-snapshot -GIT_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5 - -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 device-mapper overlay seccomp selinux" - -DEPEND=" - acct-group/docker - >=dev-db/sqlite-3.7.9:3 - apparmor? ( sys-libs/libapparmor ) - btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) - device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) - seccomp? ( >=sys-libs/libseccomp-2.2.1 ) -" - -# 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 - dev-libs/libltdl - >=app-containers/containerd-1.7.1[apparmor?,btrfs?,device-mapper?,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" -) - -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 - - if use device-mapper; then - CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING - " - fi - - CONFIG_CHECK+=" - ~OVERLAY_FS - " - - linux-info_pkg_setup -} - -src_compile() { - export DOCKER_GITCOMMIT="${GIT_COMMIT}" - export GOPATH="${WORKDIR}/${P}" - export VERSION=${PV} - - # 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 device-mapper 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 - - # 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 device-mapper; then - elog " Devicemapper storage driver has been deprecated" - elog " It will be removed in a future release" - elog - fi - - 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/docker-24.0.6.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.6.ebuild deleted file mode 100644 index 6a8cc58fd1f..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.6.ebuild +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright 1999-2023 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 linux-info systemd udev golang-vcs-snapshot -GIT_COMMIT=1a7969545d73537545645f5cd2c79b7a77e7d39f - -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 device-mapper overlay seccomp selinux" - -DEPEND=" - acct-group/docker - >=dev-db/sqlite-3.7.9:3 - apparmor? ( sys-libs/libapparmor ) - btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) - device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) - seccomp? ( >=sys-libs/libseccomp-2.2.1 ) -" - -# 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 - dev-libs/libltdl - >=app-containers/containerd-1.7.3[apparmor?,btrfs?,device-mapper?,seccomp?] - >=app-containers/runc-1.1.9[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" -) - -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 - - if use device-mapper; then - CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING - " - fi - - CONFIG_CHECK+=" - ~OVERLAY_FS - " - - linux-info_pkg_setup -} - -src_compile() { - export DOCKER_GITCOMMIT="${GIT_COMMIT}" - export GOPATH="${WORKDIR}/${P}" - export VERSION=${PV} - - # 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 device-mapper 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 - - # 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 device-mapper; then - elog " Devicemapper storage driver has been deprecated" - elog " It will be removed in a future release" - elog - fi - - 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/docker-24.0.7.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild deleted file mode 100644 index 14dddd2aafd..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-24.0.7.ebuild +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright 1999-2023 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 linux-info systemd udev golang-vcs-snapshot -GIT_COMMIT=311b9ff0aa93aa55880e1e5f8871c4fb69583426 - -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 device-mapper overlay seccomp selinux" - -DEPEND=" - acct-group/docker - >=dev-db/sqlite-3.7.9:3 - apparmor? ( sys-libs/libapparmor ) - btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) - device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) - seccomp? ( >=sys-libs/libseccomp-2.2.1 ) -" - -# 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 - dev-libs/libltdl - >=app-containers/containerd-1.7.3[apparmor?,btrfs?,device-mapper?,seccomp?] - >=app-containers/runc-1.1.9[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" -) - -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 - - if use device-mapper; then - CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING - " - fi - - CONFIG_CHECK+=" - ~OVERLAY_FS - " - - linux-info_pkg_setup -} - -src_compile() { - export DOCKER_GITCOMMIT="${GIT_COMMIT}" - export GOPATH="${WORKDIR}/${P}" - export VERSION=${PV} - - # 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 device-mapper 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 - - # 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 device-mapper; then - elog " Devicemapper storage driver has been deprecated" - elog " It will be removed in a future release" - elog - fi - - 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/docker-25.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/app-containers/docker/docker-25.0.4.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild index 739506d1d06..980c31950f3 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-25.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-26.1.0-r1.ebuild @@ -4,7 +4,7 @@ EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -inherit linux-info systemd udev golang-vcs-snapshot +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" @@ -13,8 +13,8 @@ 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" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" +IUSE="apparmor btrfs +container-init overlay seccomp selinux systemd" DEPEND=" acct-group/docker @@ -22,6 +22,7 @@ DEPEND=" 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 @@ -32,8 +33,7 @@ RDEPEND=" sys-process/procps >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 - dev-libs/libltdl - >=app-containers/containerd-1.7.12[apparmor?,btrfs?,seccomp?] + >=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] ) @@ -54,6 +54,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-26.1.0-automagic-systemd.patch" ) pkg_setup() { @@ -237,11 +238,12 @@ 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)" + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" # let's set up some optional features :) export DOCKER_BUILDTAGS='' @@ -257,6 +259,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-25.0.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.0.3.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/app-containers/docker/docker-25.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.0.3.ebuild index 92c7e31beb2..14960218fa6 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-25.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.0.3.ebuild @@ -4,8 +4,8 @@ EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -inherit linux-info systemd udev golang-vcs-snapshot -GIT_COMMIT=71fa3ab079ec13d17257f86fa92db8d7f24802f1 +inherit golang-vcs-snapshot linux-info systemd udev +GIT_COMMIT=662f78c0b1bb5114172427cfcb40491d73159be2 DESCRIPTION="The core functions you need to create Docker images and run Docker containers" HOMEPAGE="https://www.docker.com/" @@ -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 overlay seccomp selinux" +IUSE="apparmor btrfs +container-init overlay seccomp selinux systemd" DEPEND=" acct-group/docker @@ -22,6 +22,7 @@ DEPEND=" 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 @@ -32,9 +33,8 @@ RDEPEND=" sys-process/procps >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 - dev-libs/libltdl - >=app-containers/containerd-1.7.3[apparmor?,btrfs?,seccomp?] - >=app-containers/runc-1.1.9[apparmor?,seccomp?] + >=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 ) @@ -54,6 +54,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-26.1.0-automagic-systemd.patch" ) pkg_setup() { @@ -237,11 +238,12 @@ 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)" + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" # let's set up some optional features :) export DOCKER_BUILDTAGS='' @@ -257,6 +259,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/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 + diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/metadata.xml b/sdk_container/src/third_party/portage-stable/app-containers/docker/metadata.xml index 5c680bb1005..63036f19e3e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/metadata.xml @@ -21,10 +21,6 @@ Makes the a staticly-linked init system tini available inside a container. - - Enables dependencies for the "devicemapper" graph driver, including - necessary kernel flags. - Enables dependencies for the "overlay" graph driver, including necessary kernel flags. From e8dc4936155b2d408193bdb45961de275f1a455e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:11:56 +0000 Subject: [PATCH 011/267] app-containers/docker-cli: Sync with Gentoo It's from Gentoo commit dc9b287cdacc715345d5ff16c2bded71014653a1. --- .../app-containers/docker-cli/Manifest | 14 ++-- .../docker-cli/docker-cli-24.0.6.ebuild | 70 ------------------- .../docker-cli/docker-cli-24.0.7.ebuild | 70 ------------------- .../docker-cli/docker-cli-25.0.1.ebuild | 70 ------------------- ...24.0.5.ebuild => docker-cli-26.1.0.ebuild} | 10 +-- ...25.0.4.ebuild => docker-cli-27.0.3.ebuild} | 8 ++- 6 files changed, 15 insertions(+), 227 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-24.0.6.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-24.0.7.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-25.0.1.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/docker-cli/{docker-cli-24.0.5.ebuild => docker-cli-26.1.0.ebuild} (90%) rename sdk_container/src/third_party/portage-stable/app-containers/docker-cli/{docker-cli-25.0.4.ebuild => docker-cli-27.0.3.ebuild} (92%) 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..437b422f3d0 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 @@ -1,10 +1,4 @@ -DIST docker-cli-24.0.5-man.tar.xz 82496 BLAKE2B f3295b684dbf8d251ba13a19b9bad9b828fce7d2f76b6643b1cf579cd297b770e8f7304bd3fce823badfbe97e9b760a108b819ca3c760a55e352cf3c5235d815 SHA512 683b0f131902e0a57512207daa49534d73aac6db99dc8621ac6b48eeef26b873e2ba03fe4afe6f1e84c5922e4c60bf0e80e24cc95cdbf2a4953d1c11b80d56ad -DIST docker-cli-24.0.5.tar.gz 6243993 BLAKE2B a7ce84ecf329bc74e48f3a6e1b12a9e310a8f27ac68918ffeb40ab9c4eab8b79e753265b48220fcd3ab40b4136de5ebd44607831f642664eaf732111bd8f41b1 SHA512 765c67634d91d248b156d3e407398b98b7a0a89507bbac0310d4a68b95aa1a05e3af43c8b90bc10166748749d8cc36670619fc9efca110beefbdcd4385dc96be -DIST docker-cli-24.0.6-man.tar.xz 82600 BLAKE2B 9e39bf200d252a0d91b0b6f17680a4c1b34e55cc9f357a59f124138cef39c5ff10fb104c51efe3010bca9a4f72447764ced1c02e3bb3924051fa6f1f01a8f6fa SHA512 5e972647961899e438b765f53afff570b9f0c1742c7c72a3a424887719c3a6afbd467d15884d44ac64b752c984261967f304afa5c168466fe6f611967d18a578 -DIST docker-cli-24.0.6.tar.gz 6244014 BLAKE2B c5f2082e44a568d3f6ee2ff5df9e9b727808f0b70d7d0c6c18b9769c1c4d0f49d371cbd08c95e748d441dc0ef011b66446527b0eeb33368ee59b85496185ba12 SHA512 55c56ae08eb314cce5f4c93544c6748586eadb3abe502d39d4d297e14d274af37346b38695a20a91dcfe51d3d35a77ddd7aa69d170b525e5e6ba345161869cd8 -DIST docker-cli-24.0.7-man.tar.xz 82228 BLAKE2B 7fbf114a724157243c78de9ae03b5d0b1237c5b506cd44edd7a28ffc13609a36b7acf66a25e1eff9f60966e48346d97e70f946cca9301f27fd0355db53a1994d SHA512 af2075e3c731c7e0da4941f4baf35e798f87d1e1f3fa09e85b27a4bcadfd767074af2acaff1fd919d8af2a89ed6d49daefcc0811342d1757886db7a28d1252f2 -DIST docker-cli-24.0.7.tar.gz 6451010 BLAKE2B de047f55ce388c09ec33492f470daf87c6f2d1651b0cd839634183494fba4065506661d2d15aac0dc076d005426411f4099ba8e8d95ea2c7247bb114a00f4eef SHA512 b4811e4ecaf1f17e5a53ee4fb34affab79545d87a1662b0f915efb28108989128f8bbf165c4aed111fcb0c851f7ec7d9137eb0f31447d698b058ff4200dba18d -DIST docker-cli-25.0.1-man.tar.xz 78920 BLAKE2B a4b483e7d3b5c5a70d834a49ca04cd94f76745a8666bbbbbb7aabe9bae887e84b7511e18c455aa213a68d116e3c9bd9652bc5a7afb032e102213d41cc3b7450f SHA512 7a5b676ee9618d0c8d0f3c5690d5d9999dc5a28ba0aa5c41c9da0d1c99da2878502d055e9e8dad71674a84deaffeb07c28a4ac89941c972909fa455447e3c2bc -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 +DIST docker-cli-27.0.3-man.tar.xz 79132 BLAKE2B e2c9082c964333ebd221056308f01dd64437a46abdf2be6e4e6dba798a89d04a1dfcc15378f5730140edad8e4235f0c3cc735a0be2efc73b9743174f1cf0d6ae SHA512 966764bfbba457dfed10caebd6509ff3aa452c3b3b9382a321d0dacba62fa13ba494c1561bf95651f92c59084f79cd4b300e10b4d2185edcaaaae1e1e914d5b2 +DIST docker-cli-27.0.3.tar.gz 7107193 BLAKE2B cb00392d5afac1503ed07a9462f3d311fc3f3a5ef6d51c7c49995d8cb234a3b7a3c838fc486cc1fa0b1406774f82c2c1ef7c7b041e398be555c7e030e40f490c SHA512 0f7b0ae0f92f8f91b8141292ee8a86a40f4da18d96772c9107d295a30fe06be08b1673da3a49e9c2d3fd67d55f41696b732451b44aecc863fdd4c55578c201db diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-24.0.6.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-24.0.6.ebuild deleted file mode 100644 index bb48e683d96..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-24.0.6.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -GIT_COMMIT=ed223bc820 -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, 8 Jul 2024 07:11:56 +0000 Subject: [PATCH 012/267] app-containers/runc: Sync with Gentoo It's from Gentoo commit cbd4158ebd536bc92d1d28878ed12eee1fbea357. --- .../app-containers/runc/Manifest | 2 - .../app-containers/runc/runc-1.1.12.ebuild | 6 +- .../app-containers/runc/runc-1.1.7.ebuild | 78 ------------------- .../app-containers/runc/runc-1.1.9.ebuild | 78 ------------------- 4 files changed, 3 insertions(+), 161 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.7.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.9.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest index acb6c17123e..54fafe76f95 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest @@ -1,3 +1 @@ DIST runc-1.1.12.tar.gz 2522196 BLAKE2B 14fe8d5f82d5b4d7f6b4bb9111c5d258e74f6a44aeb51fc87c69104e95b9bf24a3d503f4cc5dedb40d542fbd4b6e27273f456bda4fcf3bc298eb93ae292d9663 SHA512 92e8ac54a77d7ebcc76b5a9cc08d9a064211f12e9d26f064070cc203a5afb11c3af28d8f556f297513f797a2933d50bf10a8f22e307724041d66aa8c5ca1d9d3 -DIST runc-1.1.7.tar.gz 2511464 BLAKE2B 63f09052659636b62185abbb178f7e104d22125190899e80e71ed2ba35567eb855abf786d3c7fff3dd9a1ab43ee282fcaecb6650cd8a1ce49c05acefd7c12cde SHA512 e3a18f04ac2c3553a815074ca64e04cfd71af54d78edbd4a13819f187476f96d7311c23bb63fb5c311b91865db4540985a6f9daa84819b0bac5f023b3b2a832c -DIST runc-1.1.9.tar.gz 2512231 BLAKE2B 4e8e2a454231492f83de34bf66ba25a02b8925b6ef0af2206cdf4ab3299173d3452cea4d51fcfeb02026df288dd8ca6c44ecd35fb075f25f56fd7bc07f873af7 SHA512 020986f2df49c45394d0acbfa4da62663353004550d9b4409f6cfe8369972a090fb8020e4a05342754bde5c1fbe9fcf3868faed2dceed5d54460c3373cdd2278 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..ed23ef215d7 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 )" @@ -42,8 +42,8 @@ S="${WORKDIR}/${PN}-${MY_PV}" src_compile() { # Taken from app-containers/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ESYSROOT}/usr/include" - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" $(usex hardened '-fno-PIC ' '') -L${ESYSROOT}/usr/$(get_libdir)" # build up optional flags diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.7.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.7.ebuild deleted file mode 100644 index 01b66cb3480..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.7.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module linux-info - -# update on bump, look for https://github.com/docker\ -# docker-ce/blob//components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5 -CONFIG_CHECK="~USER_NS" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="http://github.com/opencontainers/runc/" -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor hardened +kmem +seccomp selinux test" - -DEPEND="seccomp? ( sys-libs/libseccomp )" - -RDEPEND=" - ${DEPEND} - !app-emulation/docker-runc - apparmor? ( sys-libs/libapparmor ) - selinux? ( sec-policy/selinux-container ) -" - -BDEPEND=" - dev-go/go-md2man - test? ( "${RDEPEND}" ) -" - -# tests need busybox binary, and portage namespace -# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox -# majority of tests pass -RESTRICT+=" test" - -S="${WORKDIR}/${PN}-${MY_PV}" - -src_compile() { - # Taken from app-containers/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ESYSROOT}/usr/include" - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') - -L${ESYSROOT}/usr/$(get_libdir)" - - # build up optional flags - local options=( - $(usev apparmor) - $(usev seccomp) - $(usex kmem '' 'nokmem') - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - COMMIT="${RUNC_COMMIT}" - ) - - emake "${myemakeargs[@]}" runc man -} - -src_install() { - myemakeargs+=( - PREFIX="${ED}/usr" - BINDIR="${ED}/usr/bin" - MANDIR="${ED}/usr/share/man" - ) - emake "${myemakeargs[@]}" install install-man install-bash - - local DOCS=( README.md PRINCIPLES.md docs/. ) - einstalldocs -} - -src_test() { - emake "${myemakeargs[@]}" localunittest -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.9.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.9.ebuild deleted file mode 100644 index 3d579618640..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.1.9.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module linux-info - -# update on bump, look for https://github.com/docker\ -# docker-ce/blob//components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=ccaecfcbc907d70a7aa870a6650887b901b25b82 -CONFIG_CHECK="~USER_NS" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="http://github.com/opencontainers/runc/" -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor hardened +kmem +seccomp selinux test" - -DEPEND="seccomp? ( sys-libs/libseccomp )" - -RDEPEND=" - ${DEPEND} - !app-emulation/docker-runc - apparmor? ( sys-libs/libapparmor ) - selinux? ( sec-policy/selinux-container ) -" - -BDEPEND=" - dev-go/go-md2man - test? ( "${RDEPEND}" ) -" - -# tests need busybox binary, and portage namespace -# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox -# majority of tests pass -RESTRICT+=" test" - -S="${WORKDIR}/${PN}-${MY_PV}" - -src_compile() { - # Taken from app-containers/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ESYSROOT}/usr/include" - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') - -L${ESYSROOT}/usr/$(get_libdir)" - - # build up optional flags - local options=( - $(usev apparmor) - $(usev seccomp) - $(usex kmem '' 'nokmem') - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - COMMIT="${RUNC_COMMIT}" - ) - - emake "${myemakeargs[@]}" runc man -} - -src_install() { - myemakeargs+=( - PREFIX="${ED}/usr" - BINDIR="${ED}/usr/bin" - MANDIR="${ED}/usr/share/man" - ) - emake "${myemakeargs[@]}" install install-man install-bash - - local DOCS=( README.md PRINCIPLES.md docs/. ) - einstalldocs -} - -src_test() { - emake "${myemakeargs[@]}" localunittest -} From cb82b5ff1e1445d92bb405ce9f1cac25abf009ba Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:01 +0000 Subject: [PATCH 013/267] 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 142990070b49c81220082031ca6d5af826fed936 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:03 +0000 Subject: [PATCH 014/267] app-crypt/gnupg: Sync with Gentoo It's from Gentoo commit c8202ae0645d8114c54bdf74e57e1151a2826390. --- .../portage-stable/app-crypt/gnupg/Manifest | 6 +- .../files/gnupg-2.4.4-dirmngr-proxy.patch | 202 ------------------ .../files/gnupg-2.4.5-revert-rfc4880bis.patch | 196 +++++++++++++++++ ....2.42-r3.ebuild => gnupg-2.2.42-r4.ebuild} | 2 +- ....2.42-r2.ebuild => gnupg-2.2.43-r1.ebuild} | 7 +- ...-2.4.4-r1.ebuild => gnupg-2.4.5-r1.ebuild} | 3 +- ...upg-2.4.5.ebuild => gnupg-2.4.5-r2.ebuild} | 3 +- 7 files changed, 206 insertions(+), 213 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.4-dirmngr-proxy.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch rename sdk_container/src/third_party/portage-stable/app-crypt/gnupg/{gnupg-2.2.42-r3.ebuild => gnupg-2.2.42-r4.ebuild} (99%) rename sdk_container/src/third_party/portage-stable/app-crypt/gnupg/{gnupg-2.2.42-r2.ebuild => gnupg-2.2.43-r1.ebuild} (95%) rename sdk_container/src/third_party/portage-stable/app-crypt/gnupg/{gnupg-2.4.4-r1.ebuild => gnupg-2.4.5-r1.ebuild} (98%) rename sdk_container/src/third_party/portage-stable/app-crypt/gnupg/{gnupg-2.4.5.ebuild => gnupg-2.4.5-r2.ebuild} (98%) 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..59f7652f5ad 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,6 +1,6 @@ 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.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.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.5.tar.bz2 7889060 BLAKE2B a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b18358c962781b5c06de1545117b13038a4655ae627c36bfd2e5fee127692df8729d6b23e1b31051ab6d897b733 SHA512 4d54744f09399c5899144d0cb5fdc2756e45b058db41b9ea9df3be03e80b914509e16ef35aa0248e7561185b80f7a5f9fd6afcab8ccff75ff82ed555448a38ff -DIST gnupg-2.4.5.tar.bz2.sig 119 BLAKE2B f37fb5620bc009a5b935ac75df4235d377da4f052115c3c22c8d0887e9b21df6ea3059ac510eb2b555d825c2294e1c3ee44c86ecb371c6444a4645ca5a5c265a SHA512 53be0db371a98c930cbef9c844adcd06a8049d84dd71508f6f7427fc1736b374912c85ebf3a415748651260f65cf26f633697f4bdae2cc4a8d2c4b522db0bc71 +DIST gnupg-2.4.5.tar.bz2.sig 238 BLAKE2B b236e7d62f49c8385f4fb81389bf10715d9c0a0cb5c0b4c20fb6ff1465d05a3c3657061284db23af988a1ca16c9fa393af3ce5cbd27934501eb41a4f448fff0a SHA512 5a06970e499d1eb5213b142a8a182e46f5f21b7cb32785a9e5069378797c124e151ce74727382003820042d60fd7a2f909143f44aa9ef282605875e1cab04aef diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.4-dirmngr-proxy.patch b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.4-dirmngr-proxy.patch deleted file mode 100644 index 686a3aadc8d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.4-dirmngr-proxy.patch +++ /dev/null @@ -1,202 +0,0 @@ -https://bugs.gentoo.org/924606 -https://dev.gnupg.org/T6997 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=04cbc3074aa98660b513a80f623a7e9f0702c7c9 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=848546b05ab0ff6abd47724ecfab73bf32dd4c01 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=2810b934647edd483996bee1f5f9256a162b2705 - -From 6236978d78886cbb476ed9fbc49ff99c7582b2d7 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Thu, 15 Feb 2024 15:38:34 +0900 -Subject: [PATCH 1/3] dirmngr: Fix proxy with TLS. - -* dirmngr/http.c (proxy_get_token, run_proxy_connect): Always -available regardless of USE_TLS. -(run_proxy_connect): Use log_debug_string. -(send_request): Remove USE_TLS. - --- - -Since the commit of - - 1009e4e5f71347a1fe194e59a9d88c8034a67016 - -Building with TLS library is mandatory. - -GnuPG-bug-id: 6997 -Signed-off-by: NIIBE Yutaka ---- - dirmngr/http.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/dirmngr/http.c b/dirmngr/http.c -index 4899a5d55..10eecfdb0 100644 ---- a/dirmngr/http.c -+++ b/dirmngr/http.c -@@ -2362,7 +2362,6 @@ run_gnutls_handshake (http_t hd, const char *server) - * NULL, decode the string and use this as input from teh server. On - * success the final output token is stored at PROXY->OUTTOKEN and - * OUTTOKLEN. IF the authentication succeeded OUTTOKLEN is zero. */ --#ifdef USE_TLS - static gpg_error_t - proxy_get_token (proxy_info_t proxy, const char *inputstring) - { -@@ -2530,11 +2529,9 @@ proxy_get_token (proxy_info_t proxy, const char *inputstring) - - #endif /*!HAVE_W32_SYSTEM*/ - } --#endif /*USE_TLS*/ - - - /* Use the CONNECT method to proxy our TLS stream. */ --#ifdef USE_TLS - static gpg_error_t - run_proxy_connect (http_t hd, proxy_info_t proxy, - const char *httphost, const char *server, -@@ -2586,7 +2583,7 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - hd->keep_alive = !auth_basic; /* We may need to send more requests. */ - - if (opt_debug || (hd->flags & HTTP_FLAG_LOG_RESP)) -- log_debug_with_string (request, "http.c:proxy:request:"); -+ log_debug_string (request, "http.c:proxy:request:"); - - if (!hd->fp_write) - { -@@ -2743,7 +2740,6 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - xfree (tmpstr); - return err; - } --#endif /*USE_TLS*/ - - - /* Make a request string using a standard proxy. On success the -@@ -2903,7 +2899,6 @@ send_request (ctrl_t ctrl, - goto leave; - } - --#if USE_TLS - if (use_http_proxy && hd->uri->use_tls) - { - err = run_proxy_connect (hd, proxy, httphost, server, port); -@@ -2915,7 +2910,6 @@ send_request (ctrl_t ctrl, - * clear the flag to indicate this. */ - use_http_proxy = 0; - } --#endif /* USE_TLS */ - - #if HTTP_USE_NTBTLS - err = run_ntbtls_handshake (hd); --- -2.43.2 - -From 68650eb6999e674fd2f1c78f47b68d3cd1d37ff0 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Fri, 16 Feb 2024 11:31:37 +0900 -Subject: [PATCH 2/3] dirmngr: Fix the regression of use of proxy for TLS - connection. - -* dirmngr/http.c (run_proxy_connect): Don't set keep_alive, since it -causes resource leak of FP_WRITE. -Don't try to read response body to fix the hang. - --- - -GnuPG-bug-id: 6997 -Signed-off-by: NIIBE Yutaka ---- - dirmngr/http.c | 14 ++------------ - 1 file changed, 2 insertions(+), 12 deletions(-) - -diff --git a/dirmngr/http.c b/dirmngr/http.c -index 10eecfdb0..7ce01bacd 100644 ---- a/dirmngr/http.c -+++ b/dirmngr/http.c -@@ -2553,6 +2553,7 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - * RFC-4559 - SPNEGO-based Kerberos and NTLM HTTP Authentication - */ - auth_basic = !!proxy->uri->auth; -+ hd->keep_alive = 0; - - /* For basic authentication we need to send just one request. */ - if (auth_basic -@@ -2574,13 +2575,12 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - httphost ? httphost : server, - port, - authhdr ? authhdr : "", -- auth_basic? "" : "Connection: keep-alive\r\n"); -+ hd->keep_alive? "Connection: keep-alive\r\n" : ""); - if (!request) - { - err = gpg_error_from_syserror (); - goto leave; - } -- hd->keep_alive = !auth_basic; /* We may need to send more requests. */ - - if (opt_debug || (hd->flags & HTTP_FLAG_LOG_RESP)) - log_debug_string (request, "http.c:proxy:request:"); -@@ -2607,16 +2607,6 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - if (err) - goto leave; - -- { -- unsigned long count = 0; -- -- while (es_getc (hd->fp_read) != EOF) -- count++; -- if (opt_debug) -- log_debug ("http.c:proxy_connect: skipped %lu bytes of response-body\n", -- count); -- } -- - /* Reset state. */ - es_clearerr (hd->fp_read); - ((cookie_t)(hd->read_cookie))->up_to_empty_line = 1; --- -2.43.2 - -From 7c7cbd94549d08780fc3767d6de8336b3f44e7d7 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Fri, 16 Feb 2024 16:24:26 +0900 -Subject: [PATCH 3/3] dirmngr: Fix keep-alive flag handling. - -* dirmngr/http.c (run_proxy_connect): Set KEEP_ALIVE if not Basic -Authentication. Fix resource leak of FP_WRITE. - --- - -GnuPG-bug-id: 6997 -Signed-off-by: NIIBE Yutaka ---- - dirmngr/http.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/dirmngr/http.c b/dirmngr/http.c -index 7ce01bacd..da0c89ae5 100644 ---- a/dirmngr/http.c -+++ b/dirmngr/http.c -@@ -2553,7 +2553,7 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - * RFC-4559 - SPNEGO-based Kerberos and NTLM HTTP Authentication - */ - auth_basic = !!proxy->uri->auth; -- hd->keep_alive = 0; -+ hd->keep_alive = !auth_basic; /* We may need to send more requests. */ - - /* For basic authentication we need to send just one request. */ - if (auth_basic -@@ -2717,6 +2717,14 @@ run_proxy_connect (http_t hd, proxy_info_t proxy, - } - - leave: -+ if (hd->keep_alive) -+ { -+ es_fclose (hd->fp_write); -+ hd->fp_write = NULL; -+ /* The close has released the cookie and thus we better set it -+ * to NULL. */ -+ hd->write_cookie = NULL; -+ } - /* Restore flags, destroy stream, reset state. */ - hd->flags = saved_flags; - es_fclose (hd->fp_read); --- -2.43.2 - diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch new file mode 100644 index 00000000000..57c00966d54 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.5-revert-rfc4880bis.patch @@ -0,0 +1,196 @@ +https://lwn.net/Articles/953797/ +https://security.stackexchange.com/questions/275883/should-one-really-disable-aead-for-recent-gnupg-created-pgp-keys +https://lists.gnupg.org/pipermail/librepgp-discuss/2023/000001.html +https://bugs.gentoo.org/926186 + +From 1e4f1550996334d2a631a5d769e937d29ace47bb Mon Sep 17 00:00:00 2001 +From: Jakub Jelen +Date: Thu, 9 Feb 2023 16:38:58 +0100 +Subject: [PATCH gnupg] Revert the introduction of the RFC4880bis draft into + defaults + +This reverts commit 4583f4fe2 (gpg: Merge --rfc4880bis features into +--gnupg, 2022-10-31). +--- a/g10/gpg.c ++++ b/g10/gpg.c +@@ -247,6 +247,7 @@ enum cmd_and_opt_values + oGnuPG, + oRFC2440, + oRFC4880, ++ oRFC4880bis, + oOpenPGP, + oPGP7, + oPGP8, +@@ -636,6 +637,7 @@ static gpgrt_opt_t opts[] = { + ARGPARSE_s_n (oGnuPG, "no-pgp8", "@"), + ARGPARSE_s_n (oRFC2440, "rfc2440", "@"), + ARGPARSE_s_n (oRFC4880, "rfc4880", "@"), ++ ARGPARSE_s_n (oRFC4880bis, "rfc4880bis", "@"), + ARGPARSE_s_n (oOpenPGP, "openpgp", N_("use strict OpenPGP behavior")), + ARGPARSE_s_n (oPGP7, "pgp6", "@"), + ARGPARSE_s_n (oPGP7, "pgp7", "@"), +@@ -978,7 +980,6 @@ static gpgrt_opt_t opts[] = { + ARGPARSE_s_n (oNoop, "no-allow-multiple-messages", "@"), + ARGPARSE_s_s (oNoop, "aead-algo", "@"), + ARGPARSE_s_s (oNoop, "personal-aead-preferences","@"), +- ARGPARSE_s_n (oNoop, "rfc4880bis", "@"), + ARGPARSE_s_n (oNoop, "override-compliance-check", "@"), + + +@@ -2227,7 +2228,7 @@ static struct gnupg_compliance_option compliance_options[] = + { + { "gnupg", oGnuPG }, + { "openpgp", oOpenPGP }, +- { "rfc4880bis", oGnuPG }, ++ { "rfc4880bis", oRFC4880bis }, + { "rfc4880", oRFC4880 }, + { "rfc2440", oRFC2440 }, + { "pgp6", oPGP7 }, +@@ -2243,8 +2244,28 @@ static struct gnupg_compliance_option compliance_options[] = + static void + set_compliance_option (enum cmd_and_opt_values option) + { ++ opt.flags.rfc4880bis = 0; /* Clear because it is initially set. */ ++ + switch (option) + { ++ case oRFC4880bis: ++ opt.flags.rfc4880bis = 1; ++ opt.compliance = CO_RFC4880; ++ opt.flags.dsa2 = 1; ++ opt.flags.require_cross_cert = 1; ++ opt.rfc2440_text = 0; ++ opt.allow_non_selfsigned_uid = 1; ++ opt.allow_freeform_uid = 1; ++ opt.escape_from = 1; ++ opt.not_dash_escaped = 0; ++ opt.def_cipher_algo = 0; ++ opt.def_digest_algo = 0; ++ opt.cert_digest_algo = 0; ++ opt.compress_algo = -1; ++ opt.s2k_mode = 3; /* iterated+salted */ ++ opt.s2k_digest_algo = DIGEST_ALGO_SHA256; ++ opt.s2k_cipher_algo = CIPHER_ALGO_AES256; ++ break; + case oOpenPGP: + case oRFC4880: + /* This is effectively the same as RFC2440, but with +@@ -2288,6 +2309,7 @@ set_compliance_option (enum cmd_and_opt_values option) + case oPGP8: opt.compliance = CO_PGP8; break; + case oGnuPG: + opt.compliance = CO_GNUPG; ++ opt.flags.rfc4880bis = 1; + break; + + case oDE_VS: +@@ -2491,6 +2513,7 @@ main (int argc, char **argv) + opt.emit_version = 0; + opt.weak_digests = NULL; + opt.compliance = CO_GNUPG; ++ opt.flags.rfc4880bis = 1; + + /* Check special options given on the command line. */ + orig_argc = argc; +@@ -3033,6 +3056,7 @@ main (int argc, char **argv) + case oOpenPGP: + case oRFC2440: + case oRFC4880: ++ case oRFC4880bis: + case oPGP7: + case oPGP8: + case oGnuPG: +@@ -3862,6 +3886,11 @@ main (int argc, char **argv) + if( may_coredump && !opt.quiet ) + log_info(_("WARNING: program may create a core file!\n")); + ++ if (!opt.flags.rfc4880bis) ++ { ++ opt.mimemode = 0; /* This will use text mode instead. */ ++ } ++ + if (eyes_only) { + if (opt.set_filename) + log_info(_("WARNING: %s overrides %s\n"), +@@ -4078,7 +4107,7 @@ main (int argc, char **argv) + /* Check our chosen algorithms against the list of legal + algorithms. */ + +- if(!GNUPG) ++ if(!GNUPG && !opt.flags.rfc4880bis) + { + const char *badalg=NULL; + preftype_t badtype=PREFTYPE_NONE; +--- a/g10/keygen.c ++++ b/g10/keygen.c +@@ -404,7 +404,7 @@ keygen_set_std_prefs (const char *string,int personal) + strcat(dummy_string,"S7 "); + strcat(dummy_string,"S2 "); /* 3DES */ + +- if (!openpgp_aead_test_algo (AEAD_ALGO_OCB)) ++ if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB)) + strcat(dummy_string,"A2 "); + + if (personal) +@@ -889,7 +889,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque) + /* Make sure that the MDC feature flag is set if needed. */ + add_feature_mdc (sig,mdc_available); + add_feature_aead (sig, aead_available); +- add_feature_v5 (sig, 1); ++ add_feature_v5 (sig, opt.flags.rfc4880bis); + add_keyserver_modify (sig,ks_modify); + keygen_add_keyserver_url(sig,NULL); + +@@ -3382,7 +3382,10 @@ parse_key_parameter_part (ctrl_t ctrl, + } + } + else if (!ascii_strcasecmp (s, "v5")) +- keyversion = 5; ++ { ++ if (opt.flags.rfc4880bis) ++ keyversion = 5; ++ } + else if (!ascii_strcasecmp (s, "v4")) + keyversion = 4; + else +@@ -3641,7 +3644,7 @@ parse_key_parameter_part (ctrl_t ctrl, + * ecdsa := Use algorithm ECDSA. + * eddsa := Use algorithm EdDSA. + * ecdh := Use algorithm ECDH. +- * v5 := Create version 5 key ++ * v5 := Create version 5 key (requires option --rfc4880bis) + * + * There are several defaults and fallbacks depending on the + * algorithm. PART can be used to select which part of STRING is +@@ -4513,9 +4516,9 @@ read_parameter_file (ctrl_t ctrl, const char *fname ) + } + } + +- if ((keywords[i].key == pVERSION +- || keywords[i].key == pSUBVERSION)) +- ; /* Ignore version. */ ++ if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION ++ || keywords[i].key == pSUBVERSION)) ++ ; /* Ignore version unless --rfc4880bis is active. */ + else + { + r = xmalloc_clear( sizeof *r + strlen( value ) ); +@@ -4610,11 +4613,14 @@ quickgen_set_para (struct para_data_s *para, int for_subkey, + para = r; + } + +- r = xmalloc_clear (sizeof *r + 20); +- r->key = for_subkey? pSUBVERSION : pVERSION; +- snprintf (r->u.value, 20, "%d", version); +- r->next = para; +- para = r; ++ if (opt.flags.rfc4880bis) ++ { ++ r = xmalloc_clear (sizeof *r + 20); ++ r->key = for_subkey? pSUBVERSION : pVERSION; ++ snprintf (r->u.value, 20, "%d", version); ++ r->next = para; ++ para = r; ++ } + + if (keytime) + { diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r4.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r3.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r4.ebuild index d0937a7079a..94c5b523066 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r4.ebuild @@ -30,7 +30,7 @@ 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/libassuan-2.5.0:= >=dev-libs/libgcrypt-1.8.0:= >=dev-libs/libgpg-error-1.38 >=dev-libs/libksba-1.3.5 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild index 72bb9fe0626..7bd830a0449 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.43-r1.ebuild @@ -23,17 +23,17 @@ 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" +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/libassuan-2.5.0:= >=dev-libs/libgcrypt-1.8.0:= >=dev-libs/libgpg-error-1.38 - >=dev-libs/libksba-1.3.5 + >=dev-libs/libksba-1.4.0 >=dev-libs/npth-1.2 >=net-misc/curl-7.10 sys-libs/zlib @@ -67,7 +67,6 @@ DOCS=( PATCHES=( "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch - "${FILESDIR}"/${PN}-2.2.42-bug923248-insecure-backup.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.4-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r1.ebuild index c89d22b2c15..cc4974e12dd 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r1.ebuild @@ -31,7 +31,7 @@ REQUIRED_USE="test? ( tofu )" # Existence of executables is checked during configuration. # Note: On each bump, update dep bounds on each version from configure.ac! DEPEND=" - >=dev-libs/libassuan-2.5.0 + >=dev-libs/libassuan-2.5.0:= >=dev-libs/libgcrypt-1.9.1:= >=dev-libs/libgpg-error-1.46 >=dev-libs/libksba-1.6.3 @@ -69,7 +69,6 @@ DOCS=( PATCHES=( "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch - "${FILESDIR}"/${P}-dirmngr-proxy.patch #924606 ) src_prepare() { 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-r2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r2.ebuild index 65e00a4fa82..5b2191cfb0b 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-r2.ebuild @@ -31,7 +31,7 @@ REQUIRED_USE="test? ( tofu )" # Existence of executables is checked during configuration. # Note: On each bump, update dep bounds on each version from configure.ac! DEPEND=" - >=dev-libs/libassuan-2.5.0 + >=dev-libs/libassuan-2.5.0:= >=dev-libs/libgcrypt-1.9.1:= >=dev-libs/libgpg-error-1.46 >=dev-libs/libksba-1.6.3 @@ -69,6 +69,7 @@ DOCS=( PATCHES=( "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch + "${FILESDIR}"/${PN}-2.4.5-revert-rfc4880bis.patch # bug #926186 ) src_prepare() { From 34d70643d808f1d4173003cb6ba35e3b58047150 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:06 +0000 Subject: [PATCH 015/267] 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 a5bd7bbf81f0a9e2168dda8897481a31ae1057ce Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:06 +0000 Subject: [PATCH 016/267] app-crypt/mit-krb5: Sync with Gentoo It's from Gentoo commit 0b87c1977f66b38b4861e65df9f7dd499670eda8. --- .../app-crypt/mit-krb5/Manifest | 1 + .../mit-krb5/files/mit-krb5kpropd_at.service | 1 - .../app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild | 154 ++++++++++++++++++ 3 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/Manifest index 1ce7821058e..185c64f6f21 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/Manifest @@ -1 +1,2 @@ DIST krb5-1.21.2.tar.gz 8622513 BLAKE2B 2afb3ff962a343bc07182fdab0c0ffb221632ff38baab74278cfc721ae72deacc260221470de36e420584f00b780e13221d2e511d4831bca8e1270b7f3d9e824 SHA512 4e09296b412383d53872661718dbfaa90201e0d85f69db48e57a8d4bd73c95a90c7ec7b6f0f325f6bc967f8d203b256b071c0191facf080aca0e2caec5d0ac49 +DIST krb5-1.21.3.tar.gz 9136145 BLAKE2B e909a55eaedab68e5c829bb7bbd26cec5db2d7b8d97f3b034de94d8f957003f16977ac619afee3b862f288e59f05c5e44f41e65b8883961c8b22a26e2f4733bc SHA512 87bc06607f4d95ff604169cea22180703a42d667af05f66f1569b8bd592670c42820b335e5c279e8b4f066d1e7da20f1948a1e4def7c5d295c170cbfc7f49c71 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service index f826eb33cb3..62553f58f15 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service @@ -5,4 +5,3 @@ Conflicts=mit-krb5kpropd.service [Service] ExecStart=/usr/sbin/kpropd StandardInput=socket -StandardError=syslog diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild new file mode 100644 index 00000000000..9c5de12c588 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.21.3.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +inherit autotools flag-o-matic python-any-r1 systemd toolchain-funcs multilib-minimal + +MY_P="${P/mit-}" +P_DIR=$(ver_cut 1-2) +DESCRIPTION="MIT Kerberos V" +HOMEPAGE="https://web.mit.edu/kerberos/www/" +SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz" +S=${WORKDIR}/${MY_P}/src + +LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86" +IUSE="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux test xinetd" + +RESTRICT="!test? ( test )" + +DEPEND=" + !!app-crypt/heimdal + >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] + || ( + >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}] + >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}] + ) + keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] ) + lmdb? ( dev-db/lmdb:= ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] ) + pkinit? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) + xinetd? ( sys-apps/xinetd ) + " +BDEPEND=" + ${PYTHON_DEPS} + app-alternatives/yacc + cpu_flags_x86_aes? ( + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) + ) + doc? ( virtual/latex-base ) + test? ( dev-util/cmocka ) + " +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-kerberos )" + +PATCHES=( + "${FILESDIR}/${PN}-1.12_warn_cflags.patch" + "${FILESDIR}/${PN}_dont_create_rundir.patch" + "${FILESDIR}/${PN}-1.18.2-krb5-config.patch" +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/krb5-config +) + +src_prepare() { + default + # Make sure we always use the system copies. + rm -rf util/{et,ss,verto} + sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die + + eautoreconf +} + +src_configure() { + # lto-type-mismatch (bug #854225) + filter-lto + + multilib-minimal_src_configure +} + +multilib_src_configure() { + ECONF_SOURCE=${S} \ + AR="$(tc-getAR)" \ + WARN_CFLAGS="set" \ + econf \ + $(use_with openldap ldap) \ + $(use_enable nls) \ + $(use_enable pkinit) \ + $(use_with lmdb) \ + $(use_with keyutils) \ + --without-hesiod \ + --enable-shared \ + --with-system-et \ + --with-system-ss \ + --enable-dns-for-realm \ + --enable-kdc-lookaside-cache \ + --with-system-verto \ + --enable-thread-support \ + --disable-rpath +} + +multilib_src_compile() { + emake -j1 +} + +multilib_src_test() { + multilib_is_native_abi && emake -j1 check +} + +multilib_src_install() { + emake \ + DESTDIR="${D}" \ + EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \ + install +} + +multilib_src_install_all() { + # default database dir + keepdir /var/lib/krb5kdc + + cd .. + dodoc README + + newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind + newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc + newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd + newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind + newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc + newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd + + systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service + systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service + systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service" + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket + + insinto /etc + newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example + insinto /var/lib/krb5kdc + newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example + + if use openldap ; then + dodoc "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.ldif" + dodoc "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.openldap.ldif" + insinto /etc/openldap/schema + doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema" + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}/kpropd.xinetd" kpropd + fi + + if use doc; then + dodoc -r doc/html + docinto pdf + dodoc doc/pdf/*.pdf + fi +} From a1f3064f2657543df867f29537360bde1204dd75 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:06 +0000 Subject: [PATCH 017/267] app-crypt/pinentry: Sync with Gentoo It's from Gentoo commit 5f8fad56cb06fc038c5d3a75c2193b1ec0ffdf5a. --- .../app-crypt/pinentry/Manifest | 2 + ...2.1-r4.ebuild => pinentry-1.2.1-r7.ebuild} | 5 +- ...2.1-r6.ebuild => pinentry-1.2.1-r8.ebuild} | 5 +- ...3.0-r2.ebuild => pinentry-1.3.0-r3.ebuild} | 4 +- .../app-crypt/pinentry/pinentry-1.3.1.ebuild | 143 ++++++++++++++++++ 5 files changed, 155 insertions(+), 4 deletions(-) rename sdk_container/src/third_party/portage-stable/app-crypt/pinentry/{pinentry-1.2.1-r4.ebuild => pinentry-1.2.1-r7.ebuild} (97%) rename sdk_container/src/third_party/portage-stable/app-crypt/pinentry/{pinentry-1.2.1-r6.ebuild => pinentry-1.2.1-r8.ebuild} (97%) rename sdk_container/src/third_party/portage-stable/app-crypt/pinentry/{pinentry-1.3.0-r2.ebuild => pinentry-1.3.0-r3.ebuild} (95%) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest index 3d0f5457e97..cc830bd7a03 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest @@ -2,3 +2,5 @@ DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22e DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732 DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90 +DIST pinentry-1.3.1.tar.bz2 611233 BLAKE2B 47a510b3746fc8cdd83b56302132f4f4d9c61324fc857ce0867387f70f79490dad375bca4dc72e5d1cdca707bf89a16e1c9a20bf1aa0e857d69e59dc59403afd SHA512 3b72034dc1792b1475acb6d605ff7c1bd7647a0f02d1b6bdcd475acdef24bc802f49e275055436c3271261c4b7a64168477a698aab812a145962146b2f67a0e2 +DIST pinentry-1.3.1.tar.bz2.sig 119 BLAKE2B ca562d2903c88c4297e641ddc39f6cd99db3e3fd40cf5d69e7b4335f006c7717c874fa4b5e47920af3ec97385a96c0c96aafb849cf399d11a7f9f1a6b693f479 SHA512 22bd94f74486300eb84c1c9c371a43b05fb6179118518004fba0d42b6d3e6731f94d79b37c2a3a6b0c5886578c4575f75d2460accd36cd4874342e7239521be9 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r7.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r7.ebuild index 0cd3553fd4c..3ddf24c5674 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r7.ebuild @@ -17,7 +17,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv IUSE="caps efl emacs gtk keyring ncurses qt5 wayland X" DEPEND=" - >=dev-libs/libassuan-2.1 + >=dev-libs/libassuan-2.1:= >=dev-libs/libgcrypt-1.6.3 >=dev-libs/libgpg-error-1.17 efl? ( dev-libs/efl[X] ) @@ -58,6 +58,9 @@ src_prepare() { unset FLTK_CONFIG + # bug #934771 + rm m4/libassuan.m4 || die + eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r8.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r8.ebuild index 52f368ac9c0..7f097b06082 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.2.1-r8.ebuild @@ -17,7 +17,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~ IUSE="caps efl emacs gtk keyring ncurses qt5 wayland X" DEPEND=" - >=dev-libs/libassuan-2.1 + >=dev-libs/libassuan-2.1:= >=dev-libs/libgcrypt-1.6.3 >=dev-libs/libgpg-error-1.17 efl? ( dev-libs/efl[X] ) @@ -59,6 +59,9 @@ src_prepare() { unset FLTK_CONFIG + # bug #934771 + rm m4/libassuan.m4 || die + eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild index 65cc9de488d..7eb27b63047 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild @@ -13,11 +13,11 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X" DEPEND=" - >=dev-libs/libassuan-2.1 + >=dev-libs/libassuan-2.1:= >=dev-libs/libgcrypt-1.6.3 >=dev-libs/libgpg-error-1.17 efl? ( dev-libs/efl[X] ) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild new file mode 100644 index 00000000000..be893ab7c6b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild @@ -0,0 +1,143 @@ +# 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/gnupg.asc +inherit autotools qmake-utils verify-sig + +DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol" +HOMEPAGE="https://gnupg.org/related_software/pinentry/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +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" +IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X" + +DEPEND=" + >=dev-libs/libassuan-2.1:= + >=dev-libs/libgcrypt-1.6.3 + >=dev-libs/libgpg-error-1.17 + efl? ( dev-libs/efl[X] ) + keyring? ( app-crypt/libsecret ) + ncurses? ( sys-libs/ncurses:= ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + wayland? ( kde-plasma/kwayland:5 ) + X? ( + dev-qt/qtx11extras:5 + x11-libs/libX11 + ) + ) + qt6? ( + dev-qt/qtbase:6[gui,widgets] + wayland? ( + kde-frameworks/kguiaddons:6 + kde-frameworks/kwindowsystem:6 + ) + ) +" +RDEPEND=" + ${DEPEND} + gtk? ( app-crypt/gcr:4[gtk] ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" +PDEPEND="emacs? ( app-emacs/pinentry )" +IDEPEND=">=app-eselect/eselect-pinentry-0.7.4" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +PATCHES=( + "${FILESDIR}/${PN}-1.0.0-AR.patch" + "${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719 +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + unset FLTK_CONFIG + + local myeconfargs=( + $(use_enable efl pinentry-efl) + $(use_enable emacs pinentry-emacs) + $(use_enable keyring libsecret) + $(use_enable gtk pinentry-gnome3) + $(use_enable ncurses fallback-curses) + $(use_enable ncurses pinentry-curses) + $(use_enable qt5 pinentry-qt5) + $(use_enable qt6 pinentry-qt) + # TODO: could split this up into qt5/qt6? + $(use_enable X qtx11extras) + $(use_with X x) + + --enable-pinentry-tty + --disable-pinentry-fltk + --disable-pinentry-gtk2 + + ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + + $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g') + ) + + if use qt5 ; then + export PATH="$(qt5_get_bindir):${PATH}" + export QTLIB="$(qt5_get_libdir):${QTLIB}" + export MOC5="$(qt5_get_bindir)"/moc + + myeconfargs+=( + $(use_enable wayland kf5-wayland) + ) + else + myeconfargs+=( + --disable-kf5-wayland + ) + fi + + if use qt6 ; then + export PATH="$(qt6_get_bindir):${PATH}" + export QTLIB="$(qt6_get_libdir):${QTLIB}" + export MOC="$(qt6_get_libdir)/qt6/libexec/moc" + + myeconfargs+=( + $(use_enable wayland kf6-wayland) + ) + else + myeconfargs+=( + --disable-kf6-wayland + ) + fi + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + rm "${ED}"/usr/bin/pinentry || die + + # The preferred Qt implementation upstream gets installed as just 'qt'. + # Make a symlink for eselect-pinentry and friends. + if use qt6 ; then + dosym pinentry-qt /usr/bin/pinentry-qt6 + fi +} + +pkg_postinst() { + eselect pinentry update ifunset +} + +pkg_postrm() { + eselect pinentry update ifunset +} From b3ed835599a11919b0324a9450ecbe31fb0797e7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:07 +0000 Subject: [PATCH 018/267] 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 52c44db90604180e0b4562aeed31844d73afc570 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:10 +0000 Subject: [PATCH 019/267] 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 c62cb4c0a0c649504ba84f022cc0acc43468f00e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:10 +0000 Subject: [PATCH 020/267] 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 eefa408a51bb207b23db78196670d7843e0eba8c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:10 +0000 Subject: [PATCH 021/267] 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 e2a7a4e697f9c83d4d970891bae510890a944b19 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:11 +0000 Subject: [PATCH 022/267] app-editors/nano: Sync with Gentoo It's from Gentoo commit 5dabfae13f45e8d3d11c867e390c2c3891892ace. --- .../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..28ab34a0731 --- /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 85cc4e6cadf4e29a80ac5a36158853ffc120a34e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:11 +0000 Subject: [PATCH 023/267] app-editors/vim: Sync with Gentoo It's from Gentoo commit 563856a6b43b8af8d6c9e0de28a9c7ebdd8c872f. --- .../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..7caafb9755e 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 aed3fd9d0c52461ce53ff4c42679f9b4c155597c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:11 +0000 Subject: [PATCH 024/267] app-editors/vim-core: Sync with Gentoo It's from Gentoo commit 8ee90b103f758bd460d0aab3c5cbf09c84e33ba0. --- .../app-editors/vim-core/Manifest | 8 +- .../app-editors/vim-core/files/vimrc-r7 | 210 ++++++++++++++++ .../vim-core/vim-core-9.0.1627.ebuild | 231 ------------------ ...678.ebuild => vim-core-9.0.2167-r1.ebuild} | 13 +- ...503.ebuild => vim-core-9.1.0366-r1.ebuild} | 19 +- ...0.2092.ebuild => vim-core-9.1.0366.ebuild} | 9 +- ...0.1777.ebuild => vim-core-9.1.0470.ebuild} | 17 +- .../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.1627.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.1503.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.1777.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.1627.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1627.ebuild deleted file mode 100644 index 6cb4710f79e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1627.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.1503.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.1503.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0366-r1.ebuild index a54e0738bee..3acccba1fa9 100644 --- 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.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() { @@ -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-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.1777.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.1777.ebuild rename to sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.0470.ebuild index b29cfe23233..759cb04d314 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.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() { @@ -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 67ad1e41f1594459175581b1576f9e5192d3413e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:11 +0000 Subject: [PATCH 025/267] 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 02e9093523fa491c4f1928cea749e330543b29f6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:11 +0000 Subject: [PATCH 026/267] app-emulation/qemu-guest-agent: Sync with Gentoo It's from Gentoo commit dce60b3382a18fbddef59f244b11c06b8e365118. --- .../app-emulation/qemu-guest-agent/Manifest | 5 -- ...configure-Avoid-using-strings-binary.patch | 85 ------------------- .../qemu-guest-agent/metadata.xml | 4 - .../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 ++-- 9 files changed, 10 insertions(+), 505 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/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml index 8995a724003..98b9302d34d 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu-guest-agent/metadata.xml @@ -9,10 +9,6 @@ sam@gentoo.org Sam James - - tamiko@gentoo.org - Matthias Maier - virtualization@gentoo.org Gentoo Virtualization Project 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 767611cc87775e859d1fb80506e38dbfa10f278f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:15 +0000 Subject: [PATCH 027/267] 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 c0ae436642e110346a482ef91e74757912dfe9c0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:27 +0000 Subject: [PATCH 028/267] app-portage/elt-patches: Sync with Gentoo It's from Gentoo commit d71c9795e810ba0b25aead3d735945228410b4b7. --- .../app-portage/elt-patches/Manifest | 4 +- .../elt-patches/elt-patches-20240213.ebuild | 39 ------------------- .../elt-patches/elt-patches-20240315.ebuild | 2 +- .../elt-patches/elt-patches-20240324.ebuild | 2 +- .../elt-patches/elt-patches-20240415.ebuild | 39 ------------------- ...116.ebuild => elt-patches-20240512.ebuild} | 2 +- 6 files changed, 4 insertions(+), 84 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240213.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240415.ebuild rename sdk_container/src/third_party/portage-stable/app-portage/elt-patches/{elt-patches-20240116.ebuild => elt-patches-20240512.ebuild} (82%) 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-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-20240415.ebuild deleted file mode 100644 index 29410c13f99..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240415.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-20240116.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild similarity index 82% rename from sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240116.ebuild rename to sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240512.ebuild index 1c8e8632cc8..e4f296996a8 100644 --- 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-20240512.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" From f526da1cd087abba9cfb0eec0b7fa6831c04735f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:28 +0000 Subject: [PATCH 029/267] 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 7eae5396d1363d4cb582a0ce20367d8ef22e8bb5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:28 +0000 Subject: [PATCH 030/267] app-portage/getuto: Sync with Gentoo It's from Gentoo commit 4201a60991c0620ca2cf6452df4b7d86dc0f5681. --- .../app-portage/getuto/Manifest | 2 + .../app-portage/getuto/getuto-1.11.ebuild | 2 +- .../app-portage/getuto/getuto-1.12.ebuild | 50 +++++++++++++++++++ .../app-portage/getuto/getuto-1.13.ebuild | 50 +++++++++++++++++++ 4 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.12.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.13.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..2fb8a34a9c6 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,6 @@ 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.13.tar.gz 10758 BLAKE2B cf7412e6253f883c29a3d89048073d14f982e4bc708ebe11541e4273c69cdc3f1131b6b62484b3b4f1131a11dc541776368f4bfe4500f0ec01e24de9e925a69d SHA512 111c60595dce79b3286afaa8d8485cb852d4d8a4ea5f0659ccde538a9ee8ccdb4d7d7251cce713b30e4f8a769891539bf6fdb52978b5f25df6536afb16dc8f2a 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 +} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.13.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.13.ebuild new file mode 100644 index 00000000000..2a7563e23c9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-1.13.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 aebb07d797b54cba1696e3e604fef19022baeefe Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:29 +0000 Subject: [PATCH 031/267] app-shells/bash: Sync with Gentoo It's from Gentoo commit 79ef91c58c5f3498fe91047e480dc3b1566f417a. --- .../portage-stable/app-shells/bash/Manifest | 4 + .../app-shells/bash/bash-5.1_p16-r13.ebuild | 358 +++++++++++++++ .../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-r6.ebuild | 402 +++++++++++++++++ .../app-shells/bash/bash-5.2_p26-r8.ebuild | 402 +++++++++++++++++ .../app-shells/bash/bash-5.2_p26.ebuild | 375 ---------------- .../app-shells/bash/bash-5.3_alpha-r5.ebuild | 401 +++++++++++++++++ .../bash/bash-5.3_alpha_p20240628.ebuild | 411 ++++++++++++++++++ .../bash/bash-5.3_alpha_p20240706.ebuild | 411 ++++++++++++++++++ .../app-shells/bash/bash-9999.ebuild | 350 ++++++++------- .../app-shells/bash/files/bashrc-r1 | 14 +- .../bash/files/bashrc.d/10-gentoo-color.bash | 7 +- .../files/bashrc.d/10-gentoo-title-r1.bash | 81 ++++ .../bash/files/bashrc.d/10-gentoo-title.bash | 69 ++- .../bashrc.d/15-gentoo-bashrc-check.bash | 24 + 18 files changed, 2745 insertions(+), 1655 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.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-r6.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.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-r5.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/15-gentoo-bashrc-check.bash 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..275b8701e45 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,10 @@ 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 bash-5.3_alpha_p20240628-5e28a1813ce7d08628c8df584ea36515091c6d9b.tar.xz 8528432 BLAKE2B d920640b0ba0ae38dbb98b48a9e4dd6635a05d7f86fcf26a4f2c79f6a4338e4f25ff20119f9a1df451d23d9cc381862963dcf9c135050102e8159eccbe5f7314 SHA512 cc60f94083b378ac51fda973f834f10477ac6ebcfc682f934426db3fd6ca4506e5ed1c64311c67d5d9d70b62ab2bf9900ee66f1aa96a7bce7198d69edf9131ca +DIST bash-5.3_alpha_p20240706-a91b8b077300b0a2a7daefe02f0363f9116e00d5.tar.xz 8525768 BLAKE2B 07b1b92b15bbd1c4bd01e3c2fbdf65d7dab14976442a2c4ea751c0d6e729d937886495af5402cd4669e84f68e952f3e79a375c649bbda1b4cc948172e3ea2948 SHA512 dfd19e6a4786ff066cb7e13ae328fbc909847fd7f987b59d9c646ab0bbf5abdc8c570bbc75810fe9eb6c9171acb3256b4e3278f565a1f526d9ce030fd423c0f8 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-r13.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild new file mode 100644 index 00000000000..38b7451addc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.1_p16-r13.ebuild @@ -0,0 +1,358 @@ +# 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 + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, this array may contain a command +to set the terminal's window title. Those already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash manipulate the window title in the case +that the terminal is controlled by sshd(8), unless screen or tmux are in use. +Those wanting to set the title unconditionally may adjust ~/.bashrc - or create +a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.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-r6.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r6.ebuild new file mode 100644 index 00000000000..4350a8a719c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r6.ebuild @@ -0,0 +1,402 @@ +# 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 + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, this array may contain a command +to set the terminal's window title. Those already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash manipulate the window title in the case +that the terminal is controlled by sshd(8), unless screen or tmux are in use. +Those wanting to set the title unconditionally may adjust ~/.bashrc - or create +a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild new file mode 100644 index 00000000000..1926aee8167 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild @@ -0,0 +1,402 @@ +# 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 + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_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-r5.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r5.ebuild new file mode 100644 index 00000000000..c0e5e68f43a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha-r5.ebuild @@ -0,0 +1,401 @@ +# 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 + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then + return + elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, this array may contain a command +to set the terminal's window title. Those already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash manipulate the window title in the case +that the terminal is controlled by sshd(8), unless screen or tmux are in use. +Those wanting to set the title unconditionally may adjust ~/.bashrc - or create +a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild new file mode 100644 index 00000000000..f116d8c93a6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild @@ -0,0 +1,411 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +# The version of readline this bash normally ships with. Note that we only use +# the bundled copy of readline for pre-releases. +READLINE_VER="8.3_alpha" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" + EGIT_BRANCH=devel + inherit git-r3 +elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + # It can be useful to have snapshots in the pre-release period once + # the first alpha is out, as various bugs get reported and fixed from + # the alpha, and the next pre-release is usually quite far away. + # + # i.e. if it's worth packaging the alpha, it's worth packaging a followup. + BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz" + S=${WORKDIR}/${PN}-${BASH_COMMIT} +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) + + # bash-5.1 -> bash51 + my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} + + for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do + printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" + my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) + MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) + done + + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" + S=${WORKDIR}/${MY_P} + + unset -v my_urls my_p my_patch_idx my_patch_ver +fi + +if [[ ${GENTOO_PATCH_VER} ]]; then + SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" +fi + +LICENSE="GPL-3+" +SLOT="0" +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 + elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + default + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} + + for patch in "${MY_PATCHES[@]}"; do + verify-sig_verify_detached "${patch}"{,.sig} + done + fi + + unpack "${MY_P}.tar.gz" + + if [[ ${GENTOO_PATCH_VER} ]]; then + unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" + fi + fi +} + +src_prepare() { + # Include official patches. + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + # Clean out local libs so we know we use system ones w/releases. The + # touch utility is invoked for the benefit of config.status. + if (( PLEVEL >= 0 )); then + rm -rf lib/{readline,termcap}/* \ + && touch lib/{readline,termcap}/Makefile.in \ + && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ + || die + fi + + # Prefixify hardcoded path names. No-op for non-prefix. + hprefixify pathnames.h.in + + # Avoid regenerating docs after patches, bug #407985. + sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ + && touch -r . doc/* \ + || die + + # Sometimes hangs (more noticeable w/ pgo), bug #907403. + rm tests/run-jobs || die + + eapply -p0 "${PATCHES[@]}" + eapply_user +} + +src_configure() { + local -a myconf + + # Upstream only test with Bison and require GNUisms like YYEOF and + # YYERRCODE. The former at least may be in POSIX soon: + # https://www.austingroupbugs.net/view.php?id=1269. + # configure warns on use of non-Bison but doesn't abort. The result + # may misbehave at runtime. + unset -v YACC + + # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported + # upstream to Chet by email. + filter-lto + + myconf=( + --disable-profiling + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses. For the most part, ncurses + # is here because readline needs it. But bash itself calls + # ncurses in one or two small places :(. + --with-curses + + $(use_enable mem-scramble) + $(use_enable net net-redirections) + $(use_enable readline) + $(use_enable readline bang-history) + $(use_enable readline history) + $(use_with afs) + $(use_with mem-scramble bash-malloc) + ) + + # For descriptions of these, see config-top.h. + # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 + append-cppflags \ + -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ + -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ + -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ + -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ + -DNON_INTERACTIVE_LOGIN_SHELLS \ + -DSSH_SOURCE_BASHRC \ + $(use bashlogger && echo -DSYSLOG_HISTORY) + + use nls || myconf+=( --disable-nls ) + + if (( PLEVEL >= 0 )); then + # Historically, we always used the builtin readline, but since + # our handling of SONAME upgrades has gotten much more stable + # in the PM (and the readline ebuild itself preserves the old + # libs during upgrades), linking against the system copy should + # be safe. + # Exact cached version here doesn't really matter as long as it + # is at least what's in the DEPEND up above. + export ac_cv_rl_version=${READLINE_VER%%_*} + + # Use system readline only with released versions. + myconf+=( --with-installed-readline=. ) + fi + + if use plugins; then + append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" + else + # Disable the plugins logic by hand since bash doesn't provide + # a way of doing it. + export ac_cv_func_dl{close,open,sym}=no \ + ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no + + sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die + fi + + # bug #444070 + tc-export AR + + econf "${myconf[@]}" +} + +src_compile() { + local -a pgo_generate_flags pgo_use_flags + local flag + + # -fprofile-partial-training because upstream notes the test suite isn't + # super comprehensive. + # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + if use pgo; then + pgo_generate_flags=( + -fprofile-update=atomic + -fprofile-dir="${T}"/pgo + -fprofile-generate="${T}"/pgo + ) + pgo_use_flags=( + -fprofile-use="${T}"/pgo + -fprofile-dir="${T}"/pgo + ) + if flag=$(test-flags-CC -fprofile-partial-training); then + pgo_generate_flags+=( "${flag}" ) + pgo_use_flags+=( "${flag}" ) + fi + fi + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others + + # Build Bash and run its tests to generate profiles. + if (( ${#pgo_generate_flags[@]} )); then + # Used in test suite. + unset -v A + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die + fi + + # Rebuild Bash using the profiling data we just generated. + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others + fi +} + +src_test() { + # Used in test suite. + unset -v A + + default +} + +src_install() { + local d f + + default + + my_prefixify() { + while read -r; do + if [[ $REPLY == *$1* ]]; then + REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} + fi + printf '%s\n' "${REPLY}" || ! break + done < "$2" || die + } + + dodir /bin + mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die + dosym bash /bin/rbash + + insinto /etc/bash + doins "${FILESDIR}"/bash_logout + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + + insinto /etc/bash/bashrc.d + my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild new file mode 100644 index 00000000000..8b0f9127069 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild @@ -0,0 +1,411 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +# The version of readline this bash normally ships with. Note that we only use +# the bundled copy of readline for pre-releases. +READLINE_VER="8.3_alpha" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" + EGIT_BRANCH=devel + inherit git-r3 +elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + # It can be useful to have snapshots in the pre-release period once + # the first alpha is out, as various bugs get reported and fixed from + # the alpha, and the next pre-release is usually quite far away. + # + # i.e. if it's worth packaging the alpha, it's worth packaging a followup. + BASH_COMMIT="a91b8b077300b0a2a7daefe02f0363f9116e00d5" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz" + S=${WORKDIR}/${PN}-${BASH_COMMIT} +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) + + # bash-5.1 -> bash51 + my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} + + for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do + printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" + my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) + MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) + done + + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" + S=${WORKDIR}/${MY_P} + + unset -v my_urls my_p my_patch_idx my_patch_ver +fi + +if [[ ${GENTOO_PATCH_VER} ]]; then + SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" +fi + +LICENSE="GPL-3+" +SLOT="0" +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 + elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + default + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} + + for patch in "${MY_PATCHES[@]}"; do + verify-sig_verify_detached "${patch}"{,.sig} + done + fi + + unpack "${MY_P}.tar.gz" + + if [[ ${GENTOO_PATCH_VER} ]]; then + unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" + fi + fi +} + +src_prepare() { + # Include official patches. + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + # Clean out local libs so we know we use system ones w/releases. The + # touch utility is invoked for the benefit of config.status. + if (( PLEVEL >= 0 )); then + rm -rf lib/{readline,termcap}/* \ + && touch lib/{readline,termcap}/Makefile.in \ + && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ + || die + fi + + # Prefixify hardcoded path names. No-op for non-prefix. + hprefixify pathnames.h.in + + # Avoid regenerating docs after patches, bug #407985. + sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ + && touch -r . doc/* \ + || die + + # Sometimes hangs (more noticeable w/ pgo), bug #907403. + rm tests/run-jobs || die + + eapply -p0 "${PATCHES[@]}" + eapply_user +} + +src_configure() { + local -a myconf + + # Upstream only test with Bison and require GNUisms like YYEOF and + # YYERRCODE. The former at least may be in POSIX soon: + # https://www.austingroupbugs.net/view.php?id=1269. + # configure warns on use of non-Bison but doesn't abort. The result + # may misbehave at runtime. + unset -v YACC + + # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported + # upstream to Chet by email. + filter-lto + + myconf=( + --disable-profiling + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses. For the most part, ncurses + # is here because readline needs it. But bash itself calls + # ncurses in one or two small places :(. + --with-curses + + $(use_enable mem-scramble) + $(use_enable net net-redirections) + $(use_enable readline) + $(use_enable readline bang-history) + $(use_enable readline history) + $(use_with afs) + $(use_with mem-scramble bash-malloc) + ) + + # For descriptions of these, see config-top.h. + # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 + append-cppflags \ + -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ + -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ + -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ + -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ + -DNON_INTERACTIVE_LOGIN_SHELLS \ + -DSSH_SOURCE_BASHRC \ + $(use bashlogger && echo -DSYSLOG_HISTORY) + + use nls || myconf+=( --disable-nls ) + + if (( PLEVEL >= 0 )); then + # Historically, we always used the builtin readline, but since + # our handling of SONAME upgrades has gotten much more stable + # in the PM (and the readline ebuild itself preserves the old + # libs during upgrades), linking against the system copy should + # be safe. + # Exact cached version here doesn't really matter as long as it + # is at least what's in the DEPEND up above. + export ac_cv_rl_version=${READLINE_VER%%_*} + + # Use system readline only with released versions. + myconf+=( --with-installed-readline=. ) + fi + + if use plugins; then + append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" + else + # Disable the plugins logic by hand since bash doesn't provide + # a way of doing it. + export ac_cv_func_dl{close,open,sym}=no \ + ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no + + sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die + fi + + # bug #444070 + tc-export AR + + econf "${myconf[@]}" +} + +src_compile() { + local -a pgo_generate_flags pgo_use_flags + local flag + + # -fprofile-partial-training because upstream notes the test suite isn't + # super comprehensive. + # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + if use pgo; then + pgo_generate_flags=( + -fprofile-update=atomic + -fprofile-dir="${T}"/pgo + -fprofile-generate="${T}"/pgo + ) + pgo_use_flags=( + -fprofile-use="${T}"/pgo + -fprofile-dir="${T}"/pgo + ) + if flag=$(test-flags-CC -fprofile-partial-training); then + pgo_generate_flags+=( "${flag}" ) + pgo_use_flags+=( "${flag}" ) + fi + fi + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others + + # Build Bash and run its tests to generate profiles. + if (( ${#pgo_generate_flags[@]} )); then + # Used in test suite. + unset -v A + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die + fi + + # Rebuild Bash using the profiling data we just generated. + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others + fi +} + +src_test() { + # Used in test suite. + unset -v A + + default +} + +src_install() { + local d f + + default + + my_prefixify() { + while read -r; do + if [[ $REPLY == *$1* ]]; then + REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} + fi + printf '%s\n' "${REPLY}" || ! break + done < "$2" || die + } + + dodir /bin + mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die + dosym bash /bin/rbash + + insinto /etc/bash + doins "${FILESDIR}"/bash_logout + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + + insinto /etc/bash/bashrc.d + my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index dc26c74b8f9..f116d8c93a6 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,73 @@ 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 + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +# The version of readline this bash normally ships with. Note that we only use +# the bundled copy of readline for pre-releases. +READLINE_VER="8.3_alpha" DESCRIPTION="The standard GNU Bourne again shell" HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" -if [[ ${PV} == 9999 ]] ; then +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}" +elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + # It can be useful to have snapshots in the pre-release period once + # the first alpha is out, as various bugs get reported and fixed from + # the alpha, and the next pre-release is usually quite far away. + # + # i.e. if it's worth packaging the alpha, it's worth packaging a followup. + BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz" + S=${WORKDIR}/${PN}-${BASH_COMMIT} +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} )" + S=${WORKDIR}/${MY_P} - 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 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 +81,86 @@ 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 + elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + default 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 +170,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 +201,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 +212,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 +228,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 +246,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 +284,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 +301,59 @@ 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 + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} + 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 +363,49 @@ 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-r8"; then + return fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF } diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc-r1 index 61202b61f14..deb0ce97d4a 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,15 +5,23 @@ 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 +# Disable errexit in case the user enabled it then chose to re-source this file. +shopt -u -o errexit -# Append to HISTFILE rather than overwrite upon exiting, per bug #139609. +# Disable completion when the input buffer is empty. Mute STDERR because this +# option is only present in the case that bash was built with readline support. +shopt -s no_empty_cmd_completion 2>/dev/null && + +# Append to HISTFILE rather than overwrite upon exiting, per bug #139609. This +# option also requires for bash to have been built with readline support. 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 "$_" 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..f0c5983b66e 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,8 @@ elif (( gentoo_color == 16777216 )); then export COLORTERM=truecolor fi -if (( gentoo_color <= 0 )); then +# For direxpand to be missing indicates that bash is lacking readline support. +if (( gentoo_color <= 0 )) || [[ ! $(shopt -p direxpand 2>/dev/null) ]]; then # Define a prompt without color. PS1='\u@\h \w \$ ' elif (( EUID == 0 )); then @@ -46,8 +47,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-r1.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash new file mode 100644 index 00000000000..8e78b09a9da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/10-gentoo-title-r1.bash @@ -0,0 +1,81 @@ +# /etc/bash/bashrc.d/10-gentoo-title.bash + +# For information regarding the control sequences used, please refer to +# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html. + +genfun_set_win_title() { + # Advertise the fact that the presently running interactive shell will + # update the title. Doing so allows for its subprocesses to determine + # whether it is safe to set the title of their own accord. Note that 0 + # refers to the value of Ps within the OSC Ps ; Pt BEL sequence. + export SHELL_SETS_TITLE=0 + + # 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 control sequence. + # For screen, the sequence defines the hardstatus (%h) and for tmux, the + # pane_title (#T). For graphical terminal emulators, it is normal for + # the title bar to be affected. + genfun_set_win_title() { + genfun_sanitise_cwd + printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" + } + + genfun_set_win_title +} + +unset -v SHELL_SETS_TITLE + +# 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. +case ${TERM} in + alacritty|foot*|tmux*) + # The terminal emulator also supports XTWINOPS. If the PTY was + # created by sshd(8) then push the current window title to the + # stack and arrange for it to be popped upon exiting. Xterm also + # supports this but there are far too many terminal emulators + # that falsely identify as being xterm-compatible. + if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then + trap 'printf "\033[23;0t"' EXIT + printf '\033[22;0t' + fi + ;; + rxvt-unicode*|st-256color|xterm*) + # If the PTY was created by sshd(8) then proceed no further. + # Alas, there exist many operating environments in which the + # title would otherwise not be restored upon ssh(1) exiting. + # Those wanting for the title to be set regardless may adjust + # ~/.bashrc or create a bashrc.d drop-in to set PROMPT_COMMAND. + # For example, PROMPT_COMMAND=(genfun_set_win_title). + if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then + return + fi + ;; + screen*) + # If the PTY was created by sshd(8) and screen(1) was launched + # prior to the SSH session beginning, as opposed to afterwards, + # proceed no further. It is another case in which there would be + # no guarantee of the title being restored upon ssh(1) exiting. + if [[ ! ${WINDOW} && ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then + return + fi + ;; + *) + return +esac + +# Arrange for the title to be updated each time the primary prompt is displayed. +PROMPT_COMMAND+=('genfun_set_win_title') 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..2b2e2334778 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,41 +1,41 @@ # /etc/bash/bashrc.d/10-gentoo-title.bash -# 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. -# https://www.gnu.org/software/screen/manual/html_node/Control-Sequences.html -case ${TERM} in - screen*|tmux*) - genfun_set_pane_title() { - printf '\033k%s\033\\' "${HOSTNAME%%.*}" - } - PROMPT_COMMAND+=('genfun_set_pane_title') - ;; - *) - # 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. - if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then - return +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 -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 + # Sets the window title with the Set Text Parameters sequence. For + # screen, the sequence defines the hardstatus (%h) and for tmux, the + # pane_title (#T). For graphical terminal emulators, it is normal for + # the title bar to be affected. + genfun_set_win_title() { + genfun_sanitise_cwd + printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}" + } + + genfun_set_win_title } -# 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. +# Proceed no further if the TTY is that of sshd(8) and if not running a terminal +# multiplexer. Alas, there exist many operating environments in which the window +# title would otherwise not be restored upon ssh(1) exiting. Those who wish for +# the title to be set unconditionally may adjust ~/.bashrc - or create a custom +# bashrc.d drop-in - to define PROMPT_COMMAND=(genfun_set_win_title). +if [[ ${SSH_TTY} && ${TERM} != @(screen|tmux)* && ${SSH_TTY} == "$(tty)" ]]; then + return +fi + +# 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 +45,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 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/15-gentoo-bashrc-check.bash b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/15-gentoo-bashrc-check.bash new file mode 100644 index 00000000000..8f2b0405c6b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/files/bashrc.d/15-gentoo-bashrc-check.bash @@ -0,0 +1,24 @@ +# /etc/bash/bashrc.d/15-gentoo-bashrc-check.bash + +# Some users have ~/.bashrc as a copy of ${FILESDIR}/bashrc which either matches +# exactly or is only trivially modified. Such is an improper state of affairs +# and results in the bashrc.d drop-ins being sourced twice. Warn them that they +# should use the skeleton file instead. This drop-in should be removed no sooner +# than one year from the date of its introduction. + +if [[ -e ${TMPDIR:-/tmp}/.gentoo-bashrc-check-${EUID} || ! -f ~/.bashrc ]]; then + return +fi + +{ + if grep -qxF 'for sh in /etc/bash/bashrc.d/* ; do' -- ~/.bashrc; then + cat >&3 <<'EOF' +WARNING! Your ~/.bashrc file is based on an old copy of /etc/bash/bashrc, which +is not intended for use within a home directory. Please either delete ~/.bashrc +or replace it with a copy of /etc/skel/.bashrc before optionally customizing it +further. Neglecting to do so may result in bash behaving unexpectedly. + +EOF + fi + touch -- "${TMPDIR:-/tmp}/.gentoo-bashrc-check-${EUID}" +} 3>&2 2>/dev/null From 7a2214ab43b1ed24337b462cabd9cead19bf5285 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:29 +0000 Subject: [PATCH 032/267] app-shells/bash-completion: Sync with Gentoo It's from Gentoo commit 6b2ec7c26bf0620fb5490e71a5e64cdc0c6dd7ae. --- .../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 | 44 ++-- ...etion-2.14.0-optimize-kernel-modules.patch | 13 ++ .../app-shells/bash-completion/metadata.xml | 4 + 6 files changed, 263 insertions(+), 19 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..8d7bbbab2d4 --- /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 43bff29be2435216e3050bd67f8fdb6516c6e898 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:29 +0000 Subject: [PATCH 033/267] app-shells/gentoo-bashcomp: Sync with Gentoo It's from Gentoo commit 2de72e9cbf9a2e43960c31b859f394d258ae8315. --- .../app-shells/gentoo-bashcomp/Manifest | 3 +-- .../gentoo-bashcomp-20230313.ebuild | 21 ------------------- ...ebuild => gentoo-bashcomp-20240625.ebuild} | 2 +- .../app-shells/gentoo-bashcomp/metadata.xml | 9 ++++++++ 4 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20230313.ebuild rename sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/{gentoo-bashcomp-20190211-r1.ebuild => gentoo-bashcomp-20240625.ebuild} (94%) 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..d54174a0b07 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 @@ -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-20240625.tar.bz2 23794 BLAKE2B 567131238e24744a5083ad8ec484d4342b6891e95b999d11d809da769d8f2ad3536f7da769f0d291663b9c3be46fe67d261cbdcf59a0f846e4f08a66b4106571 SHA512 1b5476ba7cb1b7c2f1d51c03d592245718fb4c2c07ff5171aee1bfa0def2a2f0bbff7a38950d18e3646285e7432cedee0ee75eed1c6348946793f011de4ddcbf 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-20230313.ebuild deleted file mode 100644 index da8506a4999..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/gentoo-bashcomp/gentoo-bashcomp-20230313.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 - -DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)" -HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/" -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" - -src_install() { - emake DESTDIR="${D}" install \ - completionsdir="$(get_bashcompdir)" \ - helpersdir="$(get_bashhelpersdir)" \ - compatdir="${EPREFIX}/etc/bash_completion.d" -} 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-20240625.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-20240625.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-20240625.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/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 b74089e596c6f070bbc70100665ed1320ca5d26f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:35 +0000 Subject: [PATCH 034/267] 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 d08ef0dc0bcecb9059124ee23f9f5fbac431589c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:35 +0000 Subject: [PATCH 035/267] 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 80eda621f02580fb2d4b66e5ba30cac381123bf0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:43 +0000 Subject: [PATCH 036/267] 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 84de0b0a4feaa18682bfdc16485b901b51b32372 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:45 +0000 Subject: [PATCH 037/267] dev-build/automake: Sync with Gentoo It's from Gentoo commit 4ea7b3f4730854ab995e515133935413ab5dca00. --- .../dev-build/automake/Manifest | 5 + .../automake/automake-1.16.5-r2.ebuild | 15 +- .../automake/automake-1.16.90.ebuild | 148 ++++++++++++++++++ .../automake/automake-1.16.92.ebuild | 148 ++++++++++++++++++ .../dev-build/automake/automake-9999.ebuild | 58 ++++--- 5 files changed, 351 insertions(+), 23 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.90.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.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..1b8cfc0a6ff 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,8 @@ 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 +DIST automake-1.16.92.tar.xz 1649420 BLAKE2B aa7c50d9d8f2d9b9444530c24bf694c031909f96164cb3f335e793ae1244f34253903123e26ce9cd50724c60fa47cbcee5ae4c59b8a2d955d8f8363480050a71 SHA512 47609fcbe962195b6683d3ccc62bda7f86af0bb702148caa4aa7e21ce1b49ae4c238254817b51ea7afdaa671d183ec43fc4af41b676cd1afafec8e485142e2fc +DIST automake-1.16.92.tar.xz.sig 833 BLAKE2B 0ad23cea8e865be0e928fb3feaee4f982de59e1c60322465f44acb7126dee5ab13d2010757f23f60960819345399ff5ba1f80dee7cbc4483c7adf3413b6025e4 SHA512 1df37c983b70250383084b2dcdba543e9c32a028a842ca6dd7cb8a3f17dba5edfb4372a87c03d2da1053ea5a72e45972e0ae1f0492b78463bae437e7b0dad6b4 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..7fac003550a 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 @@ -8,9 +8,10 @@ EAPI=7 # 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} ) +PYTHON_COMPAT=( python3_{10..13} ) -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-1.16.92.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.ebuild new file mode 100644 index 00000000000..66fe54668a4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/automake/automake-1.16.92.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..13} ) + +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..66fe54668a4 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,36 +1,42 @@ # 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 # 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} ) +PYTHON_COMPAT=( python3_{10..13} ) -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 5818d879cd91dba291eebc58d7d369c1effd01d0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:45 +0000 Subject: [PATCH 038/267] 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 6d23cbb28b5e5bccb053adadd0a43180ba4db935 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:45 +0000 Subject: [PATCH 039/267] dev-build/cmake: Sync with Gentoo It's from Gentoo commit f12bba7363577ac6e63955aa675828363bec7e1b. --- .../portage-stable/dev-build/cmake/Manifest | 29 +- .../dev-build/cmake/cmake-3.27.9.ebuild | 3 +- ...make-3.28.3.ebuild => cmake-3.28.5.ebuild} | 20 +- .../dev-build/cmake/cmake-3.29.1.ebuild | 278 ------------------ ...make-3.29.2.ebuild => cmake-3.29.3.ebuild} | 3 +- ...make-3.28.4.ebuild => cmake-3.29.6.ebuild} | 26 +- ...make-3.29.0.ebuild => cmake-3.30.0.ebuild} | 27 +- .../dev-build/cmake/cmake-9999.ebuild | 26 +- 8 files changed, 75 insertions(+), 337 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.28.3.ebuild => cmake-3.28.5.ebuild} (95%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.1.ebuild rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.29.2.ebuild => cmake-3.29.3.ebuild} (99%) rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.28.4.ebuild => cmake-3.29.6.ebuild} (96%) rename sdk_container/src/third_party/portage-stable/dev-build/cmake/{cmake-3.29.0.ebuild => cmake-3.30.0.ebuild} (95%) 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..b3d94d5fd9d 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,17 @@ 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.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f +DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3 +DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d +DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82 +DIST cmake-3.29.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 +DIST cmake-3.29.6-SHA-256.txt 1646 BLAKE2B 8d2e11fe0e7ba89e394e51920657deb793e5f45026ebb86c39748410f110568c68021099286901f05fea47bf641d583b4f3715fe315e795cc8041a1fb66d5107 SHA512 1df0e791c3f42e5f96a967b385155b1f2e5214d78df639c81d2632455748f68423ab5de580f7f3e64c06387fd25247660da4b4bda0c9881f7ca25a317b62556f +DIST cmake-3.29.6-SHA-256.txt.asc 833 BLAKE2B 25e2588375d353cc3d56480dae7aa3d2376c11cb1d830167f57544429fb0b455aeaceb121ac0fdd3f6f2b235c418bc4f52eafacc436472d9a2f3e80b97b08b18 SHA512 f01fff8b188ddd5aa7501acba3d68f3ba2a6b94d402af1afd716be66fa8f76c2d373cd6851a7fe308761171e2206c60f4f785209c86170037afcf3f416f080de +DIST cmake-3.29.6.tar.gz 11248411 BLAKE2B cfd639ce975a4a13221d1fffea97c3bf0599c9af1c8de28e340013ea918bd0fc1eff1d97ca07b2cdd9c34f790950246530ebf1282d400f658fb2d1f4f89a089c SHA512 ecb7b62d2ed133da5c03932d78cc218deddd3c5d7d1116a5ded80b07f6e5f8145928fc15a5c22265995a2b451b1e20aa4dcaa1918060d025485fe8fa7730f3ec +DIST cmake-3.30.0-SHA-256.txt 1646 BLAKE2B 9ef563e1b7a49a34bd08547483e628de469edf64889e4a82975441eba6ec77f1ae3cafec4bfcc641699f9c5a60a9998960a6a3e0fd2b955678dc3c40729248ed SHA512 7236dba187dcd5c92b5221116fe31931324ffd09f3371eb3d06b10cdcdb45c6822d95646cf4f8a44926210485f68f34c09f78cc4e3939b5f176f84aa818e82cd +DIST cmake-3.30.0-SHA-256.txt.asc 833 BLAKE2B 2c2657afba4b9d2b176d82789d634505e1eb9a1f46969a0993aadf52da34a242dc104988bc2d5d24cecbab7f32266aa22ac57c09986e20871321bbab11d2aa92 SHA512 de86b2b88c78bc5db905f0d8cbbb7f3ce736c1905375de93d68a2eea3927a02bc4d93d2f3a49c6cb5b0afbc61f6520c9cb1e8b4a33897670d16caff60aa4cdb3 +DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c986e123fc8acafb174a750ad0883d346254d12e8134dd9d030faefddc13b8260e7b43e405272157ada742c75b5fc2 SHA512 9d534b0efc30829f1144fb32c4f10ba25749e238c8ceeb4399b6d1eb8421b9fb1363972a497757ef84689bb987840619cbb4333ae95fd2397eea07eebed112c1 +DIST cmake-3.30.0.tar.gz 11500060 BLAKE2B 62b3f3d5ed92f7f118991f36ba7098ff20c202dd924ecd1e7af3fedc54345c5db26ce6fa782fe1acb490857b478067c17383f0453dece579482c2e962bd9de12 SHA512 1dd872a3f93cfadb7ac0f93177e7d4d7ded67cf09c71b1b776dc3bc8b7d4e44dd81533a8a4bf2c9eaaed56443060aa27a11250a5e47de316c89db7e146929782 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild index 4ca92ca579c..2ab3b437332 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.27.9.ebuild @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" 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 95% 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 index de04ca8f2ae..03a085cef92 100644 --- 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 @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" @@ -48,7 +47,7 @@ else https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" fi @@ -179,13 +178,9 @@ src_prepare() { -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 -} + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. -src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl @@ -193,6 +188,13 @@ src_configure() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMake_ENABLE_DEBUGGER=$(usex dap) 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.3.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.3.ebuild index 45477a10bfc..b40e1ca5c08 100644 --- 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.3.ebuild @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=3.28.0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" 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.6.ebuild similarity index 96% 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.6.ebuild index 45477a10bfc..dc2e2378fa0 100644 --- 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.6.ebuild @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=3.28.0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" @@ -21,7 +20,7 @@ CMAKE_DOCS_USEFLAG="+doc" CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_REMOVE_MODULES_LIST=( none ) inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-utils + toolchain-funcs xdg-utils MY_P="${P/_/-}" @@ -179,13 +178,9 @@ src_prepare() { -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 -} + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. -src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl @@ -193,6 +188,13 @@ src_configure() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMake_ENABLE_DEBUGGER=$(usex dap) @@ -218,6 +220,8 @@ src_test() { "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ || die + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + pushd "${BUILD_DIR}" > /dev/null || die # Excluded tests: @@ -238,7 +242,9 @@ src_test() { -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ ) - virtx cmake_src_test + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test } src_install() { 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.30.0.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild index 45477a10bfc..c119ad22dc7 100644 --- 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.30.0.ebuild @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" @@ -21,7 +20,7 @@ CMAKE_DOCS_USEFLAG="+doc" CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_REMOVE_MODULES_LIST=( none ) inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-utils + toolchain-funcs xdg-utils MY_P="${P/_/-}" @@ -102,7 +101,6 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch # Upstream fixes (can usually be removed with a version bump) ) @@ -179,13 +177,9 @@ src_prepare() { -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 -} + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. -src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl @@ -193,6 +187,13 @@ src_configure() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMake_ENABLE_DEBUGGER=$(usex dap) @@ -218,6 +219,8 @@ src_test() { "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ || die + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + pushd "${BUILD_DIR}" > /dev/null || die # Excluded tests: @@ -238,7 +241,9 @@ src_test() { -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ ) - virtx cmake_src_test + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild index 45477a10bfc..199bff8efd1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-9999.ebuild @@ -9,8 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -#CMAKE_DOCS_VERSION=$(ver_cut 1-3) -CMAKE_DOCS_VERSION=3.27.0 +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" @@ -21,7 +20,7 @@ CMAKE_DOCS_USEFLAG="+doc" CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_REMOVE_MODULES_LIST=( none ) inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ - toolchain-funcs virtualx xdg-utils + toolchain-funcs xdg-utils MY_P="${P/_/-}" @@ -179,13 +178,9 @@ src_prepare() { -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 -} + ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* + ## handle them as part of bootstrapping, sadly. -src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl @@ -193,6 +188,13 @@ src_configure() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then + CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" + cmake_src_bootstrap + fi +} + +src_configure() { local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMake_ENABLE_DEBUGGER=$(usex dap) @@ -218,6 +220,8 @@ src_test() { "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ || die + unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS + pushd "${BUILD_DIR}" > /dev/null || die # Excluded tests: @@ -238,7 +242,9 @@ src_test() { -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ ) - virtx cmake_src_test + local -x QT_QPA_PLATFORM=offscreen + + cmake_src_test } src_install() { From b858d70fa61960c48a77907b4dba4c67bc106337 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:46 +0000 Subject: [PATCH 040/267] 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 1e3ffd00193a71da7cf7b600d790753b0649a479 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:47 +0000 Subject: [PATCH 041/267] 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 ae1d894d8682629bfcd5037f4808763c3dd828f2 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:47 +0000 Subject: [PATCH 042/267] dev-build/meson: Sync with Gentoo It's from Gentoo commit 17f8f8007c2d190ac531cf17aef76fe8ab9840e5. --- .../portage-stable/dev-build/meson/Manifest | 10 +- ...ert-boolean-values-for-cmake-formats.patch | 31 ---- ...clike-Deduplicate-rpath-linker-flags.patch | 55 ------- ...y-ensure-that-setuptools-doesn-t-inj.patch | 39 ----- ...op-using-distutils-schemes-on-suffic.patch | 72 --------- ...factor-pypy-detection-into-a-consist.patch | 36 ----- ...op-using-distutils-link-to-libpython.patch | 72 --------- ...ase-to-not-import-distutils-on-pytho.patch | 31 ---- ...I-metadata-as-supporting-python-3.12.patch | 25 ---- ...y-global-project-and-environment-C-a.patch | 141 ------------------ .../files/meson-1.3.1-xtools-support.patch | 39 ----- .../dev-build/meson/meson-1.3.0-r2.ebuild | 135 ----------------- .../dev-build/meson/meson-1.4.0-r1.ebuild | 2 +- ...son-1.3.1-r1.ebuild => meson-1.4.1.ebuild} | 70 +++++++-- ...on-1.4.0.ebuild => meson-1.5.0_rc2.ebuild} | 56 ++++++- .../dev-build/meson/meson-9999.ebuild | 4 +- .../dev-build/meson/metadata.xml | 4 +- 17 files changed, 120 insertions(+), 702 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0001-python-dependency-ensure-that-setuptools-doesn-t-inj.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0002-python-module-stop-using-distutils-schemes-on-suffic.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0003-python-module-refactor-pypy-detection-into-a-consist.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0005-tests-fix-test-case-to-not-import-distutils-on-pytho.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0006-mark-the-PyPI-metadata-as-supporting-python-3.12.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0007-Revert-rust-apply-global-project-and-environment-C-a.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/files/meson-1.3.1-xtools-support.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.0-r2.ebuild rename sdk_container/src/third_party/portage-stable/dev-build/meson/{meson-1.3.1-r1.ebuild => meson-1.4.1.ebuild} (65%) rename sdk_container/src/third_party/portage-stable/dev-build/meson/{meson-1.4.0.ebuild => meson-1.5.0_rc2.ebuild} (72%) 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..599e2396f14 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 @@ -2,12 +2,14 @@ DIST meson-1.1.1.tar.gz 2125503 BLAKE2B 295b46d19c8a1d64d326a6c826e2abe11d976890 DIST meson-1.1.1.tar.gz.asc 833 BLAKE2B 165f3a0e8093995e82efcdea78b8cf0d2479505aeec145cf0c4bf3448dd74f0b5d1631e574e7d945d5b5976e11c065043ab0a6efe5646484a5bcd6386050a073 SHA512 004ec7e530ad21b012e461c8d50322295e4ec96a1a3197dbcbeb24b8bd6465a34008541e6fc547e451a50dce53f7ce170ec1bfd8c465ded56a5924e880aa0539 DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa70812a8ca0cc9fe308c9b145b3fbc3ee068acae0fdc73edff42134b7a0b618cd80a05347a424aca7bc8bbef8 SHA512 cdcadc731effc1ffb2de98b795ba37955f934ed9b54b9f7f3ac5fe96ab33268d4de4fce734a4c2ef7d2ecc5051616df127e1f8665e197ff954310bf1483b81fc DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9 -DIST meson-1.3.0.tar.gz 2222383 BLAKE2B cb9ac8e00fe924df67166938687584a9de35e784e1e52bff281649d787695d37e3044ea3d6d5869181fe1e9676b5136548293dbd5cdbd091a6de0c449b8932f5 SHA512 fbcbdd9551ad12b7be84411b96357e01c7c0c38a8e9933093d2e71ed7e12bd4278245798684d389c332eb75dd50c99310affc9acb01cf8bedd45265335083a32 -DIST meson-1.3.0.tar.gz.asc 833 BLAKE2B d83b819e75e732d694ac98412717af39a8115defc7371f1983e4619cf990b5cdfd7ab7c93911f2a8b6c7055c7252ebeba04d15f508f4278b506e326fa1801a25 SHA512 8c72bfe5f3bdec9c9f787dd5a7186599bb44079a89d0a87a535a6e890adb7718cbf570b2ac74583b72b92aa05160823a8571ca530384787c428e49d6fbe095ba -DIST meson-1.3.1.tar.gz 2222386 BLAKE2B 64d53eddc8cb321a4e2dabaa4b7499798a7b68764b1a7a5182bfa21d081dc07105acab616119b88ff610e5d75504f03d1c0aefee3602ddf538fc491ff3d0204a SHA512 6e694beb70329535faca9405358c04e2fd5a490b0c0d2678d5831b7de3477e0fcf4f6a242f1bc6218da04ac4f6e096ee53cdf273c6b6a38a35d370e8c16694ba -DIST meson-1.3.1.tar.gz.asc 833 BLAKE2B 1db7aabe3b7d491dfcd288a780d10784517a73e07348f2d5b98d1fa347dd08b2afa210511c7f5ff867b10ecd3ce470ea764b5ce6907aa7dcaa4d619f705e339c SHA512 0f652d375fa7700f3048266330d783664593c08da47d4f0d87af0be5d8b5e21113521651fb923c6a1cfe88aef7067ebd85b27946f19e71133d7c9805839fc873 DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd SHA512 6369c6d64f91c769f0f4d3e2445bb3615785998489d41acba2134b44ec89abd04bd97a3d3d17c64779eb40b0bf4808e3419eb47638169446a98824d680f37a7b 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-1.5.0rc2.tar.gz 2255834 BLAKE2B e3bd5cb22676b69576698faa955eaaa14af9b891efd6853180eb9824a9a75e102af1b1c7c3c9cfc27581605720536e569911697ea1248cb1328d72169f270fb1 SHA512 39a1aa84a9aa219358f34dcd485a3788731f3325a2cd6bbbbb19b6b24a33852fa68fff9d6a0ad3a18e3fbf58a880839a6f54cfa3e2bf779c1212cd36f3b45a79 +DIST meson-1.5.0rc2.tar.gz.asc 833 BLAKE2B 69a865a872a8e0dd47081be6a5456d475c13b636fb8699a83ca82b870f1917ca7608910236fe2d77b8e45838cf0a61466ee176408e89c87c6643f3881d49adcd SHA512 3101e759fc205d73434de71b56fb17ac3076691d6bdeb7f038b5d2983ed29680a54578fe8180d74809c4ec63c2e71dcff9d7d911c187c2fc7d7f7651972dce6e DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768 +DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a +DIST meson-reference-1.5.0rc2.3 341787 BLAKE2B 70e07aa724d6e46a1679178c7e34b05ec0cf825d0f163981f70e25f8e914a5746156e2c2169d68f0ad482a813f77bc6a2343009f84f0aa4746c0f47e65ae6dfe SHA512 37ba1c1a6655cadcb155bc2b1ae46d850f46b49209ddcd319a190d3e1579dc2bfd92528e7ab737206f0b212fcb58355b9ba8de4c60ceae8f044712746b6db4f4 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch deleted file mode 100644 index 394b1bbb7c1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9016e6958bb83feb9a724f20d8badb116bf7c5f2 Mon Sep 17 00:00:00 2001 -From: Jan200101 -Date: Tue, 21 Nov 2023 08:42:56 +0100 -Subject: [PATCH] Only convert boolean values for cmake formats - -This caused a regression with mesondefine where - `conf_data.set("FOO", true)` -turned into - `#define FOO 1` -instead of - `#define FOO` ---- - mesonbuild/utils/universal.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/utils/universal.py b/mesonbuild/utils/universal.py -index 26194628c..93e64c0a2 100644 ---- a/mesonbuild/utils/universal.py -+++ b/mesonbuild/utils/universal.py -@@ -1210,7 +1210,7 @@ def do_replacement(regex: T.Pattern[str], line: str, - var, _ = confdata.get(varname) - if isinstance(var, str): - var_str = var -- elif isinstance(var, bool): -+ elif variable_format.startswith("cmake") and isinstance(var, bool): - var_str = str(int(var)) - elif isinstance(var, int): - var_str = str(var) --- -2.41.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch deleted file mode 100644 index 3d40616fec1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 2fbc7b5ce3aced483b196dd10ca9eee1713b7494 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Tue, 26 Dec 2023 15:06:12 -0500 -Subject: [PATCH] Revert "clike: Deduplicate rpath linker flags" - -This reverts commit 53ea59ad8455277797117d225f326851fe7d369c. - -This breaks at least: -- frameworks/17 mpi -- frameworks/30 scalapack - -The problem is that openmpi's pkg-config emitted link arguments -includes: - -``` --Wl,-rpath -Wl,/path/to/libdir -``` - -The deduplication logic in meson doesn't contain sufficient information -to tell when the compiler is passing an argument that requires values, -and definitely cannot tell when that argument is split across argv. But -for arguments that *can* do this, it is not possible to deduplicate a -single argument as standalone, because it is not standalone. - -The argument for deduplicating rpath here was that if you have multiple -dependencies that all add the same rpath, the Apple ld64 emits a -non-fatal warning "duplicate -rpath ignored". Since this is non-fatal, -it's not a major issue. A major issue is when builds fatally error out -with: - -``` -FAILED: scalapack_c -cc -o scalapack_c scalapack_c.p/main.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib64/libscalapack.so /usr/lib64/liblapack.so /usr/lib64/libblas.so -Wl,-rpath -Wl,/usr/lib64 -Wl,/usr/lib64 -Wl,--enable-new-dtags /usr/lib64/libmpi.so -Wl,--end-group -/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: error: /usr/lib64: read: Is a directory -``` ---- - mesonbuild/compilers/mixins/clike.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py -index b3fc96cec..76c8e0413 100644 ---- a/mesonbuild/compilers/mixins/clike.py -+++ b/mesonbuild/compilers/mixins/clike.py -@@ -54,7 +54,7 @@ class CLikeCompilerArgs(arglist.CompilerArgs): - - # NOTE: not thorough. A list of potential corner cases can be found in - # https://github.com/mesonbuild/meson/pull/4593#pullrequestreview-182016038 -- dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic', '-Wl,-rpath') -+ dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic') - dedup1_suffixes = ('.lib', '.dll', '.so', '.dylib', '.a') - dedup1_args = ('-c', '-S', '-E', '-pipe', '-pthread') - --- -2.41.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0001-python-dependency-ensure-that-setuptools-doesn-t-inj.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0001-python-dependency-ensure-that-setuptools-doesn-t-inj.patch deleted file mode 100644 index c552831cfd6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0001-python-dependency-ensure-that-setuptools-doesn-t-inj.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5f96e35b873d6230970fd63ba2e706bbd3f4e26f Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Fri, 8 Sep 2023 16:54:48 -0400 -Subject: [PATCH 1/7] python dependency: ensure that setuptools doesn't inject - itself into distutils - -We do not use setuptools for anything, and only lightly use distutils. -Unpredictable issues can occur due to setuptools monkey-patching, which -interferes with our intended use. Tell setuptools to simply never get -involved. - -Note: while it's otherwise possible to check if the probe is run using -sys.executable and avoid forking, setuptools unconditionally injects -itself at startup in a way that requires subprocess isolation to -disable. - -(cherry picked from commit 9f610ad5b72ea91de2d7aeb6f3266d0a7477062e) ---- - mesonbuild/dependencies/python.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py -index 160772888..f04494674 100644 ---- a/mesonbuild/dependencies/python.py -+++ b/mesonbuild/dependencies/python.py -@@ -113,7 +113,9 @@ class BasicPythonExternalProgram(ExternalProgram): - - with importlib.resources.path('mesonbuild.scripts', 'python_info.py') as f: - cmd = self.get_command() + [str(f)] -- p, stdout, stderr = mesonlib.Popen_safe(cmd) -+ env = os.environ.copy() -+ env['SETUPTOOLS_USE_DISTUTILS'] = 'stdlib' -+ p, stdout, stderr = mesonlib.Popen_safe(cmd, env=env) - - try: - info = json.loads(stdout) --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0002-python-module-stop-using-distutils-schemes-on-suffic.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0002-python-module-stop-using-distutils-schemes-on-suffic.patch deleted file mode 100644 index 51c13d6926f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0002-python-module-stop-using-distutils-schemes-on-suffic.patch +++ /dev/null @@ -1,72 +0,0 @@ -From cb4e62a8c55118988babac8b8254e0af1dc9698b Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Mon, 21 Nov 2022 20:47:14 -0500 -Subject: [PATCH 2/7] python module: stop using distutils schemes on - sufficiently new Debian - -Since 3.10.3, Debian finally started patching sysconfig with custom -paths, instead of just distutils. This means we can now go use that -instead. It reduces our reliance on the deprecated distutils module. - -Partial fix for #7702 - -(cherry picked from commit 40f897fa92f7d3cc43788d3000733310ce77cf0c) ---- - mesonbuild/scripts/python_info.py | 32 +++++++++++++++++++++++-------- - 1 file changed, 24 insertions(+), 8 deletions(-) - -diff --git a/mesonbuild/scripts/python_info.py b/mesonbuild/scripts/python_info.py -index 9c3a0791a..65597b121 100755 ---- a/mesonbuild/scripts/python_info.py -+++ b/mesonbuild/scripts/python_info.py -@@ -13,7 +13,6 @@ if sys.path[0].endswith('scripts'): - del sys.path[0] - - import json, os, sysconfig --import distutils.command.install - - def get_distutils_paths(scheme=None, prefix=None): - import distutils.dist -@@ -37,15 +36,32 @@ def get_distutils_paths(scheme=None, prefix=None): - # default scheme to a custom one pointing to /usr/local and replacing - # site-packages with dist-packages. - # See https://github.com/mesonbuild/meson/issues/8739. --# XXX: We should be using sysconfig, but Debian only patches distutils. -+# -+# We should be using sysconfig, but before 3.10.3, Debian only patches distutils. -+# So we may end up falling back. - --if 'deb_system' in distutils.command.install.INSTALL_SCHEMES: -- paths = get_distutils_paths(scheme='deb_system') -- install_paths = get_distutils_paths(scheme='deb_system', prefix='') --else: -- paths = sysconfig.get_paths() -+def get_install_paths(): -+ if sys.version_info >= (3, 10): -+ scheme = sysconfig.get_default_scheme() -+ else: -+ scheme = sysconfig._get_default_scheme() -+ -+ if sys.version_info >= (3, 10, 3): -+ if 'deb_system' in sysconfig.get_scheme_names(): -+ scheme = 'deb_system' -+ else: -+ import distutils.command.install -+ if 'deb_system' in distutils.command.install.INSTALL_SCHEMES: -+ paths = get_distutils_paths(scheme='deb_system') -+ install_paths = get_distutils_paths(scheme='deb_system', prefix='') -+ return paths, install_paths -+ -+ paths = sysconfig.get_paths(scheme=scheme) - empty_vars = {'base': '', 'platbase': '', 'installed_base': ''} -- install_paths = sysconfig.get_paths(vars=empty_vars) -+ install_paths = sysconfig.get_paths(scheme=scheme, vars=empty_vars) -+ return paths, install_paths -+ -+paths, install_paths = get_install_paths() - - def links_against_libpython(): - from distutils.core import Distribution, Extension --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0003-python-module-refactor-pypy-detection-into-a-consist.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0003-python-module-refactor-pypy-detection-into-a-consist.patch deleted file mode 100644 index 484e967c832..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0003-python-module-refactor-pypy-detection-into-a-consist.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c179c18765514d5c37737dec996b4c91cb31477f Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Mon, 2 Oct 2023 16:40:15 -0400 -Subject: [PATCH 3/7] python module: refactor pypy detection into a consistent - variable - -(cherry picked from commit 3d3a10ef022284c8377bd9f8e1b1adec73c50d95) ---- - mesonbuild/scripts/python_info.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/mesonbuild/scripts/python_info.py b/mesonbuild/scripts/python_info.py -index 65597b121..d17b3a376 100755 ---- a/mesonbuild/scripts/python_info.py -+++ b/mesonbuild/scripts/python_info.py -@@ -72,6 +72,8 @@ def links_against_libpython(): - variables = sysconfig.get_config_vars() - variables.update({'base_prefix': getattr(sys, 'base_prefix', sys.prefix)}) - -+is_pypy = '__pypy__' in sys.builtin_module_names -+ - if sys.version_info < (3, 0): - suffix = variables.get('SO') - elif sys.version_info < (3, 8, 7): -@@ -88,7 +90,7 @@ print(json.dumps({ - 'install_paths': install_paths, - 'version': sysconfig.get_python_version(), - 'platform': sysconfig.get_platform(), -- 'is_pypy': '__pypy__' in sys.builtin_module_names, -+ 'is_pypy': is_pypy, - 'is_venv': sys.prefix != variables['base_prefix'], - 'link_libpython': links_against_libpython(), - 'suffix': suffix, --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch deleted file mode 100644 index 2ebdbcc2b30..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 3c493dae4bd8410bfb09e8f654605f65e15d8e66 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Tue, 22 Nov 2022 22:56:10 -0500 -Subject: [PATCH 4/7] python module: stop using distutils "link to libpython" - probe on recent python - -On python >=3.8, this information is expected to be encoded in the -sysconfig vars. - -In distutils, it is always necessary to link to libpython on Windows; -for posix platforms, it depends on the value of LIBPYTHON (which is the -library to link to, possibly the empty string) as generated by -configure.ac and embedded into python.pc and python-config.sh, and then -coded a second time in the distutils python sources. - -There are a couple of caveats which have ramifications for Cygwin and -Android: - -- python.pc and python-config.sh disagree with distutils when python is - not built shared. In that case, the former act the same as a shared - build, while the latter *never* links to libpython - -- python.pc disagrees with python-config.sh and distutils when python is - built shared. The former never links to libpython, while the latter do - -The disagreement is resolved in favor of distutils' behavior in all -cases, and python.pc is correct for our purposes on python 3.12; see: -https://github.com/python/cpython/pull/100356 -https://github.com/python/cpython/pull/100967 - -Although it was not backported to older releases, Cygwin at least has -always patched in a fix for python.pc, which behavior is now declared -canonical. We can reliably assume it is always correct. - -This is the other half of the fix for #7702 - -(cherry picked from commit 2d6c10908b3771216e7ce086af1ee4dc77e698c2) ---- - mesonbuild/scripts/python_info.py | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/mesonbuild/scripts/python_info.py b/mesonbuild/scripts/python_info.py -index d17b3a376..a3f3d3535 100755 ---- a/mesonbuild/scripts/python_info.py -+++ b/mesonbuild/scripts/python_info.py -@@ -64,10 +64,19 @@ def get_install_paths(): - paths, install_paths = get_install_paths() - - def links_against_libpython(): -- from distutils.core import Distribution, Extension -- cmd = Distribution().get_command_obj('build_ext') -- cmd.ensure_finalized() -- return bool(cmd.get_libraries(Extension('dummy', []))) -+ # on versions supporting python-embed.pc, this is the non-embed lib -+ # -+ # PyPy is not yet up to 3.12 and work is still pending to export the -+ # relevant information (it doesn't automatically provide arbitrary -+ # Makefile vars) -+ if sys.version_info >= (3, 8) and not is_pypy: -+ variables = sysconfig.get_config_vars() -+ return bool(variables.get('LIBPYTHON', 'yes')) -+ else: -+ from distutils.core import Distribution, Extension -+ cmd = Distribution().get_command_obj('build_ext') -+ cmd.ensure_finalized() -+ return bool(cmd.get_libraries(Extension('dummy', []))) - - variables = sysconfig.get_config_vars() - variables.update({'base_prefix': getattr(sys, 'base_prefix', sys.prefix)}) --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0005-tests-fix-test-case-to-not-import-distutils-on-pytho.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0005-tests-fix-test-case-to-not-import-distutils-on-pytho.patch deleted file mode 100644 index 078e9035e22..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0005-tests-fix-test-case-to-not-import-distutils-on-pytho.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ae44d9a379faca6274db819be44ffca3e0159f56 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Mon, 2 Oct 2023 23:51:57 -0400 -Subject: [PATCH 5/7] tests: fix test case to not import distutils on python - 3.12 - -Testing the correctness of the `modules: ` kwarg can be done with other -guaranteed stdlib modules that are even more guaranteed since they -didn't get deprecated for removal. - -(cherry picked from commit ecf261330c498783760cbde00b613b7469f8d3c0) ---- - test cases/python/5 modules kwarg/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test cases/python/5 modules kwarg/meson.build b/test cases/python/5 modules kwarg/meson.build -index 9751adaab..41a9a4fae 100644 ---- a/test cases/python/5 modules kwarg/meson.build -+++ b/test cases/python/5 modules kwarg/meson.build -@@ -1,7 +1,7 @@ - project('python kwarg') - - py = import('python') --prog_python = py.find_installation('python3', modules : ['distutils']) -+prog_python = py.find_installation('python3', modules : ['os', 'sys', 're']) - assert(prog_python.found() == true, 'python not found when should be') - prog_python = py.find_installation('python3', modules : ['thisbetternotexistmod'], required : false) - assert(prog_python.found() == false, 'python not found but reported as found') --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0006-mark-the-PyPI-metadata-as-supporting-python-3.12.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0006-mark-the-PyPI-metadata-as-supporting-python-3.12.patch deleted file mode 100644 index 0e1f167b32f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0006-mark-the-PyPI-metadata-as-supporting-python-3.12.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d9abf4a97dc182b3c57204a792000d620f9f941e Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Tue, 3 Oct 2023 00:22:25 -0400 -Subject: [PATCH 6/7] mark the PyPI metadata as supporting python 3.12 - -meson itself runs okay on 3.12, and the last issue for *probing* against -3.12 is solved. Tests pass here locally. - -(cherry picked from commit 880f21281ee359e01de659fe7d45549d19e6b84d) ---- - setup.cfg | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.cfg b/setup.cfg -index dfaba76dd..2f2962eed 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -30,6 +30,7 @@ classifiers = - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 -+ Programming Language :: Python :: 3.12 - Topic :: Software Development :: Build Tools - long_description = Meson is a cross-platform build system designed to be both as fast and as user friendly as possible. It supports many languages and compilers, including GCC, Clang, PGI, Intel, and Visual Studio. Its build definitions are written in a simple non-Turing complete DSL. - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0007-Revert-rust-apply-global-project-and-environment-C-a.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0007-Revert-rust-apply-global-project-and-environment-C-a.patch deleted file mode 100644 index 4ada76ae909..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/1.2.2/0007-Revert-rust-apply-global-project-and-environment-C-a.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Tue, 3 Oct 2023 16:52:56 +0100 -Subject: [PATCH 7/7] Revert "rust: apply global, project, and environment C - args to bindgen" - -This reverts commit 36210f64f22dc10d324db76bb1a7988c9cd5b14e. - -This ended up not doing what was intended - see https://github.com/mesonbuild/meson/issues/12065#issuecomment-1742263677. - -Bug: https://bugs.gentoo.org/914989 -Bug: https://bugs.gentoo.org/915014 -Signed-off-by: Sam James ---- - mesonbuild/modules/rust.py | 6 ------ - test cases/rust/12 bindgen/meson.build | 18 ------------------ - .../rust/12 bindgen/src/global-project.h | 10 ---------- - test cases/rust/12 bindgen/src/global.c | 5 ----- - test cases/rust/12 bindgen/src/global.rs | 14 -------------- - test cases/rust/12 bindgen/test.json | 5 +---- - 6 files changed, 1 insertion(+), 57 deletions(-) - delete mode 100644 test cases/rust/12 bindgen/src/global-project.h - delete mode 100644 test cases/rust/12 bindgen/src/global.c - delete mode 100644 test cases/rust/12 bindgen/src/global.rs - -diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py -index e6e5c633f..3514412e6 100644 ---- a/mesonbuild/modules/rust.py -+++ b/mesonbuild/modules/rust.py -@@ -232,12 +232,6 @@ class RustModule(ExtensionModule): - elif isinstance(s, CustomTarget): - depends.append(s) - -- clang_args.extend(state.global_args.get('c', [])) -- clang_args.extend(state.project_args.get('c', [])) -- cargs = state.get_option('args', state.subproject, lang='c') -- assert isinstance(cargs, list), 'for mypy' -- clang_args.extend(cargs) -- - if self._bindgen_bin is None: - self._bindgen_bin = state.find_program('bindgen') - -diff --git a/test cases/rust/12 bindgen/meson.build b/test cases/rust/12 bindgen/meson.build -index e7cb5f3db..c05cc0631 100644 ---- a/test cases/rust/12 bindgen/meson.build -+++ b/test cases/rust/12 bindgen/meson.build -@@ -8,9 +8,6 @@ if not prog_bindgen.found() - error('MESON_SKIP_TEST bindgen not found') - endif - --add_project_arguments('-DPROJECT_ARG', language : 'c') --add_global_arguments('-DGLOBAL_ARG', language : 'c') -- - # This seems to happen on windows when libclang.dll is not in path or is not - # valid. We must try to process a header file for this to work. - # -@@ -84,18 +81,3 @@ test('generated header', rust_bin2) - - subdir('sub') - subdir('dependencies') -- --gp = rust.bindgen( -- input : 'src/global-project.h', -- output : 'global-project.rs', --) -- --gp_lib = static_library('gp_lib', 'src/global.c') -- --gp_exe = executable( -- 'gp_exe', -- structured_sources(['src/global.rs', gp]), -- link_with : gp_lib, --) -- --test('global and project arguments', gp_exe) -diff --git a/test cases/rust/12 bindgen/src/global-project.h b/test cases/rust/12 bindgen/src/global-project.h -deleted file mode 100644 -index 6084e8ed6..000000000 ---- a/test cases/rust/12 bindgen/src/global-project.h -+++ /dev/null -@@ -1,10 +0,0 @@ --#ifndef GLOBAL_ARG --char * success(void); --#endif --#ifndef PROJECT_ARG --char * success(void); --#endif --#ifndef CMD_ARG --char * success(void); --#endif --int success(void); -diff --git a/test cases/rust/12 bindgen/src/global.c b/test cases/rust/12 bindgen/src/global.c -deleted file mode 100644 -index 10f6676f7..000000000 ---- a/test cases/rust/12 bindgen/src/global.c -+++ /dev/null -@@ -1,5 +0,0 @@ --#include "src/global-project.h" -- --int success(void) { -- return 0; --} -diff --git a/test cases/rust/12 bindgen/src/global.rs b/test cases/rust/12 bindgen/src/global.rs -deleted file mode 100644 -index 4b70b1ecc..000000000 ---- a/test cases/rust/12 bindgen/src/global.rs -+++ /dev/null -@@ -1,14 +0,0 @@ --// SPDX-license-identifer: Apache-2.0 --// Copyright © 2023 Intel Corporation -- --#![allow(non_upper_case_globals)] --#![allow(non_camel_case_types)] --#![allow(non_snake_case)] -- --include!("global-project.rs"); -- --fn main() { -- unsafe { -- std::process::exit(success()); -- }; --} -diff --git a/test cases/rust/12 bindgen/test.json b/test cases/rust/12 bindgen/test.json -index b3a758562..f94ee85f9 100644 ---- a/test cases/rust/12 bindgen/test.json -+++ b/test cases/rust/12 bindgen/test.json -@@ -1,10 +1,7 @@ - { -- "env": { -- "CFLAGS": "-DCMD_ARG" -- }, - "stdout": [ - { -- "line": "test cases/rust/12 bindgen/meson.build:30: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]." -+ "line": "test cases/rust/12 bindgen/meson.build:27: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]." - } - ] - } --- -2.42.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/meson-1.3.1-xtools-support.patch b/sdk_container/src/third_party/portage-stable/dev-build/meson/files/meson-1.3.1-xtools-support.patch deleted file mode 100644 index dfb9b3f6be6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/files/meson-1.3.1-xtools-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 33527630f1bd0e51093044016557cb44e7bb6547 Mon Sep 17 00:00:00 2001 -From: Fabian Groffen -Date: Wed, 17 Jan 2024 17:04:45 +0100 -Subject: [PATCH] linkers_detect: detect xtools (Apple ld64 derivative) - -xtools is in use on Gentoo Prefix x86_64 and ppc based Darwin installs. -Pick it up as a valid linker. - -Since xtools is answering with a version to --version, as opposed to -ld64, detection of xtools in the ld64 handling block is not possible, -since --version already succeeded. - -Bug: https://bugs.gentoo.org/868516 -Bug: https://github.com/mesonbuild/meson/issues/10805 -Signed-off-by: Fabian Groffen -Signed-off-by: Eli Schwartz ---- - mesonbuild/linkers/detect.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py -index 918f2e634..1bce413f4 100644 ---- a/mesonbuild/linkers/detect.py -+++ b/mesonbuild/linkers/detect.py -@@ -174,6 +174,11 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty - v = search_version(o) - - linker = linkers.LLVMDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) -+ # detect xtools first, bug #10805 -+ elif 'xtools-' in o.split('\n', maxsplit=1)[0]: -+ xtools = o.split(' ', maxsplit=1)[0] -+ v = xtools.split('-', maxsplit=2)[1] -+ linker = linkers.AppleDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) - # First might be apple clang, second is for real gcc, the third is icc. - # Note that "ld: unknown option: " sometimes instead is "ld: unknown options:". - elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option' in e: --- -2.43.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.0-r2.ebuild deleted file mode 100644 index 321c8279eb4..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.0-r2.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# 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 - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="https://github.com/mesonbuild/meson" - inherit git-r3 -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 ) - " - 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 - -inherit bash-completion-r1 distutils-r1 toolchain-funcs - -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=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.2.1-python-path.patch - - # backport fix for broken configure_file() - "${FILESDIR}"/0001-Only-convert-boolean-values-for-cmake-formats.patch - - # backport fix for hiding compiler warnings (such as Modern C) in vala and cython - "${FILESDIR}"/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch -) - -python_prepare_all() { - local disable_unittests=( - # ASAN and sandbox both want control over LD_PRELOAD - # https://bugs.gentoo.org/673016 - -e 's/test_generate_gir_with_address_sanitizer/_&/' - - # ASAN is unsupported on some targets - # https://bugs.gentoo.org/692822 - -e 's/test_pch_with_address_sanitizer/_&/' - - # https://github.com/mesonbuild/meson/issues/7203 - -e 's/test_templates/_&/' - - # Broken due to python2 wrapper - -e 's/test_python_module/_&/' - ) - - sed -i "${disable_unittests[@]}" unittests/*.py || die - - # Broken due to python2 script created by python_wrapper_setup - rm -r "test cases/frameworks/1 boost" || die - - distutils-r1_python_prepare_all -} - -src_test() { - tc-export PKG_CONFIG - if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then - ewarn "Found Qt5Core but not Qt5Gui; skipping tests" - else - distutils-r1_src_test - fi -} - -python_test() { - ( - # test_meson_installed - unset PYTHONDONTWRITEBYTECODE - - # https://bugs.gentoo.org/687792 - unset PKG_CONFIG - - # test_cross_file_system_paths - unset XDG_DATA_HOME - - # 'test cases/unit/73 summary' expects 80 columns - export COLUMNS=80 - - # If JAVA_HOME is not set, meson looks for javac in PATH. - # If javac is in /usr/bin, meson assumes /usr/include is a valid - # JDK include path. Setting JAVA_HOME works around this broken - # autodetection. If no JDK is installed, we should end up with an empty - # value in JAVA_HOME, and the tests should get skipped. - export JAVA_HOME=$(java-config -O 2>/dev/null) - - # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. - python3 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 -} 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.3.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild similarity index 65% rename from sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild index 8a1bba292f2..c46e944a5d1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.3.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.1.ebuild @@ -6,9 +6,17 @@ 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 git-r3 + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + else inherit verify-sig @@ -19,17 +27,16 @@ else 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" + 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 -inherit bash-completion-r1 distutils-r1 toolchain-funcs - DESCRIPTION="Open source build system" HOMEPAGE="https://mesonbuild.com/" @@ -49,22 +56,23 @@ DEPEND=" ) " RDEPEND=" + ! base-system@gentoo.org - - eschwartz93@gmail.com + + eschwartz@gentoo.org Eli Schwartz From c17304ac62c30bf585bd2bf4c47a778514c1354f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:47 +0000 Subject: [PATCH 043/267] dev-build/meson-format-array: Sync with Gentoo It's from Gentoo commit 752458dc5ec90029dd1f0250851519a53eb132fd. --- .../dev-build/meson-format-array/meson-format-array-0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild index e9b3d6f92bc..d9e12ab903f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson-format-array/meson-format-array-0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit python-r1 From 56e920c605dc2bb55a36636bff164b5734375dcf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:47 +0000 Subject: [PATCH 044/267] dev-build/ninja: Sync with Gentoo It's from Gentoo commit 6941a8d364c83e62b33c173ceb8652f0ae9948df. --- .../portage-stable/dev-build/ninja/Manifest | 3 +- ...ninja-1.12.1-restore-tests-bootstrap.patch | 135 ++++++++++++++++++ ...inja-1.12.0.ebuild => ninja-1.12.1.ebuild} | 48 +++++-- .../dev-build/ninja/ninja-9999.ebuild | 44 ++++-- 4 files changed, 211 insertions(+), 19 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch rename sdk_container/src/third_party/portage-stable/dev-build/ninja/{ninja-1.12.0.ebuild => ninja-1.12.1.ebuild} (73%) 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..621e98b6275 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,3 @@ +DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c 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/files/ninja-1.12.1-restore-tests-bootstrap.patch b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch new file mode 100644 index 00000000000..94aa8ab5b39 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/files/ninja-1.12.1-restore-tests-bootstrap.patch @@ -0,0 +1,135 @@ +https://bugs.gentoo.org/929221 +https://github.com/ninja-build/ninja/issues/2447 +https://github.com/ninja-build/ninja/commit/afcd4a146fb82843f6ff695f89504ce4ca65ddfd + +From afcd4a146fb82843f6ff695f89504ce4ca65ddfd Mon Sep 17 00:00:00 2001 +From: David 'Digit' Turner +Date: Sun, 12 May 2024 23:45:28 +0200 +Subject: [PATCH] configure.py: Support --gtest-source-dir to build tests. + +Allow the Ninja build plan generated by configure.py to +build `ninja_test` by compiling GoogleTest from source if +the path to the library if passed through the new option +`--gtest-source-dir` or the GTEST_SOURCE_DIR environment +variable. + +For simplicity, probing for an installed version of the +library, and linking to it, is not supported (use the +CMake build for this). + +This also removes the obsolete `--gtest-dir` option. + +Fixes #2447 +--- + configure.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 95 insertions(+), 1 deletion(-) + +diff --git a/configure.py b/configure.py +index f9e49f9cdf..2b16618c43 100755 +--- a/configure.py ++++ b/configure.py +@@ -223,7 +223,10 @@ def _run_command(self, cmdline: str) -> None: + parser.add_option('--profile', metavar='TYPE', + choices=profilers, + help='enable profiling (' + '/'.join(profilers) + ')',) +-parser.add_option('--with-gtest', metavar='PATH', help='ignored') ++parser.add_option('--gtest-source-dir', metavar='PATH', ++ help='Path to GoogleTest source directory. If not provided ' + ++ 'GTEST_SOURCE_DIR will be probed in the environment. ' + ++ 'Tests will not be built without a value.') + parser.add_option('--with-python', metavar='EXE', + help='use EXE as the Python interpreter', + default=os.path.basename(sys.executable)) +@@ -435,6 +438,7 @@ def shell_escape(str: str) -> str: + if 'LDFLAGS' in configure_env: + ldflags.append(configure_env['LDFLAGS']) + n.variable('ldflags', ' '.join(shell_escape(flag) for flag in ldflags)) ++ + n.newline() + + if platform.is_msvc(): +@@ -592,6 +596,83 @@ def has_re2c() -> bool: + # build.ninja file. + n = ninja_writer + ++# Build the ninja_test executable only if the GTest source directory ++# is provided explicitly. Either from the environment with GTEST_SOURCE_DIR ++# or with the --gtest-source-dir command-line option. ++# ++# Do not try to look for an installed binary version, and link against it ++# because doing so properly is platform-specific (use the CMake build for ++# this). ++if options.gtest_source_dir: ++ gtest_src_dir = options.gtest_source_dir ++else: ++ gtest_src_dir = os.environ.get('GTEST_SOURCE_DIR') ++ ++if gtest_src_dir: ++ # Verify GoogleTest source directory, and add its include directory ++ # to the global include search path (even for non-test sources) to ++ # keep the build plan generation simple. ++ gtest_all_cc = os.path.join(gtest_src_dir, 'googletest', 'src', 'gtest-all.cc') ++ if not os.path.exists(gtest_all_cc): ++ print('ERROR: Missing GoogleTest source file: %s' % gtest_all_cc) ++ sys.exit(1) ++ ++ n.comment('Tests all build into ninja_test executable.') ++ ++ # Test-specific version of cflags, must include the GoogleTest ++ # include directory. Also GoogleTest can only build with a C++14 compiler. ++ test_cflags = [f.replace('std=c++11', 'std=c++14') for f in cflags] ++ test_cflags.append('-I' + os.path.join(gtest_src_dir, 'googletest', 'include')) ++ ++ test_variables = [('cflags', test_cflags)] ++ if platform.is_msvc(): ++ test_variables += [('pdb', 'ninja_test.pdb')] ++ ++ test_names = [ ++ 'build_log_test', ++ 'build_test', ++ 'clean_test', ++ 'clparser_test', ++ 'depfile_parser_test', ++ 'deps_log_test', ++ 'disk_interface_test', ++ 'dyndep_parser_test', ++ 'edit_distance_test', ++ 'graph_test', ++ 'json_test', ++ 'lexer_test', ++ 'manifest_parser_test', ++ 'ninja_test', ++ 'state_test', ++ 'string_piece_util_test', ++ 'subprocess_test', ++ 'test', ++ 'util_test', ++ ] ++ if platform.is_windows(): ++ test_names += [ ++ 'includes_normalize_test', ++ 'msvc_helper_test', ++ ] ++ ++ objs = [] ++ for name in test_names: ++ objs += cxx(name, variables=test_variables) ++ ++ # Build GTest as a monolithic source file. ++ # This requires one extra include search path, so replace the ++ # value of 'cflags' in our list. ++ gtest_all_variables = test_variables[1:] + [ ++ ('cflags', test_cflags + ['-I' + os.path.join(gtest_src_dir, 'googletest') ]), ++ ] ++ # Do not use cxx() directly to ensure the object file is under $builddir. ++ objs += n.build(built('gtest_all' + objext), 'cxx', gtest_all_cc, variables=gtest_all_variables) ++ ++ ninja_test = n.build(binary('ninja_test'), 'link', objs, implicit=ninja_lib, ++ variables=[('libs', libs)]) ++ n.newline() ++ all_targets += ninja_test ++ + n.comment('Ancillary executables.') + + if platform.is_aix() and '-maix64' not in ldflags: + diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.1.ebuild similarity index 73% 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..05b835dcd49 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,10 +3,13 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit bash-completion-r1 edo python-any-r1 toolchain-funcs +DESCRIPTION="A small build system similar to make" +HOMEPAGE="https://ninja-build.org/" + if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" inherit git-r3 @@ -15,12 +18,13 @@ else 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 small build system similar to make" -HOMEPAGE="https://ninja-build.org/" +GTEST_VER=1.14.0 +SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )" LICENSE="Apache-2.0" SLOT="0" -IUSE="doc" +IUSE="doc test" +RESTRICT="!test? ( test )" BDEPEND=" ${PYTHON_DEPS} @@ -36,14 +40,20 @@ PDEPEND=" app-alternatives/ninja " +PATCHES=( + "${FILESDIR}"/ninja-cflags.patch + "${FILESDIR}"/${P}-restore-tests-bootstrap.patch +) + pkg_setup() { : } -src_prepare() { - local PATCHES=( - "${FILESDIR}"/ninja-cflags.patch - ) +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi + default } @@ -55,7 +65,18 @@ bootstrap() { local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64" local -x LDFLAGS=${BUILD_LDFLAGS} fi - edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose + + local args=( + --with-python=python + --bootstrap + --verbose + ) + + if use test; then + args+=( --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER} ) + fi + + edo ${EPYTHON} configure.py "${args[@]}" } src_compile() { @@ -77,6 +98,15 @@ src_compile() { fi } +src_test() { + if ! tc-is-cross-compiler; then + # Bug 485772 + ulimit -n 2048 + edo ./ninja -v ninja_test + edo ./ninja_test + fi +} + src_install() { newbin ninja{,-reference} 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..0bd7a0f8370 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,10 +3,13 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit bash-completion-r1 edo python-any-r1 toolchain-funcs +DESCRIPTION="A small build system similar to make" +HOMEPAGE="https://ninja-build.org/" + if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" inherit git-r3 @@ -15,12 +18,13 @@ else 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 small build system similar to make" -HOMEPAGE="https://ninja-build.org/" +GTEST_VER=1.14.0 +SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )" LICENSE="Apache-2.0" SLOT="0" -IUSE="doc" +IUSE="doc test" +RESTRICT="!test? ( test )" BDEPEND=" ${PYTHON_DEPS} @@ -36,14 +40,19 @@ PDEPEND=" app-alternatives/ninja " +PATCHES=( + "${FILESDIR}"/ninja-cflags.patch +) + pkg_setup() { : } -src_prepare() { - local PATCHES=( - "${FILESDIR}"/ninja-cflags.patch - ) +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi + default } @@ -55,7 +64,15 @@ bootstrap() { local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64" local -x LDFLAGS=${BUILD_LDFLAGS} fi - edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose + + local bootstrap_args=( + --with-python=python + --bootstrap + --verbose + $(usev test --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER}) + ) + + edo ${EPYTHON} configure.py "${bootstrap_args[@]}" } src_compile() { @@ -77,6 +94,15 @@ src_compile() { fi } +src_test() { + if ! tc-is-cross-compiler; then + # Bug 485772 + ulimit -n 2048 + edo ./ninja -v ninja_test + edo ./ninja_test + fi +} + src_install() { newbin ninja{,-reference} From 08d7c6b0b52365604267950572bb49c75b0f3807 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:47 +0000 Subject: [PATCH 045/267] dev-cpp/gtest: Sync with Gentoo It's from Gentoo commit 52306b79984f09cc8b3b20d97315043b1e597e9b. --- .../dev-cpp/gtest/gtest-1.14.0-r1.ebuild | 81 +++++++++++++++++++ .../dev-cpp/gtest/gtest-1.14.0.ebuild | 6 +- .../dev-cpp/gtest/gtest-9999.ebuild | 17 +++- 3 files changed, 97 insertions(+), 7 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild new file mode 100644 index 00000000000..afb21ca17db --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Python is required for tests and some build tasks. +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/google/googletest" +else + if [[ -z ${GOOGLETEST_COMMIT} ]]; then + SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/googletest-${PV} + else + SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz + -> ${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" +fi + +DESCRIPTION="Google C++ Testing Framework" +HOMEPAGE="https://github.com/google/googletest" + +LICENSE="BSD" +SLOT="0" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + if use arm && [[ $(tc-is-softfloat) =~ (softfp)|(no) ]]; then + replace-flags -O* -O1 # bug #925093 + fi + + local mycmakeargs=( + -DBUILD_GMOCK=ON + -DINSTALL_GTEST=ON + + # tests + -Dgmock_build_tests=$(usex test) + -Dgtest_build_tests=$(usex test) + ) + if use test; then + if use x86 || use x86-linux; then + append-cxxflags -ffloat-store # bug #905007 + fi + mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + fi + + cmake_src_configure +} + +multilib_src_test() { + # Exclude tests that fail with FEATURES="usersandbox" + cmake_src_test -E "googletest-(death-test|port)-test" +} + +multilib_src_install_all() { + einstalldocs + + newdoc googletest/README.md README.googletest.md + newdoc googlemock/README.md README.googlemock.md + + use doc && dodoc -r docs/. + + if use examples; then + docinto examples + dodoc googletest/samples/*.{cc,h} + fi +} 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..307c8242b1c 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,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Python is required for tests and some build tasks. -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib python-any-r1 @@ -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" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild index 5351c69b1cd..ecb89314e21 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-9999.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Python is required for tests and some build tasks. -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake-multilib python-any-r1 +inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs if [[ ${PV} == "9999" ]]; then inherit git-r3 @@ -39,6 +39,10 @@ pkg_setup() { } multilib_src_configure() { + if use arm && [[ $(tc-is-softfloat) =~ (softfp)|(no) ]]; then + replace-flags -O* -O1 # bug #925093 + fi + local mycmakeargs=( -DBUILD_GMOCK=ON -DINSTALL_GTEST=ON @@ -47,7 +51,12 @@ multilib_src_configure() { -Dgmock_build_tests=$(usex test) -Dgtest_build_tests=$(usex test) ) - use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + if use test; then + if use x86 || use x86-linux; then + append-cxxflags -ffloat-store # bug #905007 + fi + mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + fi cmake_src_configure } From 498d6f57b94d0b1ab198bead87ea6a540d160305 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:48 +0000 Subject: [PATCH 046/267] dev-db/sqlite: Sync with Gentoo It's from Gentoo commit 5757c576c81986b58cb553351174c036a3b3d1e4. --- .../portage-stable/dev-db/sqlite/Manifest | 8 +- .../files/sqlite-3.44.2-fts-regression.patch | 125 ----- .../sqlite-3.44.2-tracker-regression.patch | 187 -------- .../sqlite/files/sqlite-3.45.1-lto.patch | 20 - .../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.1-r1.ebuild | 439 ------------------ .../dev-db/sqlite/sqlite-3.45.3.ebuild | 2 +- ...ite-3.45.2.ebuild => sqlite-3.46.0.ebuild} | 1 - 9 files changed, 3 insertions(+), 1646 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.1-lto.patch 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 delete mode 100644 sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.1-r1.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..12e948d841a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest @@ -1,8 +1,4 @@ -DIST sqlite-doc-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-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005 -DIST sqlite-src-3450200.zip 14156848 BLAKE2B a830dce41fd6c9ef936115460ed4aa9be277688389c50545fcb5e8ee65317d3adaf51873ec789556cf293418f7059868c7ffac229dc30756ba5137431839ec69 SHA512 b6e875ab4ed24cd564330e50a87f35aae43c382f88ca86c2eedf5308c7fab683c1880c0053408e864b0cec1feb7ae81aca8a91979a3ee3975f26037a7983011a +DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd 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/files/sqlite-3.44.2-fts-regression.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch deleted file mode 100644 index 369732f81b3..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch +++ /dev/null @@ -1,125 +0,0 @@ -https://bugs.gentoo.org/921490 -https://www.sqlite.org/forum/forumpost/d16aeb397d - -https://github.com/kovidgoyal/calibre/commit/0a23fabd5b4bff152047ba0cffbc2b67592645d1 -https://github.com/kovidgoyal/calibre/commit/3349979551db05ec0c8754d7ea5a4e57a97f8a0a -https://github.com/kovidgoyal/calibre/commit/da82b673f09efbe9cdcc1e0900f0a9f04d8de052 ---- a/ext/fts5/fts5_aux.c -+++ b/ext/fts5/fts5_aux.c -@@ -209,10 +209,18 @@ - rc = fts5CInstIterNext(&p->iter); - } - } - - if( iPos==p->iRangeEnd ){ -+ if( p->bOpen ){ -+ if( p->iter.iStart>=0 && iPos>=p->iter.iStart ){ -+ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff); -+ p->iOff = iEndOff; -+ } -+ fts5HighlightAppend(&rc, p, p->zClose, -1); -+ p->bOpen = 0; -+ } - fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff); - p->iOff = iEndOff; - } - - return rc; - -ADDED ext/fts5/test/fts5tokenizer2.test -Index: ext/fts5/test/fts5tokenizer2.test -================================================================== ---- /dev/null -+++ b/ext/fts5/test/fts5tokenizer2.test -@@ -0,0 +1,89 @@ -+# 2023 Nov 03 -+# -+# The author disclaims copyright to this source code. In place of -+# a legal notice, here is a blessing: -+# -+# May you do good and not evil. -+# May you find forgiveness for yourself and forgive others. -+# May you share freely, never taking more than you give. -+# -+#*********************************************************************** -+# -+# Tests focusing on the built-in fts5 tokenizers. -+# -+ -+source [file join [file dirname [info script]] fts5_common.tcl] -+set testprefix fts5tokenizer2 -+ -+# If SQLITE_ENABLE_FTS5 is defined, omit this file. -+ifcapable !fts5 { -+ finish_test -+ return -+} -+ -+sqlite3_fts5_create_tokenizer db tst get_tst_tokenizer -+proc get_tst_tokenizer {args} { -+ return "tst_tokenizer" -+} -+proc tst_tokenizer {flags txt} { -+ set token "" -+ set lTok [list] -+ -+ foreach c [split $txt {}] { -+ if {$token==""} { -+ append token $c -+ } else { -+ set t1 [string is upper $token] -+ set t2 [string is upper $c] -+ -+ if {$t1!=$t2} { -+ lappend lTok $token -+ set token "" -+ } -+ append token $c -+ } -+ } -+ if {$token!=""} { lappend lTok $token } -+ -+ set iOff 0 -+ foreach t $lTok { -+ set n [string length $t] -+ sqlite3_fts5_token $t $iOff [expr $iOff+$n] -+ incr iOff $n -+ } -+} -+ -+do_execsql_test 1.0 { -+ CREATE VIRTUAL TABLE t1 USING fts5(t, tokenize=tst); -+} -+ -+do_execsql_test 1.1 { -+ INSERT INTO t1 VALUES('AAdontBBmess'); -+} -+ -+do_execsql_test 1.2 { -+ SELECT snippet(t1, 0, '>', '<', '...', 4) FROM t1('BB'); -+} {AAdont>BB', '<') FROM t1('BB'); -+} {AAdont>BB', '<') FROM t1('AA'); -+} {>AA', '<') FROM t1('dont'); -+} {AA>dont', '<') FROM t1('mess'); -+} {AAdontBB>mess<} -+ -+do_execsql_test 1.7 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('BB mess'); -+} {AAdont>BBmess<} -+ -+ -+finish_test - - diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch deleted file mode 100644 index b03848a1914..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch +++ /dev/null @@ -1,187 +0,0 @@ -https://sqlite.org/forum/forumpost/cb59d962fd -https://sqlite.org/src/vinfo/d8c6b246 -https://sqlite.org/src/info/67da596d82ec0ed3 (backport) - ---- a/ext/fts5/fts5_index.c -+++ b/ext/fts5/fts5_index.c -@@ -355,10 +355,11 @@ - int nContentlessDelete; /* Number of contentless delete ops */ - int nPendingRow; /* Number of INSERT in hash table */ - - /* Error state. */ - int rc; /* Current error code */ -+ int flushRc; - - /* State used by the fts5DataXXX() functions. */ - sqlite3_blob *pReader; /* RO incr-blob open on %_data table */ - sqlite3_stmt *pWriter; /* "INSERT ... %_data VALUES(?,?)" */ - sqlite3_stmt *pDeleter; /* "DELETE FROM %_data ... id>=? AND id<=?" */ -@@ -4000,10 +4001,11 @@ - assert( p->pHash || p->nPendingData==0 ); - if( p->pHash ){ - sqlite3Fts5HashClear(p->pHash); - p->nPendingData = 0; - p->nPendingRow = 0; -+ p->flushRc = SQLITE_OK; - } - p->nContentlessDelete = 0; - } - - /* -@@ -5582,18 +5584,24 @@ - /* - ** Flush any data stored in the in-memory hash tables to the database. - */ - static void fts5IndexFlush(Fts5Index *p){ - /* Unless it is empty, flush the hash table to disk */ -+ if( p->flushRc ){ -+ p->rc = p->flushRc; -+ return; -+ } - if( p->nPendingData || p->nContentlessDelete ){ - assert( p->pHash ); - fts5FlushOneHash(p); - if( p->rc==SQLITE_OK ){ - sqlite3Fts5HashClear(p->pHash); - p->nPendingData = 0; - p->nPendingRow = 0; - p->nContentlessDelete = 0; -+ }else if( p->nPendingData || p->nContentlessDelete ){ -+ p->flushRc = p->rc; - } - } - } - - static Fts5Structure *fts5IndexOptimizeStruct( - ---- a/ext/fts5/fts5_main.c -+++ b/ext/fts5/fts5_main.c -@@ -116,11 +116,11 @@ - Fts5Table p; /* Public class members from fts5Int.h */ - Fts5Storage *pStorage; /* Document store */ - Fts5Global *pGlobal; /* Global (connection wide) data */ - Fts5Cursor *pSortCsr; /* Sort data from this cursor */ - int iSavepoint; /* Successful xSavepoint()+1 */ -- int bInSavepoint; -+ - #ifdef SQLITE_DEBUG - struct Fts5TransactionState ts; - #endif - }; - -@@ -2613,13 +2613,11 @@ - sqlite3_vtab *pVtab, /* Virtual table handle */ - const char *zName /* New name of table */ - ){ - int rc; - Fts5FullTable *pTab = (Fts5FullTable*)pVtab; -- pTab->bInSavepoint = 1; - rc = sqlite3Fts5StorageRename(pTab->pStorage, zName); -- pTab->bInSavepoint = 0; - return rc; - } - - int sqlite3Fts5FlushToDisk(Fts5Table *pTab){ - fts5TripCursors((Fts5FullTable*)pTab); -@@ -2632,30 +2630,16 @@ - ** Flush the contents of the pending-terms table to disk. - */ - static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ - Fts5FullTable *pTab = (Fts5FullTable*)pVtab; - int rc = SQLITE_OK; -- char *zSql = 0; -+ - fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint); -- -- if( pTab->bInSavepoint==0 ){ -- zSql = sqlite3_mprintf("INSERT INTO %Q.%Q(%Q) VALUES('flush')", -- pTab->p.pConfig->zDb, pTab->p.pConfig->zName, pTab->p.pConfig->zName -- ); -- if( zSql ){ -- pTab->bInSavepoint = 1; -- rc = sqlite3_exec(pTab->p.pConfig->db, zSql, 0, 0, 0); -- pTab->bInSavepoint = 0; -- sqlite3_free(zSql); -- }else{ -- rc = SQLITE_NOMEM; -- } -- if( rc==SQLITE_OK ){ -- pTab->iSavepoint = iSavepoint+1; -- } -- } -- -+ rc = sqlite3Fts5FlushToDisk((Fts5Table*)pVtab); -+ if( rc==SQLITE_OK ){ -+ pTab->iSavepoint = iSavepoint+1; -+ } - return rc; - } - - /* - ** The xRelease() method. -@@ -2912,11 +2896,11 @@ - /* - ** Run an integrity check on the FTS5 data structures. Return a string - ** if anything is found amiss. Return a NULL pointer if everything is - ** OK. - */ --static int fts5Integrity( -+static int fts5IntegrityMethod( - sqlite3_vtab *pVtab, /* the FTS5 virtual table to check */ - const char *zSchema, /* Name of schema in which this table lives */ - const char *zTabname, /* Name of the table itself */ - int isQuick, /* True if this is a quick-check */ - char **pzErr /* Write error message here */ -@@ -2970,11 +2954,11 @@ - /* xRename */ fts5RenameMethod, - /* xSavepoint */ fts5SavepointMethod, - /* xRelease */ fts5ReleaseMethod, - /* xRollbackTo */ fts5RollbackToMethod, - /* xShadowName */ fts5ShadowName, -- /* xIntegrity */ fts5Integrity -+ /* xIntegrity */ fts5IntegrityMethod - }; - - int rc; - Fts5Global *pGlobal = 0; - - ---- a/ext/fts5/test/fts5misc.test -+++ b/ext/fts5/test/fts5misc.test -@@ -89,11 +89,10 @@ - CREATE VIRTUAL TABLE vt0 USING fts5(c0); - BEGIN TRANSACTION; - INSERT INTO vt0(c0) VALUES ('xyz'); - } - --breakpoint - do_execsql_test 2.2.2 { - ALTER TABLE t0 RENAME TO t1; - } - do_execsql_test 2.2.3 { - INSERT INTO vt0(vt0) VALUES('integrity-check'); -@@ -498,8 +497,23 @@ - } {assertionfaultproblem} - do_execsql_test 17.5 { - SELECT c0 FROM t0 WHERE c0 GLOB '*faul*'; - } {assertionfaultproblem} - -+#------------------------------------------------------------------------- -+reset_db -+do_execsql_test 18.0 { -+ BEGIN; -+ CREATE VIRTUAL TABLE t1 USING fts5(text); -+ ALTER TABLE t1 RENAME TO t2; -+} -+ -+do_execsql_test 18.1 { -+ DROP TABLE t2; -+} -+ -+do_execsql_test 18.2 { -+ COMMIT; -+} - - finish_test - - diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.1-lto.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.1-lto.patch deleted file mode 100644 index 3f15d1a2926..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.45.1-lto.patch +++ /dev/null @@ -1,20 +0,0 @@ -# Bug: https://bugs.gentoo.org/924300 -# Taken from https://sqlite.org/src/info/803481f25020f3c ---- a/test/fuzzcheck.c -+++ b/test/fuzzcheck.c -@@ -159,12 +159,12 @@ - } g; - - /* - ** Include the external vt02.c and randomjson.c modules. - */ --extern int sqlite3_vt02_init(sqlite3*,char***,void*); --extern int sqlite3_randomjson_init(sqlite3*,char***,void*); -+extern int sqlite3_vt02_init(sqlite3*,char**,const sqlite3_api_routines*); -+extern int sqlite3_randomjson_init(sqlite3*,char**,const sqlite3_api_routines*); - - - /* - ** Print an error message and quit. - */ - 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.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.1-r1.ebuild deleted file mode 100644 index 0e04537b49c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.45.1-r1.ebuild +++ /dev/null @@ -1,439 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~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.45.1-ppc64-ptr.patch - "${FILESDIR}"/${P}-lto.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 - # Quoting Fedora's spec: - # "The atof test is failing on the i686 architecture, when binary configured with - # --enable-rtree option. Failing part is text->real conversion and - # text->real->text conversion in lower significant values after decimal point in a number. - # func4 tests fail for i686 on float<->int conversions." - if use test ; then - rm test/atof1.test test/func4.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 289c7ed397ad7ae7e377cff97687fe3e4ef21c17 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:48 +0000 Subject: [PATCH 047/267] dev-debug/gdb: Sync with Gentoo It's from Gentoo commit 6dbeff440e86c90941467834e607da0c1c9e5bcd. --- .../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.1.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.1.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..73ec8936577 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.1.tar.xz 24295712 BLAKE2B e05133a9f98a1a00cbfb49294f534e3b8830b48ac9526af3312a3b9a0381e0e652bc3f5fdc8528ceb16c890529cefbd7745bed97298a1fecb64c726d09c8aacb SHA512 0217434073023a8b8316088bf3ee95d53a1b6a7897f6269095429016a8900f9a05e130c390d8d5d5550cc515c16519de1071d8eef96aa58e38056c7e37da1d8b 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.1.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.1.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.1.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 ec7854d013bfd4e273084b864e03fcb029126fcd Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:48 +0000 Subject: [PATCH 048/267] dev-debug/strace: Sync with Gentoo It's from Gentoo commit 0dde3cdc372d21a11b81ba50a44d3d2f43b4c396. --- .../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..482af8b00c1 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 9d02d6827262944cfa4b2059d1ddd37d25044c40 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:48 +0000 Subject: [PATCH 049/267] 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 c4e7a3d74ab87ec31a9dfc53566e6ab78792c5d0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:49 +0000 Subject: [PATCH 050/267] 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 5099e1bb4bc9f25972b9a695e97203b2c575ff0a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:49 +0000 Subject: [PATCH 051/267] 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 58fa043a4a5c8c391ea3ed9e990f76a5d1abedd3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:50 +0000 Subject: [PATCH 052/267] dev-lang/python: Sync with Gentoo It's from Gentoo commit 290d82f62fa7b58b40665956075060c7793c6c31. --- .../portage-stable/dev-lang/python/Manifest | 45 +- .../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 | 508 -------------- ...11.8_p1.ebuild => python-3.11.9-r1.ebuild} | 34 + .../dev-lang/python/python-3.11.9.ebuild | 539 -------------- ...12.2_p1.ebuild => python-3.12.3-r1.ebuild} | 34 + ...-3.12.3.ebuild => python-3.12.4_p1.ebuild} | 55 +- ..._alpha6.ebuild => python-3.12.4_p2.ebuild} | 80 ++- ...4.ebuild => python-3.13.0_beta1_p3.ebuild} | 157 ++++- ...5.ebuild => python-3.13.0_beta2_p9.ebuild} | 186 ++++- .../python/python-3.13.0_beta3.ebuild | 659 ++++++++++++++++++ .../python/python-3.13.0_beta3_p1.ebuild | 659 ++++++++++++++++++ .../dev-lang/python/python-3.8.19.ebuild | 430 ------------ .../dev-lang/python/python-3.8.19_p1.ebuild | 430 ------------ ...8.18_p2.ebuild => python-3.8.19_p2.ebuild} | 2 + .../dev-lang/python/python-3.9.19.ebuild | 490 ------------- .../dev-lang/python/python-3.9.19_p2.ebuild | 490 ------------- ...9.18_p2.ebuild => python-3.9.19_p3.ebuild} | 2 + 20 files changed, 1814 insertions(+), 3532 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%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.11.8_p1.ebuild => python-3.11.9-r1.ebuild} (95%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild 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.12.3.ebuild => python-3.12.4_p1.ebuild} (93%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha6.ebuild => python-3.12.4_p2.ebuild} (91%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha4.ebuild => python-3.13.0_beta1_p3.ebuild} (83%) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.13.0_alpha5.ebuild => python-3.13.0_beta2_p9.ebuild} (80%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p1.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.8.18_p2.ebuild => python-3.8.19_p2.ebuild} (99%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p2.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..414c984f20f 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,32 @@ 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.13.0b3.tar.xz 20841504 BLAKE2B 92760124355483da082ac9fdc7a72eb6739e99acd97521a8c9a60bb73a25e26bcb8bdc9e911ee91667244320b742a9572c1e12229eb1c0d97ef5794493abac0f SHA512 1f0ef2d6f5d450664ad4104b92193b5a2dbe9c79add0a79c35ad9508f9fc7f1a5561efd5e4367defddf45457291524d353705d9a60b3550065920e204c77357d +DIST Python-3.13.0b3.tar.xz.asc 963 BLAKE2B 784df664961ea36cb570d685c0cf6e8fe7159161c38103f217303bc0264c73a9904021cca297a180c7dd712d4e7fcee161d741919bee49eff962a25d14568d41 SHA512 3d8bdc8c26441a12518940d264e93a8897042e297ccf9cd2ddec725716a58486475be9462582ee489bd189a4d028b43504f979298174c1b008d521b7ab5fbf1b 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.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.9.19_p2.tar.xz 27684 BLAKE2B a69f00548c153da7b13dfeccb332d3d67ecf649fb5ae054590492f3e2fc2c84b78ebaf90bcf9738157c9022778e5bf2a6b4fb6a99e996dcb63859dcf6f84af23 SHA512 552a5f2d89307d4193d76df5a2cf1deb4bd5c8ad9ec81e6768987f1649f6571a318e68b92d8f8ecdba12bfe9c5f1a427a4cc577e6aaebf7748027cc50e412804 +DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7 +DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c562a8df5ae7d6caf0045e631fcf85a8f91335cf18f1df2ac611ea73d26e5b70c2537beb423a9303dcce41c2c2e2b049ee9f1e537b53 SHA512 df1d49e60d23f5f09144c57034c86f81f8d185f65c3a93bbb2b386977638bd525b45fe1dff8c7202d60ca3a5fdf96b94a492b076072713565e7449b679fde7b5 +DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b +DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682 +DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa +DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b19833a3dfaab446a43ca00bbaa415e38c3ede6c4a738046469ca4ef6e184a5d7df33a8a1c5209271a1eb0728c3791e6630953bcd798f SHA512 57bbe0470e3356cef3b1880cedd18d4e84d6f64d1f398ce3e3e729744ac5f7a4dc4144333e2355f9ecf41c58382ab5708e7dbf7d480dbf797caa460862aee3bd +DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 +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 deleted file mode 100644 index 1c8c99fe93c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p1.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.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 deleted file mode 100644 index 99f9650f71a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9.ebuild +++ /dev/null @@ -1,539 +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:= - app-crypt/libb2 - >=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 ) - 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 ) -" -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 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Avoid as many dependencies as possible for the cross build. - cat >> Makefile <<-EOF || die - MODULE_NIS_STATE=disabled - MODULE__DBM_STATE=disabled - MODULE__GDBM_STATE=disabled - MODULE__DBM_STATE=disabled - MODULE__SQLITE3_STATE=disabled - MODULE__HASHLIB_STATE=disabled - MODULE__SSL_STATE=disabled - MODULE__CURSES_STATE=disabled - MODULE__CURSES_PANEL_STATE=disabled - MODULE_READLINE_STATE=disabled - MODULE__TKINTER_STATE=disabled - MODULE_PYEXPAT_STATE=disabled - MODULE_ZLIB_STATE=disabled - EOF - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - 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-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # disable implicit optimization/debugging flags - local -x OPT= - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - myeconfargs+=( - --with-lto - ) - fi - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - hprefixify setup.py - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # force-disable modules we don't want built - local disable_modules=( NIS ) - use gdbm || disable_modules+=( _GDBM _DBM ) - use sqlite || disable_modules+=( _SQLITE3 ) - use ssl || disable_modules+=( _HASHLIB _SSL ) - use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) - use readline || disable_modules+=( READLINE ) - use tk || disable_modules+=( _TKINTER ) - - local mod - for mod in "${disable_modules[@]}"; do - echo "MODULE_${mod}_STATE=disabled" - done >> Makefile || die - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - # Prevent using distutils bundled by setuptools. - # https://bugs.gentoo.org/823728 - export SETUPTOOLS_USE_DISTUTILS=stdlib - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - 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 - - # 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=( - -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} - - # -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 - # 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.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.4_p1.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild index 6133d8e6f04..a2461c6b390 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.4_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 @@ -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:= @@ -134,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 } @@ -249,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+=( @@ -276,6 +296,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 +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!") @@ -519,19 +556,3 @@ src_install() { 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.12.4_p2.ebuild similarity index 91% 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.12.4_p2.ebuild index ffa0f839d60..bec993fb2e8 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.12.4_p2.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 } @@ -257,9 +251,22 @@ src_configure() { # 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 + # 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 @@ -289,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) @@ -372,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 @@ -419,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!") @@ -525,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_alpha4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild similarity index 83% 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.13.0_beta1_p3.ebuild index 78f3cecc7a9..c7e6f46cf05 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.13.0_beta1_p3.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,9 +31,10 @@ 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 - +ncurses pgo +readline +sqlite +ssl test tk valgrind + 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 )" @@ -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 } @@ -229,25 +242,105 @@ src_configure() { 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 - -x test_gdb + "${COMMON_TEST_SKIPS[@]}" + -x test_dtrace # All of these seem to occasionally hang for PGO inconsistently # They'll even hang here but be fine in src_test sometimes. # bug #828535 (and related: bug #788022) -x test_asyncio - -x test_concurrent_futures -x test_httpservers -x test_logging -x test_multiprocessing_fork @@ -257,8 +350,44 @@ src_configure() { # 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 + if has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -286,11 +415,13 @@ 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 gil) $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") @@ -400,22 +531,12 @@ src_test() { local -x LOGNAME=buildbot local test_opts=( + --verbose3 -u-network -j "$(makeopts_jobs)" - - # fails - -x test_concurrent_futures - -x test_gdb + "${COMMON_TEST_SKIPS[@]}" ) - 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!") 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.13.0_beta2_p9.ebuild similarity index 80% 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.13.0_beta2_p9.ebuild index 78f3cecc7a9..87d11b2c537 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.13.0_beta2_p9.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,9 +31,10 @@ 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 - +ncurses pgo +readline +sqlite +ssl test tk valgrind + 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 )" @@ -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 } @@ -229,25 +242,108 @@ src_configure() { dbmliborder+="${dbmliborder:+:}gdbm" fi + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + # test_asyncio_repl_is_ok is flaky + # https://github.com/python/cpython/issues/119909 + -x test_repl + ) + + # 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 - -x test_gdb + "${COMMON_TEST_SKIPS[@]}" + -x test_dtrace # All of these seem to occasionally hang for PGO inconsistently # They'll even hang here but be fine in src_test sometimes. # bug #828535 (and related: bug #788022) -x test_asyncio - -x test_concurrent_futures -x test_httpservers -x test_logging -x test_multiprocessing_fork @@ -257,8 +353,44 @@ src_configure() { # 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 + if has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -286,11 +418,13 @@ 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 gil) $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") @@ -364,12 +498,13 @@ src_compile() { # bug #831897 local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + if use pgo ; then # bug 660358 local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= - - addwrite "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -400,49 +535,26 @@ src_test() { local -x LOGNAME=buildbot local test_opts=( + --verbose3 -u-network -j "$(makeopts_jobs)" - - # fails - -x test_concurrent_futures - -x test_gdb + "${COMMON_TEST_SKIPS[@]}" ) - 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} - # 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 @@ -533,15 +645,15 @@ src_install() { 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" + 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.11 modules, e.g. using:" + ewarn "installing Python 3.13 modules, e.g. using:" ewarn - ewarn " emerge -1v /usr/lib/python3.11/site-packages" + 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.13.0_beta3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild new file mode 100644 index 00000000000..87d11b2c537 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild @@ -0,0 +1,659 @@ +# 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 + # test_asyncio_repl_is_ok is flaky + # https://github.com/python/cpython/issues/119909 + -x test_repl + ) + + # 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 + + 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} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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.13.0_beta3_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild new file mode 100644 index 00000000000..87d11b2c537 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild @@ -0,0 +1,659 @@ +# 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 + # test_asyncio_repl_is_ok is flaky + # https://github.com/python/cpython/issues/119909 + -x test_repl + ) + + # 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 + + 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} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" 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.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.ebuild deleted file mode 100644 index 615fcded9e9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19.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 deleted file mode 100644 index 40996eefef2..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p1.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.18_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p2.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.18_p2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p2.ebuild index 35dce04267d..9019d3f2755 100644 --- 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.19_p2.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:= @@ -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 deleted file mode 100644 index fcb40b0b159..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p2.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.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 8377f2f2ebe30ec59e6294db015db67ac6623bfc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:51 +0000 Subject: [PATCH 053/267] dev-lang/swig: Sync with Gentoo It's from Gentoo commit 8cff4604085d2ebeb6a4edc03f08208635c02dd7. --- .../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..ed5d7116361 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 8dba9b97c83ddd0a3bdf8f2d835bd758eb3fafe8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:52 +0000 Subject: [PATCH 054/267] dev-libs/cJSON: Sync with Gentoo It's from Gentoo commit 1c0b004f5d6d6f087348b55e8e86bfe18debd7bd. --- .../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..ad4a1c44841 --- /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 bc3fb386664bcbb031d239c9f3873c196132e402 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:53 +0000 Subject: [PATCH 055/267] 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 d1eabbc34897501be40a8b403b45ec5003f325f1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:56 +0000 Subject: [PATCH 056/267] 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 2c16157759abe53b9cc8408b2d507d977576cd06 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:12:57 +0000 Subject: [PATCH 057/267] dev-libs/glib: Sync with Gentoo It's from Gentoo commit e134e306ea98f0e693a26625ae5ed317ed814077. --- .../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..8c403152209 --- /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..13} ) + +inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg + +DESCRIPTION="The GLib library of C routines" +HOMEPAGE="https://www.gtk.org/" + +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 cd85904e15b6cfbdd29b5973c6bf2cb8e81e8dbe Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:00 +0000 Subject: [PATCH 058/267] 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 9b287858b59c2c8dba3bbb10bc6b53960383177f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:01 +0000 Subject: [PATCH 059/267] dev-libs/json-c: Sync with Gentoo It's from Gentoo commit e9d802f94801a3b18fb1b0c02c43b45076124b5d. --- .../portage-stable/dev-libs/json-c/metadata.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/metadata.xml index 0bb1a4787f7..109ee5b5405 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/metadata.xml @@ -1,18 +1,7 @@ - - jsmolic@gentoo.org - Jakov Smolić - - - luka.perkov@sartura.hr - Luka Perkov - - - proxy-maint@gentoo.org - Proxy Maintainers - + JSON-C is a JSON implementation written in C. It implements a reference counting object model that allows you to easily From 40a1da016a2a7039770b772c7221eafbcc9b6197 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:03 +0000 Subject: [PATCH 060/267] dev-libs/libassuan: Sync with Gentoo It's from Gentoo commit 21dfa6084363090e8e116da8ab7fad172c003217. --- .../dev-libs/libassuan/Manifest | 4 ++ .../dev-libs/libassuan/libassuan-2.5.7.ebuild | 2 +- .../dev-libs/libassuan/libassuan-3.0.0.ebuild | 56 +++++++++++++++++++ .../dev-libs/libassuan/libassuan-3.0.1.ebuild | 56 +++++++++++++++++++ 4 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/Manifest index 368e73babfb..5ca54566b76 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/Manifest @@ -2,3 +2,7 @@ DIST libassuan-2.5.6.tar.bz2 577012 BLAKE2B 462af1eab69e157f65f8134a492cde01dd1e DIST libassuan-2.5.6.tar.bz2.sig 119 BLAKE2B 379c6566b2369550bfc4b4616fb71ebdbd9947c183488e2af2261db79be3fc34c5691918f3c560b46c20e02e1aa46c44ee31c1fa3727d191f5801831d34e6721 SHA512 c7765530618128a12f1118278d35d8c33d32b560073dbd691cb92c0d94b75fd5fde65cd3f5db717ddfb907b266fdddc1e7a1e2b15b1b89b7470941dbde8162e3 DIST libassuan-2.5.7.tar.bz2 605076 BLAKE2B 67cb01b7ed9be13a52a37db439666bb8eb709cc63204fe250ff57854459aa8b36655479e887b285fe9ad799c49e66f176f971ab3a871e114cfb217a1f2968d16 SHA512 ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f DIST libassuan-2.5.7.tar.bz2.sig 238 BLAKE2B c30005d67cac32857a0dd59dc8a2b9d0d166c6cd6a413742a1d3117c050e9b1b2b96cc4c470fc3e5693ce4c5a422e2cb008b40ef7883a7d039dc9a2234229265 SHA512 b7a798da0e1252acecf8b58b9cc30a5f10fa432d2581c190e4fb064fcf10e9a1b9e07e86c73ee16f0f25ad0e782fac21142875a06487f612268be7f1a09cc1a9 +DIST libassuan-3.0.1.tar.bz2 592430 BLAKE2B 5d6a7e4e9ce1b196bc7d126786716d95896de6145b8d753e2289bd36cbc96efa216360ac127fadb7be2d577e7fa203c8c8695d4aa11afcca6ed5397dd40209cb SHA512 6914a02c20053bae0fc4c29c5c40655f1cec711983d57fa85e46df34e90b10e33d31256dd50ae7c7faa8d8d750a529bf9072da0cda3bdd77ebfedbc0e26e5e16 +DIST libassuan-3.0.1.tar.bz2.sig 119 BLAKE2B ce246ca64be1cb185d7e69e3de959bf3268ccf764117cec19a460ddeb2cd56259bd8312e6644a385626449bfcd63c194d83bcfe0c48e830e208c242e174f3273 SHA512 c87cd1690d138f21974c4f7331ccfaf9a1ae57e726699c14f8a81e2e15c5d1ff9a880c428d78d378007cb91bae613432ce25fcfc6e496686d18ff0e6438e4e84 +DIST libassuan-3.0.0.tar.bz2 592353 BLAKE2B c86f7d62413c6f7a228deb47abe0388790a7c0e3c89b5ee7a7a72f72bea6502d5cbe199b10f06efc885af6fefab358dbe0e61a6f798493dcfcc63df0cfacdb55 SHA512 7c5c95c1b85bef2d4890c068a5a8ea8a1fe0d8def6ab09e5f34fc2746d8808bbb0fc168e3bd66d52ee5ed799dcf9f258f4125cda98c8384f6411bcad8d8b3139 +DIST libassuan-3.0.0.tar.bz2.sig 119 BLAKE2B 0717d97dcc5746fced7e7be4e17beb51ac5856722577d58151d802d34dd2d05436da9fcc1d54c132486755f6a241ebb85e95534533e874303b0103786e4e579a SHA512 32ea59e2ccd4b0d35d098bd93a2193f6857a47ebeffd8cd884ea5e0a1abf057e23f0f4ca120e0c74b7369301566a9adc217ec444a2d90a5c5106ec4a4c8df099 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" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0.ebuild new file mode 100644 index 00000000000..e4a7ca4da13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool verify-sig + +DESCRIPTION="IPC library used by GnuPG and GPGME" +HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-3 LGPL-2.1" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )" + +src_prepare() { + default + + if [[ ${CHOST} == *-solaris* ]] ; then + elibtoolize + + # fix standards conflict + sed -i \ + -e '/_XOPEN_SOURCE/s/500/600/' \ + -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \ + -e 's/__EXTENSIONS__/_NO&/' \ + configure || die + fi +} + +src_configure() { + local myeconfargs=( + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + # ppl need to use libassuan-config for --cflags and --libs + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1.ebuild new file mode 100644 index 00000000000..e4a7ca4da13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libassuan/libassuan-3.0.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool verify-sig + +DESCRIPTION="IPC library used by GnuPG and GPGME" +HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-3 LGPL-2.1" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )" + +src_prepare() { + default + + if [[ ${CHOST} == *-solaris* ]] ; then + elibtoolize + + # fix standards conflict + sed -i \ + -e '/_XOPEN_SOURCE/s/500/600/' \ + -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \ + -e 's/__EXTENSIONS__/_NO&/' \ + configure || die + fi +} + +src_configure() { + local myeconfargs=( + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + # ppl need to use libassuan-config for --cflags and --libs + find "${ED}" -type f -name '*.la' -delete || die +} From 1a16240ab6bf6bfaec8694d5e1dae2fcfefaf49b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:09 +0000 Subject: [PATCH 061/267] 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 cf3d83038d48646ebf5495a81891659664d5faac Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:12 +0000 Subject: [PATCH 062/267] 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 4e4b61b18c31714f1b73bfbfa817d1b9a6eda61a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:12 +0000 Subject: [PATCH 063/267] dev-libs/libgcrypt: Sync with Gentoo It's from Gentoo commit da3ec61bf72224423cc9ca8aaf76785d84f1e077. --- .../dev-libs/libgcrypt/Manifest | 2 + .../libgcrypt-1.11.0-o-flag-munging.patch | 53 +++++ .../files/libgcrypt-1.11.0-s390x.patch | 59 ++++++ .../libgcrypt/libgcrypt-1.10.2.ebuild | 8 + .../libgcrypt/libgcrypt-1.10.3-r1.ebuild | 8 + .../libgcrypt/libgcrypt-1.10.3-r2.ebuild | 8 + .../libgcrypt/libgcrypt-1.11.0.ebuild | 189 ++++++++++++++++++ 7 files changed, 327 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest index 2bbd8c89693..8f6a1788ff2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest @@ -2,3 +2,5 @@ DIST libgcrypt-1.10.2.tar.bz2 3795164 BLAKE2B c86b29648664aae3fb694b20ad258828d2 DIST libgcrypt-1.10.2.tar.bz2.sig 119 BLAKE2B 3753134a1ed1fd2bfd2c64f175c3745db02791359646b3f0229c80ce4ccedbb147ee889a6b8c4fe4bf7e9067d804ee18a8411cd347026cd1656ad1d4d5686bec SHA512 9350444a0bcfa49217815a831f2286ccea470311673257bd809eb5dedbe97d2a5543b0bc7fb752312df69adeb7ac5f064e433f2545a8bf3e494027986cd8020c DIST libgcrypt-1.10.3.tar.bz2 3783827 BLAKE2B 1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f SHA512 8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d DIST libgcrypt-1.10.3.tar.bz2.sig 238 BLAKE2B 216baebca91b2e940f60d70a4260b6b6b8221ef88cfb42b020bc7b3743a465ef2cf105316648ed1e689cbbf7d79da421aa9f08b5af21c5b862734cf01f377214 SHA512 73795781a458c334ec6daade1b86ae8b788dd5da0b7198b46b8e54a103c5ec4c65a5dd7e6a9d173d136889f24e7f5721992f59117334f39bd1c8a94e3b55a048 +DIST libgcrypt-1.11.0.tar.bz2 4180345 BLAKE2B fe3f42480c0b9a0c50c24f4c54197404b4e1056d8baa9c0c07c671c9c05b90777580b4cbcde931b50ecb4dd93f5ddad89cea99aa36a35f86f796a003e3816f7d SHA512 8e093e69e3c45d30838625ca008e995556f0d5b272de1c003d44ef94633bcc0d0ef5d95e8725eb531bfafb4490ac273488633e0c801200d4666194f86c3e270e +DIST libgcrypt-1.11.0.tar.bz2.sig 119 BLAKE2B e64d59dae5556e2826f6d297988a3300c36d05aeecfe19544c5092b5f7b777b9b3f37c5ddcfcba5a916ae237cf981efdd9e3bdec482f7c36b12ac5c70f9d4c52 SHA512 8c5ceb50d70ccdedcc1ff4b31a65a07198567b85f582e3e67699cc3e5d012bebf7b1d4903652d11905a9cd845976ad7d3642474804777d0bdc46c6847d92fe38 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch new file mode 100644 index 00000000000..161e4ad5c13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch @@ -0,0 +1,53 @@ +https://bugs.gentoo.org/934801 +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=patch;h=e96df0c + +From e96df0c82e086bf348753d2d0fa37fa6191b4b14 Mon Sep 17 00:00:00 2001 +From: "simit.ghane" +Date: Tue, 11 Jun 2024 07:22:28 +0530 +Subject: [PATCH] random:cipher: handle substitution in sed command + +* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed +expression. +* random/Makefile.am (o_flag_munging): Likewise. +-- + +It was there earlier and accidentally removed from +Makefile.am of cipher and random + +Signed-off-by: simit.ghane +[jk: add changelog to commit message] +Signed-off-by: Jussi Kivilinna +--- + cipher/Makefile.am | 2 +- + random/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cipher/Makefile.am b/cipher/Makefile.am +index ea9014cc..149c9f21 100644 +--- a/cipher/Makefile.am ++++ b/cipher/Makefile.am +@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c + + + if ENABLE_O_FLAG_MUNGING +-o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g' ++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g' + else + o_flag_munging = cat + endif +diff --git a/random/Makefile.am b/random/Makefile.am +index c7100ef8..a42e4306 100644 +--- a/random/Makefile.am ++++ b/random/Makefile.am +@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h + + # The rndjent module needs to be compiled without optimization. */ + if ENABLE_O_FLAG_MUNGING +-o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g' ++o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g' + else + o_flag_munging = cat + endif +-- +2.30.2 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch new file mode 100644 index 00000000000..6d306423df5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch @@ -0,0 +1,59 @@ +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2486d9b5ae015c1786cb84466a751da4bc0d7122 + +From 2486d9b5ae015c1786cb84466a751da4bc0d7122 Mon Sep 17 00:00:00 2001 +From: Jussi Kivilinna +Date: Thu, 20 Jun 2024 20:10:09 +0300 +Subject: [PATCH] Disable SHA3 s390x acceleration for CSHAKE + +* cipher/keccak.c (keccak_final_s390x): Add assert check for +expected SHAKE suffix. +(_gcry_cshake_customize, cshake_hash_buffers): Disable s390x +acceleration when selecting CSHAKE suffix. +-- + +Signed-off-by: Jussi Kivilinna +--- a/cipher/keccak.c ++++ b/cipher/keccak.c +@@ -745,6 +745,8 @@ keccak_final_s390x (void *context) + } + else + { ++ gcry_assert(ctx->suffix == SHAKE_DELIMITED_SUFFIX); ++ + klmd_shake_execute (ctx->kimd_func, &ctx->state, NULL, 0, ctx->buf, + ctx->count); + ctx->count = 0; +@@ -1497,9 +1499,14 @@ _gcry_cshake_customize (void *context, struct gcry_cshake_customization *p) + /* No customization */ + return 0; + ++ ctx->suffix = CSHAKE_DELIMITED_SUFFIX; ++#ifdef USE_S390X_CRYPTO ++ /* CSHAKE suffix is not supported by s390x/kimd. */ ++ ctx->kimd_func = 0; ++#endif ++ + len_written = cshake_input_n (ctx, p->n, p->n_len); + cshake_input_s (ctx, p->s, p->s_len, len_written); +- ctx->suffix = CSHAKE_DELIMITED_SUFFIX; + return 0; + } + +@@ -1536,9 +1543,14 @@ cshake_hash_buffers (const gcry_md_spec_t *spec, void *outbuf, size_t nbytes, + size_t s_len = iov[1].len; + size_t len; + ++ ctx.suffix = CSHAKE_DELIMITED_SUFFIX; ++#ifdef USE_S390X_CRYPTO ++ /* CSHAKE suffix is not supported by s390x/kimd. */ ++ ctx.kimd_func = 0; ++#endif ++ + len = cshake_input_n (&ctx, n, n_len); + cshake_input_s (&ctx, s, s_len, len); +- ctx.suffix = CSHAKE_DELIMITED_SUFFIX; + } + iovcnt -= 2; + iov += 2; +-- +2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild index 06b52ad4ddb..9747d039fe0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild @@ -78,6 +78,14 @@ src_prepare() { eautoreconf } +src_configure() { + # Sensitive to optimisation; parts of the codebase are built with + # -O0 already. Don't risk it with UB. + strip-flags + + multilib-minimal_src_configure +} + multilib_src_configure() { if [[ ${CHOST} == *86*-solaris* ]] ; then # ASM code uses GNU ELF syntax, divide in particular, we need to diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild index 5d8b88fc084..e2225f42386 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild @@ -81,6 +81,14 @@ src_prepare() { eautoreconf } +src_configure() { + # Sensitive to optimisation; parts of the codebase are built with + # -O0 already. Don't risk it with UB. + strip-flags + + multilib-minimal_src_configure +} + multilib_src_configure() { if [[ ${CHOST} == *86*-solaris* ]] ; then # ASM code uses GNU ELF syntax, divide in particular, we need to diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild index 7b2ed8bd2e2..38eb6264d7e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild @@ -84,6 +84,14 @@ src_prepare() { eautoreconf } +src_configure() { + # Sensitive to optimisation; parts of the codebase are built with + # -O0 already. Don't risk it with UB. + strip-flags + + multilib-minimal_src_configure +} + multilib_src_configure() { if [[ ${CHOST} == *86*-solaris* ]] ; then # ASM code uses GNU ELF syntax, divide in particular, we need to diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild new file mode 100644 index 00000000000..f3520b916d9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild @@ -0,0 +1,189 @@ +# 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/gnupg.asc +inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="General purpose crypto library based on the code used in GnuPG" +HOMEPAGE="https://www.gnupg.org/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="LGPL-2.1+ GPL-2+ MIT" +SLOT="0/20" # subslot = soname major version +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+asm doc +getentropy static-libs" +IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" +IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" +IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" + +# Build system only has --disable-arm-crypto-support right now +# If changing this, update src_configure logic too. +# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, +# but this looks like it might change in future. This is just a safety check +# in case people somehow do have a CPU which only supports some. They must +# for now disable them all if that's the case. +REQUIRED_USE=" + cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) + cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) + cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) + cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) +" + +RDEPEND=" + >=dev-libs/libgpg-error-1.49[${MULTILIB_USEDEP}] + getentropy? ( + kernel_linux? ( + elibc_glibc? ( >=sys-libs/glibc-2.25 ) + elibc_musl? ( >=sys-libs/musl-1.1.20 ) + ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( virtual/texi2dvi ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-multilib-syspath.patch + "${FILESDIR}"/${PN}-powerpc-darwin.patch + "${FILESDIR}"/${P}-s390x.patch + "${FILESDIR}"/${P}-o-flag-munging.patch +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/libgcrypt-config +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} == buildonly ]]; then + return + fi + if use kernel_linux && use getentropy; then + unset KV_FULL + get_running_version + if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then + eerror "The getentropy function requires the getrandom syscall." + eerror "This was introduced in Linux 3.17." + eerror "Your system is currently running Linux ${KV_FULL}." + eerror "Disable the 'getentropy' USE flag or upgrade your kernel." + die "Kernel is too old for getentropy" + fi + fi +} + +pkg_setup() { + : +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Sensitive to optimisation; parts of the codebase are built with + # -O0 already. Don't risk it with UB. + strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + if [[ ${CHOST} == *86*-solaris* ]] ; then + # ASM code uses GNU ELF syntax, divide in particular, we need to + # allow this via ASFLAGS, since we don't have a flag-o-matic + # function for that, we'll have to abuse cflags for this + append-cflags -Wa,--divide + fi + + if [[ ${CHOST} == powerpc* ]] ; then + # ./configure does a lot of automagic, prevent that + # generic ppc32+ppc64 altivec + use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no + use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no + # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support + use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no + # power9 vector extension, aka arch 3.00 ISA + use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no + fi + + # Workaround for GCC < 11.3 bug + # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 + # https://dev.gnupg.org/T5581 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 + if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && + (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then + append-flags -fno-tree-loop-vectorize + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local myeconfargs=( + CC_FOR_BUILD="$(tc-getBUILD_CC)" + + --enable-noexecstack + $(use_enable cpu_flags_arm_neon neon-support) + # See REQUIRED_USE comment above + $(use_enable cpu_flags_arm_aes arm-crypto-support) + $(use_enable cpu_flags_arm_sve sve-support) + $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) + $(use_enable cpu_flags_x86_aes aesni-support) + $(use_enable cpu_flags_x86_avx avx-support) + $(use_enable cpu_flags_x86_avx2 avx2-support) + $(use_enable cpu_flags_x86_avx512f avx512-support) + $(use_enable cpu_flags_x86_padlock padlock-support) + $(use_enable cpu_flags_x86_sha shaext-support) + $(use_enable cpu_flags_x86_sse4_1 sse41-support) + # required for sys-power/suspend[crypt], bug 751568 + $(use_enable static-libs static) + + # disabled due to various applications requiring privileges + # after libgcrypt drops them (bug #468616) + --without-capabilities + + # http://trac.videolan.org/vlc/ticket/620 + $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") + + $(use asm || echo "--disable-asm") + + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + ) + + if use kernel_linux; then + # --enable-random=getentropy requires getentropy/getrandom. + # --enable-random=linux enables legacy code that tries getrandom + # and falls back to reading /dev/random. + myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') +} + +multilib_src_compile() { + default + multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf +} + +multilib_src_test() { + # t-secmem and t-sexp need mlock which requires extra privileges; nspawn + # at least disallows that by default. + local -x GCRYPT_IN_ASAN_TEST=1 + + default +} + +multilib_src_install() { + emake DESTDIR="${D}" install + multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf +} + +multilib_src_install_all() { + default + find "${ED}" -type f -name '*.la' -delete || die +} From 7bd431c2e8f752b15fdd1335bba06ec1334d6e42 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:12 +0000 Subject: [PATCH 064/267] dev-libs/libgpg-error: Sync with Gentoo It's from Gentoo commit 75d9e23fe468fd733ba17f317f937ede413d68c1. --- .../dev-libs/libgpg-error/Manifest | 4 + .../files/libgpg-error-1.50-environ.patch | 31 +++++++ .../libgpg-error/libgpg-error-1.47-r1.ebuild | 4 +- .../libgpg-error/libgpg-error-1.48.ebuild | 2 +- .../libgpg-error/libgpg-error-1.49.ebuild | 89 ++++++++++++++++++ .../libgpg-error/libgpg-error-1.50.ebuild | 93 +++++++++++++++++++ 6 files changed, 220 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.50.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..ebb2837e331 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,7 @@ 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 238 BLAKE2B ff9b3adbbd587afc09e4b7bc58bfa63446f92b7a42baa541e564ee52d88434bca621686f6db6312e8cd8b81f458ce9ee6307c0e6700ab3dc7d7a46d003c934cc SHA512 39d45939c17755e3dd126506d758a1a86f66827616f270c5b663df50e55692e2ef4f27e6e12a7eb1dbe44afc03b415f1fcb3160990b75980cafe6d9cd5a55ed2 +DIST libgpg-error-1.50.tar.bz2 1082003 BLAKE2B 621d9a604585daa1fbd08aaa94f3b177f6265046ccf452317e126e73079c567c555cbb8ab8b63e09b76bdf4f11a1aad7effd118651fe9e9cbcf01229f20ab297 SHA512 96e466d892a50843af6d7c08c0da602518bc6a28836bfc35f0a28cde74d368f57c5c70c65f0f41edb4fc1ca5ebd00f2ece531d8b3eb1bd6db566adbb29bc61ff +DIST libgpg-error-1.50.tar.bz2.sig 119 BLAKE2B ee3a8e9221d4df8b37ceef70240ecf79efef045cfbde67f6a8bbc0f58dfa4955ed5a75e3cd31de7644707049919b154c1d9607e370dec7e8f2b0b6cb1b997beb SHA512 02e29838be3225f4894bcebd2c53355a98f5857baa4e9f8a78227a03f849677c35b1d2d009610badd6540dcfe5378b5365abcae77d29ba2d95dd252e9c93c893 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch new file mode 100644 index 00000000000..761e884aa80 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch @@ -0,0 +1,31 @@ +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commit;h=a59e902b887fd92337c9728f668cf9c89da3957a + +From a59e902b887fd92337c9728f668cf9c89da3957a Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Thu, 20 Jun 2024 12:05:15 +0200 +Subject: [PATCH] core: Declare environ for macOS and others. + +* src/spawn-posix.c (environ): Declare. +-- + +GnuPG-bug-id: 7169 +--- + src/spawn-posix.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/spawn-posix.c b/src/spawn-posix.c +index 7de02a9..96f1536 100644 +--- a/src/spawn-posix.c ++++ b/src/spawn-posix.c +@@ -57,6 +57,9 @@ + + #include "gpgrt-int.h" + ++/* (Only glibc's unistd.h declares this iff _GNU_SOURCE is used.) */ ++extern char **environ; ++ + + /* Definition for the gpgrt_spawn_actions_t. Note that there is a + * different one for Windows. */ +-- +2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild index 1d2b90ba269..34bcbed599b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.47-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 @@ -10,7 +10,7 @@ EAPI=8 # any subsequent ones linked within so you're covered for a while.) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools multilib-minimal toolchain-funcs prefix verify-sig +inherit autotools multilib-minimal toolchain-funcs verify-sig DESCRIPTION="Contains error handling functions used by GnuPG software" HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error" 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..d548590a1de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.49.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="Contains error handling functions used by GnuPG software" +HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~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 + elibtoolize + + if use prefix ; then + # don't hardcode /usr/xpg4/bin/sh as shell on Solaris + sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die + fi + + # This check breaks multilib + cat <<-EOF > src/gpg-error-config-test.sh.in || die + #!@INSTALLSHELLPATH@ + exit 0 + EOF + + # only necessary for as long as we run eautoreconf, configure.ac + # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is + # not a pure /bin/sh script, so it fails on some hosts + #sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die + #eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_is_native_abi || echo --disable-languages) + $(use_enable common-lisp languages) + $(use_enable nls) + # required for sys-power/suspend[crypt], bug 751568 + $(use_enable static-libs static) + $(use_enable test tests) + + # See bug #699206 and its duplicates wrt gpgme-config + # Upstream no longer install this by default and we should + # seek to disable it at some point. + --enable-install-gpg-error-config + + --enable-threads + CC_FOR_BUILD="$(tc-getBUILD_CC)" + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.50.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.50.ebuild new file mode 100644 index 00000000000..d4e25d29aa8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.50.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="Contains error handling functions used by GnuPG software" +HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 +) + +PATCHES=( + "${FILESDIR}"/${P}-environ.patch +) + +src_prepare() { + default + elibtoolize + + if use prefix ; then + # don't hardcode /usr/xpg4/bin/sh as shell on Solaris + sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die + fi + + # This check breaks multilib + cat <<-EOF > src/gpg-error-config-test.sh.in || die + #!@INSTALLSHELLPATH@ + exit 0 + EOF + + # only necessary for as long as we run eautoreconf, configure.ac + # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is + # not a pure /bin/sh script, so it fails on some hosts + #sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die + #eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_is_native_abi || echo --disable-languages) + $(use_enable common-lisp languages) + $(use_enable nls) + # required for sys-power/suspend[crypt], bug 751568 + $(use_enable static-libs static) + $(use_enable test tests) + + # See bug #699206 and its duplicates wrt gpgme-config + # Upstream no longer install this by default and we should + # seek to disable it at some point. + --enable-install-gpg-error-config + + --enable-threads + CC_FOR_BUILD="$(tc-getBUILD_CC)" + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die +} From d342d7764a1d9cb3a2151924f3aeb8e8d804fedc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:13 +0000 Subject: [PATCH 065/267] 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 2c9e530f5dc5b3d9ee4407707d30439324da2878 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:13 +0000 Subject: [PATCH 066/267] dev-libs/libksba: Sync with Gentoo It's from Gentoo commit a9a69c9dd405bf9383e14416472ac5127e96b278. --- .../portage-stable/dev-libs/libksba/Manifest | 4 +- .../dev-libs/libksba/libksba-1.6.7.ebuild | 62 +++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild 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..287f14a52a7 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,6 @@ 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 +DIST libksba-1.6.7.tar.bz2 706437 BLAKE2B 95f51bc9a0a7ee14b91089aded3a420cf2f986a1599e39e36dc46fd0b71bef465af9c6576c19516d0aadae67399eca69ae0448239216ba486812884ebefa1ae7 SHA512 60cb9df9f502ca479818f45b78c4bc2b78f6f359be2b8da489ea98f8896a43ab2c20cf97526b79a3220fb32f1701e62a6481fe61e91e567186ecf4f33d8e64d3 +DIST libksba-1.6.7.tar.bz2.sig 119 BLAKE2B 74b3fd7682ae526c7430fe3792f873838c366ec0de1d80b699370a8cefdfdfc386f883b1d45df8df62e64d9de992f4bbfa7f74cfbb38419694f1a11ff1d3110a SHA512 97df523f0640f8fed0c3c7603218058021475d5b0e47a36610aa88312a6bb5f302e1e2016f5721a9077d0d27b35b28c7c96d9843866c957c965b2c580d3ee60b diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild new file mode 100644 index 00000000000..6e94bee3490 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild @@ -0,0 +1,62 @@ +# 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 toolchain-funcs out-of-source verify-sig libtool + +DESCRIPTION="X.509 and CMS (PKCS#7) library" +HOMEPAGE="https://www.gnupg.org/related_software/libksba" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="LGPL-3+ GPL-2+ GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="static-libs" + +RDEPEND=">=dev-libs/libgpg-error-1.33" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch +) + +src_prepare() { + default + + elibtoolize # necessary on Solaris for shared lib support +} + +my_src_configure() { + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + + local myeconfargs=( + --disable-valgrind-tests + $(use_enable static-libs static) + + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config" + ) + + econf "${myeconfargs[@]}" +} + +my_src_install() { + default + + # People need to use ksba-config for --cflags and --libs + find "${ED}" -type f -name '*.la' -delete || die +} From 5510714443693c49760fea23fb9fadb9941dcd39 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:15 +0000 Subject: [PATCH 067/267] 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 c11c5c8508fde819accdb27a2a1220bdcf6697df Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:17 +0000 Subject: [PATCH 068/267] 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 9301a7b855ffb47ea954c85fdabf9cdcc992016f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:19 +0000 Subject: [PATCH 069/267] 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 d88b56d017404c221aa9b80763b44cefee4bece8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:19 +0000 Subject: [PATCH 070/267] dev-libs/libpcre2: Sync with Gentoo It's from Gentoo commit bda228003df120d7e99a78b82728c6196d173a52. --- .../portage-stable/dev-libs/libpcre2/Manifest | 3 + .../dev-libs/libpcre2/libpcre2-10.43.ebuild | 2 +- .../libpcre2/libpcre2-10.44-r1.ebuild | 117 ++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest index f3ae75c8349..44e0ea377ae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest @@ -1,4 +1,7 @@ +DIST libpcre2-10.44-32bit-tests.patch.xz 7024 BLAKE2B d8de8443a9ec165aa3b57384518c8bba06ded1c3d07d03d1451db07f4df13ee2514d055d4a4771162923a9845ac4694dd588ccdc773f0f3d013d7377581fe8b4 SHA512 bf8724db31b8cbdc631904cfdbcd1b2e66efa31f958a8919de0f3f03e129410e64e1274d28d0406c70b8a8ef49c3ed47712368bf9fd9ba2d3203afe4d4b104b7 DIST pcre2-10.42.tar.bz2 1799866 BLAKE2B 40aa096745548c489a00ead87a191a4d24ecd924a5b8f00401c1273176de15ccb23510882467c8e2b5c1256b97db46fba5fcdfbd9f0d61d86a29d74bb4bca7a0 SHA512 72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3 DIST pcre2-10.42.tar.bz2.sig 310 BLAKE2B 2125d7e23f7e75847573e3caeb8d55da5d8e0df3d166bf8b638b998aebacaefb4e88df7e813d6977af2dc7d82c93b7179ad0043c4f46fc4e06d99d214b0b7fcf SHA512 22ce3c7903835b1cf835ac6cfa725badecc982f1504382e62525c88307b2e3bd8951f2221fdd3d73920843e69f714b6df99fe741069e610f1f809087512a31f7 DIST pcre2-10.43.tar.bz2 1905255 BLAKE2B f87f9f36dd6a806cdba1f077f51b53da2583f1898f83e41d594622b28ac8efbc1b2d122b752a9d6cd461fe0e3c7c85ee93358443df518a336da4ee9d72cca808 SHA512 8ac1520c32e9e5672404aaf6104e23c9ee5c3c28ad28ff101435599d813cbb20e0491a3fd34e012b4411b3e0366a4c6dfa3f02d093acaa6ff0ab25478bb7ade9 DIST pcre2-10.43.tar.bz2.sig 310 BLAKE2B 5625358ec542a2c808be852437ca47a4df005068759e35b95ba20a55e5d1647b0953df6684e24b6a9de1442c6d6784e45fb1665d48c904dda4ffa16154437c7d SHA512 5edb16176ea4335ab1d35f1b77837c8b6b836f346e379e6b5762e1f4463cb3fb55557fee4dc6d0e9b2084766cdba727c9503830031bb92af91f9706e11389d81 +DIST pcre2-10.44.tar.bz2 1928086 BLAKE2B fb06228f8bdc5906ef4f19d7d677f1009070855149d9ad3f807cfcd164f5cb6165f96e074fedc3942226d4b29edf4b29fab6cde2f2ba58bf6da282730941412b SHA512 ee91cc10a2962bc7818b03d368df3dd31f42ea9a7260ae51483ea8cd331b7431e36e63256b0adc213cc6d6741e7c90414fd420622308c0ae3fcb5dd878591be2 +DIST pcre2-10.44.tar.bz2.sig 310 BLAKE2B a03943d4b04af319ca18992188c9fdd089fc20ef35207b09f2c859ab0090401a9bc140c653ee68a542984d26c0ec59f3ba72b0f9a9d6b3ae322b0823a440a21c SHA512 12dca6fb6ac3dbbe9e3625214b333d20d4ece4c2efa73ada292b178b17ea3640b4f068f2b4da2bea15f5368213e123837dea4e988170d1c6bf5b7afe04b3f8bc 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 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild new file mode 100644 index 00000000000..720feb445c0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild @@ -0,0 +1,117 @@ +# 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/philiphazel.asc +inherit libtool multilib multilib-minimal toolchain-funcs verify-sig + +MY_P="pcre2-${PV/_rc/-RC}" + +DESCRIPTION="Perl-compatible regular expression library" +HOMEPAGE="https://www.pcre.org/" +SRC_URI=" + https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2 + https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 + verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig ) +" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-32bit-tests.patch.xz" + +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" +fi +IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" +REQUIRED_USE="?? ( libedit readline )" + +RDEPEND=" + bzip2? ( app-arch/bzip2 ) + libedit? ( dev-libs/libedit ) + readline? ( sys-libs/readline:= ) + zlib? ( sys-libs/zlib ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-philiphazel ) +" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/pcre2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch + "${WORKDIR}"/${P}-32bit-tests.patch +) + +src_unpack() { + if use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.bz2{,.sig} + fi + + default +} + +src_prepare() { + default + + elibtoolize +} + +multilib_src_configure() { + # Workaround for bug #934977 (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 myeconfargs=( + --enable-pcre2-8 + --enable-shared + $(multilib_native_use_enable bzip2 pcre2grep-libbz2) + $(multilib_native_use_enable libedit pcre2test-libedit) + $(multilib_native_use_enable readline pcre2test-libreadline) + $(multilib_native_use_enable valgrind) + $(multilib_native_use_enable zlib pcre2grep-libz) + $(use_enable jit) + $(use_enable jit pcre2grep-jit) + $(use_enable pcre16 pcre2-16) + $(use_enable pcre32 pcre2-32) + $(use_enable static-libs static) + $(use_enable unicode) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=") +} + +multilib_src_test() { + emake check VERBOSE=yes +} + +multilib_src_install() { + emake \ + DESTDIR="${D}" \ + $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \ + install + + # bug #934977 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/libpcre2-8$(get_libname)" ]] ; then + eerror "Sanity check for libpcre2-8$(get_libname) failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "libpcre2-8$(get_libname) not found in build, aborting" + fi +} + +multilib_src_install_all() { + find "${ED}" -type f -name "*.la" -delete || die +} From 2cadfa10ce82440646f2b61bc22209d6c500385b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:21 +0000 Subject: [PATCH 071/267] 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 fef0f8b437fe61950d469789eda0a8ede0018bd9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:22 +0000 Subject: [PATCH 072/267] 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 dffa08a29fe7d2203d7b50b347738064726c1c07 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:23 +0000 Subject: [PATCH 073/267] 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, 8 Jul 2024 07:13:24 +0000 Subject: [PATCH 074/267] 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 ae78f2406f44111798fdbd280f9cd21b6b38fa3c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:24 +0000 Subject: [PATCH 075/267] 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 0bc024f5ff3e02519b84318000f7f668f476dad9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:25 +0000 Subject: [PATCH 076/267] 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 3902c3223dc9dcbe487f800648bfbaff161d111a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:26 +0000 Subject: [PATCH 077/267] dev-libs/libxml2: Sync with Gentoo It's from Gentoo commit 0b6f6e344a0e6bc53d25a42a757150d4c3782158. --- .../portage-stable/dev-libs/libxml2/Manifest | 4 + .../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 +++++++++++++++++ .../dev-libs/libxml2/libxml2-2.13.1.ebuild | 187 ++++++++++++++++ .../dev-libs/libxml2/libxml2-9999.ebuild | 15 +- 7 files changed, 787 insertions(+), 13 deletions(-) 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 create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.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..3b8132a4cb8 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,10 @@ 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 libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6 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..a99823ff15d --- /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..bcb12e755d3 --- /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..3ac81e4938e --- /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..13} ) +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.13.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild new file mode 100644 index 00000000000..92dfc0a4678 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit 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="examples icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +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() { + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # 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-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild index c4d87530a6d..92dfc0a4678 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild @@ -5,9 +5,9 @@ EAPI=8 # Note: Please bump in sync with dev-libs/libxslt -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) PYTHON_REQ_USE="xml(+)" -inherit flag-o-matic python-r1 multilib-minimal +inherit python-r1 multilib-minimal XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" XSTS_NAME_1="xmlschema2002-01-16" @@ -37,7 +37,7 @@ S="${WORKDIR}/${PN}-${PV%_rc*}" LICENSE="MIT" SLOT="2" -IUSE="debug examples +ftp icu lzma +python readline static-libs test" +IUSE="examples icu lzma +python readline static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" @@ -99,17 +99,8 @@ src_prepare() { } 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) \ From 3bfbabe8e360cf693babdc12a3f1b61ade10b6b1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:26 +0000 Subject: [PATCH 078/267] dev-libs/libxslt: Sync with Gentoo It's from Gentoo commit efd19cfcc676b38196c881d607768a8dca5aa5c2. --- .../portage-stable/dev-libs/libxslt/Manifest | 1 + ...41-deprecated-xmlCharEncodingHandler.patch | 93 ++++++++++ ...sions-xmlCheckFilename-older-libxml2.patch | 40 ++++ .../files/libxslt-1.1.41-libxml2-2.13.patch | 171 ++++++++++++++++++ .../dev-libs/libxslt/libxslt-1.1.39.ebuild | 2 +- .../dev-libs/libxslt/libxslt-1.1.41.ebuild | 129 +++++++++++++ .../dev-libs/libxslt/libxslt-9999.ebuild | 23 ++- 7 files changed, 449 insertions(+), 10 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index 0c049556676..b10e3d3f68d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -1 +1,2 @@ DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89 +DIST libxslt-1.1.41.tar.xz 1573868 BLAKE2B 2228a4074f257edd4fa0ebb2a713b035b780b19398ba9208dedb0d0cec6777129c9bb08a80494b657a4238bea228bd752761118a0022f56d71cc1302838b1733 SHA512 b9f94d1c00dfb9f731c6c424a0d3f07fb0a37935048b26618e5405c3890d1d40c832420117de4d5363a90ab4809f77f6e566013ce7858cc88e0905709ca0f6fe diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch new file mode 100644 index 00000000000..86c779c3c7c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch @@ -0,0 +1,93 @@ +https://gitlab.gnome.org/GNOME/libxslt/-/commit/8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 + +From 8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Tue, 2 Jul 2024 22:27:02 +0200 +Subject: [PATCH] utils: Don't use deprecated xmlCharEncodingHandler member + +--- + libxslt/xsltutils.c | 44 ++++++++++++++++++++------------------------ + 1 file changed, 20 insertions(+), 24 deletions(-) + +diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c +index 3705d28f..d493905b 100644 +--- a/libxslt/xsltutils.c ++++ b/libxslt/xsltutils.c +@@ -1750,13 +1750,12 @@ xsltSaveResultToFilename(const char *URL, xmlDocPtr result, + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFilename(URL, encoder, compression); + } else { + buf = xmlOutputBufferCreateFilename(URL, NULL, compression); +@@ -1793,13 +1792,12 @@ xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) { + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFile(file, encoder); + } else { + buf = xmlOutputBufferCreateFile(file, NULL); +@@ -1837,13 +1835,12 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) { + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFd(fd, encoder); + } else { + buf = xmlOutputBufferCreateFd(fd, NULL); +@@ -1880,13 +1877,12 @@ xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len, + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlAllocOutputBuffer(encoder); + if (buf == NULL) + xmlCharEncCloseFunc(encoder); +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch new file mode 100644 index 00000000000..bdf39460af2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch @@ -0,0 +1,40 @@ +https://gitlab.gnome.org/GNOME/libxslt/-/commit/a85bd17ec52793b33074f0f785c3d989feb20170 + +From a85bd17ec52793b33074f0f785c3d989feb20170 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Fri, 21 Jun 2024 15:07:18 +0200 +Subject: [PATCH] extensions: Readd call to xmlCheckFilename with older libxml2 + +Fix spurious warning with libxml2 before 2.13.0 caused by 014b2892. + +Fixes #113. +--- + libxslt/extensions.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/libxslt/extensions.c b/libxslt/extensions.c +index 05cdf354..d3d61543 100644 +--- a/libxslt/extensions.c ++++ b/libxslt/extensions.c +@@ -415,6 +415,19 @@ xsltExtModuleRegisterDynamic(const xmlChar * URI) + module_filename, URI); + #endif + ++#if LIBXML_VERSION < 21300 ++ if (1 != xmlCheckFilename(module_filename)) { ++ ++#ifdef WITH_XSLT_DEBUG_EXTENSIONS ++ xsltGenericDebug(xsltGenericDebugContext, ++ "xmlCheckFilename failed for plugin: %s\n", module_filename); ++#endif ++ ++ xmlFree(ext_name); ++ return (-1); ++ } ++#endif ++ + /* attempt to open the module */ + m = xmlModuleOpen(module_filename, 0); + if (NULL == m) { +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch new file mode 100644 index 00000000000..99b89ae08f7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch @@ -0,0 +1,171 @@ +https://gitlab.gnome.org/GNOME/libxslt/-/issues/116 +https://gitlab.gnome.org/GNOME/libxslt/-/commit/081cd6e97a620d035ed7df35e998e2d288bc7862 + +From 081cd6e97a620d035ed7df35e998e2d288bc7862 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Mon, 1 Jul 2024 13:21:14 +0200 +Subject: [PATCH] transform: Handle filesystem paths after libxml2 changes + +After changes in libxml2 2.13, base URIs and resolved URIs can be +filesystem paths. + +Check for invalid URIs and remove fragment before resolving URI in +xsltDocumentFunction. + +Handle filesystem paths in xsltCheckRead. + +Should fix #116. +--- + libxslt/functions.c | 64 ++++++++++++++++++++++++++------------------- + libxslt/security.c | 13 +++++++++ + 2 files changed, 50 insertions(+), 27 deletions(-) + +diff --git a/libxslt/functions.c b/libxslt/functions.c +index 0c9dec43..d54f8f48 100644 +--- a/libxslt/functions.c ++++ b/libxslt/functions.c +@@ -96,11 +96,10 @@ xsltXPathFunctionLookup (void *vctxt, + ************************************************************************/ + + static void +-xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI) ++xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, ++ const xmlChar* URI, const xmlChar *fragment) + { + xsltTransformContextPtr tctxt; +- xmlURIPtr uri; +- xmlChar *fragment = NULL; + xsltDocumentPtr idoc; /* document info */ + xmlDocPtr doc; + xmlXPathContextPtr xptrctxt = NULL; +@@ -115,26 +114,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI) + goto out_fragment; + } + +- uri = xmlParseURI((const char *) URI); +- if (uri == NULL) { +- xsltTransformError(tctxt, NULL, NULL, +- "document() : failed to parse URI\n"); +- goto out_fragment; +- } +- +- /* +- * check for and remove fragment identifier +- */ +- fragment = (xmlChar *)uri->fragment; +- if (fragment != NULL) { +- xmlChar *newURI; +- uri->fragment = NULL; +- newURI = xmlSaveUri(uri); +- idoc = xsltLoadDocument(tctxt, newURI); +- xmlFree(newURI); +- } else +- idoc = xsltLoadDocument(tctxt, URI); +- xmlFreeURI(uri); ++ idoc = xsltLoadDocument(tctxt, URI); + + if (idoc == NULL) { + if ((URI == NULL) || +@@ -194,7 +174,6 @@ out_fragment: + if (resObj == NULL) + resObj = xmlXPathNewNodeSet(NULL); + valuePush(ctxt, resObj); +- xmlFree(fragment); + } + + /** +@@ -210,7 +189,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs) + { + xmlXPathObjectPtr obj, obj2 = NULL; + xmlChar *base = NULL, *URI; +- ++ xmlChar *newURI = NULL; ++ xmlChar *fragment = NULL; + + if ((nargs < 1) || (nargs > 2)) { + xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL, +@@ -292,7 +272,32 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs) + valuePush(ctxt, xmlXPathNewNodeSet(NULL)); + } else { + xsltTransformContextPtr tctxt; ++ xmlURIPtr uri; ++ const xmlChar *url; ++ + tctxt = xsltXPathGetTransformContext(ctxt); ++ ++ url = obj->stringval; ++ ++ uri = xmlParseURI((const char *) url); ++ if (uri == NULL) { ++ xsltTransformError(tctxt, NULL, NULL, ++ "document() : failed to parse URI '%s'\n", url); ++ valuePush(ctxt, xmlXPathNewNodeSet(NULL)); ++ goto error; ++ } ++ ++ /* ++ * check for and remove fragment identifier ++ */ ++ fragment = (xmlChar *)uri->fragment; ++ if (fragment != NULL) { ++ uri->fragment = NULL; ++ newURI = xmlSaveUri(uri); ++ url = newURI; ++ } ++ xmlFreeURI(uri); ++ + if ((obj2 != NULL) && (obj2->nodesetval != NULL) && + (obj2->nodesetval->nodeNr > 0) && + IS_XSLT_REAL_NODE(obj2->nodesetval->nodeTab[0])) { +@@ -313,7 +318,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs) + (xmlNodePtr) tctxt->style->doc); + } + } +- URI = xmlBuildURI(obj->stringval, base); ++ ++ URI = xmlBuildURI(url, base); + if (base != NULL) + xmlFree(base); + if (URI == NULL) { +@@ -326,10 +332,14 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs) + valuePush(ctxt, xmlXPathNewNodeSet(NULL)); + } + } else { +- xsltDocumentFunctionLoadDocument( ctxt, URI ); ++ xsltDocumentFunctionLoadDocument(ctxt, URI, fragment); + xmlFree(URI); + } + } ++ ++error: ++ xmlFree(newURI); ++ xmlFree(fragment); + xmlXPathFreeObject(obj); + if (obj2 != NULL) + xmlXPathFreeObject(obj2); +diff --git a/libxslt/security.c b/libxslt/security.c +index 001ee6e4..3a66594f 100644 +--- a/libxslt/security.c ++++ b/libxslt/security.c +@@ -422,6 +422,19 @@ xsltCheckRead(xsltSecurityPrefsPtr sec, + xmlURIPtr uri; + xsltSecurityCheck check; + ++ if (xmlStrstr(URL, BAD_CAST "://") == NULL) { ++ check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_FILE); ++ if (check != NULL) { ++ ret = check(sec, ctxt, (const char *) URL); ++ if (ret == 0) { ++ xsltTransformError(ctxt, NULL, NULL, ++ "Local file read for %s refused\n", URL); ++ return(0); ++ } ++ } ++ return(1); ++ } ++ + uri = xmlParseURI((const char *)URL); + if (uri == NULL) { + xsltTransformError(ctxt, NULL, NULL, +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild index 63f43e719ab..1bcad69eab5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.39.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Note: Please bump this in sync with dev-libs/libxml2. -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit flag-o-matic python-r1 multilib-minimal DESCRIPTION="XSLT libraries and tools" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild new file mode 100644 index 00000000000..f712581ff26 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump this in sync with dev-libs/libxml2. + +PYTHON_COMPAT=( python3_{10..13} ) +inherit python-r1 multilib-minimal + +DESCRIPTION="XSLT libraries and tools" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt" + inherit autotools git-r3 +else + inherit libtool gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="crypt debug examples python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=">=virtual/pkgconfig-1" +RDEPEND=" + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}] + crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xslt-config +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libxslt/xsltconfig.h +) + +PATCHES=( + "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch + "${FILESDIR}"/${P}-libxml2-2.13.patch + "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch +) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Prefix always needs elibtoolize if not eautoreconf'd. + elibtoolize + fi +} + +multilib_src_configure() { + libxslt_configure() { + ECONF_SOURCE="${S}" econf \ + --without-python \ + $(use_with crypt crypto) \ + $(use_with debug) \ + $(use_enable static-libs static) \ + "$@" + } + + # Build Python bindings separately + libxslt_configure --without-python + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxslt_configure --with-python + fi +} + +libxslt_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake all + fi +} + +multilib_src_test() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake check + fi +} + +multilib_src_install() { + # "default" does not work here - docs are installed by multilib_src_install_all + emake DESTDIR="${D}" install + + if multilib_is_native_abi && use python; then + python_foreach_impl run_in_build_dir libxslt_py_emake \ + DESTDIR="${D}" \ + install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + python_foreach_impl python_optimize + fi +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + find "${ED}" -type f -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild index 1f4d62a88f6..f712581ff26 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild @@ -5,8 +5,8 @@ EAPI=8 # Note: Please bump this in sync with dev-libs/libxml2. -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic python-r1 multilib-minimal +PYTHON_COMPAT=( python3_{10..13} ) +inherit python-r1 multilib-minimal DESCRIPTION="XSLT libraries and tools" HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" @@ -25,9 +25,12 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" BDEPEND=">=virtual/pkgconfig-1" RDEPEND=" - >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}] - crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}] + crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] + ) " DEPEND="${RDEPEND}" @@ -39,6 +42,12 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/libxslt/xsltconfig.h ) +PATCHES=( + "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch + "${FILESDIR}"/${P}-libxml2-2.13.patch + "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch +) + src_prepare() { default @@ -51,10 +60,6 @@ src_prepare() { } multilib_src_configure() { - # Remove this after upstream merge request to add AC_SYS_LARGEFILE lands: - # https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/55 - append-lfs-flags - libxslt_configure() { ECONF_SOURCE="${S}" econf \ --without-python \ From 27a14598a4224f426ab232f0289476fd4f57533b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:32 +0000 Subject: [PATCH 079/267] dev-libs/nettle: Sync with Gentoo It's from Gentoo commit c627cc231796bf88ce7ef664986863d32de4a5a4. --- .../portage-stable/dev-libs/nettle/Manifest | 4 ++-- .../{nettle-3.9.ebuild => nettle-3.10.ebuild} | 22 ++++++++++++++----- ...le-3.9.1.ebuild => nettle-3.9.1-r1.ebuild} | 9 +++++++- 3 files changed, 26 insertions(+), 9 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-libs/nettle/{nettle-3.9.ebuild => nettle-3.10.ebuild} (77%) rename sdk_container/src/third_party/portage-stable/dev-libs/nettle/{nettle-3.9.1.ebuild => nettle-3.9.1-r1.ebuild} (87%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest index 80fa221ca4a..66e8fbf0537 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/Manifest @@ -1,6 +1,6 @@ +DIST nettle-3.10.tar.gz 2640485 BLAKE2B edf0ba6375f06e2dd4b1e3ed4bab5f592ac04a36f748ce0461bbec32622eb3d5f96f89350926c24b5bbbf37dbe14a1ad64bba5df7cb7ad5987ec634573aabbb5 SHA512 18d5b904ce60514aa81b57bff2945e5f7f4366d4775e6a5ffc227b85be2def72b3d2159b983b75ac95a56d3167a2ef1a25b5dfc2fb6193f16a012935c36a7b34 +DIST nettle-3.10.tar.gz.sig 374 BLAKE2B 9edebae1bc1941dfc19c3c3653f80ebf66e8aed974c99673a294ff6835145ca8265f5466829e27c5d0352e88a73e9a58fb017cdbad678705ae29cd27dd80fefe SHA512 a56d46bfd545b0dff47ee6426e019afea024ebf40698018b8a4b7a25168ce615bbfe773894dc01ab246f7010ef6a7f1c248cf1f9c693f0f0dbaf27c33c7d216f DIST nettle-3.8.1.tar.gz 2406251 BLAKE2B 22b4ec81645b579504356597ba87b637e46285682020c90e03ecaea386ac9b48eaf91ee76ae3b86b6060be355de20c320ab3b74958074ad23fc08ad9ab6a4cbb SHA512 a405da3438d185d96917b03b00abb9ab43e04f58f770f657f716c25d64bb258ee170a71328e74736caa7121f50c0c89d3cc840c1201d2a92cfaf1357d24bdc6a DIST nettle-3.8.1.tar.gz.sig 374 BLAKE2B e2bfce4aaa1be114fb9bf8724f25db75c69c3b98538df46e9b1428ce615f7db3b9e9f9240d232fddac195db4568439b3f58989c20beca82aa6db79f4956db547 SHA512 978304b1faa5adc3b0d6ea7e9597af6154ad5d6e328913ac19184ece94771fdb2a7d5ce0af535ae8d28cb6ccd94fb3d4ef2613c0356df9e08b5d4c26ea646e09 DIST nettle-3.9.1.tar.gz 2396741 BLAKE2B e3ceaefa19491e58f26b900beaf8b4e746feb2357c7677f5c050f257f4a23c304773446b6283a42a82cf9640e16522b8a71c47f137759f1df23cdeee4625d142 SHA512 5939c4b43cf9ff6c6272245b85f123c81f8f4e37089fa4f39a00a570016d837f6e706a33226e4bbfc531b02a55b2756ff312461225ed88de338a73069e031ced DIST nettle-3.9.1.tar.gz.sig 374 BLAKE2B 41c37cc0ea649445c7e4bbe2d0e9ab1c6f7bb50000adef2c2ee4828e7efdd2d7c6d823d64209f251cb7d82ce85e73768430a435ee7f1d5a3732e744987918d0c SHA512 fe6f4c9746e7dbc10f61843673de95d2faea209b1caea5c7bf69b81d3f6b2248a4907012b2baf0d65e54682f835cff465482db37615b789017ce0a9e7e267d7d -DIST nettle-3.9.tar.gz 2393838 BLAKE2B 80885fa380de58765155a5d4b209e524f4bd0336156ba6f5189702007438998094df0e4e801370fd0a74251b8cf91f46638b0c0139388c2c2098b1207ed3415c SHA512 5e44f59b37ec1e92345fce0b963151d1f2aabf01b3a197b8d931067c51af4ba025059c6a07f2bcd19b17eb49d6ede98f5c200e58d340959826cda473459d2fba -DIST nettle-3.9.tar.gz.sig 374 BLAKE2B 4fb9fbdafd01712db2506e070a64b6821dcc0c3ff3cea83011662ee4cdd5120ed10c6fa7b41d556069fe2d8827a312e94bb3586be845284fa7a7ac75f000a750 SHA512 8cf060e9f8e0dc0a70a7d324cf2366e0fc990fca2d8a1c677e66382f6853f96146fe30ea9b8629030991f4799430c7660ae7867c94167760bb945abb526b5bda diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild similarity index 77% rename from sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.ebuild index 2d307d66cb4..08c8eb463c2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.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 @@ -15,7 +15,7 @@ LICENSE="|| ( LGPL-3 LGPL-2.1 )" # Subslot = libnettle - libhogweed soname version SLOT="0/8-6" 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="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul" +IUSE="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul" # The arm64 crypto option controls AES, SHA1, and SHA2 usage. REQUIRED_USE=" cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) @@ -54,6 +54,11 @@ src_prepare() { } multilib_src_configure() { + # We don't want to run Valgrind within ebuilds, it often gets + # confused by sandbox, etc. + export nettle_cv_prog_valgrind=no + + # TODO: USE=debug w/ --enable-extra-asserts? local myeconfargs=( CC_FOR_BUILD="$(tc-getBUILD_CC)" @@ -63,13 +68,11 @@ multilib_src_configure() { $(use_enable cpu_flags_arm_neon arm-neon) $(use_enable cpu_flags_arm_aes arm64-crypto) $(use_enable cpu_flags_ppc_altivec power-altivec) + $(use_enable cpu_flags_ppc_vsx2 power-crypto-ext) + $(use_enable cpu_flags_ppc_vsx3 power9) $(use_enable cpu_flags_x86_aes x86-aesni) $(use_enable cpu_flags_x86_sha x86-sha-ni) $(use_enable cpu_flags_x86_pclmul x86-pclmul) - # TODO: PPC crypto flag? - --disable-power-crypto-ext - # TODO: How do we detect this in ebuilds reliably? - --disable-power9 $([[ ${CHOST} == *-solaris* ]] && echo '--disable-symbol-versions') # TODO: cpu_flags_s390? --disable-s390x-vf @@ -85,5 +88,12 @@ multilib_src_configure() { --disable-openssl ) + # https://git.lysator.liu.se/nettle/nettle/-/issues/7 + if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then + ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7." + ewarn "Disabling, sorry! See bug #920234." + myeconfargs+=( --disable-power-altivec ) + fi + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild similarity index 87% rename from sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1-r1.ebuild index f2e77b0432a..55e95a1e59f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.9.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 @@ -83,5 +83,12 @@ multilib_src_configure() { --disable-openssl ) + # https://git.lysator.liu.se/nettle/nettle/-/issues/7 + if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then + ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7." + ewarn "Disabling, sorry! See bug #920234." + myeconfargs+=( --disable-power-altivec ) + fi + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } From b3ddb74da7ca500b95658f66608c28e4022b54ce Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:36 +0000 Subject: [PATCH 080/267] 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 7656130dc29b03edbabc600ed45cf6027936a25e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:37 +0000 Subject: [PATCH 081/267] 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 f5252bd2cee3b47c4f6a78cec9d198ae917185c3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:40 +0000 Subject: [PATCH 082/267] 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 f03b4626e385f155269f38dfe823844e0e3579ec Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:45 +0000 Subject: [PATCH 083/267] 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 d47faba1a7550e7726e0dcda708de09285c68d23 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:46 +0000 Subject: [PATCH 084/267] dev-python/crcmod: Sync with Gentoo It's from Gentoo commit 5859ef7376f0e0f5820c19e43ccfb8cfd6e247f4. --- .../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..f9997b03e11 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..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 25b20393095c055519ea8f9d818ee7c667df409b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:46 +0000 Subject: [PATCH 085/267] 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 82a3297ccbf2b499da4177448f2479ef4d663682 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:47 +0000 Subject: [PATCH 086/267] 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 c1811779b8361d8b8ab8a731fbd0ddc7ca18adcd Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 8 Jul 2024 07:13:47 +0000 Subject: [PATCH 087/267] 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 - -