It appears that cross-compiling with Rust is rather straightforward: just install the target you'reβ¦ hmm, targeting with "rutsup target add <target>", and use "cargo build --target <target> --release" β not much harder than it is with Go.
Considering that your target is available via rustup β mine, PowerPC MUSL system wasn't and I had to build natively, I'll figure out how to add my own targets later. But building for my old ARM machine went without a hitch β and, surprisingly, the binary worksπ
In case some of the crates use C code and build something themselves, like ring crate does, you have to point cargo to the right tools using the environment variables, but in a lot of cases it figures everything out on its own.
Also rust crate version 0.16 didn't support 32-bit PowerPC properly so to port TUI RSS reader here https://github.com/veeso/tuifeed I had to update a few dependencies to use newer ring 0.17
Some problems arise from software relying on atomics (thread-safe types) from the standard library, which aren't portable β luckily, there is portable-atomic crate: https://github.com/taiki-e/portable-atomic
Replacing atomics from standard library with the ones from portable-atomic IS straightforward, but in my case it was a dependency of a dependency using it, so building the RSS reader involved adding a [patch.crates-io] section to Cargo.toml to use a local patched version of crate.
Now I have to figure out how to make ureq in this RSS reader use the proxy set with environmental variables. It looks trivial to accomplish: a matter of implementing the Default trait, which is now derived, for the structure (which would be an object in classic object oriented language) that is used as HTTP client.
@romin
This is the thing I meant: https://github.com/NicolasLM/feedsubs
It looks nice, but it has so many moving parts (Django, Postgres, Redis π€ͺ) and as I'm not using Dorker, I'm not ready to invest time into hosting it myself yet. I'm using like 4 different machines and a couple of phones more or less daily so having a centralised reader for RSS and not updating the feeds on every machine individually looks like a good idea.
>Host installations are not supported starting 2021. Consider using Docker when planning new tt-rss installations.