Tools/applications written in Rust

pijul vcs

Castor, a graphical browser for Gopher, Gemini and Finger protocols: It’s available in COPR, it would be good if we have it in official repositories.

The Rust app I miss most on Fedora is the Ion shell: GitHub - redox-os/ion: Mirror of https://gitlab.redox-os.org/redox-os/ion
I use it on Arch Linux (container image) via distrobox on Silverblue 35. Definitely, my favorite shell ever; I just wonder whether non-POSIX shells could be included in the Fedora repos. :thinking:

2 Likes

Yes, we absolutely can include non-posix shells. We’re incredibly unlikely to make that the default, but making it available — definitely!

1 Like

Would like to see wasmtime as well; it’s an optional dependency tinygo, but not sure I want to delve into packaging all the Rust deps.

I quite like to play around with different shells, so I might take a look at packaging Ion and Nushell.

No promises on ETA though, it will likely involve munching through quite a few dependencies!

2 Likes

Changing the default editor was hard enough! :sweat_smile:

1 Like

Yesterday, after posting that, I compiled my own Ion shell from source in my CentOS Stream 9 container and copied the binary to /var/usrlocal/bin/ on Silverblue 35–it seems to work flawlessly. :smiley: As long as compilers are available in the repos of Fedora (and of course they are), or other distros can be easily run in containers (in this regard it seems that nothing compares to Fedora), strictly speaking nothing more is necessary for a moderately experienced Linux user.

But I’m glad to hear that in future Ion can be available in the repos of Fedora because no app will ever receive the attention it deserves if it’s not easily installed for newbies. Also, I love Fedora for being one of the most user-friendly distros out there. :slightly_smiling_face:

There are in fact lots of wonderful apps which are rather unknown to an average Linux user simply because they are rarely preinstalled on Linux distros. Exa as a modern replacement of ls or micro as a modern replacement of nano, for example (I know these are not Rust apps). I understand that certain changes may need much time due to the users’ habits. But, I also think that in this regard the Fedora Magazine makes a great job presenting various tools and technologies, and I’ve learned a few nice things reading it. So, keep doing good job! :+1: :+1: :+1:

Interesting–thanks for sharing, @salimma. I will take a look at Nushell.

(I’m just too amazed by the Ion shell and Redox OS–sorry for saying that… :joy: I want to learn to write cross-platform scripts for both Linux and Redox. Ion is currently in an alpha stage but, with some luck, it might be the future :hugs:).

No need to be sorry! I’ve looked at Redox with interest too (then again I was interested in the HOUSE Haskell kernel as well). I just didn’t realize Ion is at a state where Arch is already shipping it, until you mentioned it, so thanks!

Actually, it’s available in AUR so it’s not official but can be easily installed.

1 Like

Ah, sure, but that’s close enough. psi-notify which a coworker wrote is also only in AUR before I packaged it for Fedora and CentOS

Update: I’m midway through packaging Nushell and its dependencies. There’s some test framework bugs and missing licenses I’ll deal with after I get the rest of the crates packaged.

Review requests for those interested

Unfortunately, Ion looks a bit inactive, and the crate on crates.io has been yanked. That’s no big deal, we can build it from source, but confusingly the version declared in Gitlab seems older!

There are also dependencies not on crates.io, which unfortunately means this is no-go for Fedora. The equivalent of AUR is COPR, though, and anyone is welcome to try and maintain it there:
Copr Build Service — Fedora Developer Portal

I started programming in Ion and -if I find enough free time- within a couple of weeks I’ll publish my first Ion app on GitHub. It is true that Ion looks a bit inactive and this all makes me think I’d better rewrite everything in a different language but still I like Ion. So perhaps the best option for me is to try to maintain Ion in my own COPR repo–sounds good. :smiley:

UPDATE: As I found some bugs in the Ion Shell, I rewrote my app into Pascal and published on GitHub. But, also the Pascal version had certain issues or limitations I couldn’t deal with. Finally, I rewrote (and slightly renamed) my program once again. The pure Rust version appears to work smoothly! This is my first Rust program (besides “Hello, World!”) and it is still at an early stage of development. Hopefully, you’ll find it funny: https://crates.io/crates/lngcnv

Over the past few days, I’ve fixed all wasmtime dependencies that were already packaged for Fedora, and submitted review requests for the rest. The top-level bug (for /usr/bin/wasmtime) is blocked by all missing dependencies, if anybody has time to review a few packages :slight_smile: 2051240 – Review Request: rust-wasmtime-cli - Command-line interface for Wasmtime

Packages are also already available in COPR for F34+ for aarch64, s390x, and x86_64 (all the architectures that are supported by wasmtime right now): Monitor decathorpe/wasmtime