diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/lua/files/lua-5.4.6-sparc-tests.patch b/sdk_container/src/third_party/portage-stable/dev-lang/lua/files/lua-5.4.6-sparc-tests.patch new file mode 100644 index 0000000000..29515aad16 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/lua/files/lua-5.4.6-sparc-tests.patch @@ -0,0 +1,44 @@ +https://github.com/lua/lua/commit/6baee9ef9d5657ab582c8a4b9f885ec58ed502d0 +https://bugs.gentoo.org/914562 + +From 6baee9ef9d5657ab582c8a4b9f885ec58ed502d0 Mon Sep 17 00:00:00 2001 +From: Roberto Ierusalimschy +Date: Fri, 8 Sep 2023 16:19:21 -0300 +Subject: [PATCH] Removed test for "corrupted binary dump" + +Test is too non portable. (For instance, it does not work for +different number types.) +--- a/src/lundump.c ++++ b/src/lundump.c +@@ -81,7 +81,7 @@ static size_t loadUnsigned (LoadState *S, size_t limit) { + + + static size_t loadSize (LoadState *S) { +- return loadUnsigned(S, ~(size_t)0); ++ return loadUnsigned(S, MAX_SIZET); + } + + +--- a/tests/calls.lua ++++ b/tests/calls.lua +@@ -342,20 +342,6 @@ do -- another bug (in 5.4.0) + end + + +-do -- another bug (since 5.2) +- -- corrupted binary dump: list of upvalue names is larger than number +- -- of upvalues, overflowing the array of upvalues. +- local code = +- "\x1b\x4c\x75\x61\x54\x00\x19\x93\x0d\x0a\x1a\x0a\x04\x08\x08\x78\x56\z +- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x77\x40\x00\x86\x40\z +- \x74\x65\x6d\x70\x81\x81\x01\x00\x02\x82\x48\x00\x02\x00\xc7\x00\x01\z +- \x00\x80\x80\x80\x82\x00\x00\x80\x81\x82\x78\x80\x82\x81\x86\x40\x74\z +- \x65\x6d\x70" +- +- assert(load(code)) -- segfaults in previous versions +-end +- +- + x = string.dump(load("x = 1; return x")) + a = assert(load(read1(x), nil, "b")) + assert(a() == 1 and _G.x == 1) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/lua/lua-5.4.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/lua/lua-5.4.6.ebuild index c7fd115887..8e723e6781 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/lua/lua-5.4.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/lua/lua-5.4.6.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://dev.gentoo.org/~soap/distfiles/${P}.tar.xz" LICENSE="MIT" SLOT="5.4" -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" IUSE="+deprecated readline" DEPEND=" @@ -22,6 +22,11 @@ DEPEND=" RDEPEND="${DEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( + # Backported variant of upstream patch to fix sparc tests, bug #914562 + "${FILESDIR}"/${PN}-5.4.6-sparc-tests.patch +) + src_prepare() { default