summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/boogie/Manifest1
-rw-r--r--dev-lang/boogie/boogie-3.5.6.ebuild263
-rw-r--r--dev-lang/clojure/Manifest2
-rw-r--r--dev-lang/clojure/clojure-1.12.4.ebuild (renamed from dev-lang/clojure/clojure-1.12.2.ebuild)2
-rw-r--r--dev-lang/erlang/erlang-28.1.ebuild2
-rw-r--r--dev-lang/php/Manifest4
-rw-r--r--dev-lang/php/php-8.3.28.ebuild (renamed from dev-lang/php/php-8.3.27.ebuild)12
-rw-r--r--dev-lang/php/php-8.4.15.ebuild (renamed from dev-lang/php/php-8.4.14.ebuild)19
-rw-r--r--dev-lang/rust-bin/Manifest31
-rw-r--r--dev-lang/rust-bin/rust-bin-1.92.0.ebuild339
-rw-r--r--dev-lang/rust-common/Manifest2
-rw-r--r--dev-lang/rust-common/rust-common-1.92.0.ebuild73
-rw-r--r--dev-lang/rust/Manifest3
-rw-r--r--dev-lang/rust/rust-1.92.0_p1.ebuild870
-rw-r--r--dev-lang/rust/rust-9999.ebuild58
15 files changed, 1627 insertions, 54 deletions
diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest
index 38d9197f336e..c36a4a6329b6 100644
--- a/dev-lang/boogie/Manifest
+++ b/dev-lang/boogie/Manifest
@@ -1,4 +1,5 @@
DIST boogie-3.5.5.gh.tar.gz 2129852 BLAKE2B b1271e900f6e2a94da6c2dbb8ae3916dc6e7776bdae06cebf097e88e21437a973063ada91fd07ee312b0829562e8cc8bddbd4f500f3b55bda6abd0def6728f83 SHA512 6c0b2315c330f8622abdb91312896f60fd54162b3bea8a636b865990f429c3e3cbde0b1a196e319c3777df3046680b3e73631396937a97de8dff7cd5403f04ea
+DIST boogie-3.5.6.gh.tar.gz 2134059 BLAKE2B 95a05a4ef6b7e326780b7ceba0fd165f2ffca1f8fc5e3a4b8a8dfca9afdc2816ca607249f8d73f46070c532299f7c0890d4b3f052640d0019dfec84fed81c052 SHA512 db6f3fd2f4a740d9f6dad74e58db7738715e93ee466b5ab97e8e089b97dee1592ae77561c93feb3694a0c480bc0cfc8171e0a4c9d14b498049602daf116e928b
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
diff --git a/dev-lang/boogie/boogie-3.5.6.ebuild b/dev-lang/boogie/boogie-3.5.6.ebuild
new file mode 100644
index 000000000000..b54fc874d0a6
--- /dev/null
+++ b/dev-lang/boogie/boogie-3.5.6.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT="10.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.3.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
+nunit3testadapter@3.15.1
+nunit@3.12.0
+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@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.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.security.cryptography.openssl@4.3.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.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@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.3.0
+system.collections.concurrent@4.0.12
+system.collections.immutable@1.2.0
+system.collections.nongeneric@4.3.0
+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.3.0
+system.componentmodel.typeconverter@4.1.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.3.0
+system.configuration.configurationmanager@6.0.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.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.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.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.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.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.cryptography.protecteddata@6.0.0
+system.security.permissions@6.0.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.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.3.0
+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.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}"
+else
+ SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.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
+ havoc0
+ inst
+ livevars
+ prover/cvc5-offline.bpl
+ prover/cvc5.bpl
+ prover/exitcode.bpl
+ prover/z3-hard-timeout.bpl
+ prover/z3mutl.bpl
+ snapshots/runtest.snapshot
+ test15/CaptureInlineUnroll.bpl
+ test2/Timeouts0.bpl
+ test2/git-issue-366.bpl
+ test21/InterestingExamples4.bpl
+ )
+ local bad_test=""
+ for bad_test in "${bad_tests[@]}" ; do
+ rm -r "${S}/Test/${bad_test}" \
+ || ewarn "Failed to remove test: ${bad_test}"
+ 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" "${PN}"
+
+ einstalldocs
+}
diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest
index 3a278227423f..f7cabce8dd49 100644
--- a/dev-lang/clojure/Manifest
+++ b/dev-lang/clojure/Manifest
@@ -1,5 +1,5 @@
-DIST clojure-1.12.2.tar.gz 754597 BLAKE2B 37beac791f363e15ac1921d8e07d157428b78dda9071643b384fe6178fb9e20b5a11112740e545c89cdd52eb622c1aed3b7f3acd7212a8310301a9396352e187 SHA512 cc77e6e6bd8dccab6d050b7e85227c73582744adcbbaa2fd233c61f691b2b45cac91f3d37ebfcf2b69c5abf3e885fc43480c6630f0f5ba51f1da6de931cd720c
DIST clojure-1.12.3.tar.gz 754719 BLAKE2B ced7ea85eeaf1754e4c59704349ed0f8dbfd945e74be10b98877434b97e2166336cd04d0cbf58bba09955b3cb97c05fc1ecf7475728db5f8d8557dbea64f1ac3 SHA512 50c8ed7fe40551a63fa3b6d478913b7cd33fd5ec99e87c0fbee82d21716956853094509313b1d7484ff955a285e3f298be84f694d654ec4669a7771248887d49
+DIST clojure-1.12.4.tar.gz 754776 BLAKE2B d76879c40fee3a3b7520d728150eccfc6c5fc5abf8016ea0fb946f30d717dc6d64fd5fa77a2f60707fa93a400c8ed51272b15ed857eda82f672dba811cc8f338 SHA512 95bdc41876bdd8df10977bcb02207148db33981d48d2819fb58c7c2cf4b40a18ab43852c29179528a416efe9a51bdc1a223456ddaad1f152647b9f22300f041f
DIST core.specs.alpha-0.4.74.tar.gz 12225 BLAKE2B df4238bdec9d91ad935b76d025cc439d2842e8577bafcfab5267750149e0f1dcbf9a8e35475f60f64f10b84f99b59238157fce82311684e63598a0cb31b350e8 SHA512 dae9ea983d9f46d0f3d5f8979f0f2b1a0eac3af48103063b5904f8cbe9813f87ef71f7a4a85528db7e9d2189f4ab2a656f805ddcc13e2835c47bc79d8408de31
DIST data.generators-1.1.0.tar.gz 11781 BLAKE2B cccbacb789f37a705d64c9467dcb0f737110176c92f3af89165688676c225179bdf17ca29126ab3578a54ace9137c991d2f1bf4b3024c7c6aaf9fe2f63f37fb8 SHA512 7b51fd44c9d58de639d036dbce343dd81a271e28db096c64e910ca6c87869fa6ccac9ba87d7313b53304017a335ee45bbd5ab9794bc166ec46b5a8d86b5aa82e
DIST java.classpath-1.1.0.tar.gz 10881 BLAKE2B 1f3f9a103197990954e97725ffd581945fa27f2b50b44513a94a28bf0c50f0f2fd26a906f30eefbb110942d3ba157af945e009e3d5825a73ffb37aa85679bde6 SHA512 2d3c887a04f4c8a3a1189de719cfe020ff3989bb0c680328ef15311105b2244aa2d6797c017b1d39f6c025a8bf5ea36051d995dcebcae2ea032a5ca8cec12816
diff --git a/dev-lang/clojure/clojure-1.12.2.ebuild b/dev-lang/clojure/clojure-1.12.4.ebuild
index ffb2cb87df74..c97b582c6c2f 100644
--- a/dev-lang/clojure/clojure-1.12.2.ebuild
+++ b/dev-lang/clojure/clojure-1.12.4.ebuild
@@ -47,7 +47,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="EPL-1.0 Apache-2.0 BSD"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~x86-linux"
+KEYWORDS="~amd64 ~x86-linux"
RESTRICT="!test? ( test )"
BDEPEND="
diff --git a/dev-lang/erlang/erlang-28.1.ebuild b/dev-lang/erlang/erlang-28.1.ebuild
index e1e6123e2da5..d1791f655abe 100644
--- a/dev-lang/erlang/erlang-28.1.ebuild
+++ b/dev-lang/erlang/erlang-28.1.ebuild
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0"
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 29547c46c36b..972e4180e62f 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,5 +1,5 @@
DIST php-8.2.29.tar.xz 12162364 BLAKE2B 5750dde1e75e0886fb583c4571f3802fc8d6ae30848fa5e423838e612b65414af05a6354896a86f35ebde292ad3b6c171c8f42cda85ea79216743194153112b9 SHA512 36d389e43a9d6bdc558f5e949f54e126c6fd4bf00da572e061e4e4c2f62ffeb292a34371486d3a64b85ab4a18678f7d84b2e3628e0ddc723a7757e90fecdbf92
DIST php-8.3.26.tar.xz 12581368 BLAKE2B e47b603400f36dfcba2bde85ef64b55d95f156ca4745b7edf14f0b9fa6027158486511e95b9d8440d05321d8540f71c30fb1c2ceb601c62f02838356c5902f6d SHA512 252c0c95bb2c4d6bf03e686c205777b529aaebe52f143754b369069d7a8aa5b45e8c2addb968287d6473cee507df62729e2527607b796fb764d3f036ba89fafb
-DIST php-8.3.27.tar.xz 12592316 BLAKE2B 12b3d14443816e78b7bf70f9f8600116adbd00e46e524ca4408bd1cc1e06782c50a9806bec074e49babca8337cdf0f136189a7d9f611c302b5b3323bdc9fa2c2 SHA512 845189f97063574ef1f677d6ceb39c5ef362cab7068f908d6d870a1ea52953d6ec00b3bf042ce2daa6c2a84038a64f2ae6027ede9ae5952028a94f781200e306
-DIST php-8.4.14.tar.xz 13643936 BLAKE2B 47cfcf6a3d2a005a2100eb959f05c70736f5f62244ef67be44055c0e66ea5222c43b7d6b2c0f2ab05b719e1492e81475908ab739fe8728730f5a2dfeefe00175 SHA512 a7626f8dc1b951bf845e72884a4dcc622a06159de623772a97ef5ccb20930a85273db81e98e933c26982ba3a539847b61bbe86bba4792f5fee49a9c91814a63b
+DIST php-8.3.28.tar.xz 12604244 BLAKE2B b6a0daa396429c79f9a0d235de1fc8f16044d33c8b0df90db22337a079594d6c671a24cf533e9232294558eeca52d6f8c4cec5c10018954dd71e31b628feaf00 SHA512 8dc88361d59710e165239e16a8c976230d3e355c73c1c44126701591fcc02cf97e223dae51349319eca09191311a15f5596a3341ed09ed7b9cb40c1e230c6fd4
+DIST php-8.4.15.tar.xz 13652564 BLAKE2B 0a43916a89c03cd1c397aaf3442b687c7349c10a6f3b222f510ae31610615aa034604c66a54175b379d72f2c55d05ba6092d9f8bcbcb9ab8fc5136ddf68f1443 SHA512 0ebb2b2e4448959cb12bafba32a879b9a65e785ddc41b2e928f634f7e90df18503ef915bec62e37667c4ce29c577de325cd0e04e214267757c999d2470882705
DIST php-8.5.0.tar.xz 14314552 BLAKE2B 5ca0b7ff94f363143b264326edf576c9f84bff607704ee119680948439db20f3db61f88c7ce8f46447bcac5c57238dd6bbab2b48d507b9547ce661d0d1d6a712 SHA512 b003f61e491b4848ea61a15eab7d7b1b932364c54687ad6c0b24fd36338c358afceb761f5b7e446dc05dbb76e7086b014bac0c91e9bf7ec55c16be2ac8c71940
diff --git a/dev-lang/php/php-8.3.27.ebuild b/dev-lang/php/php-8.3.28.ebuild
index 14fca609ecae..0ae2bc9a6cb1 100644
--- a/dev-lang/php/php-8.3.27.ebuild
+++ b/dev-lang/php/php-8.3.28.ebuild
@@ -269,18 +269,6 @@ src_prepare() {
ext/gd/tests/bug73272.phpt \
|| die
- # Test requires truetype support
- if ! use truetype; then
- rm ext/gd/tests/gh19955.phpt
- fi
-
- # Should be OK in the next version, but this test required network
- # access when it was added:
- #
- # https://github.com/php/php-src/pull/19776
- #
- rm sapi/cli/tests/php_cli_server_ipv6_error_message.phpt || die
-
# One-off, somebody forgot to update a version constant
rm ext/reflection/tests/ReflectionZendExtension.phpt || die
diff --git a/dev-lang/php/php-8.4.14.ebuild b/dev-lang/php/php-8.4.15.ebuild
index 2132cc3c040a..507a6e9e5a0d 100644
--- a/dev-lang/php/php-8.4.14.ebuild
+++ b/dev-lang/php/php-8.4.15.ebuild
@@ -269,25 +269,6 @@ src_prepare() {
rm ext/dba/tests/gh19706.phpt
fi
- # Test fails in a sandboxed/offline environment,
- # already fixed upstream, but not yet in this release
- #
- # https://github.com/php/php-src/pull/19776
- #
- rm sapi/cli/tests/php_cli_server_ipv4_error_message.phpt || die
-
- # Test requires truetype support
- if ! use truetype; then
- rm ext/gd/tests/gh19955.phpt
- fi
-
- # Should be OK in the next version, but this test required network
- # access when it was added:
- #
- # https://github.com/php/php-src/pull/19776
- #
- rm sapi/cli/tests/php_cli_server_ipv6_error_message.phpt || die
-
# One-off, somebody forgot to update a version constant
rm ext/reflection/tests/ReflectionZendExtension.phpt || die
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 1ef5bf3ed9f5..061b3abe3614 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -701,6 +701,36 @@ DIST rust-1.91.0-x86_64-unknown-linux-gnu.tar.xz 192170744 BLAKE2B a06c63e3c534e
DIST rust-1.91.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4bfa68287897a1b5916c04a56909aaeaa305cbdc4a9bef377295429221e48451a6f4670929c9d35e80a0d40478352702673bdae4958a924d4124c26e888ff561 SHA512 35e678a3d164b5f198e5aac2ed1c1a6af8fde83b84c84be6e3ce51a7099ae0a3e7d25510b45a1b2d6bb99599cda0f18ceec46883982bdca6ece94eb1e381ed0b
DIST rust-1.91.0-x86_64-unknown-linux-musl.tar.xz 295368056 BLAKE2B 3057d8cc29bc789bd1c4d9d0779a0b2ef4b26c2278373960558a316061db72a77edf37e330eefe5c3ec66b69cf184fb46a14641162ba6ecf96f909d3ac7db100 SHA512 98a03725e216687be237358b1a6598470e98322af6cf51fc51d7ede23ae58b0107872a7f8ee2e4e69e9531b821be7145a975c86899a97728e809260b35ab7f23
DIST rust-1.91.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a8fb18793e536aec99626bf3d85890cbbbd8c2ee5e2a2917999543bd3153b026db1072419ad464e35ecc508e3e3fcb9cae450b4f590359589545fe9adbbcc26d SHA512 0c3bce48b1ddc7d97946ad5e27f8dde91dd14743577fe60056f7c6558139bab7d8aec4ce76901abd2633a61eb122bc30595779cea047ff7a714e83fda2921cb9
+DIST rust-1.92.0-aarch64-unknown-linux-gnu.tar.xz 169667388 BLAKE2B 268524a8066b68dfc2aa4fa524679b3ecc1bf47f74aab47b794eeb0a3ecc76255b7056ad1a852512a52a06802a2dc457bba8c60107d0cb9b464215c344c5430d SHA512 ade2921e938d7bc76638f7f3a47c23c35078cc9d92dbe4a6f032c74204ee41029e276479726154094d06f21e085a44b3a494649940e136a375b066952599eee0
+DIST rust-1.92.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B af7d38ab3fe8656c6234bb7bfd6129e52107b8f55f2cab7b234b74bd7219c9f8de7becc15b8f26dfb424085a15652876b62f8d8bacaadf612b4137a36c642eb4 SHA512 38ddf0d10ec9ad6b859b676c95c93736f8f5135235d0723aafec59b1a2d55e077e549d3b97fecf4b1794d120e3ecc4ed1828170df53b0ca4ea89fc252c500539
+DIST rust-1.92.0-aarch64-unknown-linux-musl.tar.xz 243864176 BLAKE2B 1f204b6b324aca414854f823bc16279444e27e9317092fe7a52f87420a1abcc3e56496baa9f69db00da3af8e81685b1fdeee53537f22910c26513fb7a4a6f6fd SHA512 c86001441d76110a5cfe79c4928997ca7d6211928607fa25f2cbbe06a279ab410d285f24c40dd112ec7d707a71d205b5b784cb465aaccbfb040895a4de44995d
+DIST rust-1.92.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2e1d204cd5b420b28dcd8058c573a923df355cb6115804c8f763838d77cb4a430843f5aa44e7b58150ce4aac4920d8e74180ed94a9c2533530dfca472764822c SHA512 27d817e6390c7dede11133b75ca42d839179a62829c1376a866d2c9435c0f5f669fd55d5e8a357cfd359c3a0fffdf7315f296652a44818f313c70b76dc118a35
+DIST rust-1.92.0-arm-unknown-linux-gnueabi.tar.xz 226603088 BLAKE2B 7515c103ba35a953ec1ff76e346d4468ebc9e468896b8b63217536dd60ebc069a55d0a3a0dcea378993edbc9b80c1bf38b0cd3b6d36d3798dffc759845023f63 SHA512 af5b205a4f8cf4216adc7ba842e33165ccd9b6837d28c886a0c781310ef5afb0707826ada83fbd478c02a7365d5e784f3aad0df5526ffe64747ac3df85f5ccab
+DIST rust-1.92.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B bda65222f9cd8e8197e69de7916ba20a53ed7e2a3eda62582b24eb39dbf39c76fe4b0034b3b89ef1d84fafcb7ece0c4884ccc90a4d84b5bbb1381f1cd5166c07 SHA512 c6c8b81c2e20a71eea1a6dff526708f6b6868c13f102ffe7178329f481183321f55a8e99d9edc5047dbbe33bee4ac0bb5fcb5c91abc4113b61252c84947c8845
+DIST rust-1.92.0-arm-unknown-linux-gnueabihf.tar.xz 226977168 BLAKE2B 001e8ef2b098b796801aa5d544c69325d771f5ceae18bd49666d6075d0075987e31e13bd22d8be8049850818070a0d2a371606f94a859bcb8074433c68d5cdd0 SHA512 373bbf25efae00e3f0ba291434facd0a1493dbe5732675cadf9c083be434a58faa93e0701281018e30495ecbb9181bf1dcd5440be167ac47b208fe6ff4b9ce28
+DIST rust-1.92.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e91a70eae027b9232a8d795403addce6c9ce93aa6955602ab1395921812e8279de7351fdef3386973d08cd210c78d98f6ffd6f84e01b8c42fac488e43e9c4843 SHA512 85c3cfab75724a454a6cd4e3e4acbbefbc9a424093fbb8428c3e7d61d9eff06a4d6a82ae7289b340422cf2b670fbec1d04d4134ffbf765309a941a4ed7f5e16b
+DIST rust-1.92.0-armv7-unknown-linux-gnueabihf.tar.xz 229391128 BLAKE2B 0f8f124c535ffb2fee7ab3ed4a5d66ca2c80093e835ab579c2e66eb87c1014c2fa3c3e4a112976de259760fc362d8f0f181af491d0b5ad3b7a54f2219baf1361 SHA512 973e1c93f06a9db6270d2af195c74a0bb78bdb0a62661ffd5b3980c425190a4497fa4ce75cefabdc040c266fa58e65f08df6bbac480baeb67244baf00a9214dc
+DIST rust-1.92.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 34d7bf789aad9769c935c8128ce27d25d60c1f2929a2be1a00454d90b332c8786a2d67f730c3964c5263e7d30bb4f102ed83d0f1e11ecddf12520ca823080347 SHA512 8d0ca423952b5ebd512f73204c0024665781c9dc827d2e0a1b3faebf721c6ea6bb2b03f4eadfba0dca6168b01f023c8bc2efcfd2e3aab8e7d757a52e394e58d8
+DIST rust-1.92.0-i686-unknown-linux-gnu.tar.xz 266952280 BLAKE2B 4bab20abbd86eecbaba177beba98cda7458bb78de8b7544bda6b645f0aef57112953135d9c6561b0563924a9d01d0e9b8d4930446f2bc7b1bfad2148b9fe4a21 SHA512 44af49ebaba392c9cab6f21fcc31bff69f4aa4ff56621909cb23970da94b774daff7716692a7b6d5913372f27c7081edc572fbc352c1984bb9bc62fb4b4d176c
+DIST rust-1.92.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8b18e860fae047b69b0ca2bb76e720ff545852045267a30a1a9e40a24af1671031eb4d14749fa84a1286ec3aa0a70dff438b1698081e9f6efdddba3ff08608d5 SHA512 c24bcc5da2b0672fdb9f096a9c44c3dbf31bbae6b7339d5404912b50da8210cc49288e1391e9bb6e8b161b6248975e3b2c7a8b1d776c2b0658b25af253636529
+DIST rust-1.92.0-loongarch64-unknown-linux-gnu.tar.xz 260244032 BLAKE2B 360823455bdc56f1c12539c4c0ef24a2cca0b083355fc872eb065db02b8e78c74472770253db40b1bce593c8e397e8701f279f42c78b296a444d28926ff34e8c SHA512 889dad9bd4dc2076fc6d917fe00f8ec0ae97c5cbac73d7a83c0d6206d5463ca43eff8301bfb9a653a102eba3ac4c8b50db291667d00dca9c9e259d759208f2f8
+DIST rust-1.92.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0491bebf5609afdd7f9e7479db3e52b0742f8cc3e4ccfcb425214f047bbd8461a4c3bc99646c5f9a466f9aaac2cf0432879b2571e06b8c678b78efa2d16e55f6 SHA512 434165ef1019cf87ddcff0e9784739e2670c1c2a59a813d250a7b433aa34f2682095675bd17203abc0a4f8a7ea01c904913679c224e6c8c5495ed53a172135e7
+DIST rust-1.92.0-powerpc-unknown-linux-gnu.tar.xz 249263952 BLAKE2B 8cacfb3bcbba699f280b754d489e0fdb917fcd2e1e1083fdd10467392d29c56eb597d0bd31e98592963fa82bb507c8838763a5aba209a909b2dfb5ab3f27c3cb SHA512 6f4fb3fdbfee99bb7f2dbc70cab055c237e2e0223fa46e2272a96c2592a1160b71268b2895b95093a048e6ff784fe07ecca2709e6475c68cde8a32ab3f6bb480
+DIST rust-1.92.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a3ea0070162418a06e866ea70b60d3cf63a0e739ad916295e7dc692d12aa5a303bdc08cdc72a78f51e865f1914ded82cf2f3545f91b5b453a8fcac58cdc76554 SHA512 39d4434f767d5ce3fe869f9574ab3fd371f8687fbc1b28c1aad9fbac4e5ce8342574b97b24013e2c718936194e97e37e419919c376f531cb7f5d5a139ed3e0c9
+DIST rust-1.92.0-powerpc64-unknown-linux-gnu.tar.xz 251652784 BLAKE2B 66a6c1ce7155e33c8f75d882f746601db13b9c932cdfcab824bcc352205062998d0ca0f1b9c58f709692d344be43a0058d0228a58f34dbafa59d9d3421412b5a SHA512 090dfc19fb0ee9f156c3a24ca4965f4385c20551dfe2c6b248d335ebe6d9a12bfca3916ea27f571f67aea00e1d89371e92e5a6b128ed10bb590a8a2c10b0aafe
+DIST rust-1.92.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100d2ba8cf241fa3fce2219e07428a0591815afc1cd4fb192cb062f6bd99ed3bc45d97c74d07a31ca27d9af2872e8dad9a8641ff66deddc6e9a7b56ae3877e SHA512 360662ba1a7b9db74136569ae8ec4e4ebefee336c35b1c85e0f0cc0a25a5caa1ecc5e4d0c6477346bff8234a8849bb3330c3c9201e3765beff8662d8fb226bdb
+DIST rust-1.92.0-powerpc64le-unknown-linux-gnu.tar.xz 270620124 BLAKE2B ae766b234b330a7b16d641c376e42fa3680e33b78e7f0778ff5da61eca0b0c8e2142701cf50cd31848d750f10fe876d5494a99a7b694ede30f9aff2dc2bb8f41 SHA512 8687e2958583db9b18ab6ee9b6905b2ee571d96fed4e7de31b00e44eed75fdfe995a87aea2c09d195cbdfd5aaca1efe1a7b2d795b157992c538b678b0f036137
+DIST rust-1.92.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5fef628626696646cfda28da753336c8c6864c59a8aa20d2aecbe6c9e1009c2b49f877ceb434a4f18179ea44a68149a5bd7f82c134b05abcb18e47ecd13e1688 SHA512 d3bebb5aaaa440075c822e65fe5b5adef37180a48c39ac89dc95f97ff660ccb96928be34422535d2a24cb63ab8ff8a05f5388a696060b32a5df3ae5a8566f36a
+DIST rust-1.92.0-powerpc64le-unknown-linux-musl.tar.xz 268016416 BLAKE2B 307cc8a271330dc45360b0f8cea85ad87ca2cd1523e8824a6766c6857e350c79e1ea7376fa042df1a0677fbccd9fdefa3d656aa752ec2abed72a6882af1141ae SHA512 a731bde7fac6d33575411cbdb14df72360855d014289bbc97fbf6d78cf41fec217bbf2e42733bedfcd234de7545fceb3d3d2ad9498747a6ea08367dd5dd439aa
+DIST rust-1.92.0-powerpc64le-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 63eaf91d14e4664fda093f25e1b450e0c513476d4df612f4f97168719c3c697e0d3c057165eb7ce8f0d968fe39c242da31ba7df6526162b3cddb1d2f5e6bb0e4 SHA512 ade94bec00188aacd8490ca05a3c3e9099f31bba8ba4fec74c1d3790422d1dc165b62977eb8894b8e72ec65936470dc52f08a0ec8fa43fa6ddf3c30d0acf2603
+DIST rust-1.92.0-riscv64gc-unknown-linux-gnu.tar.xz 248195844 BLAKE2B e9b200abbd0e294019cd99bb3c6768615ce0bbb7609b3c723a0a57a0d697bdc438c691523f8487b14a9c9397eff0f56b02662b0eb78e057d03100d1ab8d888d6 SHA512 f032be2d3da472a989fdd47dc8ac0d2327139efc2a1b06d53e2c9a3d56eaeb82c3017f8b01ab5ef577278e51236783274db3e1dd728b079acb685bb227a68eec
+DIST rust-1.92.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9be219123b6ac03badc12b9f0da92179944158c7e9f7c993e14018dfb8d1b1098845a12590b70108f264dde00d91063a2c18593e6726316e4d719952687b2eea SHA512 d42936ebfc388c03006307d897cbf938cddba4cffecbb2974afe27867207956ad6b4480d93a2f3a1272dd5bca6fde62dbc881764c85e62262e855586f5cad897
+DIST rust-1.92.0-s390x-unknown-linux-gnu.tar.xz 239174100 BLAKE2B 4067b615e0ccd321e11f475f3773336420006cc670787d9aa69185cce029961b04b53bc5f8059d2b6ebf029353b5f9af45c8873c3d63a686d00ffcb820dc2eff SHA512 d94f7e6311dd22cd169b6f60ead6b651d4b9cabf81b4bc56d9e3a306909fa21327526272231726ab57208682915089486d7055776340f05b5626e45006bccc90
+DIST rust-1.92.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3f9dbec921e6f5a2918a1f90983fd80a9fd67cb0630c66ee7cdf9dd02f9076cb3953653bd38037b31e2ad65f533d4794cc434dd503603601f239f66ce20c9445 SHA512 11be5cfd5dcf5cfee52fb7dbb7dd11eea4e4ffca534984d37b8b9aa4512917f39fcd2bc7fcbc71c8b6d406419721df39504b2af5ba551550b7d8de2105a6e3f4
+DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz 192171372 BLAKE2B a4d300f49db610ec30123c68f7b29ea72cf24e543e14f00d3ffafd7a41a25b699fef7b9d62be06a327d4aa08a191c3deca4b7472b7c0c99a0aefa16c7027a7de SHA512 cfef78f2a26fc5858120f5c56548bcbb720c0a25236ddba5470611e2b5c8e518e0a594b9f2a125e35e48def11c40a4f8116c21cc802a298c20e9b36773e7978e
+DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b5705cee0a257eb54836da4c351bc3e5367938cdf8dc317137c13b88a52b63361b647602c5a2f087fc145c1d490e40513ee74e232f0f5c304d71c55c4f55dc0 SHA512 15a54c497a450211e09701e7c4158dff3b4a32ed4bbc5dc36e6920de1d2a42563b7bca69180b3456b088e5079b9d07d2bd0656f1a9491e4445a4aa9eeb45140a
+DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz 295461400 BLAKE2B 9eb8a7ab9c3bbd4ab8f6bb1d6cec7c2f47461ec48144cb9bf3c6f71dc63e0db79d3fb9eddf5373626259e1bfc60a7c693d0dc7908ed651dea0478067985f9c32 SHA512 974e589f2f530b98cf378593a0b6a5fdcc39b6f163bb252ab8a7dec4270465830fd72b60b9d0bbcff44feb354a004fd2e2e2aef45dac51533a905a01e35a061a
+DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e23b48bf40fe709084f8792c563d47f1ede9e91e78d6e270b05dc58ac60ce71277ad8f72b2d67b81d7434c0f73df4d97f4eb5896c2d1864964344ab341b41125 SHA512 f427c992b45585b484fa6171d35bf56d47cdb05199ff8af35cee76e6ecb2138df31b383e3b4b786846cfdc38ebed370c4dec9573434d941c0a03ef16f9aa8945
DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4
DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd
DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca
@@ -721,3 +751,4 @@ DIST rust-src-1.88.0.tar.xz 3155272 BLAKE2B bca923d2264337366b8013c45f3a40cbdfc1
DIST rust-src-1.89.0.tar.xz 3461444 BLAKE2B b1e43def4cc0f47f0e776d383954b339a62b3efa77d5db71180b7b7620a67bd2d2714afe0b08ae26a06d7d8c785eed03f545d91813d074cbe6641e883a2d40dd SHA512 055c09854e47d1bdfc7f393ac6f2783d35cb8cf13100deb227598ad91020f1d91e4cec1658d8e71db3c266dc6e267ab4172dc1007428cb05105dc4aac57bf89d
DIST rust-src-1.90.0.tar.xz 3473408 BLAKE2B 09e9d17af7acb38b99e33874cd4b14ad7e0e15b0580846cc32bc78657432b13091bcbf3fe95494c520bcdbabd5491b9445cb3ce3177fa149d0b89991b67b06e3 SHA512 88dd1a5f1a69ab9e4586fee4a31d7dea51a664ac32b501cab771739b8127eb4ac873d2353e819ef057734522c1bcd64d664bda3d1ff957b1448b4653be766638
DIST rust-src-1.91.0.tar.xz 3509292 BLAKE2B b1cf99db4cbd864fda34c2068a19e8b36c99f6bb5c2fa3c22ef7aa006d4c084bd706fff872a7f87a0ded3db3dead5927153183e4425ffd90e51af468a29db48e SHA512 8d7c5a3aa11b42d5b89b38d1167f6be64de49288738e0fd949d1fe9ac3312830301d578a13de2030b45a7c51179b5adb934deb52e1070afa76520944050baa2e
+DIST rust-src-1.92.0.tar.xz 3530724 BLAKE2B 1385e8cc8062dffa69829e4ffeee7daaaeddc35c20c5e841e5183952d2eb8e3c33fe64deff46a7017057723ac3623f1b918d6a61ba2efadc6501bae36241c161 SHA512 be31d704b936d421dae7774dd7243d2a2668c54eac07f3e8d6c289a994c9e238a6e775be2735c4b609e710d8bbb1afe9bf028375e573e5d16def58a53ebc4ba7
diff --git a/dev-lang/rust-bin/rust-bin-1.92.0.ebuild b/dev-lang/rust-bin/rust-bin-1.92.0.ebuild
new file mode 100644
index 000000000000..ca8b61dafbfc
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.92.0.ebuild
@@ -0,0 +1,339 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 21 )
+LLVM_OPTIONAL="yes"
+
+inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+
+if [[ ${PV} == *9999* ]]; then
+ # We need to fetch a tarball in src_unpack
+ PROPERTIES+=" live"
+elif [[ ${PV} == *beta* ]]; then
+ # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src"
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
+ SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz )
+ "
+else
+ # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src"
+ SRC_URI="$(rust_all_arch_uris "rust-${PV}")
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-12-11/rust-src-${PV}.tar.xz )
+ ppc64? ( elibc_musl? ( !big-endian? (
+ $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV})
+ ) ) )
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} != *9999* && ${PV} != *beta* ]] && false; then
+ # Keep this separate to allow easy commenting out if not yet built
+ SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
+ SRC_URI+=" mips? (
+ abi_mips_o32? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
+ )
+ abi_mips_n64? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
+ )
+ )"
+ SRC_URI+=" riscv? (
+ elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
+ )"
+ SRC_URI+=" ppc64? ( elibc_musl? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
+ ) )"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
+
+# net-misc/curl is needed for our own bootstrapped rustc, since cross-compiling bundled curl is not supported
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ dev-libs/openssl
+ net-misc/curl
+ sys-apps/lsb-release
+ || (
+ llvm-runtimes/libgcc
+ sys-devel/gcc:*
+ )
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+# stripping rust may break it (at least on x86_64)
+# https://github.com/rust-lang/rust/issues/112286
+RESTRICT="strip"
+
+QA_PREBUILT="
+ opt/rust-bin-${SLOT}/bin/.*
+ opt/rust-bin-${SLOT}/lib/.*.so*
+ opt/rust-bin-${SLOT}/libexec/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch
+ local rust_bin_url rustc_src_url
+ # Cut down on webrequests by fetching the nightly toml once
+ curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" ||
+ die "Failed to fetch nightly revision info"
+ rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+
+ if use rust-src; then
+ einfo "Using nightly Rust-src from: ${rustc_src_url}"
+ # We need to fetch the rust-src tarball
+ einfo "Fetching nightly rust-src tarball ..."
+ curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" ||
+ die "Failed to fetch nightly rust-src tarball."
+ # no verify-sig here, just unpack it
+ tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball"
+ fi
+
+ local v
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ rust_bin_url=$(grep "xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ einfo "Using nightly Rust from ${rust_bin_url} for ${rust_target}"
+
+ einfo "Fetching nightly Rust tarball for ${rust_target} ..."
+ curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball for ${rust_target}"
+ if use verify-sig; then
+ einfo "Fetching nightly signature for ${rust_target} ..."
+ curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature for ${rust_target}"
+ verify-sig_verify_detached "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \
+ "${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc"
+ fi
+
+ tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" || die "Failed to unpack nightly tarball for ${rust_target}"
+ done
+ else
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+ fi
+
+ # We only want to do this for the native ABI. Non-native ABIs are
+ # handled differently in multilib_src_install.
+ case ${PV} in
+ *9999*)
+ mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
+ ;;
+ *beta*)
+ mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
+ ;;
+ *)
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
+ ;;
+ esac
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+rust_native_abi_install() {
+ pushd "${S}" >/dev/null || die
+ local std="$(grep 'std' ./components || die "std not found in components")"
+ local components=( "rustc" "cargo" "${std}" )
+ use doc && components+=( "rust-docs" )
+ use clippy && components+=( "clippy-preview" )
+ use rustfmt && components+=( "rustfmt-preview" )
+ if use rust-analyzer; then
+ local analysis="$(grep 'analysis' ./components || die "analysis not found in components")"
+ components+=( "rust-analyzer-preview" "${analysis}" )
+ fi
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ case ${PV} in
+ *9999*)
+ mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die
+ ;;
+ *beta*)
+ mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die
+ ;;