From 9c602d90d61cea9fe83c596c68a99e383ee15f73 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 28 Oct 2022 22:00:05 +0100 Subject: gentoo auto-resync : 28:10:2022 - 22:00:04 --- dev-lang/squirrel/Manifest | 5 ++ .../files/squirrel-3.2-CVE-2022-30292.patch | 12 +++++ dev-lang/squirrel/files/squirrel.pc.in | 12 +++++ dev-lang/squirrel/squirrel-3.2.ebuild | 63 ++++++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch create mode 100644 dev-lang/squirrel/files/squirrel.pc.in create mode 100644 dev-lang/squirrel/squirrel-3.2.ebuild (limited to 'dev-lang/squirrel') diff --git a/dev-lang/squirrel/Manifest b/dev-lang/squirrel/Manifest index 7f88ba2e3e5a..7664f60b9a30 100644 --- a/dev-lang/squirrel/Manifest +++ b/dev-lang/squirrel/Manifest @@ -1,3 +1,8 @@ +AUX squirrel-3.2-CVE-2022-30292.patch 520 BLAKE2B 9c069837aa7c3981f5b14ddb717db217e9aa45e0411c00258df59361b87f44166d3363576d0615dff0789e4772cb44749fef7bb38f36dc3b105fb602b61d738a SHA512 8a9a5990cb9826771d3ce285194c957ed06df0846b7194d0f136e252427d6f9eeb7fb1550ac9932d864d72bf36da88b4862a21f650e5232f72030734115dfab4 +AUX squirrel.pc.in 223 BLAKE2B f6b6f909e53a59573b1d6e6ac1f902da20c139d69ae62d585c7631450dccac8316b55779f9a570cd59228750d024cda1481476e8447b09d040b7827fe5d198f5 SHA512 a9124dca1e013f55c0498b743230df626cebbd7fd793603303d88e2973ad50ff64a2b7f7f37a773b3aceaea65420e7570efb68554228328542ca0b230bbb515e DIST squirrel-3.1_p20200612.tar.gz 181047 BLAKE2B f6965b5e721919c6c33426843a9b73fb27f39b7341763c2ff01421e6b6dce6cb86c6a02df65af9cb2266e8a63d6612c0e857456c4bb6e2546760f937d1979990 SHA512 e9853c92c151ca35e137a91ba4e3c9ad9c4c6d95a22c3686ebbae74cea7c1bf704ec5274d610f9d8158d8662a2b1b1445664f3f33c11689553cfc090a957b204 +DIST squirrel-3.2.tar.gz 620486 BLAKE2B c03cee0dffc12ff48caa4a7c9c0fffec32cdfb23306f265b8475454b0b9f14a3d2ec620b0f2183de8e8bc83e4921d6853105ac1a8d37bf3f2d97e914a001c4fd SHA512 e488ccc07b851e1707f3fde923f691747b18dc2fcc4748d2a68f2590ab84a3c0db647c8ac9ee775796984d2302a3d3686459556ea0c49a0b96b1354fcb8a6c74 +DIST squirrel-config.cmake.in_3.2 143 BLAKE2B e9e795a4f855f41206c5aca89b949c279f35dce06dad73c9153a9c03701f1721d831bdc29e3a399a2a6b2cf6e97d3a966008d81dfe955b2f5412c818d5a054bc SHA512 4820835a233b2beb5768b39e6b3ce5f06f1f9bc57c4c19df2c4f7ce2b03e67c18554c3084259317092d1eb0fee7d909bdbc56a9fc556f57ed61ef8b0f181996d EBUILD squirrel-3.1_p20200612.ebuild 969 BLAKE2B 4e3862e00b94df35203c37e6ce4435b91a25af06bae774a777796ec05c5f3531eaa4ada5e02dee16bb53166829a33a9bce2fa0961d86f1ba506c79f777bfc2f9 SHA512 51194be28d9ef6bd7c8d2c3cd374369ddf4fc61112867abeb31655f9d889febd36d938684ea83b80ebbf3faddbbb24240a4d35f56597a4a25baae507f45027ca +EBUILD squirrel-3.2.ebuild 1545 BLAKE2B 4a57cebc54d95d7a26d913506b98fb0777dcb227a4788d765502aa49539621accc6a999a81c295534eb47ed115da93a1c63a3e7bd4870d32070e19c430b27922 SHA512 569bc9108b3b6edd9c91820176b8d5f40ce7e8f7a0bd0712911563288b088bf9ae5e2b2b8f4b9c9103729abbca4c6ff1c28850b75d443737380b3d24e911b1bb MISC metadata.xml 312 BLAKE2B c2cfcb7ffff475030a29560dcac42917662a733e7a6ab37b9224fa0967bec0bf7d517d6c47a9686b30940a80a6e05465b87be918c28622681ef6f596c889b23a SHA512 4f3f5a13638a29c21555a43e22bbb41b2c58708043d7b6eb9cb0eb549f1dfb383adc8c0a0ade1491f1a037fc93a4f057dd5572d258c060fee8023c97e67e0c1b diff --git a/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch b/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch new file mode 100644 index 000000000000..3ba274b3270c --- /dev/null +++ b/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch @@ -0,0 +1,12 @@ +diff --git a/squirrel/sqbaselib.cpp b/squirrel/sqbaselib.cpp +index e2f248e..308d2cc 100644 +--- a/squirrel/sqbaselib.cpp ++++ b/squirrel/sqbaselib.cpp +@@ -1149,6 +1149,7 @@ static SQInteger thread_call(HSQUIRRELVM v) + SQObjectPtr o = stack_get(v,1); + if(sq_type(o) == OT_THREAD) { + SQInteger nparams = sq_gettop(v); ++ sq_reservestack(_thread(o), nparams + 3); + _thread(o)->Push(_thread(o)->_roottable); + for(SQInteger i = 2; i<(nparams+1); i++) + sq_move(_thread(o),v,i); diff --git a/dev-lang/squirrel/files/squirrel.pc.in b/dev-lang/squirrel/files/squirrel.pc.in new file mode 100644 index 000000000000..4dc26b906ad2 --- /dev/null +++ b/dev-lang/squirrel/files/squirrel.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@libdir@ +includedir=/usr/include/squirrel + +Name: squirrel +Description: squirrel library +Version: @version@ + +Requires: +Libs: -L${libdir} -lsquirrel -lsqstdlib +Cflags: -I${includedir} diff --git a/dev-lang/squirrel/squirrel-3.2.ebuild b/dev-lang/squirrel/squirrel-3.2.ebuild new file mode 100644 index 000000000000..02c8bcc6a1d4 --- /dev/null +++ b/dev-lang/squirrel/squirrel-3.2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A interpreted language mainly used for games" +HOMEPAGE="http://squirrel-lang.org/" +# Missing file in the tarball, do the same as Mageia +SRC_URI="https://download.sourceforge.net/squirrel/${PN}_${PV/./_}_stable.tar.gz -> ${P}.tar.gz + https://raw.githubusercontent.com/albertodemichelis/squirrel/v${PV}/squirrel-config.cmake.in -> squirrel-config.cmake.in_${PV}" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples static-libs" + +RDEPEND="" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${PN}3" + +PATCHES=( + # Fixed in master + "${FILESDIR}/${P}-CVE-2022-30292.patch" +) + +src_prepare() { + cp "${DISTDIR}/squirrel-config.cmake.in_${PV}" "${S}/squirrel-config.cmake.in" || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + $(usex static-libs '' -DDISABLE_STATIC=YES) + # /usr/bin/sq is used by app-text/ispell + # /usr/lib/libsquirrel.so is used by app-shells/squirrelsh + -DLONG_OUTPUT_NAMES=YES + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + dodoc HISTORY + + if use examples; then + docompress -x /usr/share/doc/${PF}/samples + dodoc -r samples + fi + + # Add pkgconfig file, needed for some reverse deps (follows Mageia + # one) + # https://github.com/albertodemichelis/squirrel/issues/259 + dodir /usr/$(get_libdir)/pkgconfig + sed \ + -e "s/@libdir@/$(get_libdir)/" \ + -e "s/@version@/${PV}/" \ + "${FILESDIR}/${PN}.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/${PN}.pc" || die +} -- cgit v1.2.3