DietPi-Software | Rust #4988
Replies: 4 comments 9 replies
-
@MichaIng |
Beta Was this translation helpful? Give feedback.
-
A slightly-older version of Rust is better than no version of Rust. Why not start with the one in the Debian repository and then make it more complicated if needed? I could give this a shot, if you want. |
Beta Was this translation helpful? Give feedback.
-
Since Matrix Synapse now requires rustc to compile/build, will this be explored as a new application offering thru dietpi-software again? |
Beta Was this translation helpful? Give feedback.
-
Hi. I'm wondering if there is an update on including Rust as a development software option? Is there any guidance on installation? I'm considering the Dioxus framework. |
Beta Was this translation helpful? Give feedback.
-
Continuation of: #4987 (comment)
Rust is used more and more by software projects, as it provides secure, stable, fast and lightweight standalone binaries. The DietPi-Dashboard backend is written in Rust as well, and it works brilliant 👍. Other projects like cURL or the Python cryptography module started to write parts of their code in Rust, where memory safety or other security aspects benefit from it.
The problem is that we generally aim to install software system-wide, and rustup is natively designed as a single user instance only. So if
dietpi-software
did install it, e.g. also as dependency to compile other software, it will be usable by theroot
user only in an interactive session (environment variables required etc). For an SBC with potentially limited resources and usually used by a single person only, having a root rustup + toolchain for a single software install only and a second one for the login user is not great. It is possible but a bit hacky to install it in a way that all users can use it while only having their own additional crates/projects installed into their individual home directory: rust-lang/rustup#2383Instead of rustup, we could install cargo form the Debian repository, but it is naturally outdated, and stable Rust releases are supported by the Rust team for 6 weeks only: https://packages.debian.org/bullseye/cargo
So I'm not sure how to do it best. Personally I'd prefer the hacky way, but I cannot rule out that users may run into issues with it, and getting help from the Rust team for such an uncommon setup may be denied. There was some discussion about implementing safe concurrent usage, but the last activity on that was months before that clear statement above that it is not a supported setup: rust-lang/rustup#988
Beta Was this translation helpful? Give feedback.
All reactions