diff options
Diffstat (limited to 'dev-lang')
72 files changed, 4526 insertions, 582 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex e750cdeb4e31..17e9a5ad8623 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz 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 |