<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/lang/rust, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/'/>
<updated>2026-08-16T06:15:03Z</updated>
<entry>
<title>rust: build soft-float on soft-float PowerPC subtargets</title>
<updated>2026-08-16T06:15:03Z</updated>
<author>
<name>Josef Schlehofer</name>
</author>
<published>2026-08-07T22:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=388c3b6ad460779406989575711686f81f17f332'/>
<id>urn:sha1:388c3b6ad460779406989575711686f81f17f332</id>
<content type='text'>
RUSTC_TARGET_ARCH comes from the GNU triple, so every 32-bit PowerPC
subtarget gets powerpc-unknown-linux-musl. That triple is hard-float and
mpc85xx is not: its e500v2 has no floating-point unit, and the toolchain
reports _SOFT_FLOAT and calls __divdf3 for a division.

So rustc emits lfd, stfd and fdiv for a core with no floating-point
registers, and passes doubles in a way nothing else in the image does. It
does not fail outright — a speed test reported negative throughput, and
formatting one of those values tripped an assertion inside core.

Pass -Ctarget-feature=-hard-float where CONFIG_SOFT_FLOAT says so. The same
flag has to reach the std that rust/host builds, or std and the packages
linked against it disagree about how a double is passed.

Signed-off-by: Josef Schlehofer &lt;pepe@bloodkings.eu&gt;
</content>
</entry>
<entry>
<title>rust: fix compare_exchange_weak never succeeding on mpc85xx</title>
<updated>2026-08-16T06:13:23Z</updated>
<author>
<name>Josef Schlehofer</name>
</author>
<published>2026-08-09T09:08:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=9ea0d00d9315bea357d5f359606c8af5dbaa92b9'/>
<id>urn:sha1:9ea0d00d9315bea357d5f359606c8af5dbaa92b9</id>
<content type='text'>
LLVM places the release fence of a cmpxchg between the load-linked and the
store-conditional. On e500v2 that clears the reservation, so the
store-conditional always fails. The strong form retries and re-reserves; the
weak form has no retry and can never succeed.

fetch_update in core is a weak retry loop, so it spins forever and anything
using it hangs. A tokio reactor livelocks on its first I/O event, burning
CPU without issuing a syscall, which makes async Rust unusable on the
subtarget.

Carry the fix as a patch until it reaches a rustc release. It adds a
TargetLowering hook, defaulting to false, so only PowerPC changes.

Signed-off-by: Josef Schlehofer &lt;pepe.schlehofer@gmail.com&gt;
</content>
</entry>
<entry>
<title>rust: fix host build on x64 Darwin</title>
<updated>2026-06-09T12:28:34Z</updated>
<author>
<name>Georgi Valkov</name>
</author>
<published>2026-06-09T10:56:30Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=aa32dd256eb04eff40748b8b1a8623461441ffbe'/>
<id>urn:sha1:aa32dd256eb04eff40748b8b1a8623461441ffbe</id>
<content type='text'>
rust/host fails to compile on macOS running on Intel x64
because the host target triple is autogenerated to be
'arm64-unknown-linux-'. Rust doesn't have such a target triple, thus the
build fails because there are no pre-built artefacts for bootstrapping.

Fix this by setting RUSTC_HOST_ARCH to 'x86_64-apple-darwin' in case
our host is HOST_ARCH=x86_64 and HOST_OS=Darwin.
This fix is based on the existing fix for Apple silicon [1].

Fixes:
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/x.py", line 53, in &lt;module&gt;
    bootstrap.main()
    ~~~~~~~~~~~~~~^^
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/src/bootstrap/bootstrap.py", line 1418, in main
    bootstrap(args)
    ~~~~~~~~~^^^^^^
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/src/bootstrap/bootstrap.py", line 1366, in bootstrap
    build.download_toolchain()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/src/bootstrap/bootstrap.py", line 697, in download_toolchain
    download_component(download_info)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/src/bootstrap/bootstrap.py", line 529, in download_component
    get(
    ~~~^
        download_info.base_download_url,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...&lt;3 lines&gt;...
        verbose=download_info.verbose,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Volumes/pepe/py/openwrt/build_dir/target-x86_64_musl/host/rustc-1.96.0-src/src/bootstrap/bootstrap.py", line 58, in get
    raise RuntimeError(
    ...&lt;6 lines&gt;...
    )
RuntimeError: src/stage0 doesn't contain a checksum for dist/2026-04-16/rust-std-1.95.0-x86_64-unknown-linux-darwin24.6.0.tar.xz. Pre-built artifacts might not be available for this target at this time, see https://doc.rust-lang.org/nightly/rustc/platform-support.html for more information.

[1] https://github.com/openwrt/packages/commit/105fa3920e12f557bdf1fcbc566fc286fb53e319

Signed-off-by: Georgi Valkov &lt;gvalkov@gmail.com&gt;
</content>
</entry>
<entry>
<title>rust: update to 1.96.0</title>
<updated>2026-06-03T10:12:32Z</updated>
<author>
<name>hingbong</name>
</author>
<published>2026-05-30T04:54:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=a12632f22bd46d54d11dbf2dc0d6cb9156576fa8'/>
<id>urn:sha1:a12632f22bd46d54d11dbf2dc0d6cb9156576fa8</id>
<content type='text'>
Changelog:
- https://github.com/rust-lang/rust/releases/tag/1.95.0
- https://github.com/rust-lang/rust/releases/tag/1.96.0

Signed-off-by: hingbong &lt;hingbonglo@gmail.com&gt;
</content>
</entry>
<entry>
<title>lang/rust: assign PKG_CPE_ID</title>
<updated>2026-03-15T07:08:57Z</updated>
<author>
<name>Fabrice Fontaine</name>
</author>
<published>2026-03-14T13:17:53Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=fa203c818f745379dd03331529828bb9b35b6640'/>
<id>urn:sha1:fa203c818f745379dd03331529828bb9b35b6640</id>
<content type='text'>
cpe:/a:rust-lang:rust is the correct CPE ID for rust:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:rust-lang:rust

Signed-off-by: Fabrice Fontaine &lt;fontaine.fabrice@gmail.com&gt;
</content>
</entry>
<entry>
<title>rust: Update to 1.94.0</title>
<updated>2026-03-11T16:52:21Z</updated>
<author>
<name>Tianling Shen</name>
</author>
<published>2026-03-11T07:37:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=ff826adfa8a3d8545f8589b0949cae0de55efc02'/>
<id>urn:sha1:ff826adfa8a3d8545f8589b0949cae0de55efc02</id>
<content type='text'>
Changelog:
- https://github.com/rust-lang/rust/releases/tag/1.91.1
- https://github.com/rust-lang/rust/releases/tag/1.92.0
- https://github.com/rust-lang/rust/releases/tag/1.93.0
- https://github.com/rust-lang/rust/releases/tag/1.93.1
- https://github.com/rust-lang/rust/releases/tag/1.94.0

Signed-off-by: Tianling Shen &lt;cnsztl@immortalwrt.org&gt;
</content>
</entry>
<entry>
<title>rust: set llvm.download-ci-llvm=false</title>
<updated>2026-03-05T22:38:44Z</updated>
<author>
<name>Orne Brocaar</name>
</author>
<published>2026-03-04T10:30:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=4c3a649dd78b76a14b55799d5ee871eb060c08e1'/>
<id>urn:sha1:4c3a649dd78b76a14b55799d5ee871eb060c08e1</id>
<content type='text'>
These LLVM builds get deleted after a certain time, causing Rust builds
to break as the LLVM build can no longer be downloaded.

Fixes #27331.

Signed-off-by: Orne Brocaar &lt;info@brocaar.com&gt;
</content>
</entry>
<entry>
<title>treewide: fix spelling and grammar in Makefiles</title>
<updated>2025-12-31T07:12:36Z</updated>
<author>
<name>George Sapkin</name>
</author>
<published>2025-12-26T04:26:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=de64f871b0f00b885039997eb46f914bdac687a5'/>
<id>urn:sha1:de64f871b0f00b885039997eb46f914bdac687a5</id>
<content type='text'>
Fix spelling and grammar in package definitions, configs, comments and
other strings.

Signed-off-by: George Sapkin &lt;george@sapk.in&gt;
</content>
</entry>
<entry>
<title>rust: Update to 1.90.0</title>
<updated>2025-09-19T12:24:26Z</updated>
<author>
<name>Tianling Shen</name>
</author>
<published>2025-09-19T07:46:51Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=4c8c41c023fdc40bad11cb380c3714c174206225'/>
<id>urn:sha1:4c8c41c023fdc40bad11cb380c3714c174206225</id>
<content type='text'>
Release note: https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/

Signed-off-by: Tianling Shen &lt;cnsztl@immortalwrt.org&gt;
</content>
</entry>
<entry>
<title>rust: add loongarch64 and powerpc to supported targets</title>
<updated>2025-09-12T06:46:43Z</updated>
<author>
<name>Tianling Shen</name>
</author>
<published>2025-09-05T14:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=a5c3fd1fee7185265f0bb1b1b969f4b5afbf94c9'/>
<id>urn:sha1:a5c3fd1fee7185265f0bb1b1b969f4b5afbf94c9</id>
<content type='text'>
Also removed i686 as OpenWrt replaces it with i386 in $(ARCH).

Signed-off-by: Tianling Shen &lt;cnsztl@immortalwrt.org&gt;
</content>
</entry>
</feed>
