summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin21968 -> 21991 bytes
-rw-r--r--dev-lang/boogie/Manifest4
-rw-r--r--dev-lang/boogie/boogie-3.2.0.ebuild306
-rw-r--r--dev-lang/boogie/boogie-3.2.1.ebuild307
-rw-r--r--dev-lang/c-intercal/Manifest2
-rw-r--r--dev-lang/c-intercal/c-intercal-31.0.ebuild5
-rw-r--r--dev-lang/crystal/Manifest11
-rw-r--r--dev-lang/crystal/crystal-1.12.2.ebuild2
-rw-r--r--dev-lang/crystal/crystal-1.13.0.ebuild (renamed from dev-lang/crystal/crystal-1.12.1.ebuild)2
-rw-r--r--dev-lang/crystal/crystal-1.13.1.ebuild120
-rw-r--r--dev-lang/eisl/Manifest2
-rw-r--r--dev-lang/eisl/eisl-5.00.ebuild52
-rw-r--r--dev-lang/execline/Manifest2
-rw-r--r--dev-lang/execline/execline-2.9.6.0.ebuild2
-rw-r--r--dev-lang/gdl/Manifest2
-rw-r--r--dev-lang/gdl/gdl-1.0.4-r1.ebuild10
-rw-r--r--dev-lang/go/Manifest4
-rw-r--r--dev-lang/go/go-1.22.5.ebuild65
-rw-r--r--dev-lang/go/go-9999.ebuild65
-rw-r--r--dev-lang/haxe/Manifest4
-rw-r--r--dev-lang/haxe/haxe-4.3.3.ebuild67
-rw-r--r--dev-lang/haxe/haxe-4.3.4.ebuild2
-rw-r--r--dev-lang/interprolog/Manifest2
-rw-r--r--dev-lang/interprolog/interprolog-2.1.2-r3.ebuild2
-rw-r--r--dev-lang/jint/Manifest2
-rw-r--r--dev-lang/jint/jint-3.1.2.ebuild9
-rw-r--r--dev-lang/luajit/Manifest4
-rw-r--r--dev-lang/luajit/luajit-2.1.1716656478.ebuild2
-rw-r--r--dev-lang/luajit/metadata.xml4
-rw-r--r--dev-lang/luau/Manifest2
-rw-r--r--dev-lang/luau/luau-0.634.ebuild38
-rw-r--r--dev-lang/mond/Manifest2
-rw-r--r--dev-lang/mond/mond-0.10.2.ebuild2
-rw-r--r--dev-lang/mujs/Manifest4
-rw-r--r--dev-lang/mujs/mujs-1.3.5.ebuild (renamed from dev-lang/mujs/mujs-1.3.3.ebuild)10
-rw-r--r--dev-lang/neko/Manifest2
-rw-r--r--dev-lang/neko/neko-2.4.0.ebuild57
-rw-r--r--dev-lang/php/Manifest13
-rw-r--r--dev-lang/php/files/php-8.2.20-implicit-printf.patch65
-rw-r--r--dev-lang/php/files/php-8.3.9-gd-cachevars.patch68
-rw-r--r--dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch1277
-rw-r--r--dev-lang/php/metadata.xml3
-rw-r--r--dev-lang/php/php-8.1.29.ebuild2
-rw-r--r--dev-lang/php/php-8.2.20.ebuild18
-rw-r--r--dev-lang/php/php-8.3.9.ebuild (renamed from dev-lang/php/php-8.3.8.ebuild)98
-rw-r--r--dev-lang/python/Manifest8
-rw-r--r--dev-lang/python/python-3.12.4_p2.ebuild2
-rw-r--r--dev-lang/python/python-3.13.0_beta3_p1.ebuild659
-rw-r--r--dev-lang/python/python-3.13.0_beta4.ebuild658
-rw-r--r--dev-lang/regina-rexx/Manifest2
-rw-r--r--dev-lang/regina-rexx/metadata.xml10
-rw-r--r--dev-lang/ruby/Manifest26
-rw-r--r--dev-lang/ruby/files/3.0/001-socksocket-fix.patch15
-rw-r--r--dev-lang/ruby/files/3.0/010-default-gem-location.patch20
-rw-r--r--dev-lang/ruby/files/3.0/900-musl-coroutine.patch28
-rw-r--r--dev-lang/ruby/files/3.0/901-musl-stacksize.patch26
-rw-r--r--dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch54
-rw-r--r--dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch33
-rw-r--r--dev-lang/ruby/files/3.1/020-arm-readline-test.patch28
-rw-r--r--dev-lang/ruby/files/3.2/020-arm-readline-test.patch32
-rw-r--r--dev-lang/ruby/ruby-3.1.4-r3.ebuild2
-rw-r--r--dev-lang/ruby/ruby-3.1.5.ebuild4
-rw-r--r--dev-lang/ruby/ruby-3.1.6-r1.ebuild (renamed from dev-lang/ruby/ruby-3.3.1.ebuild)103
-rw-r--r--dev-lang/ruby/ruby-3.1.6.ebuild1
-rw-r--r--dev-lang/ruby/ruby-3.2.4-r1.ebuild (renamed from dev-lang/ruby/ruby-3.3.0-r2.ebuild)75
-rw-r--r--dev-lang/ruby/ruby-3.2.4.ebuild3
-rw-r--r--dev-lang/ruby/ruby-3.3.4.ebuild (renamed from dev-lang/ruby/ruby-3.3.3.ebuild)10
-rw-r--r--dev-lang/spidermonkey/Manifest2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild509
-rw-r--r--dev-lang/tuprolog/Manifest3
-rw-r--r--dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild71
-rw-r--r--dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild2
72 files changed, 4526 insertions, 582 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index e750cdeb4e31..17e9a5ad8623 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest
index 4975c536a93d..a5e48c8aa879 100644
--- a/dev-lang/boogie/Manifest
+++ b/dev-lang/boogie/Manifest
@@ -1,5 +1,7 @@
AUX boogie-3.0.4-disable-analyzers.patch 764 BLAKE2B 965f6a8007a4324aa95b165109dcbc85f7bba5696d04772c53cfb1e456d0c60d2d3dce9103df641fe7f565d2a2d4e04a5d02aba43ac1ccc4527dcaae90b7b28b SHA512 b8c7b9172cd2f45be84058babd33c75f37dcb08f6c1a0b7c79b0ae2bd8afec70b29886f23d0a5553a00e1d3761a7788db0444d06788ee32aed2d1c2cd7cb9554
DIST boogie-3.1.6.tar.gz 2053303 BLAKE2B bc4c9ee72e605b1c78140f6120d0fe8ffcad663638829b28e8b5c7238d7265c156ad8994f4bb79989aea030b571b261f71b09050d80ab5a94625e47adc29a74d SHA512 31c4ca25bde610354f5ce4aaeab8f885c89f443a2d96671d55b4b38dc5dc30b6060f89100dba68a2bc962d6169618e1ab9f6958b1f12730687fa1e5c47267663
+DIST boogie-3.2.0.tar.gz 2064238 BLAKE2B 01b10f33dddd651b97786c0d9e3c8678c2c3afeb7dfc9403024a6d676b6b8a553b79804fe060b3e165f5b7dcee48de9f208639b115e5557fcd447f767f9144f0 SHA512 0642a407e0a7129776cbee934c45dbac0d12c41d9c920c6d2006c93af71046db0519b2530052686e5fc965a4b525641b5da1ab8ffeb4a48a3e8cfd5f918a6d66
+DIST boogie-3.2.1.tar.gz 2065129 BLAKE2B 714ab5c5737d6020ae773b3b2a014a96322a8117a149d9476a540bb2cee88f3bb95e15fd2560bddb772ea14841cd3a7ee3a4025330c408bb94a37446f0acd1f1 SHA512 e5bad71281f5134e700d0da847f3473b3dc3f2e287fdd2aca11cf346870aef8f6c73f6d1983765b6d14cedbf77be4a38529c8b92f7295fc6dc5910e3947a5e43
DIST microsoft.bcl.asyncinterfaces.6.0.0.nupkg 76354 BLAKE2B aca3f5db71e4037dbdd604aeaebcd0962ccc171915b77b4c409ab744bf0a469c7d588f9504fc7fa49e3863e9593b66b4083235cb49e812d1f87b3dadb32e6003 SHA512 221a05a0c910f7a87b620d8f3831ed392b4eb95d112bee274d35f27009ad2a26445de9d7cd235fe6fb4a03f2550874bda3be3dddd96edaf9c0852a9c23d7b099
DIST microsoft.codecoverage.16.2.0.nupkg 3133582 BLAKE2B 418cf403247d594cde0d827f8ca8690019a7631525f07993937085f4bbf8473364b4c99aea6e8b7b0020208d15fe0da63f0f4e69c273493c51ae011e8bd82667 SHA512 91f1d43fc038a20f5367d9aab669105dc7514dfbe749260b52789c09a75abcc6bdc000ee0c7f432231d4cc09e99bf5b863dd6289d813342f74d9dad23a651625
DIST microsoft.csharp.4.0.1.nupkg 462346 BLAKE2B 209ccebc9103b803d26ea1f0232245c3cd231078b03a83a0011a2a79a1a8a324a72c5b3fda94b2686fff170932f366e165f81a36a70df590a39c45d70778e4be SHA512 c0e75a9162f28ba4c4572c8fac4fd4c8c97d6d3505a37683646ba5f7e5f6ac0da69d5200d2646054de90e8e08f893a10e514591b69b8273640842b2cf90bddec
@@ -191,4 +193,6 @@ DIST system.xml.xpath.4.3.0.nupkg 250182 BLAKE2B 8a4177d47af56bc7a6289ed8f2cac41
DIST system.xml.xpath.xmldocument.4.0.1.nupkg 86933 BLAKE2B 4c03b5a9433c2c954e75d212f9026885aa7514574b73a54880c3d55baee6bd5517abb46b67b22b9b6e63de92a8bc5ab4ff37e3f7e6454a5c5137ae2be6574b75 SHA512 81041a08d3b9158c43dfb48d42f13ec9950d7c2b7f63e1600a779a77786edfb46c522c32d9cc6a44358fbfe11efba0e539e578ef169261867a1905b8121a045d
DIST system.xml.xpath.xmldocument.4.3.0.nupkg 138523 BLAKE2B ba53f3b5ac0f2d1d1e9120940b302e6960690ed4a44b96ba15b03e16f9159f2c57d6004aa55b796ba2327009d23fc2f10d4d09e948b88eb6af36efa5f76e401b SHA512 f75b6f7c75874ab6053e8942c1662a6e9a3561aa01502437b8d67f3bfcebd1ebf906792801326889ed7acb094c55469766d7d27cd10bc61b46ddaaa94dfc11e3
EBUILD boogie-3.1.6.ebuild 9418 BLAKE2B f2ab18943dd53d9d54fbf579d6f603ff53c3c74ab0e373c8be244b91cb172c964d01970400f8096a6fd16d1a9838df7d4d1597f62e74b2ab345e4d24410bac41 SHA512 28a0a1089b99108b86ff165c1157294b6cb7562f775a9b78420caa2ad925c7620b9e6faa3318279dd07da3c5da44886794cc9187484549aa921d6ab7aae1a7b2
+EBUILD boogie-3.2.0.ebuild 9475 BLAKE2B 1c2fc5631b2f16ee7c55cf850e35add9cc8e6f83271b9dbe89cd3ae91eef04068bf1eba0585dbbbb751a2e08740ba2f60492f9dc1fd169a9211b29939693c00d SHA512 4dda5316e21247409c0568fc13ff9572c6f01a4ce1be50db002fd4d68ab49ef8795213c097511c3d674de7fb52cd860243cbcd859e64ae13474e2dfa77d96d84
+EBUILD boogie-3.2.1.ebuild 9504 BLAKE2B cd6159246008d9410453f1ab139838816e22f517768a2584192165afb2151b3c80e568230a4edc00b57b232f49cf71e9a178c0ecf0ddda0d72a221f0d7f23a2e SHA512 bb399d2c6717f1dfa599b15409d1590aaac4f437dafb1805cd20eba1bbf5c619ffc34f65c2eb39f78842d3be88ccf39a0e1f354bdeaaa76945d78418d52b5b49
MISC metadata.xml 1102 BLAKE2B 215544658792715aae72787f7c949ed89df9c05ceab5a919a861c02b7938c0d1ee228e0ede55008287b616faf70992a8c1f2854e6e5e1fc909718ae682996bb8 SHA512 b6a626c485e2a5db3390da62c629507a60417eda8b508d7ed8d1c017ac337743d2c4fe0e8554b103f989176dcd2969cc8579e91532b07a22c1b66328ef241e8d
diff --git a/dev-lang/boogie/boogie-3.2.0.ebuild b/dev-lang/boogie/boogie-3.2.0.ebuild
new file mode 100644
index 000000000000..049cfbc87840
--- /dev/null
+++ b/dev-lang/boogie/boogie-3.2.0.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+microsoft.bcl.asyncinterfaces@6.0.0
+microsoft.codecoverage@16.2.0
+microsoft.csharp@4.0.1
+microsoft.dotnet.internalabstractions@1.0.0
+microsoft.net.test.sdk@16.2.0
+microsoft.netcore.platforms@1.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.targets@1.0.1
+microsoft.netcore.targets@1.1.0
+microsoft.testplatform.objectmodel@16.2.0
+microsoft.testplatform.testhost@16.2.0
+microsoft.win32.primitives@4.0.1
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@4.0.0
+microsoft.win32.registry@4.3.0
+microsoft.win32.systemevents@6.0.0
+netstandard.library@1.6.0
+netstandard.library@2.0.0
+newtonsoft.json@9.0.1
+nunit@3.12.0
+nunit3testadapter@3.15.1
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization.calendars@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.any.system.threading.timer@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.io.compression@4.1.0
+runtime.native.system.net.http@4.0.1
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.security.cryptography@4.0.0
+runtime.native.system@4.0.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.console@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.net.primitives@4.3.0
+runtime.unix.system.net.sockets@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+system.appcontext@4.1.0
+system.buffers@4.0.0
+system.buffers@4.3.0
+system.collections.concurrent@4.0.12
+system.collections.immutable@1.2.0
+system.collections.nongeneric@4.0.1
+system.collections.nongeneric@4.3.0
+system.collections.specialized@4.0.1
+system.collections.specialized@4.3.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.componentmodel.eventbasedasync@4.0.11
+system.componentmodel.eventbasedasync@4.3.0
+system.componentmodel.primitives@4.1.0
+system.componentmodel.primitives@4.3.0
+system.componentmodel.typeconverter@4.1.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.0.1
+system.componentmodel@4.3.0
+system.configuration.configurationmanager@6.0.0
+system.console@4.0.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.diagnosticsource@4.0.0
+system.diagnostics.process@4.1.0
+system.diagnostics.process@4.3.0
+system.diagnostics.textwritertracelistener@4.0.0
+system.diagnostics.tools@4.0.1
+system.diagnostics.tracesource@4.0.0
+system.diagnostics.tracing@4.1.0
+system.diagnostics.tracing@4.3.0
+system.drawing.common@6.0.0
+system.dynamic.runtime@4.0.11
+system.globalization.calendars@4.0.1
+system.globalization.extensions@4.0.1
+system.globalization.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.0
+system.io.compression.zipfile@4.0.1
+system.io.compression@4.1.0
+system.io.filesystem.primitives@4.0.1
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io@4.1.0
+system.io@4.3.0
+system.linq.async@6.0.1
+system.linq.expressions@4.1.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.net.http@4.1.0
+system.net.nameresolution@4.3.0
+system.net.primitives@4.0.11
+system.net.sockets@4.1.0
+system.objectmodel@4.0.12
+system.private.datacontractserialization@4.1.1
+system.private.uri@4.3.0
+system.reactive@4.4.1
+system.reflection.emit.ilgeneration@4.0.1
+system.reflection.emit.lightweight@4.0.1
+system.reflection.emit@4.0.1
+system.reflection.extensions@4.0.1
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.3.0
+system.reflection.primitives@4.0.1
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection@4.1.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.0.1
+system.resources.resourcemanager@4.3.0
+system.runtime.caching@6.0.0
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.0.1
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.loader@4.0.0
+system.runtime.numerics@4.0.1
+system.runtime.serialization.json@4.0.2
+system.runtime.serialization.primitives@4.1.1
+system.runtime@4.1.0
+system.runtime@4.3.0
+system.security.accesscontrol@6.0.0
+system.security.claims@4.3.0
+system.security.cryptography.algorithms@4.2.0
+system.security.cryptography.cng@4.2.0
+system.security.cryptography.csp@4.0.0
+system.security.cryptography.encoding@4.0.0
+system.security.cryptography.openssl@4.0.0
+system.security.cryptography.primitives@4.0.0
+system.security.cryptography.protecteddata@6.0.0
+system.security.cryptography.x509certificates@4.1.0
+system.security.permissions@6.0.0
+system.security.principal.windows@4.3.0
+system.security.principal@4.3.0
+system.text.encoding.extensions@4.0.11
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.0.11
+system.text.encoding@4.3.0
+system.text.regularexpressions@4.1.0
+system.text.regularexpressions@4.3.0
+system.threading.tasks.extensions@4.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks@4.0.11
+system.threading.tasks@4.3.0
+system.threading.thread@4.0.0
+system.threading.thread@4.3.0
+system.threading.threadpool@4.0.10
+system.threading.threadpool@4.3.0
+system.threading.timer@4.0.1
+system.threading@4.0.11
+system.threading@4.3.0
+system.windows.extensions@6.0.0
+system.xml.readerwriter@4.0.11
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.0.11
+system.xml.xmldocument@4.0.1
+system.xml.xmldocument@4.3.0
+system.xml.xmlserializer@4.0.11
+system.xml.xpath.xmldocument@4.0.1
+system.xml.xpath.xmldocument@4.3.0
+system.xml.xpath@4.0.1
+system.xml.xpath@4.3.0
+"
+
+inherit check-reqs dotnet-pkg edo multiprocessing
+
+DESCRIPTION="SMT-based program verifier"
+HOMEPAGE="https://github.com/boogie-org/boogie/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/boogie-org/${PN}.git"
+else
+ SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-mathematics/z3
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/OutputCheck
+ dev-python/lit
+ dev-python/psutil
+ )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.4-disable-analyzers.patch" )
+
+CHECKREQS_DISK_BUILD="2G"
+DOTNET_PKG_PROJECTS=( Source/BoogieDriver/BoogieDriver.csproj )
+DOTNET_PKG_BUILD_EXTRA_ARGS=( -p:RollForward=Major )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ # Remove bad tests.
+ local -a bad_tests=(
+ civl/inductive-sequentialization/BroadcastConsensus.bpl
+ civl/inductive-sequentialization/ChangRoberts.bpl
+ civl/inductive-sequentialization/PingPong.bpl
+ civl/large-samples/GC.bpl
+ civl/paxos/is.sh
+ civl/samples/reserve.bpl
+ civl/samples/treiber-stack.bpl
+ inst/vector-generic.bpl
+ livevars/stack_overflow.bpl
+ prover/cvc5-offline.bpl
+ prover/cvc5.bpl
+ prover/exitcode.bpl
+ prover/z3-hard-timeout.bpl
+ prover/z3mutl.bpl
+ test0/AssumeFalseSplit/AssumeFalseSplit.bpl
+ test0/Split/Split.bpl
+ test15/CaptureInlineUnroll.bpl
+ test2/Timeouts0.bpl
+ test21/InterestingExamples4.bpl
+ )
+ local bad_test
+ for bad_test in "${bad_tests[@]}" ; do
+ rm "${S}/Test/${bad_test}" || die
+ done
+
+ # Update the boogieBinary variable.
+ sed "/^boogieBinary/s|= .*|= '${DOTNET_PKG_OUTPUT}/BoogieDriver.dll'|" \
+ -i "${S}/Test/lit.site.cfg" || die "failed to update lit.site.cfg"
+
+ dotnet-pkg_src_prepare
+}
+
+src_test() {
+ einfo "Starting tests using the lit test tool."
+ local -a lit_opts=(
+ --order=lexical
+ --time-tests
+ --timeout 1800 # Let one test take no more than half a hour.
+ --verbose
+ --workers="$(makeopts_jobs)"
+ )
+ edo lit "${lit_opts[@]}" "${S}/Test"
+}
+
+src_install() {
+ dotnet-pkg-base_install
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/BoogieDriver" boogie
+
+ einstalldocs
+}
diff --git a/dev-lang/boogie/boogie-3.2.1.ebuild b/dev-lang/boogie/boogie-3.2.1.ebuild
new file mode 100644
index 000000000000..baa291441b16
--- /dev/null
+++ b/dev-lang/boogie/boogie-3.2.1.ebuild
@@ -0,0 +1,307 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+microsoft.bcl.asyncinterfaces@6.0.0
+microsoft.codecoverage@16.2.0
+microsoft.csharp@4.0.1
+microsoft.dotnet.internalabstractions@1.0.0
+microsoft.net.test.sdk@16.2.0
+microsoft.netcore.platforms@1.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.targets@1.0.1
+microsoft.netcore.targets@1.1.0
+microsoft.testplatform.objectmodel@16.2.0
+microsoft.testplatform.testhost@16.2.0
+microsoft.win32.primitives@4.0.1
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@4.0.0
+microsoft.win32.registry@4.3.0
+microsoft.win32.systemevents@6.0.0
+netstandard.library@1.6.0
+netstandard.library@2.0.0
+newtonsoft.json@9.0.1
+nunit@3.12.0
+nunit3testadapter@3.15.1
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization.calendars@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.any.system.threading.timer@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.io.compression@4.1.0
+runtime.native.system.net.http@4.0.1
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.security.cryptography@4.0.0
+runtime.native.system@4.0.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.console@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.net.primitives@4.3.0
+runtime.unix.system.net.sockets@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+system.appcontext@4.1.0
+system.buffers@4.0.0
+system.buffers@4.3.0
+system.collections.concurrent@4.0.12
+system.collections.immutable@1.2.0
+system.collections.nongeneric@4.0.1
+system.collections.nongeneric@4.3.0
+system.collections.specialized@4.0.1
+system.collections.specialized@4.3.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.componentmodel.eventbasedasync@4.0.11
+system.componentmodel.eventbasedasync@4.3.0
+system.componentmodel.primitives@4.1.0
+system.componentmodel.primitives@4.3.0
+system.componentmodel.typeconverter@4.1.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.0.1
+system.componentmodel@4.3.0
+system.configuration.configurationmanager@6.0.0
+system.console@4.0.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.diagnosticsource@4.0.0
+system.diagnostics.process@4.1.0
+system.diagnostics.process@4.3.0
+system.diagnostics.textwritertracelistener@4.0.0
+system.diagnostics.tools@4.0.1
+system.diagnostics.tracesource@4.0.0
+system.diagnostics.tracing@4.1.0
+system.diagnostics.tracing@4.3.0
+system.drawing.common@6.0.0
+system.dynamic.runtime@4.0.11
+system.globalization.calendars@4.0.1
+system.globalization.extensions@4.0.1
+system.globalization.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.0
+system.io.compression.zipfile@4.0.1
+system.io.compression@4.1.0
+system.io.filesystem.primitives@4.0.1
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io@4.1.0
+system.io@4.3.0
+system.linq.async@6.0.1
+system.linq.expressions@4.1.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.net.http@4.1.0
+system.net.nameresolution@4.3.0
+system.net.primitives@4.0.11
+system.net.sockets@4.1.0
+system.objectmodel@4.0.12
+system.private.datacontractserialization@4.1.1
+system.private.uri@4.3.0
+system.reactive@4.4.1
+system.reflection.emit.ilgeneration@4.0.1
+system.reflection.emit.lightweight@4.0.1
+system.reflection.emit@4.0.1
+system.reflection.extensions@4.0.1
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.3.0
+system.reflection.primitives@4.0.1
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection@4.1.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.0.1
+system.resources.resourcemanager@4.3.0
+system.runtime.caching@6.0.0
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.0.1
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.loader@4.0.0
+system.runtime.numerics@4.0.1
+system.runtime.serialization.json@4.0.2
+system.runtime.serialization.primitives@4.1.1
+system.runtime@4.1.0
+system.runtime@4.3.0
+system.security.accesscontrol@6.0.0
+system.security.claims@4.3.0
+system.security.cryptography.algorithms@4.2.0
+system.security.cryptography.cng@4.2.0
+system.security.cryptography.csp@4.0.0
+system.security.cryptography.encoding@4.0.0
+system.security.cryptography.openssl@4.0.0
+system.security.cryptography.primitives@4.0.0
+system.security.cryptography.protecteddata@6.0.0
+system.security.cryptography.x509certificates@4.1.0
+system.security.permissions@6.0.0
+system.security.principal.windows@4.3.0
+system.security.principal@4.3.0
+system.text.encoding.extensions@4.0.11
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.0.11
+system.text.encoding@4.3.0
+system.text.regularexpressions@4.1.0
+system.text.regularexpressions@4.3.0
+system.threading.tasks.extensions@4.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks@4.0.11
+system.threading.tasks@4.3.0
+system.threading.thread@4.0.0
+system.threading.thread@4.3.0
+system.threading.threadpool@4.0.10
+system.threading.threadpool@4.3.0
+system.threading.timer@4.0.1
+system.threading@4.0.11
+system.threading@4.3.0
+system.windows.extensions@6.0.0
+system.xml.readerwriter@4.0.11
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.0.11
+system.xml.xmldocument@4.0.1
+system.xml.xmldocument@4.3.0
+system.xml.xmlserializer@4.0.11
+system.xml.xpath.xmldocument@4.0.1
+system.xml.xpath.xmldocument@4.3.0
+system.xml.xpath@4.0.1
+system.xml.xpath@4.3.0
+"
+
+inherit check-reqs dotnet-pkg edo multiprocessing
+
+DESCRIPTION="SMT-based program verifier"
+HOMEPAGE="https://github.com/boogie-org/boogie/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/boogie-org/${PN}.git"
+else
+ SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-mathematics/z3
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/OutputCheck
+ dev-python/lit
+ dev-python/psutil
+ )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.4-disable-analyzers.patch" )
+
+CHECKREQS_DISK_BUILD="2G"
+DOTNET_PKG_PROJECTS=( Source/BoogieDriver/BoogieDriver.csproj )
+DOTNET_PKG_BUILD_EXTRA_ARGS=( -p:RollForward=Major )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ # Remove bad tests.
+ local -a bad_tests=(
+ civl/inductive-sequentialization/BroadcastConsensus.bpl
+ civl/inductive-sequentialization/ChangRoberts.bpl
+ civl/inductive-sequentialization/PingPong.bpl
+ civl/large-samples/GC.bpl
+ civl/paxos/is.sh
+ civl/samples/reserve.bpl
+ civl/samples/treiber-stack.bpl
+ inst/vector-generic.bpl
+ livevars/stack_overflow.bpl
+ prover/cvc5-offline.bpl
+ prover/cvc5.bpl
+ prover/exitcode.bpl
+ prover/z3-hard-timeout.bpl
+ prover/z3mutl.bpl
+ snapshots/runtest.snapshot
+ test0/AssumeFalseSplit/AssumeFalseSplit.bpl
+ test0/Split/Split.bpl
+ test15/CaptureInlineUnroll.bpl
+ test2/Timeouts0.bpl
+ test21/InterestingExamples4.bpl
+ )
+ local bad_test
+ for bad_test in "${bad_tests[@]}" ; do
+ rm "${S}/Test/${bad_test}" || die
+ done
+
+ # Update the boogieBinary variable.
+ sed "/^boogieBinary/s|= .*|= '${DOTNET_PKG_OUTPUT}/BoogieDriver.dll'|" \
+ -i "${S}/Test/lit.site.cfg" || die "failed to update lit.site.cfg"
+
+ dotnet-pkg_src_prepare
+}
+
+src_test() {
+ einfo "Starting tests using the lit test tool."
+ local -a lit_opts=(
+ --order=lexical
+ --time-tests
+ --timeout 1800 # Let one test take no more than half a hour.
+ --verbose
+ --workers="$(makeopts_jobs)"
+ )
+ edo lit "${lit_opts[@]}" "${S}/Test"
+}
+
+src_install() {
+ dotnet-pkg-base_install
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/BoogieDriver" boogie
+
+ einstalldocs
+}
diff --git a/dev-lang/c-intercal/Manifest b/dev-lang/c-intercal/Manifest
index 2b6c19bf7c81..7bc02b7225a4 100644
--- a/dev-lang/c-intercal/Manifest
+++ b/dev-lang/c-intercal/Manifest
@@ -2,5 +2,5 @@ AUX 50c-intercal-gentoo.el 191 BLAKE2B 3575c7ecac45d7023f727e559bbcfeb311c45c720
AUX c-intercal-31.0-no-common.patch 311 BLAKE2B 25e260a1e4c7079fb8baac690580505c401870fe60b6c0e398f79a8d1027ea6395b30b8c16244ad147489787606d6b6a27f244e4b8f9e9f7710405b124d3d7a8 SHA512 84db59e1855672260079c39ac066d98d031536019180483002b224c48912472c175bcde20053d37510e6aa07fa2de62beb4161d5a262b5d775742d0d10e7b51e
AUX c-intercal-31.0-version.patch 330 BLAKE2B f7a18b5098c6969ea29c21513221e3dd6f6cce847ceca102f8d3a0713d18bbdfd11b1349b0463f7338ef69ccb2b08aa8162e91860b26338c577647728e1261db SHA512 cfb0c79e76b19938fda232cf508e32812aa4edad2eb6545eef84f6bdfd8304666911ca4042450c4642699a41a140f4e199acf0f8d9ab0f24ab8daa81a89d3393
DIST intercal-0.31.tar.gz 940950 BLAKE2B 9a23229b1d7f0524b164a4b66bcab4fdf67a04ba1e411365a46a90d646867fe92d6e328935b406673809535a895becde934fb6cf2e8380943eb8f19473fcedab SHA512 ca5c10be880ce2470d7dd3404fa5a314bd7bcab45cf4908f7108eb1baa50339b876e135251d991527881b564027c63dc38d74a154cbd00d606261013d2b01262
-EBUILD c-intercal-31.0.ebuild 1817 BLAKE2B e191a8c562913facb1ca220449acd7f011704b5379e30a1ee810b1e7828e302fc55ea8a944a1cb1be1672565897a5c697c8368988ff6bdbfc0d06524acf7da1e SHA512 0e48c04cd7a73c143d216ec1fa16c1c94921593456c9f0a3144785c29bbb4560de0b0b12b18f4564f76b8f299c27452b2362bf3c0dbef79705dd378aa3ca67db
+EBUILD c-intercal-31.0.ebuild 1939 BLAKE2B 11a1049b636861eff6bf03c8cea5081b6eb710fce7496f5b34a9993d5e26e81dd0f0d8ae27d93c3be9408577d102b5848c12965a3637663cc2e44a3700bd1b58 SHA512 12ae39447678122e97ff132fa954b29deb14edc16d66bff32b52152198f0276ad0eb5b735200bd647759274fa206a1b305950e1a971b15ca47a10b9e3261c592
MISC metadata.xml 593 BLAKE2B a4c6702e622cc4c7132f16b2fcc5713de9a9cc5c78b15ff899c47d6d82c64e0b60ba49e6f9b9a3fe9464eed96143c45207fd57996aeb64776b4b6fdd76794c40 SHA512 1f1ddbfc8ec9414851e22204450b94006f00474c9e13634eac8abb0359b5e9c199b3a541d8cb91ef5c38142b36a99fb7defd5dce82a1fe14c12a72bf047f1ff7
diff --git a/dev-lang/c-intercal/c-intercal-31.0.ebuild b/dev-lang/c-intercal/c-intercal-31.0.ebuild
index 8657f746d707..77d289ef928e 100644
--- a/dev-lang/c-intercal/c-intercal-31.0.ebuild
+++ b/dev-lang/c-intercal/c-intercal-31.0.ebuild
@@ -48,6 +48,11 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855590
+ # https://gitlab.com/esr/intercal/-/issues/7
+ filter-lto
+
append-cflags $(test-flags-CC -fno-toplevel-reorder) #722862
econf
}
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 9adb78913b5d..3a8172406a36 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -1,10 +1,13 @@
AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa
AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2
AUX crystal-1.7.2-extra-spec-flags.patch 1080 BLAKE2B 3054e38d4e7d114f1b0a08b367f9a5b366bbe269c75b9195abf9dc39231b32428a108c4254abd0bdb29b2ac6a94d6d256eccc68ca69f80a273cd17e0c0115fc7 SHA512 3c3fd6a42b291a42f76ec76101d669011eb02d4d17f35c8ad31c5a49aa3655a2315999e2401af7f3bc26445f74f432430a44b021846238d345d9c14b1009fdc5
-DIST crystal-1.12.1-1-linux-x86_64.tar.gz 47041074 BLAKE2B 7e5d4a422144902de4b187947d55f9e8069d55f51013e10236fcf79b142ff96fc39973c883f5a633fbd10180553b6c82bdea824bff09d355fa171e4f5e308b68 SHA512 3256dc2340ed7b783bdf7e5f3d5c03cf981655ac2f50921aa53ada13cc72315d5a70515adb1c511f0f6e37c09310a963773b4f57eaeffe34c68e539edaaa7726
-DIST crystal-1.12.1.tar.gz 3657963 BLAKE2B 42cf32dca63a2bdd2925b4970e2277cb163ddcdbcbc997b7c72b155024f642d03c5a565e82dfc8a2b1aed0d3f877633beb9d128eb592485c034bfdcbc3f5baab SHA512 bd0c085d44a473b86797fa64ce9a5c66c7d3eda44bdba929faee490b635aef45bdf84b45baaa5dfea8e2b6fd218d1ae7fbdf117d3924b04b284075d4a500e55c
DIST crystal-1.12.2-1-linux-x86_64.tar.gz 47042270 BLAKE2B 17c29658fba1e32eafc0716f34d96f080b8500ef81d573719a3944873fbd16521ef2e3c0b6f3ea2753f67e96fe6cbf361df03233aa9e3eea19b87850b8d38089 SHA512 33d40b003481f56c1a3dcefb586e45326629455faad0adc6fce60f4fe91b586f01f997665aa535286b6909b5a4e0c05db3577b3eb8b36f6864f80d576ddd1d39
DIST crystal-1.12.2.tar.gz 3655994 BLAKE2B d5de81445e3e81352ae821cdf91863464f70466674f541e2b9e499610e0d68b4aac3af6e2688870be8b2ccd84c9da78734e0e8f5f8be070192bd7d7342d77853 SHA512 b972015fa17da19bcb649a4e0387e709b4a792c8e9279898e48fb82f8840e92f35492df9cce1ec2487724ee460d3ab9099144f6bd25a091a725578ec3fb0fbd6
-EBUILD crystal-1.12.1.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2
-EBUILD crystal-1.12.2.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e
+DIST crystal-1.13.0-1-linux-x86_64.tar.gz 51652465 BLAKE2B 21f390f19b53249c9d5dfce5fb754ba2f45f0ddabf191098146f6eb89c7bee6432a4c9b127585eb924864dea78c6f90463baff806ecbe544b35677fe9aee1acb SHA512 4754e3b41eeea073e406e40636aa97146f3227cd6538b9080b4190b6ddacf98eeb9b877fb1e367630a208e8fe66d9d458bc8d03f8916bf521ca546ae1ed98337
+DIST crystal-1.13.0.tar.gz 3687491 BLAKE2B 7ced8216f1777cd5b1fa831ccb1591a0f06b9451476eb70ff5f389600a4f85a24b7eb8730eda4726f0d61e72581817f0b946a5483175f2fe4193a0d186baeed5 SHA512 7b6cb45f78bf3827a23fb4a3299873848ee2548fe7887c84832fe4735bf5e39c41980731e92e89170774f8d632f77124cdd814edd0be9a36ef5b85a05bc13454
+DIST crystal-1.13.1-1-linux-x86_64.tar.gz 51651920 BLAKE2B 304203d7f46653c7c687e0d96ab8ff63798cc1e8f43ffcb9d3fd12c04e5ac35d058d6964e8d6e8f407b579e1bc80daa88dc0d9463cc7dc558055b36e96f75799 SHA512 d79555b3f79b0e9ad48ae08b1566c0ac2c1097ae28c434af43d869916b5a4b81383491492f548fec2bd662ff29231c83c14f10bacbb85bc9741a1903e3f331f2
+DIST crystal-1.13.1.tar.gz 3686680 BLAKE2B 8032895933d98bc8e3168a9ef1749e0b8c45e5f6501e70a4680a400d842999c2861e3d8064e457a81050f6c4dedc4ca5c968dca0ce593ff38e4091d5a45b7d40 SHA512 62e8d12d8b6fff4a8602e7b04a57b49dd17350585fa13fd015e649cae28affc134a38ec2852b07172c682affb50210df2bc26f707795a4c3483d9522272990db
+EBUILD crystal-1.12.2.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2
+EBUILD crystal-1.13.0.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e
+EBUILD crystal-1.13.1.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e
MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc
diff --git a/dev-lang/crystal/crystal-1.12.2.ebuild b/dev-lang/crystal/crystal-1.12.2.ebuild
index 02631f5f838f..92f5bc42f945 100644
--- a/dev-lang/crystal/crystal-1.12.2.ebuild
+++ b/dev-lang/crystal/crystal-1.12.2.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="doc debug llvm-libunwind"
# Upstream test suite not reliable
diff --git a/dev-lang/crystal/crystal-1.12.1.ebuild b/dev-lang/crystal/crystal-1.13.0.ebuild
index 92f5bc42f945..02631f5f838f 100644
--- a/dev-lang/crystal/crystal-1.12.1.ebuild
+++ b/dev-lang/crystal/crystal-1.13.0.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
IUSE="doc debug llvm-libunwind"
# Upstream test suite not reliable
diff --git a/dev-lang/crystal/crystal-1.13.1.ebuild b/dev-lang/crystal/crystal-1.13.1.ebuild
new file mode 100644
index 000000000000..02631f5f838f
--- /dev/null
+++ b/dev-lang/crystal/crystal-1.13.1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BV="${PV}-1"
+BV_AMD64="${BV}-linux-x86_64"
+
+LLVM_MAX_SLOT=17
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+DESCRIPTION="The Crystal Programming Language"
+HOMEPAGE="https://crystal-lang.org/
+ https://github.com/crystal-lang/crystal/"
+SRC_URI="
+ https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+ amd64? (
+ https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc debug llvm-libunwind"
+
+# Upstream test suite not reliable
+RESTRICT="test"
+
+DEPEND="
+ <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=
+ dev-libs/boehm-gc:=[threads]
+ dev-libs/gmp:=
+ dev-libs/libatomic_ops:=
+ dev-libs/libevent:=
+ dev-libs/libpcre2:=[unicode]
+ dev-libs/pcl:=
+ llvm-libunwind? (
+ sys-libs/llvm-libunwind:=
+ )
+ !llvm-libunwind? (
+ sys-libs/libunwind:=
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-libs/libxml2
+ dev-libs/libyaml
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.7.2-extra-spec-flags.patch"
+ "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch"
+ "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch"
+)
+
+src_configure() {
+ local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin"
+ if [[ ! -d "${bootstrap_path}" ]] ; then
+ eerror "Binary tarball does not contain expected directory:"
+ die "'${bootstrap_path}' path does not exist."
+ fi
+
+ # crystal uses 'LLVM_TARGETS' to override default list of targets
+ unset LLVM_TARGETS
+
+ MY_EMAKE_COMMON_ARGS=(
+ PATH="${bootstrap_path}:${PATH}"
+
+ CRYSTAL_CONFIG_VERSION="${PV}"
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+
+ $(usex debug "" release=1)
+ progress=true
+ stats=1
+ threads="$(makeopts_jobs)"
+ verbose=1
+
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ )
+}
+
+src_compile() {
+ emake "${MY_EMAKE_COMMON_ARGS[@]}"
+
+ use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}"
+}
+
+src_test() {
+ # EXTRA_SPEC_FLAGS is useful to debug individual tests
+ # as part of full build:
+ # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
+ emake std_spec \
+ "${MY_EMAKE_COMMON_ARGS[@]}" "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/crystal"
+ doins -r src/.
+
+ exeinto /usr/bin
+ doexe .build/crystal
+
+ insinto /usr/share/zsh/site-functions
+ newins etc/completion.zsh _crystal
+
+ dodoc -r samples
+ doman "man/${PN}.1"
+ newbashcomp etc/completion.bash "${PN}"
+
+ if use doc ; then
+ docinto api
+ dodoc -r docs/.
+ fi
+}
diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest
index c5a8e6d7259f..f32124b02832 100644
--- a/dev-lang/eisl/Manifest
+++ b/dev-lang/eisl/Manifest
@@ -1,7 +1,9 @@
AUX eisl-3.60-Makefile.patch 883 BLAKE2B 42419e7db0c5b960e218e821cd53d11caaa1a48d74c3e3d810c387e7e74f4fb2699d1cc54fc59c4201664a35384288c1f43e9910cabca9747f2522f2dc3aa364 SHA512 de22e920debb00b2988b8cd9d63c50c7c43d680c5b668f32dd9841a50875f7a857f5c320a00311f4d4adbff857298bf1e25f19f6a0baa7f0cba81ac63aaacd0f
DIST eisl-3.95.tar.gz 2438216 BLAKE2B 927af9a8b0469fcda16501a6fffba60eebc708dcfaba1b076b0ffe80396c285fc1fbb427694548418f76102451f7e37506686bf8d025decd04245e105fa618f7 SHA512 50e4159bbbc3c72fe985db3b2d77be63f2e8197027e97ac5af0e9316e5f817497bfc0a9f7cf0b0624bb8baf2cf28b5b94556ad77edcdee2e8e8a6d63a74e02a2
DIST eisl-4.00.tar.gz 2299966 BLAKE2B fe2d4e486d459866870b0baa23d2eb32890e1661460116508bd18aa401ec71cb68395bf857c98ba749005dcfd0985ab628274800a32e749abf27a767a2ce8615 SHA512 0b4d225f6068a9ff05c6483663b68ae920a1f63e30b47e7350243a70902ae7f5818cf4713fdd45c223e858a4e435d5e93f0944965af1db3f8d9d48f0e2db8239
+DIST eisl-5.00.tar.gz 2995464 BLAKE2B ecfc577df2e2b470845a0f3cbaa646408b8d5ec72c0b0e86263c443d6cf0aad0401d7f70e826db71ba824f7659fb4620a83aa81840e2c1b7822c97ada5212d86 SHA512 c82aaac0a9878f33abfe5edd54a37884965a00e6f37e901f81e49537afe8a4891343096d6089058c8ce0df4e8cc89f1f6c179f97eb950e45b949e95d9e094ddf
EBUILD eisl-3.95.ebuild 1010 BLAKE2B caf0eaf92d6f0397eba23e8641b1bff1d5316d97d1886e75a2bcd504354fbef1ca19d053168ad592503156a7b6270da2dd39cb03f65f78dbb210f6c569476904 SHA512 f637a8521189709117940c1d4240280357394dfb9dceb591658afbc58ccc5190e649144df52ac100f24e0ca3c98913b53d67ca4fa5aa92814bab560791913b35
EBUILD eisl-4.00.ebuild 1011 BLAKE2B 291b801fbede039429edf9317a5ac1a7beed406019edb25aa218be9f718deff1742a4e99adc349ebe04d5160126bae590de9dc831378aeddfaf7bcce5e554ca1 SHA512 71d7528dbfbc0b76b68bc574aa7ca11b463cae94a5682bc74458cd8b0530de222de50aa540e3e9e444bbef58b2c36d49bb94ad929a99dc9574148ac3abba6afd
+EBUILD eisl-5.00.ebuild 1011 BLAKE2B 291b801fbede039429edf9317a5ac1a7beed406019edb25aa218be9f718deff1742a4e99adc349ebe04d5160126bae590de9dc831378aeddfaf7bcce5e554ca1 SHA512 71d7528dbfbc0b76b68bc574aa7ca11b463cae94a5682bc74458cd8b0530de222de50aa540e3e9e444bbef58b2c36d49bb94ad929a99dc9574148ac3abba6afd
EBUILD eisl-9999.ebuild 1005 BLAKE2B bf9361efcf3f564ea3dd41a9f9d404b95b774df7f88b6280fa1d41d67eebbe1063d6f49876068478d31d11dc0846247b7655d4022ca07cd26c4ee869856acd6b SHA512 dfb4fc078498d62a137dcac57a0cd7bf5c7efb85bf4b9cbec3406ebbe432906e1d621ddf282145a3037bdd1a84b603b665d14638adf4d2894441da7b9c7a3b8c
MISC metadata.xml 631 BLAKE2B fd171b07cf1f7beae7be774a5da360d466c83f01a6bd52dc69af436926ae5aebec27a2723c11498be21c4f96f6b82c6aa3571f4b84e763459ef78086450252f2 SHA512 dd9e329f24ce6d3922e92e81d36234b93151f71c88d6ba4b38557565a7c1c3bc4b7172d4d55f1d2d5bd6c5cada449691067cc71abd4d456941f6a8b78fe0df87
diff --git a/dev-lang/eisl/eisl-5.00.ebuild b/dev-lang/eisl/eisl-5.00.ebuild
new file mode 100644
index 000000000000..0ef48728bee1
--- /dev/null
+++ b/dev-lang/eisl/eisl-5.00.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Interpreter and compiler compatible with the ISLisp standard"
+HOMEPAGE="https://github.com/sasagawa888/eisl/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git"
+else
+ SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+RESTRICT="test" # Tests run cppcheck (and fail)
+
+DOCS=( README{,-ja}.md documents )
+
+RDEPEND="
+ sys-libs/ncurses:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.60-Makefile.patch" )
+
+src_compile() {
+ emake CC="$(tc-getCC)" clean edlis eisl
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe edlis eisl
+
+ # Compilation of ISLisp files on installation fails.
+ # Do not compile them and mimic "make install".
+ insinto "/usr/share/${PN}"
+ doins -r library
+ doins fast.h ffi.h
+
+ einstalldocs
+}
diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest
index 081736c0dec5..141fc911feb2 100644
--- a/dev-lang/execline/Manifest
+++ b/dev-lang/execline/Manifest
@@ -1,5 +1,5 @@
DIST execline-2.9.5.1.tar.gz 110874 BLAKE2B bef3cb560f00c01c96065429220017315edc8378403c73e4a0edba67ee248f76ca849cd8a107756251db9844d3ac650259b33db2f93abc1c7aa4f68995b5b624 SHA512 11bfd825b0b72cba118eff9ecb97672d0c015e0bd50c7c8f83e101ee41c323b3a3c82e42fed75b6bc65ab6edb85a8bbeef8900b594cf651825b6313a5123c88f
DIST execline-2.9.6.0.tar.gz 111660 BLAKE2B 42baed36228b1e6a370d6d4c18829be7f517812ce9e3838e5b102d0fe58ac48ecd84f17caef89e9a07b3b149ed9b38b3b00f7eef810c231995c8e5ecbf07a770 SHA512 1c5233b0f17b4c92ab2e9e8700b47c8429ad97962bcb7c83190d0b3251b26584e591d77418eca77e8112cdecd24eec50aaca7da1dbb506120931bbda39f2b7cb
EBUILD execline-2.9.5.1.ebuild 1132 BLAKE2B 8ac47516f9f4d89f44a6b86988a6df1a1f5639868f24f29691a1e6f4f9c7cd1e46520e82f37577d6bf31e81200e70aee08e4cbc6966dd4274772a0e65307dd24 SHA512 97932b7287d2cd30b625425de149bb3ca701e2902637146c90cd6e6ac8251b0e533832b060d93efa5efb66415c0aa5392ddb49a17ddc200e6eab6752663578dc
-EBUILD execline-2.9.6.0.ebuild 1135 BLAKE2B d772b43ae63801febe3450deca71d89e62e3195af05e569f59cb1acefd7d3b87956861d665a1e13e963d79052ed90cde92c6e40b56180fd9bf3ffbde3562546a SHA512 82f6a85dff699956ee962e0ce582b08c068de0bcdeffdc6fea36269f00fea77a9b0d82da2217641419832249228d08ac11c7a370af53aca6d3b462cf723f9607
+EBUILD execline-2.9.6.0.ebuild 1132 BLAKE2B 8ac47516f9f4d89f44a6b86988a6df1a1f5639868f24f29691a1e6f4f9c7cd1e46520e82f37577d6bf31e81200e70aee08e4cbc6966dd4274772a0e65307dd24 SHA512 97932b7287d2cd30b625425de149bb3ca701e2902637146c90cd6e6ac8251b0e533832b060d93efa5efb66415c0aa5392ddb49a17ddc200e6eab6752663578dc
MISC metadata.xml 585 BLAKE2B ce0671014512c49b041f6c47002603a15f0f5d7f23c356465fff024506fb261096aa757cc1c707501f5be572cea9d925a25039d1549d31852ffaf9b2f17b5cb3 SHA512 bddd917f615e8ff772889a4da992c9201f6e32982374ffa29e7a8c3fce8d7a4f409c3b3ffe8c989e7802c2b321d6cfc5bb37017aa75dc38e3026c1de48bb0090
diff --git a/dev-lang/execline/execline-2.9.6.0.ebuild b/dev-lang/execline/execline-2.9.6.0.ebuild
index 6eff46cb134a..25e4a9c495bd 100644
--- a/dev-lang/execline/execline-2.9.6.0.ebuild
+++ b/dev-lang/execline/execline-2.9.6.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2).4"
-KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~alpha amd64 arm ~mips ~ppc ~ppc64 ~riscv x86"
RDEPEND=">=dev-libs/skalibs-2.14.0.0:="
DEPEND="${RDEPEND}"
diff --git a/dev-lang/gdl/Manifest b/dev-lang/gdl/Manifest
index de31140e561f..19fe9601a702 100644
--- a/dev-lang/gdl/Manifest
+++ b/dev-lang/gdl/Manifest
@@ -1,4 +1,4 @@
AUX gdl-1.0.4-cmake.patch 4739 BLAKE2B 954ec16e3bdd803ad842cce7d3389bd1a6137176a4be129027fd2b5075fbac89f45a3cfacc1f04cc7aec73f519f5a25d36b75c8790490ebef41f9b462fed0b5a SHA512 aeaf09b6eadbe89f98cccb003dbea510e8ec66659d7c290dc7e5315db073592ad215fab4a8feb9ac2af5ef7be9822c5fa0e92ab4bf64394b6fae6caa0277a279
DIST gdl-1.0.4.tar.gz 33219638 BLAKE2B db0e843cf2e3f07d6f53d3a8b46cb95303cd0ae199c98099f45bbdfe5d206f325a8f9814935e876a3dfee3a46da0144766b18fa54b38a653567a429a88f06250 SHA512 3206bdd88b0478493221c0552e62620f1c9acbfec6f1900d73d932caae12401bf825e8893c81f844965f79e332bedb6ea99e6ea6f2b21427022efa60d1326eb0
-EBUILD gdl-1.0.4-r1.ebuild 3387 BLAKE2B 3fa66631eaaad8e2fca7f08de10f424179a0bb92aad840481cbe7e27bc3dc70b4735bd3850bd693bc736682f4bf0172be603fdbf5ce162f633b44ea545542b50 SHA512 558be57b0a371d90a19d3a860cfc975a8b26eca4b298c59a1f52cd0d44c0a7f200575dbb8f1e7c531df6cff6cf5e735cae28cf6ae2e3a26cfb47d284b6bfbc7e
+EBUILD gdl-1.0.4-r1.ebuild 3599 BLAKE2B 57cf9816547de1715b8b4ee8a64aa4f839c4d5f9a4b3d66b278dfddc77031158ee8e3a7629e923ec292237b7c08c14e130c64fa97c678bab165fc621d9b4cb0a SHA512 a022583dbde7354ef345bdf5357449a6f9ed7b5fae1946d5a1b42f07f1f923a4171e5bf688575bb2b01fe2e518e6e007632ab8ec68098e30cc2a29a34892b315
MISC metadata.xml 1288 BLAKE2B c2e9dd75d0e8a9d59470fb1c9eee3e8b6f9378bfcb11dfd7f1e37d6294f3830af40d1693ab306e656cc830e5f924738f8db015fdf710318529635b3197abfa1b SHA512 927178c2c284e7a273cd289a3c828094b5a5cfd7fc4eeb8479ba6fa6b56bd5a0ed240161edbad1c1ad6c8189844cff8ccbaf9c1ff57842ea439fb82677e0b4bf
diff --git a/dev-lang/gdl/gdl-1.0.4-r1.ebuild b/dev-lang/gdl/gdl-1.0.4-r1.ebuild
index 37797d0e9d71..e0d6af34f1d0 100644
--- a/dev-lang/gdl/gdl-1.0.4-r1.ebuild
+++ b/dev-lang/gdl/gdl-1.0.4-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
WX_GTK_VER="3.2-gtk3"
PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake python-single-r1 toolchain-funcs virtualx wxwidgets
+inherit cmake flag-o-matic python-single-r1 toolchain-funcs virtualx wxwidgets
DESCRIPTION="GNU Data Language"
HOMEPAGE="https://github.com/gnudatalanguage/gdl"
@@ -96,6 +96,14 @@ src_prepare() {
}
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/930966
+ # https://github.com/gnudatalanguage/gdl/issues/1852
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
# MPI is still very buggy
# x11=off does not compile
local mycmakeargs=(
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 01a009d40bc7..088ad886da24 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -7,6 +7,6 @@ DIST go1.22.5.src.tar.gz 27559458 BLAKE2B f166dd9f1c55addf422f2612f3f6a084fa96d3
EBUILD go-1.21.11.ebuild 5204 BLAKE2B 2fe9369fbc565c10082d5d508c863739e24e85dd491cd3c27691ea3025f06bb94e976c8f109d26455a8560356fbebbaaa5e5d1e034a20b7648596c9f053807d9 SHA512 ed2806d6d1efb4d9194354468157129b9f27483f63ae166d66bb559541880d416254fa1ca39dc2022d485abda6fe771d8311c007eac78ef01a7ce38b9641ed19
EBUILD go-1.21.12.ebuild 5209 BLAKE2B 5656d72770d2f5d6092328eeb3883f303407e591845530c2041df1382ffec3cde87c150ac591f4a4bebfa2dada0b504151c36e454d66269d31fe975eab786917 SHA512 d0b37538789f820c8314dbfbe9e8b5a18de1c3a8009d3e2633d6b4f0bdf1bd100374232f8323e7e55c67300e98f70468b3e26ea57153448d7bb24d629e9387e6
EBUILD go-1.22.4.ebuild 5269 BLAKE2B d3218c1d0e0fd4fb81b53af9a53823484737736c4d19e605f2aa805f764338487e0f35e4f44f11127ae6e1cf5420785d0b280af0f1bb9a4270e032c7d2177aa8 SHA512 0bb285a4f49ecaa9c1e6ca51a7402f3569e64be74b0ba0081850f92d07a9e482a12da1f744c163bee77a837e9951eeeb213916315a82268c9b9c63642e01a0c1
-EBUILD go-1.22.5.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96
-EBUILD go-9999.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96
+EBUILD go-1.22.5.ebuild 4274 BLAKE2B 7cbc81bac15c21d76bfadbc9b414ae9fbe7549a49ed2f9b9fae45bd00d6dfc304b054fef08f42f94be45d7c2defc3ebabce9d8f480db5e60c0c4a9e95cdcafd7 SHA512 9c9e3ce9713153f3316f54b96450deeb951c453b2320773771b047d12226db15d724157455fd6a218028d0a49b145c317019190083361f328b4d07001d197fd6
+EBUILD go-9999.ebuild 4274 BLAKE2B 7cbc81bac15c21d76bfadbc9b414ae9fbe7549a49ed2f9b9fae45bd00d6dfc304b054fef08f42f94be45d7c2defc3ebabce9d8f480db5e60c0c4a9e95cdcafd7 SHA512 9c9e3ce9713153f3316f54b96450deeb951c453b2320773771b047d12226db15d724157455fd6a218028d0a49b145c317019190083361f328b4d07001d197fd6
MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a
diff --git a/dev-lang/go/go-1.22.5.ebuild b/dev-lang/go/go-1.22.5.ebuild
index fc36a2d33ae9..b16e86ae904f 100644
--- a/dev-lang/go/go-1.22.5.ebuild
+++ b/dev-lang/go/go-1.22.5.ebuild
@@ -10,7 +10,7 @@ export CTARGET=${CTARGET:-${CHOST}}
GO_BOOTSTRAP_MIN=1.20.14
MY_PV=${PV/_/}
-inherit toolchain-funcs
+inherit go-env toolchain-funcs
case ${PV} in
*9999*)
@@ -33,7 +33,7 @@ HOMEPAGE="https://go.dev"
LICENSE="BSD"
SLOT="0/${PV}"
-IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2"
+IUSE="cpu_flags_x86_sse2"
RDEPEND="
arm? ( sys-devel/binutils[gold] )
@@ -66,55 +66,8 @@ DOCS=(
SECURITY.md
)
-go_arch() {
- # By chance most portage arch names match Go
- local tc_arch=$(tc-arch $@)
- case "${tc_arch}" in
- x86) echo 386;;
- x64-*) echo amd64;;
- loong) echo loong64;;
- mips) if use abi_mips_o32; then
- [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
- elif use abi_mips_n64; then
- [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
- fi ;;
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
- riscv) echo riscv64 ;;
- s390) echo s390x ;;
- *) echo "${tc_arch}";;
- esac
-}
-
-go_arm() {
- case "${1:-${CHOST}}" in
- armv5*) echo 5;;
- armv6*) echo 6;;
- armv7*) echo 7;;
- *)
- die "unknown GOARM for ${1:-${CHOST}}"
- ;;
- esac
-}
-
-go_os() {
- case "${1:-${CHOST}}" in
- *-linux*) echo linux;;
- *-darwin*) echo darwin;;
- *-freebsd*) echo freebsd;;
- *-netbsd*) echo netbsd;;
- *-openbsd*) echo openbsd;;
- *-solaris*) echo solaris;;
- *-cygwin*|*-interix*|*-winnt*)
- echo windows
- ;;
- *)
- die "unknown GOOS for ${1:-${CHOST}}"
- ;;
- esac
-}
-
go_tuple() {
- echo "$(go_os $@)_$(go_arch $@)"
+ echo "$(go-env_goos $@)_$(go-env_goarch $@)"
}
go_cross_compile() {
@@ -140,16 +93,16 @@ src_compile() {
export GOBIN="${GOROOT}/bin"
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
- export GOHOSTARCH=$(go_arch ${CBUILD})
- export GOHOSTOS=$(go_os ${CBUILD})
+ export GOHOSTARCH=$(go-env_goarch ${CBUILD})
+ export GOHOSTOS=$(go-env_goos ${CBUILD})
export CC=$(tc-getBUILD_CC)
- export GOARCH=$(go_arch)
- export GOOS=$(go_os)
+ export GOARCH=$(go-env_goarch)
+ export GOOS=$(go-env_goos)
export CC_FOR_TARGET=$(tc-getCC)
export CXX_FOR_TARGET=$(tc-getCXX)
- use arm && export GOARM=$(go_arm)
- use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+ use arm && export GOARM=$(go-env_goarm)
+ use x86 && export GO386=$(go-env_go386)
cd src
bash -x ./make.bash || die "build failed"
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index fc36a2d33ae9..b16e86ae904f 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -10,7 +10,7 @@ export CTARGET=${CTARGET:-${CHOST}}
GO_BOOTSTRAP_MIN=1.20.14
MY_PV=${PV/_/}
-inherit toolchain-funcs
+inherit go-env toolchain-funcs
case ${PV} in
*9999*)
@@ -33,7 +33,7 @@ HOMEPAGE="https://go.dev"
LICENSE="BSD"
SLOT="0/${PV}"
-IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2"
+IUSE="cpu_flags_x86_sse2"
RDEPEND="
arm? ( sys-devel/binutils[gold] )
@@ -66,55 +66,8 @@ DOCS=(
SECURITY.md
)
-go_arch() {
- # By chance most portage arch names match Go
- local tc_arch=$(tc-arch $@)
- case "${tc_arch}" in
- x86) echo 386;;
- x64-*) echo amd64;;
- loong) echo loong64;;
- mips) if use abi_mips_o32; then
- [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
- elif use abi_mips_n64; then
- [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
- fi ;;
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
- riscv) echo riscv64 ;;
- s390) echo s390x ;;
- *) echo "${tc_arch}";;
- esac
-}
-
-go_arm() {
- case "${1:-${CHOST}}" in
- armv5*) echo 5;;
- armv6*) echo 6;;
- armv7*) echo 7;;
- *)
- die "unknown GOARM for ${1:-${CHOST}}"
- ;;
- esac
-}
-
-go_os() {
- case "${1:-${CHOST}}" in
- *-linux*) echo linux;;
- *-darwin*) echo darwin;;
- *-freebsd*) echo freebsd;;
- *-netbsd*) echo netbsd;;
- *-openbsd*) echo openbsd;;
- *-solaris*) echo solaris;;
- *-cygwin*|*-interix*|*-winnt*)
- echo windows
- ;;
- *)
- die "unknown GOOS for ${1:-${CHOST}}"
- ;;
- esac
-}
-
go_tuple() {
- echo "$(go_os $@)_$(go_arch $@)"
+ echo "$(go-env_goos $@)_$(go-env_goarch $@)"
}
go_cross_compile() {
@@ -140,16 +93,16 @@ src_compile() {
export GOBIN="${GOROOT}/bin"
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
- export GOHOSTARCH=$(go_arch ${CBUILD})
- export GOHOSTOS=$(go_os ${CBUILD})
+ export GOHOSTARCH=$(go-env_goarch ${CBUILD})
+ export GOHOSTOS=$(go-env_goos ${CBUILD})
export CC=$(tc-getBUILD_CC)
- export GOARCH=$(go_arch)
- export GOOS=$(go_os)
+ export GOARCH=$(go-env_goarch)
+ export GOOS=$(go-env_goos)
export CC_FOR_TARGET=$(tc-getCC)
export CXX_FOR_TARGET=$(tc-getCXX)
- use arm && export GOARM=$(go_arm)
- use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+ use arm && export GOARM=$(go-env_goarm)
+ use x86 && export GO386=$(go-env_go386)
cd src
bash -x ./make.bash || die "build failed"
diff --git a/dev-lang/haxe/Manifest b/dev-lang/haxe/Manifest
index 8e608c1b01d1..db34448015e4 100644
--- a/dev-lang/haxe/Manifest
+++ b/dev-lang/haxe/Manifest
@@ -1,5 +1,3 @@
-DIST haxe-4.3.3.tar.gz 8405617 BLAKE2B 0c27eafd6af0615b47de8a7bdbff25fe15d8bbf80525ede273a4a430cedde6f0d6c9871ae581e2a7e8a87b56862f0c1b9f6f862a7cbfb68ac943ccbc3ae36878 SHA512 fea25ae2ba7433e2f39faae8e05538419e5dfbc519315c8e91b84a2d0a7c9e2ed380b92b21c23ff597797311cbb7a15276b5f4623fb65c6e3d4d8cc801a74e23
DIST haxe-4.3.4.tar.gz 8409775 BLAKE2B 929797d71c23724c08c85957be8b39d6802d35990f70a85f8f7c309fa4505dae2b4b24e881ea8f55b02d68af4eb5fb7956c2562cdc5a8f201925a3029bd2cafd SHA512 77f08d5ecd2f0d08d4f44f186120a3f72eb51c712116d50d524f116d981b28fec4e5a03ef0d7c84bf0451caac76a37d642841202d01822cbb5f08981f12998ec
-EBUILD haxe-4.3.3.ebuild 1324 BLAKE2B 6ec3a1bddb8a1ef1c5e5774346932f1817c748eed300e267c493bfe44149800427e688e4c3d46ef99d39953cebdec289b9f5ef35eb5086e0f7629c3f8cf3c117 SHA512 2fc4029a965872fdb0fc06805cb272838bfa9788adfcb17b446c10341c6c1242522dcc23d97023b6ed44629b61dc2458abe05003d3f20d1a45a2fdf90a644164
-EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 30c146830340437c87ea1859b297cb40fad62d81d69a11a06f7b4123255b068648f53e33de0d1df2ad7819a1b9a47fab662c28fc3c7b9362028be617ce940e6b SHA512 f71d9bd74a380e755504f80cb9c270fe7ad4766eb7ad8676880f1cf528b951fe0eb9c7835a3f8336a856a51a190597fa70f5d42fcda806ec8f06d4fccd0a9518
+EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 8aceead965bade611912317c79ff3d1951c8e715d5aa8af6c30ba7df661b3a8a5fd1cdb0ada60ec2b5dfdecd8c57e032646a8e389b6919735b11525d36f11aee SHA512 927cdfd6f6664c86efc860cabc36c267e0caa53665211cbc990a24a07c0a9a4aa69cf8480ca82fddb2980cf187c6b013ae473a7b5633db05678f930924194a1c
MISC metadata.xml 733 BLAKE2B 293f296fd51f93d0834ba3f9ad2815161313f2ee7fcc5ebb68f20090e76fd67b4845114c4c78959cd13d64146e9221d001e0be76b65323d1d5b3cf934085a1ec SHA512 6dd648666a0916f27edc70e637e426e03790d4fd50a43fd2696b62c69cdf0f8b1c831fd8dca03db844209a0a23952c5dc1bc1b929b42928f6608288f470f8399
diff --git a/dev-lang/haxe/haxe-4.3.3.ebuild b/dev-lang/haxe/haxe-4.3.3.ebuild
deleted file mode 100644
index c0dfcd532325..000000000000
--- a/dev-lang/haxe/haxe-4.3.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Multi-target universal programming language"
-HOMEPAGE="https://haxe.org/
- https://github.com/HaxeFoundation/haxe/"
-
-if [[ "${PV}" == *9999* ]] ; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git"
-else
- # Haxe-debian already contains correct git modules
- SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz
- -> ${P}.tar.gz"
- S="${WORKDIR}/haxe-debian-upstream-${PV}"
-
- KEYWORDS="~amd64"
-fi
-
-LICENSE="GPL-2+ MIT"
-SLOT="0/${PV}"
-IUSE="+ocamlopt"
-RESTRICT="strip"
-
-RDEPEND="
- >=dev-lang/ocaml-4:=[ocamlopt?]
- >=dev-ml/luv-0.5.12:=
- dev-ml/extlib:=
- dev-ml/ocaml-sha:=
- dev-ml/ptmap:=
- dev-ml/sedlex:=
- dev-ml/xml-light:=
-
- dev-lang/neko:=
- dev-libs/boehm-gc:=
- dev-libs/libpcre:=
- net-libs/mbedtls:=
- sys-libs/zlib:=
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-ml/camlp5
- dev-ml/dune
- dev-ml/findlib
-"
-
-QA_FLAGS_IGNORED="usr/bin/haxelib"
-QA_PRESTRIPPED="usr/bin/haxelib"
-
-src_configure() {
- export OCAMLOPT="$(usex ocamlopt ocamlopt.opt ocamlopt)"
-}
-
-src_compile() {
- emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \
- OCAMLOPT="${OCAMLOPT}" INSTALL_DIR=/usr
-}
-
-src_install() {
- emake DESTDIR="${D}" INSTALL_DIR=/usr install
- dodoc *.md
-}
diff --git a/dev-lang/haxe/haxe-4.3.4.ebuild b/dev-lang/haxe/haxe-4.3.4.ebuild
index 776b27a6ebe6..71558710fc5d 100644
--- a/dev-lang/haxe/haxe-4.3.4.ebuild
+++ b/dev-lang/haxe/haxe-4.3.4.ebuild
@@ -12,7 +12,7 @@ if [[ "${PV}" == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git"
else
- # Haxe-debian is a distribution variant then contains the required git modules.
+ # Haxe-debian is a distribution variant that contains the required git modules.
SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/haxe-debian-upstream-${PV}"
diff --git a/dev-lang/interprolog/Manifest b/dev-lang/interprolog/Manifest
index 14e3a8b87312..85eb5f9b9fe9 100644
--- a/dev-lang/interprolog/Manifest
+++ b/dev-lang/interprolog/Manifest
@@ -2,5 +2,5 @@ AUX interprolog-2.1.2-java1.4.patch 1341 BLAKE2B b1c02e38f990d8f693a274cb258b181
AUX interprolog-2.1.2-java17.patch 793 BLAKE2B d1f501918b153ce840887c4b697783a2a5ddd4fece70148c88d761d04891aa5710c3a33c5c14eb22b787ddedb52e852991bac80f3dd9fbe1a3764521d5336cba SHA512 26dc6ebaf903374da09af41b452a7a47af5fbf17d763d837603d5bdd628408b3d7adfddbad375a22f37ffddf66626336c3eac82c36acc0eb2942f07836291d0c
DIST interprolog212.zip 1066931 BLAKE2B ea2666ff756c30db35262137938c32ee98d8a145ce59ea3b8694328771b8925395f7643ecabf9e0c010515176fdbbedcd333a81003a09c0ae1d9c1a94215e095 SHA512 e3d8b216f7e76d5d95ad9d27a96720075575fd717c89ddf9403376a72e18d56fd68afa2b1e6e70da55b99cd84043a16695ff37a59ec3366115cd4c36ed1ff50c
EBUILD interprolog-2.1.2-r2.ebuild 1122 BLAKE2B 2a5eed55438be7d9942782f4382420077e3f3276c557ecd33c9fc8ab2a20aa73811c68c21c1a3c31209a686f2da7af5dfb2dea423aba1fdc44b2ec48cd3fded2 SHA512 8f722f7031d8eb994dfdfc05309e14ac0e9c2b0a6610bf48d19b9c1d2dab2d80ced5a3d5a19928f4afedc0ab4bddaee27f92b1741d24e293d4057e3254443021
-EBUILD interprolog-2.1.2-r3.ebuild 1125 BLAKE2B 6f80065e7e1983a9c13b90b1650216d712ef028f85a6a700f5772a207f6418d991f6f17e8f4cf077fc52abcb5bf492a1e379013aaa633fa004f6e4f43f57c4bd SHA512 5f49176b5dd9149fcf591196faaa5e3e02627dfe54dd91588ee6e86502a9bf6e2b829a981aa0c412d9e029aed3f16d597802b20b396b215989dc821203af6ac7
+EBUILD interprolog-2.1.2-r3.ebuild 1124 BLAKE2B f75b8661ba1268ac43ff1c1af928ed0d9cf459698a8292a1698ffe36cb1804b21e92baa91f7480904e69fe484c60e941f09bc05f8ba7baae292406d9d09a3015 SHA512 aac7e723499a9dab0a2de00503d277e5addad15af77ca6f7bb5b61d93225961683073ec8beac3369b5b5dfa9e816a4bf2e06457abafbf25e80d6e9098276a157
MISC metadata.xml 237 BLAKE2B d4347f2b84f6246e0bf64c19548b9bf8ad5094bf392fabb2b5add3bdb2af1e866aa34f67d4dad5fd6595daa79233456e962684b4d062bdc7be1f4ee1ef92d3ee SHA512 525172b6046cff15248158e173c764b9294cf0a8220914ef6b46ca4f15fdb79caca8089cb04ac0b1ca56e2496dc84d1f933b2d56e806007883cbc914a1a4eca5
diff --git a/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild b/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild
index f53ed5917e12..c2698caaa5e8 100644
--- a/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild
+++ b/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
BDEPEND="app-arch/unzip"
diff --git a/dev-lang/jint/Manifest b/dev-lang/jint/Manifest
index 276de5ea5ba3..30827d9013e7 100644
--- a/dev-lang/jint/Manifest
+++ b/dev-lang/jint/Manifest
@@ -240,5 +240,5 @@ DIST zio.0.17.0.nupkg 335432 BLAKE2B 286e7a38be2ca5803db0af388eb445ed2ab54d4c4f3
DIST zstring.2.4.4.nupkg 136907 BLAKE2B 651ce26395f16eaeff89faa54156e19dc6110821f1e303b8850e8c66fd7b1cd88843959f82f4a12c3b50a39f2b8b6aa264dc5036c74f82f8411a02ed5cca603c SHA512 6ce8bcdab38bc33aee80f3924fc8b34e83f761b835802d9aeb53ddf23f6299115c9f8c7e28212e40b16439bbb975485c97f84005f44708f00b55a3e0afe83418
DIST zstring.2.5.1.nupkg 308844 BLAKE2B 9f7c504edffcd29cbe8b0e9146d2f63d6c1974a96de7fe4b929011bde99b1d02cb97c4c55a9a84fe7c560146994b792eb3eed5883cb046928522c1cc05664707 SHA512 3e2a6a5ef52291936053ee5ecb4ed009ce6783b44f2ee0eb5ba13a15d404c112658576242a77503f58ae95b95903fa5e396731f3c1463163fe446889376538c8
EBUILD jint-3.0.0_beta2051.ebuild 8376 BLAKE2B 8f7b997d47936badecee1324d58b7f0d288467eb5aab8080ea3514e373d1b3f5def71b8691ae9860bfec60ec26bec60da2cb0d0bfea283b8de34a31fe3060c76 SHA512 c72ff85942a695391dfcc5bf50feb7b5b4d885cf8cf9e92d90e7b71a83a93a87808373a60c0714cc81fb362707d4f03b2c52d9d01185a9b80b07769d30ac5e6d
-EBUILD jint-3.1.2.ebuild 4873 BLAKE2B cbd5b9919128039f4b47f784e131ef66c0e666b3cab1b448f2b440bcfcc53a8ad2b8fe5da5f63ad3b1a4100f588e1acca389cced2d451d010b2ec78f429f0989 SHA512 d0458b7108dc35a012942018f4986f814420db28b00be270f2f313952882d5074afbd7cfe94ddc1a3bd015cb6eb0dc6e729647cbdf19bbc623289f713db82808
+EBUILD jint-3.1.2.ebuild 5049 BLAKE2B 870fc4e84b375f00001d41f13848c700022e3e705f003752785f0cecd4a580980c04c075075a78253ad66fee945eb62abaf3d68ac89c68a90f99ab4cfb1c8f3e SHA512 1a04976a55ce497e421cad421b8c644f783c34bd7a9b6467576634e3a5213cb74ddf953ce3936371c7b3b98e24086cb3af9e640ec66682f0c6d085a446c6d1e3
MISC metadata.xml 594 BLAKE2B fdf520219d0c6a8f2b2c497f17f3cd09bf56135d4338bed3e154b4661d54cbe793127f260a4d440e495603544bfc3c39ad54fb65996360eb512b791e4a90014f SHA512 0edf6ed324f9a9efc811bd3992ef5d6beebcc32ea4e9c320e15c60321dd177db39bcca60f372ebf165677534cc010f14616fab0c6c13cd07818cc72b0e88525f
diff --git a/dev-lang/jint/jint-3.1.2.ebuild b/dev-lang/jint/jint-3.1.2.ebuild
index 50ce529b01fc..c48e169e3f5e 100644
--- a/dev-lang/jint/jint-3.1.2.ebuild
+++ b/dev-lang/jint/jint-3.1.2.ebuild
@@ -143,7 +143,7 @@ else
SRC_URI="https://github.com/sebastienros/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
@@ -164,6 +164,13 @@ pkg_setup() {
dotnet-pkg_pkg_setup
}
+src_prepare() {
+ dotnet-pkg_src_prepare
+
+ # Those files do not exist on musl. See bug https://bugs.gentoo.org/935450
+ rm Jint.Tests.PublicInterface/TimeSystemTests.cs || die
+}
+
src_install() {
dotnet-pkg-base_install
dotnet-pkg-base_dolauncher "/usr/share/${P}/Jint.Repl" "${PN}"
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index 84573115a434..41da15d2d217 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -3,5 +3,5 @@ DIST luajit-2.1.0_beta3_p20220613.tar.gz 1074088 BLAKE2B dbcfd4efcffb9b659a85af7
DIST luajit-2.1.1716656478.tar.gz 1081717 BLAKE2B 42807910aa81e705ff39c382e98e479d46d31453fd6fc1857220c7d4cb66d0801e2ffd813ea3c55ab2bcde8e64275d0fec2044514d7b0ef5287714ec8061bf7a SHA512 6b00d37a33f0bafbd953569ef035546a97237a53cfb718d8aecca7e9c7afe5e4706e4a53e40b9afb8720adc8eee044d8d75b8ea6cdc50d2c3f8461d79bb73b26
EBUILD luajit-2.1.0_beta3_p20220127-r2.ebuild 1897 BLAKE2B e36a17eef5bc699c2dee1a73fbd7b3bd9c9a8beab48d6ad35a1fc9b6c05ac251726adeff6bb7914cdae8449056f7c23700885bcd8b8ae3f3a80635957ae86d39 SHA512 2b5d6ea075711e38789774c84a5989be2554a0b1ef0423a92368e24b1bd904731ed097a4be609e5912f5b67432b0f5baf5935e625e0a754863e6aac0c4a00aa1
EBUILD luajit-2.1.0_beta3_p20220613.ebuild 2532 BLAKE2B 63ad1f6706340f3ddffd488eaf7250d8933a7ed7e27196e1d8081d32eb123ab4fbebfbe357a3737918660709b775b4e0c5511986cb0e02e06d78edabb20f3dd2 SHA512 43658155a3f05a211c840d2db034c331b445578295dd583158e60b88b3aba317ee23055de65bfb4011e1e62596330b3870aa52dacf4a317b7eb25bcc76bdbf9b
-EBUILD luajit-2.1.1716656478.ebuild 1770 BLAKE2B 4489731203481342f21a2daa19b60d6faf38e7e271b6bff699800148a656b3160fa3fb7d1eb8d00a3100c9f9ad130e815498b3c9ca65de0c21403695f6b28c3f SHA512 ce2e71c95243fce3138f8779839382718ec42fe6fe931fd952f3539aed11a3550d708070b143b0c09a0ec15a25ae6fed93546f75e2a73c137caa31e3dbcb66b5
-MISC metadata.xml 503 BLAKE2B 022372116d4d149a11fc0f3b0760f0fad126f435e075f3b514ab03657b0ff9eeb5c56148f9d1d1d114d34dee35d2c62f2fdad664d050976125d3681757fec3b3 SHA512 a6ede683b1a983e1bd8d2a1972339c8650e3ac87083961bc2f4550314231fb630e12a1a9966178b1486f73734da759ea49970618f72b97bcb7a4fe8c41e77729
+EBUILD luajit-2.1.1716656478.ebuild 1765 BLAKE2B 1e2960f12069fce84b46b1f06cc1129bd35c13e25ca3d9de5e1ccaed92ee0e827574c8f96faee5c32da1a2e3cd7335b94417ddcf0f299b4f1223b25bc98d3465 SHA512 3ed141f3339ba892fb2598b3c8d3f86760dfb5ea1c6efbf996cad9cb202faa9f5613426c5bf4dcfe741cf3b13f63bbf76bf651333eab414f4852a0622f629f64
+MISC metadata.xml 388 BLAKE2B 5ad0235b40c728e82abd26949ac5c1ac1a8b68a4ea12365c5c443852bc42b9268e6233eaec638511bc34f45c2b2624a93ade9e23569a686d1613a099ee31bbcb SHA512 079a19dcea25726ef9ac61c8ac4f564fe67dc5760202ec6f7f57fba32b6a96901a52637b4f87fb75825bed908b07fc91f6f0bce790c9642392dc017ddfed435d
diff --git a/dev-lang/luajit/luajit-2.1.1716656478.ebuild b/dev-lang/luajit/luajit-2.1.1716656478.ebuild
index 9d52ad0cb632..e017c77d2323 100644
--- a/dev-lang/luajit/luajit-2.1.1716656478.ebuild
+++ b/dev-lang/luajit/luajit-2.1.1716656478.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/LuaJIT-${GIT_COMMIT}"
LICENSE="MIT"
# this should probably be pkgmoved to 2.0 for sake of consistency.
SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 -hppa ~mips ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 -hppa ~mips ppc -riscv -sparc x86 ~amd64-linux ~x86-linux"
IUSE="lua52compat static-libs"
_emake() {
diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml
index 6a8f2a1c704f..edeaec8f16f2 100644
--- a/dev-lang/luajit/metadata.xml
+++ b/dev-lang/luajit/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
<use>
<flag name="lua52compat">
Enable some upwards-compatible features
diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest
index 549295a0a50a..cf9415f7ecc4 100644
--- a/dev-lang/luau/Manifest
+++ b/dev-lang/luau/Manifest
@@ -1,7 +1,9 @@
DIST luau-0.618.tar.gz 1672989 BLAKE2B ecd166a9562aa103d27e29154687548bce04e45c9810b4aa264fe6eb38e3c2077a9cd4c61f138af62c605580c477b382fd2612616a3638a5a708c3d315011a12 SHA512 9fb6aa39ff2ad92a90afefb77ede472a2fb8a99417a669a1e19774a5550ca79709c034f353b459780f07f406dcac1b83639fb4fcd31215d811df491851fc1a6c
DIST luau-0.630.tar.gz 1736333 BLAKE2B 205d5575b97007108ebf197ff1bfd9d94c3c3f116ba2c1f8068ef9762b30e211973d5da458f261223647fc725bad926fa9406070d95220d390b9e5ecaabf75af SHA512 9f8290a11abe5e9c91eaf5c9c71b940d4ca2bd6a730a2fc6e9cb830e9f7bf6d87a29cb8e71268ed1fe5af0e01738e7e15fbe2a14d81c32e7c76961d146c1128c
DIST luau-0.632.tar.gz 1740751 BLAKE2B e6a6da0dd8b599d0c77d01976e58239234deb9ff577d20cc77017e90731b254d5b516032c7927d0dc6d52047259e0715fdbe2c4e888cca775aa0303da9d52e87 SHA512 1fa204965ceea94a96dd879431d10ab33de16ab2d8ebb2d73d866d213246acb2ae9aad0126511c7f4b3a965c115bf3e68d7069b021718d784170acadb20cf645
+DIST luau-0.634.tar.gz 1741026 BLAKE2B ec61c08b8165aca085f9743deee620c2dfb289e59a2c7aa9bb5dd441eaab8a6bfd38eb9295192ace96558e2f209e47752eb7405e9a5c7c645d21694569a0ce7c SHA512 a58e1c1a0eb56d0bd9d656e0420735fa30b58283c4c9f704404db5a51b66361a3ffa98600e6b6d68a6b9e30ccf0879ad43935f9d73295c06ab947dcd2c4d2ac5
EBUILD luau-0.618.ebuild 776 BLAKE2B 6ddab7faf06aab3a3d4f04b8945074e342458df741b3e37e6555b9ebdc019db26541bb75080028292bc233520b58f23d50a872e31e0c7f5a3f3ed0ab092dab9b SHA512 147029f8a5c01e58b390efc9c961cb323ea089b39907f15b6830999b0fc1c90adaddf7a4da86aa6fc8caa51719fda2c034504485b50bd95bb793870c9694651c
EBUILD luau-0.630.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99
EBUILD luau-0.632.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99
+EBUILD luau-0.634.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99
MISC metadata.xml 1077 BLAKE2B 922b79785db23ac7301e2e7a0c66834ae4ccb42466c87b92bd4d9db821830c307fac2192d0010ef224ef64fd83e80a62d47b29f9118432f70ed2340ec9bf49c5 SHA512 7d334c02c73ddc2628a5bebf598d79e9216eb5e4195905ba3a38453261cb25f240b41903042a0fdaad7453ed3cfd04ed2ba382746f38c25036095b019ea4b286
diff --git a/dev-lang/luau/luau-0.634.ebuild b/dev-lang/luau/luau-0.634.ebuild
new file mode 100644
index 000000000000..ff2804b115f7
--- /dev/null
+++ b/dev-lang/luau/luau-0.634.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Gradually typed embeddable scripting language derived from Lua"
+HOMEPAGE="https://luau-lang.org/
+ https://github.com/luau-lang/luau/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/luau-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DOCS=( CONTRIBUTING.md README.md SECURITY.md )
+
+src_test() {
+ "${BUILD_DIR}/Luau.UnitTest" || die
+ "${BUILD_DIR}/Luau.Conformance" || die
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce}
+
+ einstalldocs
+}
diff --git a/dev-lang/mond/Manifest b/dev-lang/mond/Manifest
index fba4afac4e52..227baa77377f 100644
--- a/dev-lang/mond/Manifest
+++ b/dev-lang/mond/Manifest
@@ -55,5 +55,5 @@ DIST system.text.encodings.web.8.0.0.nupkg 374440 BLAKE2B 97211e710df3dcd17932f1
DIST system.text.json.8.0.0.nupkg 1983421 BLAKE2B 053f3200d5920a5a31b4e4e6d13f0a81490a518ed68363a1a04c1edbbc125f90b9fa8f469614127bde714df352052a0dc56d70c9595277686799d33a16df351b SHA512 59243516d9de8ce90be60d6c5d271ff4c5fc6b2a4b723443022a72bd1b8f98adac3d17439df5543fedead81a8e3b018fd9a89c40a2459d3cb2d1dd935d17b426
DIST system.threading.tasks.extensions.4.5.4.nupkg 89582 BLAKE2B 728fc5794745b706a7e3a7d05186f34e2a8c1837cafdc7fc9a1bd8fc6fd42025448cbdfa53415a05d872aa08db1deb31d104054630c9ac7ecd29a2ddd973fd5c SHA512 68052086e77d3c7198737a3da163d67740b7c44f93250c39659b3bf21b6547a9abf64cbf40481f5c78f24361af3aaf47d52d188b371554a0928a7f7665c1fc14
EBUILD mond-0.10.0.ebuild 2982 BLAKE2B ae1c4a8999fb5ae0e1b96d4b0c34589f781891909bee201c1bdfd37ffdfc3dd1c01ccd0d87318f66f5e9d35dcee56dd64d7e0e5f8445de7743a161d20f8d9255 SHA512 9a505ac1253e8ab61d9f8e28b7566210278639c3e56f4e95c2ee3a8952ee29f733cd38445017f3cdd745fdc5a6becf81b7877797fbc5dae145d355893eeabe45
-EBUILD mond-0.10.2.ebuild 2982 BLAKE2B be476658b2800b1acd77e88ae7d5448486e7e0da5ede969a5ecd0eef397d849da49cc7c678348200adc4b80a087096243b0c3e1eabfeb2ba6d86f83af75d4860 SHA512 1868e0d954292be5235921d69efdbbd2985a9b70f622c5cdc35f72b2617ec5168a4fcfe6338c631a2fee929ead596cf058ebdc71fff9f96649cd59b2353bdf1f
+EBUILD mond-0.10.2.ebuild 2981 BLAKE2B 7ed3fafba2b8df8930fff47373247d2416369d47fe29ef7e2a507b7312638b70b2394959af03a634162cfe1ea225b9c46eeac62d8c99723d6400e9110beb18d1 SHA512 626b23630e5643d71eaaa680ef25d55a457ca27780d07088bf7c77b28b524be4556a37e03907143b086b018742b4ddd09112e1787c70fb5e7502d51da6c1e85c
MISC metadata.xml 407 BLAKE2B c23e1813bba6b1e7beb547a075e0b283941571270493902195fd370854963ad07e1a6e30673dc7733b542d02839d84aa6f554d806aa0e8021d44570b655ca1fd SHA512 ff0fa87463543a559675a8397a7c1dceea2b59faa76435569cb996ad43ad123d2c5272642a73a35f4c7a132b8a3cb6bff6bc5a1114bf62887ef2f0461967eb5f
diff --git a/dev-lang/mond/mond-0.10.2.ebuild b/dev-lang/mond/mond-0.10.2.ebuild
index 339abf525b27..348ae9379c44 100644
--- a/dev-lang/mond/mond-0.10.2.ebuild
+++ b/dev-lang/mond/mond-0.10.2.ebuild
@@ -76,7 +76,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest
index b685fae617f7..958966c75514 100644
--- a/dev-lang/mujs/Manifest
+++ b/dev-lang/mujs/Manifest
@@ -1,6 +1,6 @@
AUX mujs-1.3.3-flags.patch 284 BLAKE2B 8e31eea006e6551a7155607cc43dd60844a686fe41a9d4c5e9d660bb984b6e255b3d515ae691a38eee8930a5f2102a8392a0876519780ce728af9305d99358ea SHA512 3c8e97f6966a7a2d3e2f72ac1c4235c75cf6f419e8dd2a9a48639f74d005177f022c8f90645159090ec423bd441812abdb351c3599b4f280f4f88c39b4ce9946
-DIST mujs-1.3.3.tar.gz 128097 BLAKE2B 9b880dc462af8945e647994f9a42cf121461c6b295538db6cef818919a7c2418ebe1df7d36f69214279ad2414d0ce7149a541a3533e766274624b9c44b733db9 SHA512 74288484185473a813c55e08dcc2fefba46f87651d3a1fcea6ac843bb09a4150e13e0d46b348a34380a0defdeaa388cc93b6f7f569a7886091a34b4951b9461b
DIST mujs-1.3.4.tar.gz 128202 BLAKE2B d07942cce02dc71937ad0207887bcefce67916e19d01f134d68d3673bcc0649eb616a1fadc5a21ddbf372629f12e7c04be4652a31ba604359607e9e7233a8923 SHA512 0806684be5e6dc3cb7305355ab7c7babbfd3fd5bbd22515659a88a82c25f3f4b6af14f7ca07bacd154823b19110b749bba68311c9f317dd684e0fd5628ece573
-EBUILD mujs-1.3.3.ebuild 1639 BLAKE2B 1c43cb07fb2d295a851942d991fa30276e5eac3801be2b54a2ea0c5ad43134f8b14584273fc0f2c628ba435bf88669a88795a7658f3e4e854e41863272a2baf2 SHA512 5e41a6a072aa80c363df1f443444d13bca98d488f66f3fd5e1a8a0ba564956f2b1f5eb8c9b12806a5c906d1571eaeb4a0550026eb09615ede4c30435299d278d
+DIST mujs-1.3.5.tar.gz 128938 BLAKE2B f262a99abe572548b456fabf5820c810885b86e1034d37c3375e9f4f44ddbd536acddf3cc56f086460fc0128ebf339b9e4f810069569243b86fc4af94f03ccb6 SHA512 9ebe0d2926d2621110cb67e701c1cdd87883703d58c49dc08e366b20c93dbdbc2f56e59b710999373bd8aaaee75b2d35adb1dad6929795684a8fff6483d9df25
EBUILD mujs-1.3.4.ebuild 1654 BLAKE2B f532c84749392a9cacc77a8123e52fd8b85a60a27a16f6abee1a022f1eaf6ab5d0c301110ec74e53b2e8617cab58e9d5af2617ce11a6c39a0da71ff833f31590 SHA512 c3d31b5a98e80fe2c00bd81dc7bc013df39b999b6901e0a6f7e5f2fb2a88d770f9664a99f1e671fa5caa027bbbc022385b41abc8f3c32ee9474670001162596c
+EBUILD mujs-1.3.5.ebuild 1661 BLAKE2B 7c20b63f99f2b11277efae40becc10292c51b5be6470bbdf443eed02fd6dad2bc5645b4a0c4def7c7d627147f63edd9509e7254c2aaddd69f07acb7239167461 SHA512 d82490ea92945257ade88b7bad84068cc902eb9956343d38f7118b598da293a558095ae2d448e2bd5d0ba636f744274f7235a1bcf48fe756406ac0cca6d4f1c0
MISC metadata.xml 713 BLAKE2B 854afbc1219508e2b29aad5f4b83d0a869f1a70c9380fd624ce844be2d4ac3001ad0fe406b8a96c244d2d4837d8921ffd68bb424cf997d804fb426da0d2888b9 SHA512 36d958686ead6fa0cb13dfd8048f036ed833146fe786da0f2ce4f829343925472846d4164c3bbdd1ad4a9e04e8be5fd9b68e44cfef5139194f1aa7359250ed21
diff --git a/dev-lang/mujs/mujs-1.3.3.ebuild b/dev-lang/mujs/mujs-1.3.5.ebuild
index 3f02a773e3e3..d60978857d66 100644
--- a/dev-lang/mujs/mujs-1.3.3.ebuild
+++ b/dev-lang/mujs/mujs-1.3.5.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,13 +12,13 @@ SRC_URI="https://mujs.com/downloads/${P}.tar.gz"
LICENSE="ISC"
# The subslot matches the SONAME
SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
RDEPEND="sys-libs/readline:="
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${P}-flags.patch
+ "${FILESDIR}"/${PN}-1.3.3-flags.patch
)
src_prepare() {
@@ -55,7 +55,9 @@ src_install() {
prefix=/usr \
install-shared
- mv -v "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname) "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname ${PV}) || die "Failed adding version suffix to mujs shared library"
+ mv -v "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname) \
+ "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname ${PV}) \
+ || die "Failed adding version suffix to mujs shared library"
dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname)
dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname ${PV:0:1})
}
diff --git a/dev-lang/neko/Manifest b/dev-lang/neko/Manifest
index 9f43df5ccb06..6baec5e5e8e4 100644
--- a/dev-lang/neko/Manifest
+++ b/dev-lang/neko/Manifest
@@ -1,3 +1,5 @@
DIST neko-2.3.0.tar.gz 514044 BLAKE2B 1214fd15e0bff9df3f0bb3f4c856134772f42da5740adc260051bea6e0203e2e37db852b97114ddeef58d8320313dd01875918dee1a001833a3b9ca7d7c3c512 SHA512 fec51bed0c5500561635656c7456f3da0599aa6a47a25efe739b3c51f9cdded4a8824ed14ab67bab0905d9082cf6f06b3a76c868cb1b61d440957bcd9fd3f3d2
+DIST neko-2.4.0.tar.gz 530457 BLAKE2B 0d5bcde8f755688b3e14b316ef2691a7755d2ed330c24bacc1ce2b7d1f82c20b1756c115742893d259d08cb18fee36cd596eb88542590aaebb021f8f1812367d SHA512 bd759f712ffcda6ad0f03542060ad9e7fbba06c4c54c7007b7a6692dfc2d87bce3d8f78d6ef64752dd0e4d7e9d352c7543f1c5a1c49f7b7073efb2043ba7f0ab
EBUILD neko-2.3.0-r2.ebuild 1261 BLAKE2B 3e11c7f4a0c17b70ce3f8a41384244c7eeffa116fb896b5fb398619714114c13504b000f6815de866868a5f83989cd2b7bd696e082b3bdcb0ff46eae6ee95379 SHA512 98d5eedb3ab42a0d33ddce09f2945bc7e689cfbb24329e8742f358180a021585cdc362b7b31b320add1ea3655ec3187bbbedc1d7692034b5492f0967f7e7d466
+EBUILD neko-2.4.0.ebuild 1261 BLAKE2B 3e11c7f4a0c17b70ce3f8a41384244c7eeffa116fb896b5fb398619714114c13504b000f6815de866868a5f83989cd2b7bd696e082b3bdcb0ff46eae6ee95379 SHA512 98d5eedb3ab42a0d33ddce09f2945bc7e689cfbb24329e8742f358180a021585cdc362b7b31b320add1ea3655ec3187bbbedc1d7692034b5492f0967f7e7d466
MISC metadata.xml 955 BLAKE2B 6121b716f10156ee7987969332bc78496a00facb9bf70832b147cdd3cfb8152c2b06c4482361d56cee8e9c8b5893fb126c701333eb789bd27add26fa0a9c9cbd SHA512 20a5591a47ce090645e1fd194ef85b2546463dd0855ba0d23f9fb3278fafabb8cb05ae1786d024987945d18b15ebff50c12a1e4a9919190abf1af14ad906e1e3
diff --git a/dev-lang/neko/neko-2.4.0.ebuild b/dev-lang/neko/neko-2.4.0.ebuild
new file mode 100644
index 000000000000..f51030b4e47b
--- /dev/null
+++ b/dev-lang/neko/neko-2.4.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake
+
+DESCRIPTION="Neko is a high-level dynamically typed programming language"
+HOMEPAGE="https://nekovm.org/
+ https://github.com/HaxeFoundation/neko/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/HaxeFoundation/${PN}.git"
+else
+ # 2.3.0 -> 2-3-0
+ MY_PV="${PV//./-}"
+ SRC_URI="https://github.com/HaxeFoundation/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="apache mysql sqlite ssl"
+
+RDEPEND="
+ dev-libs/boehm-gc:=[threads]
+ dev-libs/libpcre:=
+ sys-libs/zlib:=
+ apache? ( www-servers/apache:2= )
+ mysql? ( dev-db/mysql:= )
+ sqlite? ( dev-db/sqlite:3= )
+ ssl? (
+ dev-libs/openssl:=
+ net-libs/mbedtls:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # -Werror=strict-aliasing warnings, bug #855641
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DRUN_LDCONFIG=OFF
+ -DWITH_NEKOML=ON
+ -DWITH_REGEXP=ON
+ -DWITH_UI=OFF
+ -DWITH_APACHE=$(usex apache)
+ -DWITH_MYSQL=$(usex mysql)
+ -DWITH_SQLITE=$(usex sqlite)
+ -DWITH_SSL=$(usex ssl)
+ )
+ cmake_src_configure
+}
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 77b72e7d7cd5..8bccd8fd2d11 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -2,7 +2,10 @@ AUX 20php5-envd 208 BLAKE2B 7d876903c7f58ab148e1d6bb2b0d86cb9f5ecd241bc00e92138d
AUX fix-musl-llvm.patch 1195 BLAKE2B d2f3dffcae9cf82da44d0424bda6a15430a48a8def71373aa038b5f19ecb6e19e2efc4243e7c4fb1e376eccff4740476b66b41db4ae3fae38dc1d6e08c0c8b8f SHA512 a22156eafa738326657ca5cb4bad01658bcbc9409d91f0f8fc2809931dab3945064a0f031a4aa922a484768705c0b72e87d1ba634f13ae4bda613a01826aa0fb
AUX php-8.1.27-gcc14-libxml.patch 1982 BLAKE2B dcb329e5bae787aa0d47f70e7d60f5a187568b10f2e3a1dd33b5fc422df7b5774e9f4093b728d3621bcdfa2d3d96da98272e80be553cce5ea61151b362347c0a SHA512 f68cb97cc3b0b8da5eb62d7217fcbe1652579771ed19aba0b52740cb056c85710a1b1bff3286dbefa72bc22885dd4b4df8c5f5b1f089c977106251d9daa2065d
AUX php-8.1.27-implicit-decls.patch 2163 BLAKE2B 0164d973ae9b6851014bcccd0deb92add72fa92d9a7c830695841768fb1998c2b49d649503ca324d9735f893974884438b922deab5a4c6c46275057a139ee3ea SHA512 f02d9668ceea39be7b4a6a9c3026d3d0e5230e74aadab09a454a2447a93ea1a4098982d714353c64ec1beb69fe387e9b3575c60fc14e4749298ea674f81401c2
+AUX php-8.2.20-implicit-printf.patch 2226 BLAKE2B 859cd38c6687b517a372973a8d282494f43bc5739ffa00c829de4a43ad72a752195657ededc7d4705699c0bd1ab249e588a74f6be85e1937c55de00d2844213d SHA512 95e4f535066b72e1497673dd633aa33beaf49c5a967ca2ad04e837ddea546f935717b3095d61cef8310138d77a3d18372139af3f979030b25b9ec2dc38318fb0
AUX php-8.2.8-openssl-tests.patch 790 BLAKE2B fcfa6f361470f2baa65d2bbbde7c9629841546a560aa6f88d85b68727004e24949f9516340eba0339e575dcf06077d08540a7a6d58a0cda42d5cd26bf48d9e46 SHA512 d29b5334abee8bcbef62c88c01c9eaf887f25901763db75e754f6690e24138c9e45783943d32402f693bd7e4564d737521a8b0b8034d5401bac73ff30f453050
+AUX php-8.3.9-gd-cachevars.patch 2287 BLAKE2B 7e9fe2192937dfcd000bdb0a8f0236582e95e97c6f7c1e5973a9bc48e8d0d1ae71c2fb4be3c507dae977d0fae96503b3bb02825a334581aca70d97cdd0545627 SHA512 3ec68bff7fd365307f41a04835c80f3acdd053924fde3e09e301349079db161318f68ac226ae1d99eaf14ee7527abe5226a0e3a7b601e0a804019b2ce8c099d8
+AUX php-8.3.9-optional-png-testfixen.patch 39893 BLAKE2B 8ae371db716ee433570024cdfa41bd93c022d615ac582eff7596e8498eda37c4552e85b74bdabda3180c0691a1701d78d9ce97df6ada0ef7d86ed20bd42a65af SHA512 51b903fca04a98d41fd30f4e183efe71d21ab839d817f9482fad029ed37d25ed7af4cff3f57a298d9f0539dcd5a10dceb4ce7b77b11d575417cd91c34388d2ab
AUX php-capstone-optional.patch 2497 BLAKE2B f23236130be88d28d933d5482f1925c4e32e09c5022544ac2dec62465e9296baabe64f57fedd7ccb9f4499d354bd466d10cfb66596e8be029be6fa4f82dbc1a1 SHA512 a9000d789a7bc54d4b6cf8ed287dcfd71958dfc85c6417737dcd66b9461be5b1aa2568a19f5a9cd29927fe9d955ac24d04e2f64f1c4018110a8f81a6eb4813c5
AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd
AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8
@@ -13,12 +16,12 @@ DIST php-8.1.29.tar.xz 11826292 BLAKE2B 471f85504531c61e534c857a854de2ce9935b263
DIST php-8.2.15.tar.xz 12075384 BLAKE2B cef15868968538e232093bd66d862a88f0960325f2274eaf53a3d114d01787c58844aa3bce8bc09a723acd95801e1935a60e79fc189317e7f1ba19196dbfcdc4 SHA512 56c94bcafe07cf4bf5eb5fc6c67fcf16654c44a262ffb18188fc3ffac5e9bb11d39093bfb26c26bc8d2dec7e530d1a175180909262c9b5c30130cf5a4a293166
DIST php-8.2.18.tar.xz 12089400 BLAKE2B 82a4ef0aee7fa66018cb528e6fc2da40f67be2a75449ed85c54881e6725cfa9fe82d6d5655c12d2e92f3fd685479367b7c038df5af0d7a0a122d627c78c50514 SHA512 8bdd6e5aa19dac80745d258a43f7330a3096d47dc66cbef0054b8f9eb9ace5e87d841a4001185a783241a416975753c922425e977f50b2716ce643b6a7bf351f
DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe327669c007f2e2a665ae14f5a045f6ad8a0a972f32618f88ea1ff3636c2692504478b5b094b48404d6c4a214f863b SHA512 c659ed4809b6507aa428b483c85c7322815ac9d7d8e4bfe575513a5e69c5a680b8d089fd98a19f83d3a00df3de61468809f21408455913aa24d519776e44abc5
-DIST php-8.3.8.tar.xz 12480896 BLAKE2B 477129fcd766f2235e3d776c923ba51b76539f074245e8041a861db09ebbc648658b2756e6a23051a75a512fdc6e5c129633d1471213dec6f7e24d4da0d317e8 SHA512 1a2840f0b5dcbea6dfcc3894cb9e38d103bf4110c1b956438199deee0b60e5ae63cce34be25ca6f03ac8d26581a852657f8800f92fefe38345e20443b646bb3e
+DIST php-8.3.9.tar.xz 12470616 BLAKE2B 44cc360c91b121f6fe1c768134d2e5e355fe1ab23ebefb98e60e878755e79b0bd31fa46a435eb5c3dabf034fb7b4bd785db014dc63f40331a6b168a14d849571 SHA512 f6291b71cf2c66f9effc2a8a7b0365364481cd5532551161194376893074f1f20dc7e9dbd628727e3b07460ac63b6d38bf4871bf4976e2b3b290f230b0111360
EBUILD php-8.1.26-r1.ebuild 21992 BLAKE2B 6a2d19aefc689f44603bf95a14b21e345ae739a5dd66a620a065f36e4b72233753a8144f41434211de28ee49ac0e3c0dda3dd712749215a721007126104cddfc SHA512 928b5d071618a69d398c15223c8885924c5dbe6581bacc93f041a27c6caf4384ae43e0aeeb6f2bf31582b5d1838a6656a8e6cb24d18ddddf44e9df1e18694c93
EBUILD php-8.1.28.ebuild 22549 BLAKE2B d09d8749f4daa08f6aae974f79a0726dca5890058d7678e378da48c330a69c9e71b9f8468ae6924d2369aa56db164fb88c98928729996792c6dc9350232a5937 SHA512 0928681d7a843f97c4084fd6050407eadb3253eb3b33bfb76725feaad9ef2e3b6763a66cdd174e689cf8b4606ef37f29628e073d990b8526b6ae6cd19fd58dde
-EBUILD php-8.1.29.ebuild 22549 BLAKE2B d09d8749f4daa08f6aae974f79a0726dca5890058d7678e378da48c330a69c9e71b9f8468ae6924d2369aa56db164fb88c98928729996792c6dc9350232a5937 SHA512 0928681d7a843f97c4084fd6050407eadb3253eb3b33bfb76725feaad9ef2e3b6763a66cdd174e689cf8b4606ef37f29628e073d990b8526b6ae6cd19fd58dde
+EBUILD php-8.1.29.ebuild 22547 BLAKE2B b087d99d25da6da7a6cea1619782fc66f926b8f06ae2fca802b9a4ab63699578bccfd46f50bfd9a916df68f2028b6267694a46c423c580ed836de9f1a054f7a7 SHA512 e46a9f3a296c8052a0ef7db8de88ee69837065cfb91c51f2639ebc2b49260d4894b83d1f27dbcb259f82d6e9daa93d86ec06656af49868ff9ffeb0b9a0840384
EBUILD php-8.2.15.ebuild 25370 BLAKE2B 48ace575c7542824739c35e836e7213008d355214c0ad77e358e4e70887aa76a990f0bc4a583097a1cd16c6b37f7da6ca6fe20b419d7ca628838be0f89557d80 SHA512 266d3c538548bd124a828eaa4ab2b9f4daaf954005f589f83fc4b66bb1a6b7a980c2fbf056d8a86fc5c956ea0231fd76deca57861661274c3693b561397c1e1d
EBUILD php-8.2.18.ebuild 25786 BLAKE2B b6c8acb63663a8cc0e4adc7cc79b285e95add4308a5686523d3808b5ac21ed075091cddf17854733fa429ec8ff0210a580352d727358fd281acb7238d18fad44 SHA512 0480657861f695fd3ab011720c7dfdbd59c9fcb297dcf1e72c10877235e2e131c12bfa184268a6602834b9a5502befebd569d4184ba7a3f35166c89e2959fdfd
-EBUILD php-8.2.20.ebuild 25955 BLAKE2B 14d8e7527d60b78678b8be2152cf6000d27c7ee0915d5c9e7917655a485558f2c34dacba07b0c8ed891382a1b66fb9bf46e850eb7b1395af2c19599ef3f0adf7 SHA512 79f672cca6ef2a70916fb9881e54923ec91b3dd3cba1a425dc462ce509cf6d22a84c68d7c0f6fa69f15a651c1f9591b6f2270aee4c012fd09f87814b21e3e3d8
-EBUILD php-8.3.8.ebuild 23098 BLAKE2B 5408dbb7612ba5c4555b0c646b616dd93897d126121053b136cbcb39cc3a3faba7144a7dc9ccafa1156b840a70b3f6b21ac680669af424bf08a31e879fd7f879 SHA512 b069bc436c08e80a023b92b918304083c75802d85bec97ec4655520c649df553ff1d6e566c8699a01fd955bfc66b1aea544101e7e47921992283007523029878
-MISC metadata.xml 4134 BLAKE2B 62c1c5052c50db537586edc1db639fa94e24609ea027208177566ae7f7f9199103bb3ef5b636766508027e8e7aacb8451d25b57e981b582bc42299e199696a68 SHA512 b059c7552c18dfcabe82170c1ae5978421284f3ea9ea9505359c1441ccc76b668a5555919251c6ca55f1f450da9363a8ac7b30c393a8506921f790e0f4197dbb
+EBUILD php-8.2.20.ebuild 26473 BLAKE2B ac859f939dc6d05ec1f0892f99fbf531431ce4cb667c20dbb4d83b194e70f341ed44483c93d985076a8c548ef86bee3665411fa82ba4e5089906da95b83d0515 SHA512 e257b6ec490df75935c4c3fd0cda4b2e3f74a8104f317af2e4dc505f705db32afc9242edc9a19f747b3f20962ef803678e4f56ef1738596438541ebf85868876
+EBUILD php-8.3.9.ebuild 24491 BLAKE2B c15272414cfb9a9ac441881f2d9b213fdabcaf8191086338e39bbc8d0f16bc04e055b28ad737872b5d01c83e0dfdaa72485f5eda1baa48b5a24284db0589b98c SHA512 edf6fab8192fd2ea7f4bb26a92270deaf7c64951e6f30dda6bf7d1df9a6acf71dc298099f943118f10ce590c05934406b23483513a005616b3b1b5116b4fc9c1
+MISC metadata.xml 4249 BLAKE2B 11f9270fbc0cae280ec3ec62c9e6acfc643f4c7952822537664e8bcdbdfed64805b0e83fcbfb83111123745fadf64b276b51e1e27c9b5eb38ef8ffc30965d12b SHA512 39c59d31de21a66ca55a4816bebd901c8f2b28b7d1340605845c535cc979bca4d8641280bf45782d5d3eb94820e054e7f52491a23a4d1cf692774e11becc55c1
diff --git a/dev-lang/php/files/php-8.2.20-implicit-printf.patch b/dev-lang/php/files/php-8.2.20-implicit-printf.patch
new file mode 100644
index 000000000000..6c0bdb57a35d
--- /dev/null
+++ b/dev-lang/php/files/php-8.2.20-implicit-printf.patch
@@ -0,0 +1,65 @@
+commit 88b30e08cc434ec82cae7881d360bd83fac733a2
+Author: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri Mar 3 12:28:37 2023 -0500
+
+ ext/iconv/config.m4: add missing stdio.h include.
+
+ The next generation of C compilers is going to enforce the C standard
+ more strictly:
+
+ https://wiki.gentoo.org/wiki/Modern_C_porting
+
+ One warning that will eventually become an error is
+ -Wimplicit-function-declaration. This is relatively easy to catch in
+ most code (it will fail to compile), but inside of autoconf tests it
+ can go unnoticed because many feature-test compilations fail by
+ design. For example,
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]],
+ [[iconv_ccs_init(NULL, NULL);]])]...
+
+ is designed to fail if iconv_ccs_init() is not in iconv.h. On the
+ other hand,
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <iconv.h>
+ int main() {
+ printf("%d", _libiconv_version);
+ return 0;
+ }
+
+ should pass if _libiconv_version is defined. If the user has
+ -Werror=implicit-function-declaration in his CFLAGS, however,
+ it will not:
+
+ $ export CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
+ $ ./configure
+ ...
+ checking if using GNU libiconv... no
+
+ This is because the stdio.h header that defines printf() is missing:
+
+ conftest.c:240:3: error: implicit declaration of function 'printf'
+ [-Werror=implicit-function-declaration]
+ 240 | printf("%d", _libiconv_version);
+ | ^~~~~~
+ conftest.c:239:1: note: include '<stdio.h>' or provide a declaration
+ of 'printf'
+
+ This commit adds the include, correcting the test with any compiler
+ that balks at implicit function definitions.
+
+ Closes GH-10751
+
+diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
+index 5d408de833..3cf400fe96 100644
+--- a/ext/iconv/config.m4
++++ b/ext/iconv/config.m4
+@@ -30,6 +30,7 @@ if test "$PHP_ICONV" != "no"; then
+ AC_MSG_CHECKING([if using GNU libiconv])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <iconv.h>
++#include <stdio.h>
+ int main(void) {
+ printf("%d", _libiconv_version);
+ return 0;
diff --git a/dev-lang/php/files/php-8.3.9-gd-cachevars.patch b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch
new file mode 100644
index 000000000000..cb6ae9f3479d
--- /dev/null
+++ b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch
@@ -0,0 +1,68 @@
+From b5e5a42d145be30be3856ff4be9af7978adec5c5 Mon Sep 17 00:00:00 2001
+From: Peter Kokot <peterkokot@gmail.com>
+Date: Sun, 2 Jun 2024 19:47:39 +0200
+Subject: [PATCH] Wrap gdImageCreateFrom* checks in AC_CACHE_CHECK
+
+This enables cross-compiling edge cases to manually override the checks
+with the php_cv_lib_gd_gdImageCreateFrom* cache variables.
+---
+ ext/gd/config.m4 | 39 ++++++++++++++++++++-------------------
+ 1 file changed, 20 insertions(+), 19 deletions(-)
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index d9c6d4f6ee0c2..5c1c7a867c2f8 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,14 +147,15 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
+-AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+- old_LIBS="${LIBS}"
+- LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+- old_CFLAGS="${CFLAGS}"
+- CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+- AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+- AC_LANG_PUSH([C])
+- AC_RUN_IFELSE([AC_LANG_SOURCE([
++AC_DEFUN([PHP_GD_CHECK_FORMAT],
++[AS_VAR_PUSHDEF([php_var], [php_cv_lib_gd_gdImageCreateFrom$1])
++old_LIBS="${LIBS}"
++LIBS="${LIBS} ${GD_SHARED_LIBADD}"
++old_CFLAGS="${CFLAGS}"
++CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
++AC_LANG_PUSH([C])
++AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var],
++ [AC_RUN_IFELSE([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -173,17 +174,17 @@ int main(int argc, char** argv) {
+ gdSetErrorMethod(exit1);
+ gdImagePtr p = gdImageCreateFrom$1(f);
+ return 0;
+-}])],[
+- AC_MSG_RESULT([yes])
+- AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+- ],[
+- AC_MSG_RESULT([no])
+- ],[
+- AC_MSG_RESULT([no])
+- ])
+- AC_LANG_POP([C])
+- CFLAGS="${old_CFLAGS}"
+- LIBS="${old_LIBS}"
++}])],
++ [AS_VAR_SET([php_var], [yes])],
++ [AS_VAR_SET([php_var], [no])],
++ [AS_VAR_SET([php_var], [no])])])
++AS_VAR_IF([php_var], [yes],
++ [AC_DEFINE_UNQUOTED([$2], [1],
++ [Define to 1 if GD library has 'gdImageCreateFrom$1'.])])
++AC_LANG_POP([C])
++CFLAGS="${old_CFLAGS}"
++LIBS="${old_LIBS}"
++AS_VAR_POPDEF([php_var])
+ ])
+
+ AC_DEFUN([PHP_GD_CHECK_VERSION],[
diff --git a/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch b/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch
new file mode 100644
index 000000000000..04b55b3b6b81
--- /dev/null
+++ b/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch
@@ -0,0 +1,1277 @@
+From e25636b087c507bf12922c8faf9f526aa87153a6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 23 Aug 2023 18:42:17 -0400
+Subject: [PATCH 1/3] ext/gd/tests: fix three misleading die() messages
+
+Three of our gd tests could be skipped with a message about requiring
+bundled GD, but those tests don't actually require bundled GD. We
+update the messages to mention the specific functions that are
+required.
+---
+ ext/gd/tests/bug24155.phpt | 2 +-
+ ext/gd/tests/bug39366.phpt | 2 +-
+ ext/gd/tests/imagefilter.phpt | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt
+index 42c5e3d7926f5..7c12c38a1a6d7 100644
+--- a/ext/gd/tests/bug24155.phpt
++++ b/ext/gd/tests/bug24155.phpt
+@@ -4,7 +4,7 @@ Bug #24155 (gdImageRotate270 rotation problem).
+ gd
+ --SKIPIF--
+ <?php
+- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n");
++ if (!function_exists("imagerotate")) die("skip requires imagerotate function");
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt
+index 2fedbcef43dfe..81e81059c27e8 100644
+--- a/ext/gd/tests/bug39366.phpt
++++ b/ext/gd/tests/bug39366.phpt
+@@ -4,7 +4,7 @@ Bug #39366 (imagerotate does not respect alpha with angles>45)
+ gd
+ --SKIPIF--
+ <?php
+- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n");
++ if (!function_exists("imagerotate")) die("skip requires imagerotate function");
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt
+index 156f465da6016..79a73472511c7 100644
+--- a/ext/gd/tests/imagefilter.phpt
++++ b/ext/gd/tests/imagefilter.phpt
+@@ -4,7 +4,7 @@ imagefilter() function test
+ gd
+ --SKIPIF--
+ <?php
+- if (!function_exists("imagefilter")) die("skip requires bundled GD library\n");
++ if (!function_exists("imagefilter")) die("skip requires imagefilter function");
+ ?>
+ --FILE--
+ <?php
+
+From 68a5f3f0a8e6299dddaafa2118ff322c532f1ae1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 23 Aug 2023 19:56:10 -0400
+Subject: [PATCH 2/3] ext/gd/tests: add SKIPIF stanzas for missing PNG support
+
+The bundled libgd always has PNG support, but an external one may not.
+---
+ ext/gd/tests/bug22544-mb.phpt | 6 ++++++
+ ext/gd/tests/bug22544.phpt | 6 ++++++
+ ext/gd/tests/bug24155.phpt | 3 +++
+ ext/gd/tests/bug27582_1.phpt | 6 ++++++
+ ext/gd/tests/bug39780_extern.phpt | 3 +++
+ ext/gd/tests/bug43073.phpt | 3 +++
+ ext/gd/tests/bug43475.phpt | 3 +++
+ ext/gd/tests/bug43828.phpt | 3 +++
+ ext/gd/tests/bug45799.phpt | 6 ++++++
+ ext/gd/tests/bug47946.phpt | 3 +++
+ ext/gd/tests/bug48732-mb.phpt | 3 +++
+ ext/gd/tests/bug48732.phpt | 4 ++++
+ ext/gd/tests/bug50194.phpt | 4 +++-
+ ext/gd/tests/bug51498.phpt | 3 +++
+ ext/gd/tests/bug52070.phpt | 6 ++++++
+ ext/gd/tests/bug53504.phpt | 3 +++
+ ext/gd/tests/bug64641.phpt | 3 +++
+ ext/gd/tests/bug66005.phpt | 6 ++++++
+ ext/gd/tests/bug72482_2.phpt | 6 ++++++
+ ext/gd/tests/bug72604.phpt | 6 ++++++
+ ext/gd/tests/bug72913.phpt | 6 ++++++
+ ext/gd/tests/bug73213.phpt | 6 ++++++
+ ext/gd/tests/bug73272.phpt | 6 ++++++
+ ext/gd/tests/bug73549.phpt | 6 ++++++
+ ext/gd/tests/bug73614.phpt | 3 +++
+ ext/gd/tests/bug74031.phpt | 6 ++++++
+ ext/gd/tests/bug75124.phpt | 3 +++
+ ext/gd/tests/bug77943.phpt | 6 ++++++
+ ext/gd/tests/bug79945.phpt | 3 +++
+ ext/gd/tests/imagearc_basic.phpt | 6 ++++++
+ ext/gd/tests/imagearc_variation1.phpt | 6 ++++++
+ ext/gd/tests/imagearc_variation2.phpt | 6 ++++++
+ ext/gd/tests/imagechar_basic.phpt | 6 ++++++
+ ext/gd/tests/imagecharup_basic.phpt | 6 ++++++
+ ext/gd/tests/imagecolorallocatealpha_basic.phpt | 3 +++
+ ext/gd/tests/imagecolorset_basic.phpt | 6 ++++++
+ ext/gd/tests/imageconvolution_basic.phpt | 6 ++++++
+ ext/gd/tests/imagecopyresampled_basic.phpt | 6 ++++++
+ ext/gd/tests/imagecreatefrombmp_basic.phpt | 3 +++
+ ext/gd/tests/imagecreatefromstring_bmp.phpt | 3 +++
+ ext/gd/tests/imagecreatefromtga_basic.phpt | 3 +++
+ ext/gd/tests/imagecreatefromtga_variation.phpt | 3 +++
+ ext/gd/tests/imagecreatetruecolor_basic.phpt | 3 +++
+ ext/gd/tests/imagecrop_auto.phpt | 3 +++
+ ext/gd/tests/imagedashedline_basic.phpt | 3 +++
+ ext/gd/tests/imageellipse_basic.phpt | 6 ++++++
+ ext/gd/tests/imagefilledarc_basic.phpt | 3 +++
+ ext/gd/tests/imagefilledarc_variation1.phpt | 3 +++
+ ext/gd/tests/imagefilledarc_variation2.phpt | 3 +++
+ ext/gd/tests/imagefilledellipse_basic.phpt | 6 ++++++
+ ext/gd/tests/imagefilledpolygon_basic.phpt | 3 +++
+ ext/gd/tests/imagefilltoborder_basic.phpt | 6 ++++++
+ ext/gd/tests/imagefilter.phpt | 3 +++
+ ext/gd/tests/imagegammacorrect_basic.phpt | 3 +++
+ ext/gd/tests/imagegammacorrect_variation1.phpt | 3 +++
+ ext/gd/tests/imagegammacorrect_variation2.phpt | 6 ++++++
+ ext/gd/tests/imageopenpolygon_basic.phpt | 6 ++++++
+ ext/gd/tests/imagepolygon_aa.phpt | 6 ++++++
+ ext/gd/tests/imagepolygon_basic.phpt | 3 +++
+ ext/gd/tests/imagerectangle_basic.phpt | 6 ++++++
+ ext/gd/tests/imageresolution_png.phpt | 6 ++++++
+ ext/gd/tests/imagesetbrush_basic.phpt | 6 ++++++
+ ext/gd/tests/imagesetthickness_basic.phpt | 3 +++
+ ext/gd/tests/imagestring_basic.phpt | 6 ++++++
+ ext/gd/tests/imagestringup_basic.phpt | 6 ++++++
+ ext/gd/tests/imagetruecolortopalette_basic.phpt | 3 +++
+ ext/gd/tests/libgd00086_extern.phpt | 3 +++
+ ext/gd/tests/test_image_equals_file_palette.phpt | 6 ++++++
+ 68 files changed, 307 insertions(+), 1 deletion(-)
+
+diff --git a/ext/gd/tests/bug22544-mb.phpt b/ext/gd/tests/bug22544-mb.phpt
+index b67478e558c47..f99307df1212b 100644
+--- a/ext/gd/tests/bug22544-mb.phpt
++++ b/ext/gd/tests/bug22544-mb.phpt
+@@ -2,6 +2,12 @@
+ Bug #22544 (TrueColor transparency in PNG images).
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imageCreateTruecolor(640, 100);
+diff --git a/ext/gd/tests/bug22544.phpt b/ext/gd/tests/bug22544.phpt
+index 1fba04d93739c..28fc6bdfbb0c1 100644
+--- a/ext/gd/tests/bug22544.phpt
++++ b/ext/gd/tests/bug22544.phpt
+@@ -2,6 +2,12 @@
+ Bug #22544 (TrueColor transparency in PNG images).
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imageCreateTruecolor(640, 100);
+diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt
+index 7c12c38a1a6d7..d78ee9b77816f 100644
+--- a/ext/gd/tests/bug24155.phpt
++++ b/ext/gd/tests/bug24155.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists("imagerotate")) die("skip requires imagerotate function");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug27582_1.phpt b/ext/gd/tests/bug27582_1.phpt
+index 2604c5fcaa9fd..1f15474f50d4b 100644
+--- a/ext/gd/tests/bug27582_1.phpt
++++ b/ext/gd/tests/bug27582_1.phpt
+@@ -2,6 +2,12 @@
+ Bug #27582 (ImageFillToBorder() on alphablending image looses alpha on fill color)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $dest = dirname(realpath(__FILE__)) . '/bug27582.png';
+diff --git a/ext/gd/tests/bug39780_extern.phpt b/ext/gd/tests/bug39780_extern.phpt
+index 2330bd65e57ab..438816fe22c6a 100644
+--- a/ext/gd/tests/bug39780_extern.phpt
++++ b/ext/gd/tests/bug39780_extern.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (GD_BUNDLED) die("skip requires extern GD\n");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt
+index 5c54d8770f86b..80c6480fea576 100644
+--- a/ext/gd/tests/bug43073.phpt
++++ b/ext/gd/tests/bug43073.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug43475.phpt b/ext/gd/tests/bug43475.phpt
+index 8944b57e3cde7..454d2daad0f1a 100644
+--- a/ext/gd/tests/bug43475.phpt
++++ b/ext/gd/tests/bug43475.phpt
+@@ -7,6 +7,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug43828.phpt b/ext/gd/tests/bug43828.phpt
+index 8a0caf5decc35..8bc3f9bbcaf83 100644
+--- a/ext/gd/tests/bug43828.phpt
++++ b/ext/gd/tests/bug43828.phpt
+@@ -7,6 +7,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug45799.phpt b/ext/gd/tests/bug45799.phpt
+index 8576b4d007822..f7124ce5b9713 100644
+--- a/ext/gd/tests/bug45799.phpt
++++ b/ext/gd/tests/bug45799.phpt
+@@ -2,6 +2,12 @@
+ Bug #45799 (imagepng() crashes on empty image).
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $img = imagecreate(500,500);
+diff --git a/ext/gd/tests/bug47946.phpt b/ext/gd/tests/bug47946.phpt
+index 39e5aef9edffc..a87300568326f 100644
+--- a/ext/gd/tests/bug47946.phpt
++++ b/ext/gd/tests/bug47946.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream fix not yet released');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug48732-mb.phpt b/ext/gd/tests/bug48732-mb.phpt
+index 13a881254c203..361c1ac4d88f8 100644
+--- a/ext/gd/tests/bug48732-mb.phpt
++++ b/ext/gd/tests/bug48732-mb.phpt
+@@ -6,6 +6,9 @@ gd
+ <?php
+ if(!function_exists('imagefttext')) die('skip imagefttext() not available');
+ if (substr(PHP_OS, 0, 3) == 'WIN') die('skip UTF-8 font file names not yet supported on Windows');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug48732.phpt b/ext/gd/tests/bug48732.phpt
+index 44e4204503ef7..ed73954de3337 100644
+--- a/ext/gd/tests/bug48732.phpt
++++ b/ext/gd/tests/bug48732.phpt
+@@ -2,9 +2,13 @@
+ Bug #48732 (TTF Bounding box wrong for letters below baseline)
+ --EXTENSIONS--
+ gd
++
+ --SKIPIF--
+ <?php
+ if(!function_exists('imagefttext')) die('skip imagefttext() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug50194.phpt b/ext/gd/tests/bug50194.phpt
+index 2addfe0e8325d..33d2400c46e80 100644
+--- a/ext/gd/tests/bug50194.phpt
++++ b/ext/gd/tests/bug50194.phpt
+@@ -5,7 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists('imagettftext')) die('skip imagettftext() not available');
+-//die('skip freetype issues');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug51498.phpt b/ext/gd/tests/bug51498.phpt
+index 808444376525e..756ba1f71dc33 100644
+--- a/ext/gd/tests/bug51498.phpt
++++ b/ext/gd/tests/bug51498.phpt
+@@ -7,6 +7,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, "2.3.0") < 0) {
+ die("skip test requires GD 2.3.0 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug52070.phpt b/ext/gd/tests/bug52070.phpt
+index 1ba28affdbfcd..6bbe2363a650b 100644
+--- a/ext/gd/tests/bug52070.phpt
++++ b/ext/gd/tests/bug52070.phpt
+@@ -2,6 +2,12 @@
+ Bug #52070 (imagedashedline() - dashed line sometimes is not visible)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $im = imagecreate(1200, 800);
+diff --git a/ext/gd/tests/bug53504.phpt b/ext/gd/tests/bug53504.phpt
+index bb74497af05ab..5bd81f35aa0cb 100644
+--- a/ext/gd/tests/bug53504.phpt
++++ b/ext/gd/tests/bug53504.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug64641.phpt b/ext/gd/tests/bug64641.phpt
+index d300bd8fc6a0a..edfebee99c92a 100644
+--- a/ext/gd/tests/bug64641.phpt
++++ b/ext/gd/tests/bug64641.phpt
+@@ -7,6 +7,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug66005.phpt b/ext/gd/tests/bug66005.phpt
+index 78e0f481dab17..3f3b421b8856a 100644
+--- a/ext/gd/tests/bug66005.phpt
++++ b/ext/gd/tests/bug66005.phpt
+@@ -2,6 +2,12 @@
+ Bug #66005 (imagecopy does not support 1bit transparency on truecolor images)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $dest = imagecreatetruecolor(150, 50);
+diff --git a/ext/gd/tests/bug72482_2.phpt b/ext/gd/tests/bug72482_2.phpt
+index 89f5bb28a77bd..0583fa4dedde3 100644
+--- a/ext/gd/tests/bug72482_2.phpt
++++ b/ext/gd/tests/bug72482_2.phpt
+@@ -2,6 +2,12 @@
+ Bug 72482 (Ilegal write/read access caused by gdImageAALine overflow)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/bug72604.phpt b/ext/gd/tests/bug72604.phpt
+index 706d7891c3220..a7d24e78dfefe 100644
+--- a/ext/gd/tests/bug72604.phpt
++++ b/ext/gd/tests/bug72604.phpt
+@@ -2,6 +2,12 @@
+ Bug #72604 (imagearc() ignores thickness for full arcs)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $im = imagecreatetruecolor(100, 100);
+diff --git a/ext/gd/tests/bug72913.phpt b/ext/gd/tests/bug72913.phpt
+index c3a7e9f9f56cf..9eb9c24653530 100644
+--- a/ext/gd/tests/bug72913.phpt
++++ b/ext/gd/tests/bug72913.phpt
+@@ -2,6 +2,12 @@
+ Bug #72913 (imagecopy() loses single-color transparency on palette images)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $base64 = 'iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAABnRSTlMAAAAAAABu'
+diff --git a/ext/gd/tests/bug73213.phpt b/ext/gd/tests/bug73213.phpt
+index c4c4bd6feeaf1..47fe8043135f8 100644
+--- a/ext/gd/tests/bug73213.phpt
++++ b/ext/gd/tests/bug73213.phpt
+@@ -2,6 +2,12 @@
+ Bug #73213 (Integer overflow in imageline() with antialiasing)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/bug73272.phpt b/ext/gd/tests/bug73272.phpt
+index cf10eb227ae11..0f0920b2687db 100644
+--- a/ext/gd/tests/bug73272.phpt
++++ b/ext/gd/tests/bug73272.phpt
+@@ -2,6 +2,12 @@
+ Bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation())
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/bug73549.phpt b/ext/gd/tests/bug73549.phpt
+index d25941dd565d3..26a7474b7d5b4 100644
+--- a/ext/gd/tests/bug73549.phpt
++++ b/ext/gd/tests/bug73549.phpt
+@@ -2,6 +2,12 @@
+ Bug #73549 (Use after free when stream is passed to imagepng)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $stream = fopen(__DIR__ . DIRECTORY_SEPARATOR . 'bug73549.png', 'w');
+diff --git a/ext/gd/tests/bug73614.phpt b/ext/gd/tests/bug73614.phpt
+index def4d37421160..e1261643f7116 100644
+--- a/ext/gd/tests/bug73614.phpt
++++ b/ext/gd/tests/bug73614.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream bugfix not yet released');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug74031.phpt b/ext/gd/tests/bug74031.phpt
+index b4efa6b749e8e..6dfb351fcff97 100644
+--- a/ext/gd/tests/bug74031.phpt
++++ b/ext/gd/tests/bug74031.phpt
+@@ -2,6 +2,12 @@
+ (Bug #74031) ReflectionFunction for imagepng returns wrong number of parameters
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/bug75124.phpt b/ext/gd/tests/bug75124.phpt
+index 47b36157fec90..26e44f1d6a011 100644
+--- a/ext/gd/tests/bug75124.phpt
++++ b/ext/gd/tests/bug75124.phpt
+@@ -7,6 +7,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<')) {
+ die('skip only for bundled libgd or external libgd >= 2.2.5');
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/bug77943.phpt b/ext/gd/tests/bug77943.phpt
+index 8ed4114128f25..d7d71ceca84ae 100644
+--- a/ext/gd/tests/bug77943.phpt
++++ b/ext/gd/tests/bug77943.phpt
+@@ -2,6 +2,12 @@
+ Bug #77943 (imageantialias($image, false); does not work)
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . '/func.inc';
+diff --git a/ext/gd/tests/bug79945.phpt b/ext/gd/tests/bug79945.phpt
+index b985ddd48be31..5db958e36d358 100644
+--- a/ext/gd/tests/bug79945.phpt
++++ b/ext/gd/tests/bug79945.phpt
+@@ -4,6 +4,9 @@ Bug #79945 (using php wrappers in imagecreatefrompng causes segmentation fault)
+ gd
+ --SKIPIF--
+ <?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ set_error_handler(function($errno, $errstr) {
+ if (str_contains($errstr, 'Cannot cast a filtered stream on this system')) {
+ die('skip: fopencookie not support on this system');
+diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt
+index be80f6c5f2317..339ea0b79d18d 100644
+--- a/ext/gd/tests/imagearc_basic.phpt
++++ b/ext/gd/tests/imagearc_basic.phpt
+@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt
+index 89719aa60b494..bf20c74f0ce40 100644
+--- a/ext/gd/tests/imagearc_variation1.phpt
++++ b/ext/gd/tests/imagearc_variation1.phpt
+@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt
+index 4597cf3a8ff89..c23bca840bf4e 100644
+--- a/ext/gd/tests/imagearc_variation2.phpt
++++ b/ext/gd/tests/imagearc_variation2.phpt
+@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagechar_basic.phpt b/ext/gd/tests/imagechar_basic.phpt
+index 3195eb82d4d4f..649dcccc2de87 100644
+--- a/ext/gd/tests/imagechar_basic.phpt
++++ b/ext/gd/tests/imagechar_basic.phpt
+@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imagecreatetruecolor(180, 30);
+diff --git a/ext/gd/tests/imagecharup_basic.phpt b/ext/gd/tests/imagecharup_basic.phpt
+index 82bc18d6ad609..7ebbb8fce9a07 100644
+--- a/ext/gd/tests/imagecharup_basic.phpt
++++ b/ext/gd/tests/imagecharup_basic.phpt
+@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imagecreatetruecolor(180, 30);
+diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
+index cc02aaed0d8b3..24ac882d550d5 100644
+--- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt
++++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
+@@ -9,6 +9,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt
+index cb9b3683aa8ee..5ed9a1ab8600e 100644
+--- a/ext/gd/tests/imagecolorset_basic.phpt
++++ b/ext/gd/tests/imagecolorset_basic.phpt
+@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ // Create a 300x100 image
+diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt
+index aa8347884999a..d8204e2d7eb28 100644
+--- a/ext/gd/tests/imageconvolution_basic.phpt
++++ b/ext/gd/tests/imageconvolution_basic.phpt
+@@ -5,6 +5,12 @@ Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imagecreatetruecolor(180, 30);
+diff --git a/ext/gd/tests/imagecopyresampled_basic.phpt b/ext/gd/tests/imagecopyresampled_basic.phpt
+index a3200b3537809..9fb1178e540ae 100644
+--- a/ext/gd/tests/imagecopyresampled_basic.phpt
++++ b/ext/gd/tests/imagecopyresampled_basic.phpt
+@@ -2,6 +2,12 @@
+ imagecopyresampled()
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagecreatefrombmp_basic.phpt b/ext/gd/tests/imagecreatefrombmp_basic.phpt
+index 51eb22c71adf0..4989e617b4719 100644
+--- a/ext/gd/tests/imagecreatefrombmp_basic.phpt
++++ b/ext/gd/tests/imagecreatefrombmp_basic.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!(imagetypes() & IMG_BMP)) die('skip BMP support required');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecreatefromstring_bmp.phpt b/ext/gd/tests/imagecreatefromstring_bmp.phpt
+index 8f9e1dd675b91..34db04297e3aa 100644
+--- a/ext/gd/tests/imagecreatefromstring_bmp.phpt
++++ b/ext/gd/tests/imagecreatefromstring_bmp.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!(imagetypes() & IMG_BMP)) die('skip BMP support required');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecreatefromtga_basic.phpt b/ext/gd/tests/imagecreatefromtga_basic.phpt
+index 25f034878b0c6..c66f66efbd638 100644
+--- a/ext/gd/tests/imagecreatefromtga_basic.phpt
++++ b/ext/gd/tests/imagecreatefromtga_basic.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!(imagetypes() & IMG_TGA)) die('skip TGA support required');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecreatefromtga_variation.phpt b/ext/gd/tests/imagecreatefromtga_variation.phpt
+index 0948f978f2f6a..be9c7977bd6a7 100644
+--- a/ext/gd/tests/imagecreatefromtga_variation.phpt
++++ b/ext/gd/tests/imagecreatefromtga_variation.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!(imagetypes() & IMG_TGA)) die('skip TGA support required');
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecreatetruecolor_basic.phpt b/ext/gd/tests/imagecreatetruecolor_basic.phpt
+index 5af8a0a1a32bc..2e8a1ef983bd3 100644
+--- a/ext/gd/tests/imagecreatetruecolor_basic.phpt
++++ b/ext/gd/tests/imagecreatetruecolor_basic.phpt
+@@ -7,6 +7,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagecrop_auto.phpt b/ext/gd/tests/imagecrop_auto.phpt
+index 5d3d50b3ef317..5ed8e446a7f26 100644
+--- a/ext/gd/tests/imagecrop_auto.phpt
++++ b/ext/gd/tests/imagecrop_auto.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists('imagecrop')) die( 'skip GD imagecropauto not present; skipping test' );
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagedashedline_basic.phpt b/ext/gd/tests/imagedashedline_basic.phpt
+index b36ffbfc6f593..d9ca69ad5f0b8 100644
+--- a/ext/gd/tests/imagedashedline_basic.phpt
++++ b/ext/gd/tests/imagedashedline_basic.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists('imagedashedline')) die('skip imagedashedline() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt
+index 0c86e7cfcb859..da1e0e9926086 100644
+--- a/ext/gd/tests/imageellipse_basic.phpt
++++ b/ext/gd/tests/imageellipse_basic.phpt
+@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt
+index f3b8c7ac8e89e..006ed4aaa23b4 100644
+--- a/ext/gd/tests/imagefilledarc_basic.phpt
++++ b/ext/gd/tests/imagefilledarc_basic.phpt
+@@ -10,6 +10,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt
+index d25d2afc87987..d00c9b6c0be1e 100644
+--- a/ext/gd/tests/imagefilledarc_variation1.phpt
++++ b/ext/gd/tests/imagefilledarc_variation1.phpt
+@@ -10,6 +10,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt
+index fb4675ec5dd69..61157a0173158 100644
+--- a/ext/gd/tests/imagefilledarc_variation2.phpt
++++ b/ext/gd/tests/imagefilledarc_variation2.phpt
+@@ -10,6 +10,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagefilledellipse_basic.phpt b/ext/gd/tests/imagefilledellipse_basic.phpt
+index 19a94b1200e24..a494b15c28e2e 100644
+--- a/ext/gd/tests/imagefilledellipse_basic.phpt
++++ b/ext/gd/tests/imagefilledellipse_basic.phpt
+@@ -2,6 +2,12 @@
+ Testing imagefilledellipse() of GD library
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagefilledpolygon_basic.phpt b/ext/gd/tests/imagefilledpolygon_basic.phpt
+index 6cba5238d3246..bbb8f9c2eb044 100644
+--- a/ext/gd/tests/imagefilledpolygon_basic.phpt
++++ b/ext/gd/tests/imagefilledpolygon_basic.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists('imagefilledpolygon')) die('skip imagefilledpolygon() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt
+index 7e79ea47b46b6..f8ebe86bb2c6d 100644
+--- a/ext/gd/tests/imagefilltoborder_basic.phpt
++++ b/ext/gd/tests/imagefilltoborder_basic.phpt
+@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+ #testfest PHPSP on 2009-06-30
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ // Create a image
+diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt
+index 79a73472511c7..c8cf182d9d4eb 100644
+--- a/ext/gd/tests/imagefilter.phpt
++++ b/ext/gd/tests/imagefilter.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists("imagefilter")) die("skip requires imagefilter function");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagegammacorrect_basic.phpt b/ext/gd/tests/imagegammacorrect_basic.phpt
+index 67b2a36a1657a..4f52309c825bf 100644
+--- a/ext/gd/tests/imagegammacorrect_basic.phpt
++++ b/ext/gd/tests/imagegammacorrect_basic.phpt
+@@ -10,6 +10,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagegammacorrect_variation1.phpt b/ext/gd/tests/imagegammacorrect_variation1.phpt
+index 1c41a257b9ec4..55370aa49cf87 100644
+--- a/ext/gd/tests/imagegammacorrect_variation1.phpt
++++ b/ext/gd/tests/imagegammacorrect_variation1.phpt
+@@ -10,6 +10,9 @@ gd
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) {
+ die("skip test requires GD 2.2.2 or higher");
+ }
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagegammacorrect_variation2.phpt b/ext/gd/tests/imagegammacorrect_variation2.phpt
+index c75c728296bec..33c89d205a1a7 100644
+--- a/ext/gd/tests/imagegammacorrect_variation2.phpt
++++ b/ext/gd/tests/imagegammacorrect_variation2.phpt
+@@ -2,6 +2,12 @@
+ Apply imagegammacorrect() to a step wedge
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/imageopenpolygon_basic.phpt b/ext/gd/tests/imageopenpolygon_basic.phpt
+index 6ed6d63a5ac47..ed8d3b698d11c 100644
+--- a/ext/gd/tests/imageopenpolygon_basic.phpt
++++ b/ext/gd/tests/imageopenpolygon_basic.phpt
+@@ -2,6 +2,12 @@
+ imageopenpolygon(): basic test
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/imagepolygon_aa.phpt b/ext/gd/tests/imagepolygon_aa.phpt
+index 77fef3beed9a5..a0fded6e5e06c 100644
+--- a/ext/gd/tests/imagepolygon_aa.phpt
++++ b/ext/gd/tests/imagepolygon_aa.phpt
+@@ -2,6 +2,12 @@
+ antialiased imagepolygon()
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+diff --git a/ext/gd/tests/imagepolygon_basic.phpt b/ext/gd/tests/imagepolygon_basic.phpt
+index 4d17b30eacfa9..c41b0710ef435 100644
+--- a/ext/gd/tests/imagepolygon_basic.phpt
++++ b/ext/gd/tests/imagepolygon_basic.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists('imagepolygon')) die('skip imagepolygon() not available');
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt
+index d71c44156f98c..a40b130cba7d2 100644
+--- a/ext/gd/tests/imagerectangle_basic.phpt
++++ b/ext/gd/tests/imagerectangle_basic.phpt
+@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+ #testfest PHPSP on 2009-06-30
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ // Create a image
+diff --git a/ext/gd/tests/imageresolution_png.phpt b/ext/gd/tests/imageresolution_png.phpt
+index a72f351a156bf..13f51cd8f3a4a 100644
+--- a/ext/gd/tests/imageresolution_png.phpt
++++ b/ext/gd/tests/imageresolution_png.phpt
+@@ -2,6 +2,12 @@
+ Set and get image resolution of PNG images
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $filename = __DIR__ . DIRECTORY_SEPARATOR . 'imageresolution_png.png';
+diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt
+index be8a3d33e4ad7..5142e3690b85f 100644
+--- a/ext/gd/tests/imagesetbrush_basic.phpt
++++ b/ext/gd/tests/imagesetbrush_basic.phpt
+@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ // Create the brush image
+diff --git a/ext/gd/tests/imagesetthickness_basic.phpt b/ext/gd/tests/imagesetthickness_basic.phpt
+index 88f7803dcf610..745dfcf905b92 100644
+--- a/ext/gd/tests/imagesetthickness_basic.phpt
++++ b/ext/gd/tests/imagesetthickness_basic.phpt
+@@ -7,6 +7,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/imagestring_basic.phpt b/ext/gd/tests/imagestring_basic.phpt
+index 1a71ba173c820..8a8e247eb0731 100644
+--- a/ext/gd/tests/imagestring_basic.phpt
++++ b/ext/gd/tests/imagestring_basic.phpt
+@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imagecreatetruecolor(180, 30);
+diff --git a/ext/gd/tests/imagestringup_basic.phpt b/ext/gd/tests/imagestringup_basic.phpt
+index 85b85e1e31c51..f1e30a782fb88 100644
+--- a/ext/gd/tests/imagestringup_basic.phpt
++++ b/ext/gd/tests/imagestringup_basic.phpt
+@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
+ #testfest PHPSP on 2009-06-20
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ $image = imagecreatetruecolor(180, 30);
+diff --git a/ext/gd/tests/imagetruecolortopalette_basic.phpt b/ext/gd/tests/imagetruecolortopalette_basic.phpt
+index ae4555bb2ad72..2f1c2961a603c 100644
+--- a/ext/gd/tests/imagetruecolortopalette_basic.phpt
++++ b/ext/gd/tests/imagetruecolortopalette_basic.phpt
+@@ -10,6 +10,9 @@ gd
+ die("skip test requires GD 2.2.2 or higher");
+ }
+ if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/libgd00086_extern.phpt b/ext/gd/tests/libgd00086_extern.phpt
+index 8d2b0b7d8dbe8..a3585180b83e8 100644
+--- a/ext/gd/tests/libgd00086_extern.phpt
++++ b/ext/gd/tests/libgd00086_extern.phpt
+@@ -5,6 +5,9 @@ gd
+ --SKIPIF--
+ <?php
+ if (GD_BUNDLED) die("skip requires external GD library\n");
++ if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++ }
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/gd/tests/test_image_equals_file_palette.phpt b/ext/gd/tests/test_image_equals_file_palette.phpt
+index a1022138230f6..2e294c04c4066 100644
+--- a/ext/gd/tests/test_image_equals_file_palette.phpt
++++ b/ext/gd/tests/test_image_equals_file_palette.phpt
+@@ -2,6 +2,12 @@
+ test_image_equals_file(): comparing palette images
+ --EXTENSIONS--
+ gd
++--SKIPIF--
++<?php
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
++?>
+ --FILE--
+ <?php
+ require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
+
+From 14d9f2349274597bfc81c46222ea7e808d372bdb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 30 Dec 2023 16:13:40 -0500
+Subject: [PATCH 3/3] ext/gd/tests: imagerotate() is always available
+
+Following 59ec80c5, the imagerotate() function is always available. We
+may therefore remove its function_exists() checks without harm.
+---
+ ext/gd/tests/bug24155.phpt | 1 -
+ ext/gd/tests/bug39366.phpt | 4 ----
+ ext/gd/tests/imagerotate_overflow.phpt | 6 ------
+ 3 files changed, 11 deletions(-)
+
+diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt
+index d78ee9b77816f..c93c3bbbcb586 100644
+--- a/ext/gd/tests/bug24155.phpt
++++ b/ext/gd/tests/bug24155.phpt
+@@ -4,7 +4,6 @@ Bug #24155 (gdImageRotate270 rotation problem).
+ gd
+ --SKIPIF--
+ <?php
+- if (!function_exists("imagerotate")) die("skip requires imagerotate function");
+ if (!(imagetypes() & IMG_PNG)) {
+ die("skip No PNG support");
+ }
+diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt
+index 81e81059c27e8..3c8b0130a410a 100644
+--- a/ext/gd/tests/bug39366.phpt
++++ b/ext/gd/tests/bug39366.phpt
+@@ -2,10 +2,6 @@
+ Bug #39366 (imagerotate does not respect alpha with angles>45)
+ --EXTENSIONS--
+ gd
+---SKIPIF--
+-<?php
+- if (!function_exists("imagerotate")) die("skip requires imagerotate function");
+-?>
+ --FILE--
+ <?php
+
+diff --git a/ext/gd/tests/imagerotate_overflow.phpt b/ext/gd/tests/imagerotate_overflow.phpt
+index 29cc89c1c56eb..a7be335ca92a6 100644
+--- a/ext/gd/tests/imagerotate_overflow.phpt
++++ b/ext/gd/tests/imagerotate_overflow.phpt
+@@ -2,12 +2,6 @@
+ imagerotate() overflow with negative numbers
+ --EXTENSIONS--
+ gd
+---SKIPIF--
+-<?php
+- if (!function_exists('imagerotate')) {
+- die("skip imagerotate() not available.");
+- }
+-?>
+ --FILE--
+ <?php
+
+From fa043f4716dcbd21630e16584e2d8d6baf17c77d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Jul 2024 08:20:31 -0400
+Subject: [PATCH 1/1] ext/gd/tests/gh10614.phpt: skip if no PNG support
+
+This test uses imagecreatefrompng(), which won't be there if libgd was
+built without PNG support.
+---
+ ext/gd/tests/gh10614.phpt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ext/gd/tests/gh10614.phpt b/ext/gd/tests/gh10614.phpt
+index c068914183..1b91115d74 100644
+--- a/ext/gd/tests/gh10614.phpt
++++ b/ext/gd/tests/gh10614.phpt
+@@ -5,6 +5,9 @@
+ --SKIPIF--
+ <?php
+ if (!GD_BUNDLED && version_compare(GD_VERSION, '2.3.4', '>=')) die("skip test requires GD 2.3.4 or older");
++if (!(imagetypes() & IMG_PNG)) {
++ die("skip No PNG support");
++}
+ ?>
+ --FILE--
+ <?php
+--
+2.44.2
+
diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml
index b903ac6d3745..ca91577505a3 100644
--- a/dev-lang/php/metadata.xml
+++ b/dev-lang/php/metadata.xml
@@ -86,6 +86,9 @@
<flag name="opcache">
Enables built-in opcode cache, replacing pecl-apc et al.
</flag>
+ <flag name="opcache-jit">
+ Enable Just In Time (JIT) compilation within the opcache extension
+ </flag>
<flag name="pcntl">
Enable the Process Control extension
</flag>
diff --git a/dev-lang/php/php-8.1.29.ebuild b/dev-lang/php/php-8.1.29.ebuild
index 4fb765cbc0a9..56e457c59090 100644
--- a/dev-lang/php/php-8.1.29.ebuild
+++ b/dev-lang/php/php-8.1.29.ebuild
@@ -20,7 +20,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
diff --git a/dev-lang/php/php-8.2.20.ebuild b/dev-lang/php/php-8.2.20.ebuild
index d21e14874745..f4a2e43fcdb1 100644
--- a/dev-lang/php/php-8.2.20.ebuild
+++ b/dev-lang/php/php-8.2.20.ebuild
@@ -20,7 +20,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
@@ -150,6 +150,7 @@ PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php-capstone-optional.patch"
"${FILESDIR}/php-8.2.8-openssl-tests.patch"
+ "${FILESDIR}/php-8.2.20-implicit-printf.patch"
)
# ARM/Windows functions (bug 923335)
@@ -338,6 +339,21 @@ src_prepare() {
# https://github.com/php/php-src/issues/14368
#
rm ext/session/tests/gh13856.phpt || die
+
+ # Bug 935382, fixed eventually by
+ #
+ # - https://github.com/php/php-src/pull/14788
+ # - https://github.com/php/php-src/pull/14814
+ #
+ rm ext/standard/tests/strings/chunk_split_variation1_32bit.phpt || die
+ rm ext/standard/tests/strings/wordwrap_memory_limit.phpt || die
+
+ # Bug 935379, not yet fixed upstream but looks harmless (ordering
+ # of keys isn't guaranteed AFAICS):
+ #
+ # - https://github.com/php/php-src/issues/14786
+ #
+ rm ext/dba/tests/dba_gdbm.phpt || die
}
src_configure() {
diff --git a/dev-lang/php/php-8.3.8.ebuild b/dev-lang/php/php-8.3.9.ebuild
index 607ae090b3e6..f0b4e07fb29d 100644
--- a/dev-lang/php/php-8.3.8.ebuild
+++ b/dev-lang/php/php-8.3.9.ebuild
@@ -5,7 +5,7 @@ EAPI=8
WANT_AUTOMAKE="none"
-inherit flag-o-matic multilib systemd
+inherit autotools flag-o-matic multilib systemd
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
@@ -16,7 +16,6 @@ LICENSE="PHP-3.01
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
- gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
@@ -31,13 +30,13 @@ IUSE="${IUSE}
threads"
IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar
- capstone cdb cjk +ctype curl debug
+ capstone cdb +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
+ intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
- odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
+ odbc +opcache +opcache-jit pcntl pdo +phar +posix postgres png
+ qdbm readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode
valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib"
@@ -45,14 +44,8 @@ IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
- avif? ( gd zlib )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
@@ -80,7 +73,6 @@ COMMON_DEPEND="
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
- avif? ( media-libs/libavif:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
capstone? ( dev-libs/capstone )
@@ -89,7 +81,9 @@ COMMON_DEPEND="
enchant? ( app-text/enchant:2 )
ffi? ( dev-libs/libffi:= )
firebird? ( dev-db/firebird )
- gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= )
+ gd? (
+ >=media-libs/gd-2.3.3-r4[avif?,jpeg?,png?,truetype?,webp?,xpm?]
+ )
gdbm? ( sys-libs/gdbm:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
@@ -117,9 +111,7 @@ COMMON_DEPEND="
truetype? ( media-libs/freetype )
unicode? ( dev-libs/oniguruma:= )
valgrind? ( dev-debug/valgrind )
- webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.12.5 )
- xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( dev-libs/libzip:= )
zlib? ( sys-libs/zlib:0= )
@@ -142,6 +134,11 @@ DEPEND="${COMMON_DEPEND}
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}/php-8.3.9-optional-png-testfixen.patch"
+ "${FILESDIR}/php-8.3.9-gd-cachevars.patch"
+)
+
PHP_MV="$(ver_cut 1)"
# ARM/Windows functions (bug 923335)
@@ -254,12 +251,40 @@ src_prepare() {
# be running pre-install, in my opinion. Bug 927461.
rm ext/fileinfo/tests/bug78987.phpt || die
- # The expected warnings aren't triggered in this test because we
- # define session.save_path on the CLI:
+ # Bug 935382, fixed eventually by
+ #
+ # - https://github.com/php/php-src/pull/14788
+ # - https://github.com/php/php-src/pull/14814
+ #
+ rm ext/standard/tests/strings/chunk_split_variation1_32bit.phpt || die
+ rm ext/standard/tests/strings/wordwrap_memory_limit.phpt || die
+
+ # Bug 935379, not yet fixed upstream but looks harmless (ordering
+ # of keys isn't guaranteed AFAICS):
#
- # https://github.com/php/php-src/issues/14368
+ # - https://github.com/php/php-src/issues/14786
+ #
+ rm ext/dba/tests/dba_gdbm.phpt || die
+
+ # Most tests failing with an external libgd have been fixed,
+ # but there are a few stragglers:
#
- rm ext/session/tests/gh13856.phpt || die
+ # * https://github.com/php/php-src/issues/11252
+ #
+ rm ext/gd/tests/bug43073.phpt \
+ ext/gd/tests/bug48732.phpt \
+ ext/gd/tests/bug48732-mb.phpt \
+ ext/gd/tests/bug48801.phpt \
+ ext/gd/tests/bug48801-mb.phpt \
+ ext/gd/tests/bug53504.phpt \
+ ext/gd/tests/bug65148.phpt \
+ ext/gd/tests/bug73272.phpt \
+ || die
+
+ # One-off, somebody forgot to update a version constant
+ rm ext/reflection/tests/ReflectionZendExtension.phpt || die
+
+ eautoconf --force
}
src_configure() {
@@ -298,7 +323,6 @@ src_configure() {
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_with avif)
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
@@ -327,6 +351,7 @@ src_configure() {
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
+ $(use_enable opcache-jit)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with selinux fpm-selinux)
@@ -353,6 +378,17 @@ src_configure() {
$(use_with valgrind)
)
+ # Override autoconf cache variables for libcrypt algorithms.These
+ # otherwise cannot be detected when cross-compiling. Bug 931884.
+ our_conf+=(
+ ac_cv_crypt_blowfish=yes
+ ac_cv_crypt_des=yes
+ ac_cv_crypt_ext_des=yes
+ ac_cv_crypt_md5=yes
+ ac_cv_crypt_sha512=yes
+ ac_cv_crypt_sha256=yes
+ )
+
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
@@ -371,16 +407,20 @@ src_configure() {
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
- # Support for the GD graphics library
+ # Use the system copy of GD. The autoconf cache variable overrides
+ # allow cross-compilation to proceed since the corresponding
+ # features cannot be detected by running a program.
our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
+ $(use_enable gd gd)
+ $(use_with gd external-gd)
+ php_cv_lib_gd_gdImageCreateFromAvif=$(usex avif)
+ php_cv_lib_gd_gdImageCreateFromBmp=yes
+ php_cv_lib_gd_gdImageCreateFromJpeg=$(usex jpeg)
+ php_cv_lib_gd_gdImageCreateFromPng=$(usex png)
+ php_cv_lib_gd_gdImageCreateFromTga=yes
+ php_cv_lib_gd_gdImageCreateFromWebp=$(usex webp)
+ php_cv_lib_gd_gdImageCreateFromXpm=$(usex xpm)
)
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 6d25c32159c2..59c5f61849ac 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -16,6 +16,8 @@ DIST Python-3.13.0b2.tar.xz 21089692 BLAKE2B 3cc77e9b7abcd8c9797a40b2a1f5ff6562a
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.13.0b4.tar.xz 20876136 BLAKE2B b3a7b42b03320df618af18844a8b0f1c4b88b9bcd581cacd2d40d3ecec7d0f11aac36e54913f64541a2287d7a5052aa69f8e8d0379d6bbb4fba78600bf484f75 SHA512 e556f7a4e54b688d0424b0bd84f9849b52f4f7e04c68d4d5b877d86b4f9ded92c9efaa2b7ab33f345235f35e8d544833542f7a4cb100d0ff15b7d98b8367b935
+DIST Python-3.13.0b4.tar.xz.asc 963 BLAKE2B 0d9c7baa1eedce684e73359682f63c2aa6e7abc7cc77ee7fcf6d9658e93221c02412aa55f22d16337b72a680f10c70520742292da1138228f9257f81bc57d328 SHA512 243637efff94965aa4d997fe26c91a7c1aa7dcfdf7f78d35d6f4fc408b654dfa9d075d1c73bc5a90d145f6e5029ee395a86faf7e027c24a55fabfea6ca20fbd4
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.19.tar.xz 19682840 BLAKE2B a12256663f0ff3b799c2193c5877aa89a434340dfa01e655f790abea70af0709b54577e1c2590add241308a8581fd6f45a22aed450bd5db2bf9fa35c4a9d619b SHA512 5577830c734e63a70bbc62cd33d263b9aa87c4381b49cb694c3559067c4c682a55506b65ec5514a8e0a5abf6294dc728e909385d449ae1c388e62f83cea9bb89
@@ -29,6 +31,8 @@ DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c5
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.13.0b4.tar.xz 5700 BLAKE2B cc3e6d899dc51dc4a0f4b57fb5a891a61e5ba5a943edd31b55b6540f1d52a61f2a80f8ac1cdbc36ce155a83ab3942b8991fad0e83baab4c0a1080e62b30e16df SHA512 bf236ed221512a032a057f8b89b29a28e84cfaba56f58c2eaacee846db636089b2ae4534dc55ff3389cfbf1a4485e1cc2049a5cdb98ec1cd31eef71de60596c1
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
EBUILD python-2.7.18_p16-r2.ebuild 8603 BLAKE2B 6a2ee7f1a5d0eae487cf0293fb2528c97679d0fb395cd51f00a08ede8abb473f3e16051c8b7b797a99c4462d520955c01b1b0d238caf0652a3166034bed60839 SHA512 e498d3f4904e2cf2de6a6d0beb8e573a462bc96970c861616bd12956434154146e1625ea36b44f984b82f3d6cc90b33860b71c4067002b7f96510eb5e632e572
@@ -36,10 +40,12 @@ EBUILD python-3.10.14_p1-r1.ebuild 14742 BLAKE2B 52b80ddc253a2c2d60422af667dd045
EBUILD python-3.11.9-r1.ebuild 15854 BLAKE2B f0c4576472eeea91a436eb64a0555a6db1125370bb0a586aa520e76047d8615603e23b8fb415fe86ed19ecd29038ae5bc7354e7d33c1bcd004ab82f62b5391dc SHA512 57cbe71b9d90e2fe06d28ad0fdee30da1d0ae9dbc4163e15b98f78069a7a7bb0a4312d8caa26fe23e74234c73f0b48409d77b28e40f47bf83667e7717d36fe32
EBUILD python-3.12.3-r1.ebuild 15415 BLAKE2B eccb47a2bea4df5bf3d1116afa348ddb87ed03f7031e5742ecf8e06cb875bb6a79f800313ca4ac7ed1cbae81de65f8aaf80616a1e423d8362480447b33860348 SHA512 4c9423cf3c24f4cc2dd095a7340277c0b119dcc95281cc08e23019ef6d9478af77b9b1961dedbac2709cc05923dcc6c1ac5ef1727106068431d21a9e8613aa21
EBUILD python-3.12.4_p1.ebuild 14881 BLAKE2B c3a4339cd5cf2bb6f97bf60142dfa022b5cc421da66d209247fbdc6c1c2ebd3cb701689ea50d3cfe897ecfe48a801edaabd6160a0ed747f5dfc407569d93ad8b SHA512 6572c6ed811576377ed5de3e5e12bb7de0795b802a4cbd60eebca7d82ac0dd07afa3ee05a9b98ffe45a4aa4dd6aeaaa4acf8b5f34d19cd76efb129e3c50dac4e
-EBUILD python-3.12.4_p2.ebuild 14884 BLAKE2B 03c95778d4d3b4d9644f14ed57ee593517894a97b9640124b1a63eb8024644dbe45888a8f605f23647954df7e62b494e6c338a66ef6f00801c7daa97c28324cc SHA512 8dae142c2b98ca70061174f904fe3af1ff74fd3007c458a8126711130d4c527652a480645ea3b705f5eba81ac958adbcd70bf529ca079a69eef243dc709a7d7c
+EBUILD python-3.12.4_p2.ebuild 14881 BLAKE2B c3a4339cd5cf2bb6f97bf60142dfa022b5cc421da66d209247fbdc6c1c2ebd3cb701689ea50d3cfe897ecfe48a801edaabd6160a0ed747f5dfc407569d93ad8b SHA512 6572c6ed811576377ed5de3e5e12bb7de0795b802a4cbd60eebca7d82ac0dd07afa3ee05a9b98ffe45a4aa4dd6aeaaa4acf8b5f34d19cd76efb129e3c50dac4e
EBUILD python-3.13.0_beta1_p3.ebuild 17346 BLAKE2B 83266bc2fb4b68f001c6669b02c83909ec1eb2cb1dfc69f5a14a9a33fcbeba76c3bf6068f1b38a5ba8d3e64dfa9e04df896b4cdd51d149e94f843ffcd61d51e5 SHA512 0ba4fdd9d5531f045565c8da01e9e1a455160e4d1767b7e3f4a5f667cc300e8b1a9fb47023ca2f3b4b64a54b346648cdd56fd200bbd9be71712757de9680059d
EBUILD python-3.13.0_beta2_p9.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a
EBUILD python-3.13.0_beta3.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a
+EBUILD python-3.13.0_beta3_p1.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a
+EBUILD python-3.13.0_beta4.ebuild 17080 BLAKE2B 9f6ccdd02861ace3241f64eab592e5130015c9cd1870417013a50dc47cfee014faff8e27590246aad491482bc9f15a87839df236659d436fff8b9faf4acde9f4 SHA512 11b625319906a0103302c0720938c349b67cf2896c4b2b974173f3fe8f4ea78f928885606363732ef3e800531f9ae127d31c7189f7b4d30756520c05207c4114
EBUILD python-3.8.19_p2.ebuild 12217 BLAKE2B ff0dc6d1012257d77cdac44a2c3b022ec6c06564a4f2bbf871450efd17d9486ee36af14d57fd338adfc9fdf96d43b880cd5b12f4f73bf2008b52e34fbd0e7459 SHA512 d61c2155ee1332be4c0bc799a306efd7b2ea0655ab1ec957446c9711b798bbee0d4815c5e4fb9da325d1c20dbe820ff03f58b7ff4e825a770f78a00706754062
EBUILD python-3.9.19_p3.ebuild 13667 BLAKE2B c1579e1d0395e677834ce1891f4de07abf4b5156d1e150d2f04dfd5a5a21afa4dde9e5800dc7ba591c3c5d51267c64c60f4ece3b31f583bb320841ce89c649f4 SHA512 9df7d256591e73d71d6b8e3a637d737102ae809534c62d92b69a9fad8cb1ad693730398f5392f03fa5a194c7259143d1e83fdc6bcd872599f322269108af4e66
MISC metadata.xml 1562 BLAKE2B d89ba32e0a261cfa3f185881f83a8bd9434aba2029aca437419d625ed3d025fc3226d4440dfdc34c1c64c42448bb00f903b88d80ac06f2bddf8dd58a7aa66673 SHA512 3fb20f7648db7a5d7080bb9e439b39f90cd0f56bfa24d0b97b9d7966c1062951b9d9d1cea9ec557d7db065cbd53c8a394503616d807b2ea4c5a3ea2c806c0ff2
diff --git a/dev-lang/python/python-3.12.4_p2.ebuild b/dev-lang/python/python-3.12.4_p2.ebuild
index bec993fb2e80..a2461c6b3906 100644
--- a/dev-lang/python/python-3.12.4_p2.ebuild
+++ b/dev-lang/python/python-3.12.4_p2.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm libedit
+ncurses pgo +readline +sqlite +ssl test tk valgrind
diff --git a/dev-lang/python/python-3.13.0_beta3_p1.ebuild b/dev-lang/python/python-3.13.0_beta3_p1.ebuild
new file mode 100644
index 000000000000..87d11b2c5374
--- /dev/null
+++ b/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/dev-lang/python/python-3.13.0_beta4.ebuild b/dev-lang/python/python-3.13.0_beta4.ebuild
new file mode 100644
index 000000000000..20a8761fa612
--- /dev/null
+++ b/dev-lang/python/python-3.13.0_beta4.ebuild
@@ -0,0 +1,658 @@
+# 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
+ # flaky: https://github.com/python/cpython/issues/121973
+ -x test_pyrepl
+ )
+
+ # 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/dev-lang/regina-rexx/Manifest b/dev-lang/regina-rexx/Manifest
index 9e79c169c6a0..cb0e448f78c8 100644
--- a/dev-lang/regina-rexx/Manifest
+++ b/dev-lang/regina-rexx/Manifest
@@ -2,4 +2,4 @@ AUX regina-rexx-3.9.5-makefile.patch 13712 BLAKE2B e9a185bcd1f5d6b156a3807afb6b6
AUX rxstack-r1 268 BLAKE2B 1bec862218eb0ef5087d5859f53adacf6fa22f3fc4b05a04ae89a861f32f800261e07620e1bab97a1aa7548f1232aad86367fc69c1696cd126edc4168064eb2b SHA512 823cc12df4986919b3177590b9da73c76474012361ff41eb93a04376df2efb3445b27da8931b9fdc5d960f5231a34ddaa7724d35d139eb2a1e340b025dfc460c
DIST regina-rexx-3.9.5.tar.gz 2705272 BLAKE2B f26d4c7c582e1dafb97c2280651d07bba67549ccf9f58eb42e88e92ddbbb3184a36e5d3480977adccafdd1d9fdd1ca208950cd2700201600b6fbc0da7ebbd336 SHA512 bff25e5d218441306d021924582c19ed29c652b691e73988a4b53b9de4b51b758b1ee08704685967bd9bea469e93bf57b19875207fd4649d5af3e53dade39dd2
EBUILD regina-rexx-3.9.5.ebuild 1022 BLAKE2B 7c6869488649b8c99d49f60db95787f1bd55f591147c6b955ccbce4937cda1ba93a32b9c52c15bd480005a31939304f06062d71ad4081ec4a243750192b5389c SHA512 28ae5704d6f9fef9b4fa3b9fb935d2a60227d8f112113e74735ad17dc5de3493b77efe30d52a8c746ddd6acd5e02247b1194d5ffa475b816743a2b27265dcf93
-MISC metadata.xml 699 BLAKE2B f65a811dab1dd79b1fc46b652c1ca73394cb992de4a25e47e9e349b4382fdb8f808aeb2a813a692fbe20c2818bae73a50cf40e0e8fed3226a6847c85cd3cfd0d SHA512 add25b14c4712e08a6d5495ede1f9f1969c15752175cc91df433a833abf6572ab59a5275655ffae3676d43588d18695c8bcb24a758be5f3c0762cb695e4c72e9
+MISC metadata.xml 843 BLAKE2B c4e0e30ab78a6984374059eca8588e03111d6164aced096017be50e0324ffef411a7bdb731712f12bb48142e5c0430d6ddae4a2e701225bf2a3669ce062660d0 SHA512 adf11a12bd49b8a1690263f8d21fba9aa3a4038074a11ee0c351803be8980608f14790706b1d95cd48c51f67e6fe7a46730dd86c2790432acbb2e39393b9e0be
diff --git a/dev-lang/regina-rexx/metadata.xml b/dev-lang/regina-rexx/metadata.xml
index 1d3a12c3cc85..db944ab7dde1 100644
--- a/dev-lang/regina-rexx/metadata.xml
+++ b/dev-lang/regina-rexx/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>s390@gentoo.org</email>
- <name>s390 architecture team</name>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<longdescription>
Regina is a Rexx interpreter. Rexx is a programming language that was
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 4d61e1f46293..2c89d9ccb140 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -1,15 +1,13 @@
-AUX 3.0/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00
-AUX 3.0/010-default-gem-location.patch 753 BLAKE2B 2e9c209521e113c9b5b66ef305a2f29e042bc9330cc95ca847e04aec7a9450de48904bf583265aceec5984e8384e78a37b16a65435962ffc3ef458019b5ebedf SHA512 af63cd6c2c998533fd518abc6f48d1acb0f185e3bc9c4747301f7c7f3b3780e456f32db0252a0a03306dbc19a63d24c031fcfb7c35d732190fa68763e5817dcd
-AUX 3.0/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c
-AUX 3.0/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88437abae60c20955f28baf939aa76daee7d8accfa5b35c8ae857c25b243d57d719e7542a20439b1eb5952b319fa383 SHA512 5db3e96891498aee8f97f0c5ffe0633c6554b8d8a4975fd73f838ebac1ceea248d18aa4262c2b865b7ca15e9d293d482f7323565ed6ae47ed632cb8a044976e6
-AUX 3.0/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 679a69e08e7dcf9888a99cfbfef23139c5895be30e293f4df8cf20c16923498f2cc1f0355afbdd2ec3191131925bac48dbb4812c1e83f45fd85349970dea5bcc SHA512 d55e21b5d2fd914dc014db4a82aace55b114826825681f7c01f72813d6043a1c987dd2b7749bce46eb1a9f88dfe170a2cedb710b155f2c4fdb386499067d69c0
AUX 3.1/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00
AUX 3.1/010-default-gem-location.patch 715 BLAKE2B 1a3b0a3479210f6bafe89bfea4580ebcf44bb5c42b72a244dee9fa53371c095d6c8ff39feb58296518779b5841647ed89732bed33c542ad24d5b93ba97097cd6 SHA512 e0d0ebfc6de8dfb81cee309f0d1b7a9ccf64617ea16ad6d8d3ea715b29fb7b3bb6d962072503eee7125ffc1e5ba53035453e887935e681de3d35df279d7c0dc8
AUX 3.1/011-default-gem-location.patch 689 BLAKE2B 754bb18d8d028e763cc4e91e5a0a543beee807d0dd9d68e3bef52beafd2a28896372e20e5b9ee9fd6556323f7369f30a0c65d676e5de869bb81f978b6f7e655b SHA512 71e9ec7e0e6353cc4b973ed6dbe3c12c7784173705dc17a2e772f653aa592f2252749955f7957aa7526071eceb927711ef9055430ed3671025e35f57898ca754
+AUX 3.1/012-test-readline-without-tty.patch 1307 BLAKE2B 6aeea4229e36aef75d9e56aa4d0eb65f3b95df1fb861953d63d4e00bc0f9c57aead2cfc5a68d3f0d3f8400dfe8508161a8b5b8320221d160a871aa804d52f2b5 SHA512 813bf292fe132dd52f2c11a530e09e5c58547fd146bca2509b212c175b4359d98e6464709b5693656db935bf0ea27c8846d7510c4327bd79a419c1ff6fbd7007
+AUX 3.1/020-arm-readline-test.patch 1289 BLAKE2B d441f04a6a11230df89340560f23897926d1982d46dffd5378c92956f07b9c5a062413484a62b2ba6b799e73d2008f5d19c549a864d61c2fb77b5de2c7a0db07 SHA512 7023b78255229ae124415274bb57077913a6a1f4667494491c00dd8933492f763dfb803eedf3a72251d2362d54eaa6723af6c68b84583fbdee21320cb6b7c66d
AUX 3.1/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88437abae60c20955f28baf939aa76daee7d8accfa5b35c8ae857c25b243d57d719e7542a20439b1eb5952b319fa383 SHA512 5db3e96891498aee8f97f0c5ffe0633c6554b8d8a4975fd73f838ebac1ceea248d18aa4262c2b865b7ca15e9d293d482f7323565ed6ae47ed632cb8a044976e6
AUX 3.1/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 3d402e1f2e0dddc1557ed78d802516ec3f8e122b046fc153a702090aa3c5cac1ec4005fee4cf2e5c28c4be6e3183c5a12d4fb3a3c9fc07ea3f068cefd12b8b2b SHA512 87caf7fc61cd94ec45f68a799ab87caa740a2d0fa8eef60b1fa9f33f95586ecfaed7ed1466f7feeeed725d9b92d40a730e0835bf08f9eba9505790ed84b42125
AUX 3.2/010-default-gem-location.patch 356 BLAKE2B f44459799fff80c7f14e5e7d674ee9ed22863cdb84838e0fad55a66f615fa91e3e4de30377c04a385927feea67c6046c837eb7a647fbe162685309ea3f9ea420 SHA512 894075663d409a117ad94abd63d6562c90b87a725ef56d02ad7c187532b99a56128be2f5f64d0e72763d1c14213707de84c920415107df875218489796bc4a5a
AUX 3.2/011-arm64-branch-protection.patch 1223 BLAKE2B 57ec142850e430f51aeca7c4f70ad9bac22a2a3fdd99616d8718520588b0f23e07f4c0ddfacc02edb9349fb0af38fcfc5b1b288dddedd4f6918511a5398980f3 SHA512 6fff70749a8b3eb6cd1b05a4b667613ead00097ecf4674fad710f3c785c97d55989a703569f0a041f1d75b82dbeb8f80bb9eef9b581e4ef3dd1c9907f6cc2634
+AUX 3.2/020-arm-readline-test.patch 1418 BLAKE2B d5d8b5cad404b068b065757fe8c9cb9c5521fe2ef52dc90b8e3d9781e717309d4082d8beb3360cc46fd2e4cb7a41209ace3fd0bb0c49da6775aff53fc4f452b8 SHA512 402ae9c27f4a3d9e153c1a01e6cd7bb6be79833eed90206a1fbef76198122cff70e8e52a3e6e4b1794e57151113017fcba5f6f1fc5fc77c91a2d96a6dcd27c0d
AUX 3.2/901-musl-stacksize.patch 749 BLAKE2B 422d53ef7fc1e76bd7466ff67da7cefd3665282ce0e29d16e2455e8f2bcbe081c0b9d31119eed6d6b53f6200fa72d623e9c04e0ebd6594397cf1dad344e8049a SHA512 f9ad0a50a0672a88b89cba9c452c090e0fe47fe41c640951b1b14970e1219a27c9ef3a1b53650b135d607830ae7a09b6a8916e45263415b58122c07262e90b1b
AUX 3.2/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 84c8478a69e108c68f96eeb0f36b1f94e069193ce124c0ca5c6143c0c9a2f0c62c7927a1a61a85270f449d03b4c6f5bd735e02ce1da1df0749602e655f177778 SHA512 d871b1c0a5d58bb197def0e00310e38fc145520dbbd1245079b2ebab0f89878f21a22f27c388fe2a7557244db28f0acb97edddf9bdf4adbeb00327e01c5215a6
AUX 3.3/010-default-gem-location.patch 356 BLAKE2B f44459799fff80c7f14e5e7d674ee9ed22863cdb84838e0fad55a66f615fa91e3e4de30377c04a385927feea67c6046c837eb7a647fbe162685309ea3f9ea420 SHA512 894075663d409a117ad94abd63d6562c90b87a725ef56d02ad7c187532b99a56128be2f5f64d0e72763d1c14213707de84c920415107df875218489796bc4a5a
@@ -22,18 +20,16 @@ DIST ruby-3.1.5.tar.xz 15293020 BLAKE2B 5d886f45f2a27dbe7682f5afc234d4992ffc5006
DIST ruby-3.1.6.tar.xz 15273916 BLAKE2B feb697b8d01ebde0042e679b814c4c95481c6afa607db46ad1511fb0d1a555d7800725e847e90dd9944ef42575c5205cf711025a165a65b6070743701631929c SHA512 a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652
DIST ruby-3.2.3.tar.xz 15163960 BLAKE2B e2cfa215b2cb910bac5f3b58edcdece91b21ffcfb6b4c183eec0c8502c320b78e7a8732c393b6e6a38dc9cfd81e129c00562d9be45f0deb36306ac81f96dcdc1 SHA512 d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b
DIST ruby-3.2.4.tar.xz 15175656 BLAKE2B 9c2300a958b03528d51f0d74a069c8c538ca4009835d55377509a000bcfb43893a8a80d8fda57011e77c72e6283cb259281d5ba7b37444546e49f2a9ad515cf3 SHA512 fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff
-DIST ruby-3.3.0.tar.xz 16345456 BLAKE2B 09ef6fb4b2768118207e7a9ece17c5c62c9f596b1c13ac6199245889fcc5d25f03336831ec3bf1367a460a8a26c4426c32bcd576b0da8bdafc90301032b4d2f0 SHA512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01
-DIST ruby-3.3.1.tar.xz 16350792 BLAKE2B f3591d2420edd8c1d5b365d1442fcc07c014e402478dce01a80b81c16c3c7083bcd3e9e9aa0f8d586cd482f0f18eb64ad813ea31755f5d12b137ce03b1a0fa4c SHA512 c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347
DIST ruby-3.3.2.tar.xz 16349500 BLAKE2B 2a474df10363555e8f0b9ad73bb854ad34f3d1485b8bdde833c999b20bc2c17282d2097d887d10f454bbd4dfdf08f04bb644a7e41d0b4a0ff0e9eb144339b5e8 SHA512 70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449
-DIST ruby-3.3.3.tar.xz 16361160 BLAKE2B e1dbb8f0d5de4b2d7efe3f68c1ea7f28e4fac19dcd9d6d5e301e5c565474958a916ea5f21ef2ce0d741d4d9c45a546dd3d00b3ca3d1eccfaf61f20eba3c871a7 SHA512 27dcae604e6613e1eaa20c6a75ee88b970bb0dd584d9bc0c021ad8da4340858e3c2e874ac841fcca0b0444a0c0146c4650d2d22bac3c9e12853533c37255f8f1
-EBUILD ruby-3.1.4-r3.ebuild 8352 BLAKE2B f3a592bd500c5319ca351544666a87446ad794158e3271076b8bcbec1e827ab8d9f7e70e1a0c4548e203d3a758a29e0d790285ff48d99b69816c6107d0d03bdf SHA512 e191ef30979b3fb967379345474609382629e555040b388c92fe54e45b3afd097b1e7c9f4bbbf611b740d799cd1c26973a6aec60dcc35c54c9182f3911a47485
+DIST ruby-3.3.4.tar.xz 16366580 BLAKE2B e10b81ad7838e3d443ce0b12b8372faebb001f00a32dc0fa1f5e37c46baae99ea714e7f2a8741f0294255312030e844f32fc5d1c3695545cf8303e85b3255f21 SHA512 b26461a13ff82a08a282f10108028bb2a2e4a28da6182a291062fc54089c6655d79c22cc69d59156f9b11cb10a17fe8c69d489343fbae123a45f03361b95c9eb
+EBUILD ruby-3.1.4-r3.ebuild 8353 BLAKE2B 442e4dab4ca961de6b489d7bf4182d5664c9e473f0891479d3842cb09936b5e5b21ace1a730b56824969eda328c38f3b7b25c48124399c8ba3c97a73aff69b77 SHA512 dea295106f0a8a94e44f6c341c57fd19b2d9d212b8db6f7561376aac07a546107809a2eda7f8be38f0fbd0b9f477ce88f5432fdec8004f19cc16691ac0c13dbf
EBUILD ruby-3.1.4-r5.ebuild 8504 BLAKE2B 2ee7c9aef7c65d9601cd31918addaa7a42bf806d08237f75e894db1e564e6fc282892c2c517badf366cd0584debcb51d0c754353af656d26bdc94389d5ea7e01 SHA512 1fb62ce8b8fc7288a954abe23af104ce7bc9124c157f4dcf68fd499d7f103bc8b396fdb5089431b4cf7c76c9c7adabe11f3a4f9b172c1d12c14165ec2de8d306
-EBUILD ruby-3.1.5.ebuild 8594 BLAKE2B ff11b93e3af50798d6080c62044650412b82d40d23e3875f907001babe2e5a5202dbeeb8fbc7d520fe720eaea2e4505dcc2133c7600d41362e2cee910d6e0dbb SHA512 339a1788ad60046dfb52bd5dd7aff0a07513e36d90c6004e5a0b084e038951bab3db1a4a965e43796a2e66069c12751bd6e237bf37022a542d3ab0543413c3e9
-EBUILD ruby-3.1.6.ebuild 8801 BLAKE2B c1d6c9f691869e2c87018af75de136ea232d0538dac701ffa320308c5f22c658b9ef4ece7a14d60b6914cb3190c5bc62fcf851bf8f5691951134f56f0ab2baed SHA512 9026d13286ba7917138995f2b6198c67cfab4efd0065e7db441fb3bf39c4aea2441299806352ef0942c17af611ccb43f202bec5724177aa7172f49d0c558a3dd
+EBUILD ruby-3.1.5.ebuild 8678 BLAKE2B 8efd1b3ee7009bd7c983b9eb9a8a9eea29754fbba330957200548d27c1eeace562abafa8640a3ffd96adb8bdacf06918e21bef7870cff860225a408da7a45e3a SHA512 788d2ff68acbeb7dcc28502b9209ce43dc4d0f64810766df3eb8c140b3cddbe70756785a8c12ea2a588f596e12f2e8652f531a62112330522812847ad4297a89
+EBUILD ruby-3.1.6-r1.ebuild 9035 BLAKE2B f5baf8b953f36ee101da6b1b77a64fd4baf266106ea5e60fac2eaeed41567c5a068da1e20e62df3e5f755aeebcf48179357ba3eaa73bb336d53b1f6e1a8b0142 SHA512 587039bf1cdcd7693ebdf109a061a9a1e27d14cfbf4b2938806624e84b9a6b48c122612d55747b60886dd41927c044ed1f404adb418fcc706e2940470c5a6cea
+EBUILD ruby-3.1.6.ebuild 8844 BLAKE2B 35f1b99e2505df7b0deb14e186604e2169cf38812f442838fe2e4e8b50a49b412f8d25ebae4b67a056895b37b991ead09e73236e11bdb781d224a2495bedbc4f SHA512 01881562844ea0535303c5d88e2c9d78d5e608790d3c8c626d1d71de7da85e1dbaceaaff52f96e72a03e8dc89758e0c08b75bdb0ef07ae6a52e80d7fde42b586
EBUILD ruby-3.2.3.ebuild 9534 BLAKE2B 8383353bf02c2abba8dcf67cbdffcc197d085fce1c961c56d0d493ccc840f0970efb105b916a28d590c6f6caff42e654651361f685bce545c969082981cbd25f SHA512 78f8270db8c06b960a84b03b20b31f3aacc455905637e8cf3e040724d1c39b43aac19e296205902cf6c958e5c64ed0843e6854ae9997e612598aea6b3965c6d0
-EBUILD ruby-3.2.4.ebuild 9538 BLAKE2B 2b42ff228264ed57f4980463c3d79b533c4922cdd86ecb2b64cd11cd37e0b02a70c364f9105094d08fbdd944eb76f0345a7b797d4bbc278bfca01074b1721fe8 SHA512 4be33bbad246bf398660481977b7349bd5ae1f145d30610e337a319da8b1cd256c4294a1c2a52f472e9f7bea4bfee1f8eccb99d8a554e7c2a23ce78477c56a4c
-EBUILD ruby-3.3.0-r2.ebuild 9312 BLAKE2B 547e2853e5a53f762d8ac6abb7c721ea3221d645d3717354d8c92059dd3417f71611e104b2c1c0fadbd14b86174312483e83768ebbd70fa787b423ce59deba9c SHA512 7e250ef083f3f5f5bcd12db3080eedbd99dc6d7033da8846306d0f4a4ce6763baaabbf25171d2b69830f69a52bbdbd3a11b31f3849af860e6b6d8001502ea97e
-EBUILD ruby-3.3.1.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c
+EBUILD ruby-3.2.4-r1.ebuild 9730 BLAKE2B d632c75cd778e7109aef58842b195c24c78c9d7285a23376bcfe5d18cd47183d6d2a311ed1f186c38bde8fa9e3f94253f346b474df253ce1f5ad74a953c4b8b0 SHA512 711e1f7e70144d1d852896a36c1ec3ae461de320a959dcfb340fa0bb9485b4c933b1c608f13ffd5bdf5307ef0d61e4bdc1242d35f3ecf506016855b4e25ad824
+EBUILD ruby-3.2.4.ebuild 9580 BLAKE2B bc4d298bb3cb99537e4cea4cd329aa00d73d5adaabf89493c373cf4b5b313feb423591b29c98914a5b24108f5ece81db04630074a05c2b625896783e9cde806b SHA512 19f9ffc2ad5a679917ad2b93a973ea0db71eccfa71341605311a57564d0154d80c45581f6cee7f24218f7e57fba5abf1a2ca44c54cb1833d32dad6daee0cdb50
EBUILD ruby-3.3.2.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c
-EBUILD ruby-3.3.3.ebuild 9313 BLAKE2B 1c5b002f508615eb215373bdffcda1b3b9e31721dc4e84c8e26b89ee6d50ec9083d303a30693e7dc112023d2a8f1ef5c839aae138e2599718557874ed5a188d2 SHA512 9595ef7701534114468725f6c07558abd8e4144effdbfc160fd406c7a95d141a2d657285fef8ff48e25832715abe781aa91920522ab28e7d7f215e8b1284e383
+EBUILD ruby-3.3.4.ebuild 9419 BLAKE2B 2c14e01cbb092ee4662b887472ccd89b17f9f1fa244d49b777b80fc31f86c2b647be42d6ed9f76d96c9ca9f5e18efefd851aca438dfbca8a27c0327e1be93e95 SHA512 050c4ed23770373e183a9a1b404e2ac9f2f631e134249ce8614f5002d9795748e4087b0bc9902cbc54ce79b99618773d4bcca7a105b01d3dde5763c828984fa4
MISC metadata.xml 504 BLAKE2B ca7743b107a6825dd029e0798cf1b0d048e3ce730382245565692e9242d09553db2c09edd1d09195602d9d96167c8606f3e7ddd5a27e1473eb9e4fbbc9074d1d SHA512 c2cf0a52fe03067cc09edc660d981af2465e4a733e53ad601d0e6377fa61072a60be4ec916cae94023328600e52a29f18621b47e839bddc897fa00db44feb9b1
diff --git a/dev-lang/ruby/files/3.0/001-socksocket-fix.patch b/dev-lang/ruby/files/3.0/001-socksocket-fix.patch
deleted file mode 100644
index 1a79e25491cc..000000000000
--- a/dev-lang/ruby/files/3.0/001-socksocket-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix compilation with socks5 USE flag.
-
-Patch by Phobos Kappa in https://bugs.gentoo.org/762253
-
---- a/ext/socket/sockssocket.c 2020-12-25 05:33:01.000000000 +0200
-+++ b/ext/socket/sockssocket.c 2020-12-28 15:42:50.310029778 +0200
-@@ -34,7 +34,7 @@
- init = 1;
- }
-
-- return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil);
-+ return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil);
- }
-
- #ifdef SOCKS5
diff --git a/dev-lang/ruby/files/3.0/010-default-gem-location.patch b/dev-lang/ruby/files/3.0/010-default-gem-location.patch
deleted file mode 100644
index 060579b4f339..000000000000
--- a/dev-lang/ruby/files/3.0/010-default-gem-location.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/tool/rbinstall.rb.~1~ 2020-12-25 04:33:01.000000000 +0100
-+++ b/tool/rbinstall.rb 2020-12-25 10:05:34.629096405 +0100
-@@ -897,7 +897,7 @@
- end
-
- def install_default_gem(dir, srcdir)
-- gem_dir = Gem.default_dir
-+ gem_dir = ENV['GEM_DESTDIR']
- install_dir = with_destdir(gem_dir)
- prepare "default gems from #{dir}", gem_dir
- makedirs(Gem.ensure_default_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)})
-@@ -943,7 +943,7 @@
- end
-
- install?(:ext, :comm, :gem, :'bundled-gems') do
-- gem_dir = Gem.default_dir
-+ gem_dir = ENV['GEM_DESTDIR']
- install_dir = with_destdir(gem_dir)
- prepare "bundled gems", gem_dir
- makedirs(Gem.ensure_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)})
diff --git a/dev-lang/ruby/files/3.0/900-musl-coroutine.patch b/dev-lang/ruby/files/3.0/900-musl-coroutine.patch
deleted file mode 100644
index a323cdd6e770..000000000000
--- a/dev-lang/ruby/files/3.0/900-musl-coroutine.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Adapted for Gentoo version 3.0.2
-
-From b570e7de87aaad8c903176d835e8124127f627b3 Mon Sep 17 00:00:00 2001
-From: Andrew Aladjev <aladjev.andrew@gmail.com>
-Date: Sat, 26 Sep 2020 12:58:06 +0300
-Subject: [PATCH] fixed default coroutine selection for musl
-
----
- configure.ac | 5 ++++-
- coroutine/copy/Context.c | 2 ++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index ab5d532c103b..084f0936c006 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2364,7 +2364,10 @@
- rb_cv_coroutine=copy
- ],
- [
-- rb_cv_coroutine=ucontext
-+ AC_CHECK_FUNCS([getcontext swapcontext makecontext],
-+ [rb_cv_coroutine=ucontext],
-+ [rb_cv_coroutine=copy; break]
-+ )
- ]
- )
- AC_MSG_RESULT(${rb_cv_coroutine})
diff --git a/dev-lang/ruby/files/3.0/901-musl-stacksize.patch b/dev-lang/ruby/files/3.0/901-musl-stacksize.patch
deleted file mode 100644
index e5fcfce2195e..000000000000
--- a/dev-lang/ruby/files/3.0/901-musl-stacksize.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-musl has a conservative stacksize, as compared to glibc, so treat it
-like other systems with such stacksize
-
-diff --git a/thread_pthread.c b/thread_pthread.c
-index 951885ffa0..e2d662143b 100644
---- a/thread_pthread.c
-+++ b/thread_pthread.c
-@@ -721,7 +721,7 @@ ruby_init_stack(volatile VALUE *addr
- {
- native_main_thread.id = pthread_self();
-
--#if MAINSTACKADDR_AVAILABLE
-+#if MAINSTACKADDR_AVAILABLE && !(defined(__linux__) && !defined(__GLIBC__))
- if (native_main_thread.stack_maxsize) return;
- {
- void* stackaddr;
-@@ -1680,7 +1680,7 @@ ruby_stack_overflowed_p(const rb_thread_t *th, const void *addr)
-
- #ifdef STACKADDR_AVAILABLE
- if (get_stack(&base, &size) == 0) {
--# ifdef __APPLE__
-+# if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__))
- if (pthread_equal(th->thread_id, native_main_thread.id)) {
- struct rlimit rlim;
- if (getrlimit(RLIMIT_STACK, &rlim) == 0 && rlim.rlim_cur > size) {
-
diff --git a/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch b/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch
deleted file mode 100644
index 7978566afc7e..000000000000
--- a/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://bugs.gentoo.org/701494
-
-From 794b6fce94343c4f9dceca5d08224b0fb364fde8 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Fri, 7 Apr 2023 11:46:12 +0100
-Subject: [PATCH] thread_pthread: Grow main_stack if required (fixes tests on
- HPPA)
-
-On HPPA, test_insns.rb fails (along with various Ruby gems) with
-'stack level too deep (SystemStackError)'. This turns out to be because HPPA
-defaults to a small(er) stack.
-
-With this change, most of Ruby's test suite now passes on HPPA.
-
-Thanks to both Dave and Helge for the investigation and coming up with the
-patch.
-
-Bug: https://bugs.gentoo.org/701494
-Bug: https://bugs.debian.org/881773
-Bug: https://bugs.debian.org/881772 (for PPC64)
-Bug: https://github.com/rack/rack/issues/1640
-Thanks-to: John David Anglin <dave.anglin@bell.net>
-Thanks-to: Helge Deller <deller@gmx.de>
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/thread_pthread.c
-+++ b/thread_pthread.c
-@@ -681,8 +681,22 @@ size_t pthread_get_stacksize_np(pthread_t);
- # define MAINSTACKADDR_AVAILABLE 0
- # endif
- #endif
--#if MAINSTACKADDR_AVAILABLE && !defined(get_main_stack)
--# define get_main_stack(addr, size) get_stack(addr, size)
-+#if MAINSTACKADDR_AVAILABLE
-+static int get_stack(void **, size_t *);
-+static int
-+get_main_stack(void **addr, size_t *size)
-+{
-+ int ret = get_stack(addr, size);
-+
-+#ifdef __hppa__
-+ /* On some architectures, the initial stack size may be too small, but fortunately,
-+ it's growable. Bump it up to the minimum needed if it is too small. */
-+ if (*size < RUBY_VM_THREAD_VM_STACK_SIZE)
-+ *size = RUBY_VM_THREAD_VM_STACK_SIZE;
-+#endif
-+
-+ return ret;
-+}
- #endif
-
- #ifdef STACKADDR_AVAILABLE
---
-2.40.0
-
diff --git a/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch b/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch
new file mode 100644
index 000000000000..99319377ae45
--- /dev/null
+++ b/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch
@@ -0,0 +1,33 @@
+From 47988e63d65098ce1e6484f03ae5e2ca42bd7963 Mon Sep 17 00:00:00 2001
+From: Sorah Fukumori <her@sorah.jp>
+Date: Sat, 8 Jan 2022 14:03:02 +0900
+Subject: [PATCH] test_readline#test_without_tty: Use EnvUtil.rubybin
+
+`ruby` is not always available in certain build environments and
+configure options. Choose appropriate command line using EnvUtil.
+---
+ test/readline/test_readline.rb | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb
+index be338c6c0d484e..be6e65f32ef22d 100644
+--- a/test/readline/test_readline.rb
++++ b/test/readline/test_readline.rb
+@@ -6,6 +6,8 @@
+ require "open3"
+
+ module BasetestReadline
++ RUBY = EnvUtil.rubybin
++
+ INPUTRC = "INPUTRC"
+ TERM = "TERM"
+ SAVED_ENV = %w[COLUMNS LINES]
+@@ -839,7 +841,7 @@ def test_without_tty
+ loader = "use_lib_reline"
+ end
+ if loader
+- res, exit_status = Open3.capture2e("ruby -I#{__dir__} -Ilib -rhelper -e '#{loader}; Readline.readline(%{y or n?})'", stdin_data: "y\n")
++ res, exit_status = Open3.capture2e("#{RUBY} -I#{__dir__} -Ilib -rhelper -e '#{loader}; Readline.readline(%{y or n?})'", stdin_data: "y\n")
+ assert exit_status.success?, "It should work fine without tty, but it failed.\nError output:\n#{res}"
+ end
+ end
diff --git a/dev-lang/ruby/files/3.1/020-arm-readline-test.patch b/dev-lang/ruby/files/3.1/020-arm-readline-test.patch
new file mode 100644
index 000000000000..3bc40baf00db
--- /dev/null
+++ b/dev-lang/ruby/files/3.1/020-arm-readline-test.patch
@@ -0,0 +1,28 @@
+From 868f873a78034016fc05d79061245695e3c372fc Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Thu, 23 May 2024 16:10:32 -0400
+Subject: [PATCH] Skip test_interrupt_in_other_thread on arm32-linux
+
+This is a combination of main Ruby commit
+https://github.com/ruby/ruby/commit/aefc98891c42024039f19ef45bdfe93fbc590b7c
+and my PR correcting the regex https://github.com/ruby/ruby/pull/10819.
+Upstream Ruby requests that changes to this test go to readline-ext repo
+before being backported to 3.2 branch.
+---
+ test/readline/test_readline.rb | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb
+index 746a3a5ba1..86d3862739 100644
+--- a/test/readline/test_readline.rb
++++ b/test/readline/test_readline.rb
+@@ -481,6 +481,9 @@ def test_interrupt_in_other_thread
+ # likewise with 32-bit userspace on 64-bit kernel
+ omit if /\Ax86_64-linux-(?:x32|i[3-6]686)\z/ =~ RUBY_PLATFORM
+
++ # Skip arm32-linux (Travis CI). See aefc988 in main ruby repo.
++ omit "Skip arm32-linux" if /armv[0-9+][a-z]-linux/ =~ RUBY_PLATFORM
++
+ if defined?(TestReadline) && self.class == TestReadline
+ use = "use_ext_readline"
+ elsif defined?(TestRelineAsReadline) && self.class == TestRelineAsReadline
diff --git a/dev-lang/ruby/files/3.2/020-arm-readline-test.patch b/dev-lang/ruby/files/3.2/020-arm-readline-test.patch
new file mode 100644
index 000000000000..4edbc7b2b0c5
--- /dev/null
+++ b/dev-lang/ruby/files/3.2/020-arm-readline-test.patch
@@ -0,0 +1,32 @@
+From dd77934ca6e2e8b2b894f2460017323b33b619b6 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Thu, 23 May 2024 16:10:32 -0400
+Subject: [PATCH] [ruby/readline-ext] Skip test_interrupt_in_other_thread on
+ arm32-linux
+
+This is a combination of main Ruby commit
+https://github.com/ruby/ruby/commit/aefc98891c42024039f19ef45bdfe93fbc590b7c
+and my PR correcting the regex https://github.com/ruby/ruby/pull/10819.
+Upstream Ruby requests that changes to this test go to readline-ext repo
+before being backported to 3.2 branch.
+
+https://github.com/ruby/readline-ext/commit/868f873a78
+---
+ test/readline/test_readline.rb | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb
+index 7838f4f52e864e..ab70e4371122f0 100644
+--- a/test/readline/test_readline.rb
++++ b/test/readline/test_readline.rb
+@@ -496,8 +496,8 @@ def test_interrupt_in_other_thread
+ # Maybe the same issue: https://github.com/facebookresearch/nle/issues/120
+ omit if /i[3-6]86-linux/ =~ RUBY_PLATFORM
+
+- # Skip arm32-linux (Travis CI).
+- omit "Skip arm32-linux" if /armv.+l-linux/ =~ RUBY_PLATFORM
++ # Skip arm32-linux (Travis CI). See aefc988 in main ruby repo.
++ omit "Skip arm32-linux" if /armv[0-9+][a-z]-linux/ =~ RUBY_PLATFORM
+
+ if defined?(TestReadline) && self.class == TestReadline
+ use = "use_ext_readline"
diff --git a/dev-lang/ruby/ruby-3.1.4-r3.ebuild b/dev-lang/ruby/ruby-3.1.4-r3.ebuild
index 49032262514a..c75cb26915d4 100644
--- a/dev-lang/ruby/ruby-3.1.4-r3.ebuild
+++ b/dev-lang/ruby/ruby-3.1.4-r3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc socks5 +ssl static-libs systemtap tk valgrind xemacs"
RDEPEND="
diff --git a/dev-lang/ruby/ruby-3.1.5.ebuild b/dev-lang/ruby/ruby-3.1.5.ebuild
index 993cce45993f..7c501cfa9b7f 100644
--- a/dev-lang/ruby/ruby-3.1.5.ebuild
+++ b/dev-lang/ruby/ruby-3.1.5.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
RDEPEND="
@@ -71,6 +71,8 @@ PDEPEND="
src_prepare() {
eapply "${FILESDIR}"/"${SLOT}"/011*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/012*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/020*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
diff --git a/dev-lang/ruby/ruby-3.3.1.ebuild b/dev-lang/ruby/ruby-3.1.6-r1.ebuild
index 02b05be1c6ca..358461b38718 100644
--- a/dev-lang/ruby/ruby-3.3.1.ebuild
+++ b/dev-lang/ruby/ruby-3.1.6-r1.ebuild
@@ -18,13 +18,13 @@ SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
+IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
RDEPEND="
berkdb? ( sys-libs/db:= )
gdbm? ( sys-libs/gdbm:= )
jemalloc? ( dev-libs/jemalloc:= )
- jit? ( >=virtual/rust-1.58.1 )
+ jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
ssl? (
dev-libs/openssl:0=
)
@@ -36,9 +36,10 @@ RDEPEND="
)
dev-libs/libyaml
dev-libs/libffi:=
+ sys-libs/readline:0=
sys-libs/zlib
virtual/libcrypt:=
- >=app-eselect/eselect-ruby-20231226
+ >=app-eselect/eselect-ruby-20231008
"
DEPEND="
@@ -47,41 +48,35 @@ DEPEND="
"
BUNDLED_GEMS="
- >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)]
- >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)]
- >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)]
- >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)]
- >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)]
- >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)]
- >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)]
- >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)]
- >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)]
- >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)]
- >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)]
- >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)]
- >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)]
- >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)]
- >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)]
- >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)]
- >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)]
+ >=dev-ruby/irb-1.4.1[ruby_targets_ruby31(-)]
+ >=dev-ruby/minitest-5.15.0[ruby_targets_ruby31(-)]
+ >=dev-ruby/power_assert-2.0.1[ruby_targets_ruby31(-)]
+ >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby31(-)]
+ >=dev-ruby/rbs-2.1.0[ruby_targets_ruby31(-)]
+ >=dev-ruby/rexml-3.2.5[ruby_targets_ruby31(-)]
+ >=dev-ruby/rss-0.2.9[ruby_targets_ruby31(-)]
+ >=dev-ruby/test-unit-3.5.3[ruby_targets_ruby31(-)]
+ >=dev-ruby/typeprof-0.12.2[ruby_targets_ruby31(-)]
"
PDEPEND="
${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby33(-)]
- >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)]
- >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)]
- >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)]
- >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)]
+ virtual/rubygems[ruby_targets_ruby31(-)]
+ >=dev-ruby/bundler-2.3.3[ruby_targets_ruby31(-)]
+ >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby31(-)]
+ >=dev-ruby/json-2.6.1[ruby_targets_ruby31(-)]
+ >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31(-)]
xemacs? ( app-xemacs/ruby-modes )
"
src_prepare() {
- eapply "${FILESDIR}"/"${SLOT}"/010*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/011*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/012*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/020*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
- eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch
+ eapply "${FILESDIR}"/3.1/901-musl-*.patch
fi
einfo "Unbundling gems..."
@@ -90,32 +85,29 @@ src_prepare() {
# 539700.
rm -fr gems/* || die
touch gems/bundled_gems || die
+ # Don't install CLI tools since they will clash with the gem
+ rm -f bin/{racc,racc2y,y2racc} || die
+ sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die
- # Avoid the irb default gemspec since we will install the normal gem
- # instead. This avoids a file collision with dev-ruby/irb.
- rm lib/irb/irb.gemspec || die
+ einfo "Removing bundled libraries..."
+ rm -fr ext/fiddle/libffi-3.2.1 || die
+
+ # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them.
+ # rm -rf tool/test/webrick || die
# Remove tests that are known to fail or require a network connection
rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die
- rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \
+ rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb test/resolv/test_addr.rb \
spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die
+ sed -i -e '/def test_test/askip "Depends on system setup"' test/ruby/test_file_exhaustive.rb || die
- # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them.
- rm -rf tool/test/webrick || die
-
- # Avoid test using the system ruby
- sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die
-
- # Avoid testing against hard-coded blockdev devices that most likely are not available
- sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die
+ # MJIT is broken and removed in later ruby versions.
+ rm -f test/ruby/test_jit.rb || die
- # Avoid tests that require gem downloads
- sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \
- -i common.mk
-
- # Avoid test that fails intermittently
- sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \
- -i test/rubygems/test_gem_commands_exec_command.rb || die
+ # This test calls out to the system ruby which is not being tested
+ # and may not be the same version.
+ sed -e '/test_without_tty/aomit "Calls system ruby"' \
+ -i test/readline/test_readline.rb || die
if use prefix ; then
# Fix hardcoded SHELL var in mkmf library
@@ -156,6 +148,10 @@ src_configure() {
unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS
export MAKEOPTS="${makeopts_tmp}"
+ # Avoid a hardcoded path to mkdir to avoid issues with mixed
+ # usr-merge and normal binary packages, bug #932386.
+ export ac_cv_path_mkdir=mkdir
+
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
@@ -175,6 +171,9 @@ src_configure() {
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
fi
+ # ipv6 hack, bug 168939. Needs --enable-ipv6.
+ use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
+
# Determine which modules *not* to build depending in the USE flags.
if ! use berkdb ; then
modules="${modules},dbm"
@@ -195,6 +194,7 @@ src_configure() {
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
@@ -203,17 +203,17 @@ src_configure() {
--enable-mkmf-verbose \
--with-out-ext="${modules}" \
$(use_with jemalloc jemalloc) \
- $(use_enable jit jit-support) \
- $(use_enable jit yjit) \
+ $(use_enable jit jit-support ) \
$(use_enable socks5 socks) \
$(use_enable systemtap dtrace) \
$(use_enable doc install-doc) \
+ --enable-ipv6 \
$(use_enable static-libs static) \
$(use_enable static-libs install-static-library) \
$(use_with static-libs static-linked-ext) \
$(use_enable debug) \
- ${myconf} \
$(use_with valgrind) \
+ ${myconf} \
--enable-option-checking=no
# Makefile is broken because it lacks -ldl
@@ -221,12 +221,10 @@ src_configure() {
}
src_compile() {
- local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
}
src_test() {
- local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake V=1 check
}
@@ -273,8 +271,7 @@ src_install() {
dodoc -r sample
fi
- dodoc ChangeLog NEWS.md README*
- dodoc -r doc
+ dodoc ChangeLog NEWS.md doc/NEWS* README*
}
pkg_postinst() {
diff --git a/dev-lang/ruby/ruby-3.1.6.ebuild b/dev-lang/ruby/ruby-3.1.6.ebuild
index a14fd90dfe78..01adf5d8f861 100644
--- a/dev-lang/ruby/ruby-3.1.6.ebuild
+++ b/dev-lang/ruby/ruby-3.1.6.ebuild
@@ -71,6 +71,7 @@ PDEPEND="
src_prepare() {
eapply "${FILESDIR}"/"${SLOT}"/011*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/012*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
diff --git a/dev-lang/ruby/ruby-3.3.0-r2.ebuild b/dev-lang/ruby/ruby-3.2.4-r1.ebuild
index 73b25c63a53d..e469c52ff3e3 100644
--- a/dev-lang/ruby/ruby-3.3.0-r2.ebuild
+++ b/dev-lang/ruby/ruby-3.2.4-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
+IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
RDEPEND="
berkdb? ( sys-libs/db:= )
@@ -36,9 +36,10 @@ RDEPEND="
)
dev-libs/libyaml
dev-libs/libffi:=
+ sys-libs/readline:0=
sys-libs/zlib
virtual/libcrypt:=
- >=app-eselect/eselect-ruby-20231226
+ >=app-eselect/eselect-ruby-20231008
"
DEPEND="
@@ -47,38 +48,38 @@ DEPEND="
"
BUNDLED_GEMS="
- >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)]
- >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)]
- >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)]
- >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)]
- >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)]
- >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)]
- >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)]
- >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)]
- >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)]
- >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)]
- >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)]
- >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)]
- >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)]
- >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)]
- >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)]
- >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)]
- >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)]
+ >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)]
+ >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)]
+ >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)]
+ >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)]
+ >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)]
+ >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)]
+ >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)]
+ >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)]
+ >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)]
+ >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)]
+ >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)]
+ >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)]
+ >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)]
+ >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)]
+ >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)]
+ >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)]
"
PDEPEND="
${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby33(-)]
- >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)]
- >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)]
- >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)]
- >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)]
+ virtual/rubygems[ruby_targets_ruby32(-)]
+ >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)]
+ >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)]
+ >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)]
+ >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)]
xemacs? ( app-xemacs/ruby-modes )
"
src_prepare() {
eapply "${FILESDIR}"/"${SLOT}"/010*.patch
eapply "${FILESDIR}"/"${SLOT}"/011*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/020*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
@@ -91,15 +92,13 @@ src_prepare() {
# 539700.
rm -fr gems/* || die
touch gems/bundled_gems || die
-
- # Avoid the irb default gemspec since we will install the normal gem
- # instead. This avoids a file collision with dev-ruby/irb.
- rm lib/irb/irb.gemspec || die
+ # Don't install CLI tools since they will clash with the gem
+ rm -f bin/{racc,racc2y,y2racc} || die
+ sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die
# Remove tests that are known to fail or require a network connection
rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die
- rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \
- spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die
+ rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die
# Remove webrick tests because setting LD_LIBRARY_PATH does not work for them.
rm -rf tool/test/webrick || die
@@ -111,12 +110,11 @@ src_prepare() {
sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die
# Avoid tests that require gem downloads
- sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \
- -i common.mk
+ sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die
+ sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die
# Avoid test that fails intermittently
- sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \
- -i test/rubygems/test_gem_commands_exec_command.rb || die
+ sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die
if use prefix ; then
# Fix hardcoded SHELL var in mkmf library
@@ -157,6 +155,10 @@ src_configure() {
unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS
export MAKEOPTS="${makeopts_tmp}"
+ # Avoid a hardcoded path to mkdir to avoid issues with mixed
+ # usr-merge and normal binary packages, bug #932386.
+ export ac_cv_path_mkdir=mkdir
+
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
@@ -176,6 +178,9 @@ src_configure() {
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
fi
+ # ipv6 hack, bug 168939. Needs --enable-ipv6.
+ use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
+
# Determine which modules *not* to build depending in the USE flags.
if ! use berkdb ; then
modules="${modules},dbm"
@@ -196,6 +201,7 @@ src_configure() {
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
@@ -209,6 +215,7 @@ src_configure() {
$(use_enable socks5 socks) \
$(use_enable systemtap dtrace) \
$(use_enable doc install-doc) \
+ --enable-ipv6 \
$(use_enable static-libs static) \
$(use_enable static-libs install-static-library) \
$(use_with static-libs static-linked-ext) \
diff --git a/dev-lang/ruby/ruby-3.2.4.ebuild b/dev-lang/ruby/ruby-3.2.4.ebuild
index da71434a4e0c..9d52787b6b18 100644
--- a/dev-lang/ruby/ruby-3.2.4.ebuild
+++ b/dev-lang/ruby/ruby-3.2.4.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs"
RDEPEND="
@@ -79,6 +79,7 @@ PDEPEND="
src_prepare() {
eapply "${FILESDIR}"/"${SLOT}"/010*.patch
eapply "${FILESDIR}"/"${SLOT}"/011*.patch
+ eapply "${FILESDIR}"/"${SLOT}"/020*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
diff --git a/dev-lang/ruby/ruby-3.3.3.ebuild b/dev-lang/ruby/ruby-3.3.4.ebuild
index 470d6f8bf570..0b4513e79341 100644
--- a/dev-lang/ruby/ruby-3.3.3.ebuild
+++ b/dev-lang/ruby/ruby-3.3.4.ebuild
@@ -5,6 +5,9 @@ EAPI=8
inherit autotools flag-o-matic multiprocessing
+DESCRIPTION="An object-oriented scripting language"
+HOMEPAGE="https://www.ruby-lang.org/"
+
MY_P="${PN}-$(ver_cut 1-3)"
S=${WORKDIR}/${MY_P}
@@ -12,8 +15,6 @@ SLOT=$(ver_cut 1-2)
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
RUBYVERSION=${SLOT}.0
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
@@ -78,7 +79,6 @@ PDEPEND="
src_prepare() {
eapply "${FILESDIR}"/"${SLOT}"/010*.patch
- eapply "${FILESDIR}"/"${SLOT}"/012*.patch
eapply "${FILESDIR}"/"${SLOT}"/902*.patch
if use elibc_musl ; then
@@ -157,6 +157,10 @@ src_configure() {
unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS
export MAKEOPTS="${makeopts_tmp}"
+ # Avoid a hardcoded path to mkdir to avoid issues with mixed
+ # usr-merge and normal binary packages, bug #932386.
+ export ac_cv_path_mkdir=mkdir
+
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index aa78088d352e..7867bb3d60cc 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -5,6 +5,7 @@ DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffc
DIST firefox-115.10.0esr.source.tar.xz 507826764 BLAKE2B 342d5cf4d61b3efe3dde6a6e53f064739d4107690f1d101915ba8cf2214f518aa8c7490903e20179f0874a3bd62871723e877e8f789d9816f3e0d9227d751eb6 SHA512 0626e2c68ce43f24dfc2b9216e2565537ad8781daf4195d53420e1b78d57d0f6360fbe56b0ddbedae3818546c72472c85c1ff2b208c123d32a0543e666f42b65
DIST firefox-115.11.0esr.source.tar.xz 506015444 BLAKE2B ced11d0665215dbf0aed710015a1e27863ecb8ccbba71ff6f6c57e1789e54c3c7c1940507db86ff2d8eea4d323a9ca7fbc40eaa6eaa7b0ec922ff69ffad64886 SHA512 0f3a87c99fb008088afd509d9259f893fdd44ea6bf6a5e69806fefb8d355415e81b9e8832a392acb9d0c1c50e4add7f1362a4aaadc35e1d9c2e55baf7136aed8
DIST firefox-115.12.0esr.source.tar.xz 505219784 BLAKE2B 6d2cc80daca9977f73ea0c0fe7e7cac999f2d7a99c324332d69d9438a6d954fe72ffb35e4df4c2a86abcdc94231c4847bb3e64dd612240f8a6d86e63abdb1be2 SHA512 d98475061d870e0f3aa920b7c0b9b0c1cbdb3f4102f760f1d1c5ea3e45e216c673c8d3662501e7e78af4950a003a519e94b57e9b1eda8d615c159cdf62130e89
+DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f
DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310
DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c
DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f
@@ -14,5 +15,6 @@ EBUILD spidermonkey-102.15.0.ebuild 15624 BLAKE2B a10e3fb8fcbc0f0016778a3c5bb1ca
EBUILD spidermonkey-115.10.0.ebuild 13656 BLAKE2B fe1ae11304f93a2fa425ac207c7a6289fbe3ca9dc48def2a3e8d6bc88319ca1a49412f3e8062370fa9f5b0b18ef89f31d20ce91c61d43e4f4e26447809afc4c0 SHA512 d9ce326d7049f8ae6fb6d3d5a40cf1d52c2e49ded65e91e37f79cb57de4701d4ec962590360175e9d144b3e9d4942db4cb0b3cfaf65c8f6136c90f5d0e190dee
EBUILD spidermonkey-115.11.0.ebuild 13677 BLAKE2B a7b427b5f698c10bb87ea9554271066094b617e8e584b794ace4de55b3f92fa8f4433f89b44ea651e8d46e21ff07dd39a61b445bc083057cf221622bfaf61149 SHA512 29e048e3c4a27a53ace468f1488dbec63878aea8de9cbef743e795bba9dd27d74f9c6182d5134e7847ccb3ad369fb6e851d1eecd541c546b0ad553464a3bebb9
EBUILD spidermonkey-115.12.0.ebuild 13677 BLAKE2B a7b427b5f698c10bb87ea9554271066094b617e8e584b794ace4de55b3f92fa8f4433f89b44ea651e8d46e21ff07dd39a61b445bc083057cf221622bfaf61149 SHA512 29e048e3c4a27a53ace468f1488dbec63878aea8de9cbef743e795bba9dd27d74f9c6182d5134e7847ccb3ad369fb6e851d1eecd541c546b0ad553464a3bebb9
+EBUILD spidermonkey-115.13.0.ebuild 13979 BLAKE2B 4a30a086282b79181e51d9a8520050f319619753c18eb9549fe086a6bc6b207577778f777c08182836fceb65cb2d0c0bbd0caa329da97ef7dd727dffe2c7193b SHA512 5fd1097d32c2fdac0e8923bfd8e191117b337f8b04c631fe9f840498f38f54a8bb1ae73a16c0b219454978d922d864b38f4caba424d76d9dc2db78fc205a5f97
EBUILD spidermonkey-115.9.1.ebuild 12934 BLAKE2B d0be2703825b566522d31850e60320c2f250de4683983bfa1474aeef053282321d83b26007fc36ea6429c48f5a528cb47a81627cdbff23754d61275a38776063 SHA512 aaba4bdafce7062a2b8a8b66c0488c4a6b4da519b1ea91b236fde3e7fe1c352205729331e71aae022083cc9dae2dd8b62e23e5dd35e452e3f919e6469b94f5e0
MISC metadata.xml 513 BLAKE2B 58ffd474492f03c16bda95e48511fb6281e03067d2ad77e994f8117345ecece5da9591dccedafe75b037d98e06851a3759caa4b993adc2910dbb76e1c01a7fa3 SHA512 1ee02bff37e2dabbd72b7f719463b12299270c7960b4cf5a92afab17c954c50e6acb826d4a91db4954fb4a7b0f8669988f2cdb5be991df90e3a605c6b35fdbfb
diff --git a/dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild
new file mode 100644
index 000000000000..63f797ff1d47
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild
@@ -0,0 +1,509 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ || (
+ (
+ sys-devel/llvm:18
+ clang? (
+ sys-devel/lld:18
+ sys-devel/clang:18
+ virtual/rust:0/llvm-18
+ )
+ )
+ (
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ sys-devel/clang:17
+ virtual/rust:0/llvm-17
+ )
+ )
+ (
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ sys-devel/clang:16
+ virtual/rust:0/llvm-16
+ )
+ )
+ (
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ sys-devel/clang:15
+ virtual/rust:0/llvm-15
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ !elibc_glibc? (
+ || (
+ dev-lang/rust
+ <dev-lang/rust-bin-1.73
+ )
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )"
+DEPEND=">=dev-libs/icu-73.1:=
+ dev-libs/nspr
+ sys-libs/readline:0=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ # Workaround for bgo #915651,915651,929013 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo #915651,915651,929013 on musl
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+
+ --disable-ctype
+ --disable-jemalloc
+ --disable-smoosh
+ --disable-strip
+
+ --enable-project=js
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ if use debug; then
+ myeconfargs+=( --disable-optimize )
+ myeconfargs+=( --enable-debug-symbols )
+ myeconfargs+=( --enable-real-time-tracing )
+ else
+ myeconfargs+=( --enable-optimize )
+ myeconfargs+=( --disable-debug-symbols )
+ myeconfargs+=( --disable-real-time-tracing )
+ fi
+
+ # We always end up disabling this at some point due to newer rust versions. bgo#933372
+ myeconfargs+=( --disable-rust-simd )
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ if use clang ; then
+ if tc-ld-is-mold ; then
+ myeconfargs+=( --enable-linker=mold )
+ else
+ myeconfargs+=( --enable-linker=lld )
+ fi
+ myeconfargs+=( --enable-lto=cross )
+
+ else
+ myeconfargs+=( --enable-linker=bfd )
+ myeconfargs+=( --enable-lto=full )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ # Use system's Python environment
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+ if use sparc ; then
+ echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list
+ echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+ fi
+
+ if use x86 ; then
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+ fi
+
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
diff --git a/dev-lang/tuprolog/Manifest b/dev-lang/tuprolog/Manifest
index 25109f911f4d..00f5fab7c738 100644
--- a/dev-lang/tuprolog/Manifest
+++ b/dev-lang/tuprolog/Manifest
@@ -1,6 +1,5 @@
AUX build-3.x.xml 2968 BLAKE2B e403d134a62504c396842f2fad71cf2aec1786c5d7902d7d08398894eb0dfe709617ae137b2249cf81d5c82f14707364b072990b1cc695b9deb49f6cffb96377 SHA512 4e65ba93141f8c47b2be9f534b05be3c4fa33428df73a23148b8f0f675f617071ad6c14c8aaa1f1ed6de03832f3e26b0b065b2f67834199244fbe55b398f0f20
DIST tuprolog-3.2.0-gentoo-patchset-0.tar.gz 1813 BLAKE2B 4ed7ffbb752a821a2b2842cfdbc1f4ec92d14b35a1c5a722207b45ec9dbdc44588acc010fb6386e8ed2e7d30d3bc8d425f0f74e8cc953cb7afad8305904e1499 SHA512 454757fc01f3f697510426e7a2a41b57350c1e3f980e381e197616e10eaf88339155226096f1d417397b9bc6f4964a45b3d547c6794ad23a4a014b06212b08f0
DIST tuprolog-3.2.0.tar.gz 6242286 BLAKE2B 77a3d3f886673aca72fffd9bb60657efcbe7ea5bb0f84eea7a72df513295d572c8116472f8d544240fac676ac9a6a0fcecfc3166e6426ef7d8af80eac4ba8d85 SHA512 e27bd989d66bae26c646cb69670fb75232ebdd18d1dbb9d600f9847921ecd56d17221736b3ec15c087857509272ce89af8bc44924130430db3860870a06bb499
-EBUILD tuprolog-3.2.0-r2.ebuild 1400 BLAKE2B f8ea3a222f28a32ff069f832701869b567b3f312649071a5e19d59e59125866acf3d159a107e53e0323c254284da3fbf7f5acecdaadfb276677b9814e3fb1318 SHA512 b1b008e92aeb7f3f3dd12fed5a3d0ba201fa21b41fd69e6db45883909e0df607489ca266fd90dd456172032a47fd9740e26316f1c1c3e3b29c70a422e291a83a
-EBUILD tuprolog-3.2.0-r3.ebuild 1779 BLAKE2B da40558dc9582fd63b021b34558300f501e109aa19c4ed3e11e1bdfbbbda17d103fd843fd2a5e2045d1c35a83049d63e708dc47ef5f584bb067f74c7145dff11 SHA512 198758efda408a2455bb9f61574e0d1644a97775546437cbf97973c56d02d7422b7aa9729197dd4b72b8d4b76c7588be80bbbe75864b54f00a263483dcd69002
+EBUILD tuprolog-3.2.0-r3.ebuild 1777 BLAKE2B cf7aab3bd1854faca9f63b8d4536b96deacf9a535f4efbedac7d76319958b4918282e816bbbf9c42f3b4d55ac1a6edf16f4cd9d17c9b43bcf155db1b8520b352 SHA512 861810235e34bce8dc1380e329168af811dfc4a85f23190064acfd615ffff1d98ae84fd1751d2225596a4f02b7c361d98fe4073d3c633c6280a919482db56369
MISC metadata.xml 319 BLAKE2B ca131e483438742de5ab07f1e8c3891664ecf893ef477c917688fab8968cc5a790be3512f70027c86cfa03372d1234da3b737a1d68351c95e8902bd0eff59020 SHA512 5ed1bafbb0e39e5e97b32be26dbcb18f32063f60ed0db7ec99d08cd37d36dea037f257df5e3f63ff0dfa4bb8af2b41615d0f7bb1f937fa1449ef245d652eb5df
diff --git a/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild b/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild
deleted file mode 100644
index 4f1069f34211..000000000000
--- a/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2 java-ant-2
-
-PATCHSET_VER="0"
-
-DESCRIPTION="tuProlog is a light-weight Prolog for Internet applications and infrastructures"
-HOMEPAGE="http://tuprolog.unibo.it/"
-SRC_URI="https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}.tar.gz
- https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
-
-LICENSE="LGPL-3 BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="virtual/jdk:1.8
- dev-java/javassist:3
- dev-java/commons-lang:3.6
- dev-java/gson:0"
-
-DEPEND="${RDEPEND}
- >=dev-java/ant-1.10.14
- test? (
- >=dev-java/ant-1.10.14:0[junit4]
- dev-java/junit:4
- dev-java/hamcrest:0
- )"
-
-S="${WORKDIR}"/${P}
-
-EANT_GENTOO_CLASSPATH="javassist:3,commons-lang:3.6,gson"
-
-PATCHES=( "${WORKDIR}/${PV}" )
-
-src_prepare() {
- default
-
- cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die
-}
-
-src_compile() {
- eant jar $(use_doc)
-}
-
-src_test() {
- cd "${S}"/dist
- java-pkg_jar-from junit:4
- java-pkg_jar-from hamcrest
- cd "${S}"
- eant test || die "eant test failed"
-}
-
-src_install() {
- java-pkg_dojar dist/${PN}.jar
- java-pkg_dojar dist/2p.jar
-
- if use doc ; then
- java-pkg_dohtml -r docs/* || die
- dodoc doc/tuprolog-guide.pdf
- fi
-
- if use examples ; then
- docinto examples
- dodoc doc/examples/*.pl
- fi
-}
diff --git a/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild b/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild
index 5a6aa37f8183..c82e3ddcf3ed 100644
--- a/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild
+++ b/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}"/${P}
LICENSE="LGPL-3 BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
CP_DEPEND="
dev-java/commons-lang:3.6