I’ve been trying to build SignalRs on the Librem 5 yesterday.
The dependencies I’d install from it’s dependency list (which, as base-devel suggests, is relating to Arch or Arch-based distributions where the following:
sudo apt install build-essential qtquickcontrols2-5-dev kirigami2-dev qtwebengine5-dev curl
Mind you that this list of packages may be incomplete, as I’ve compiled other things earlier on my Librem 5.
Why curl? Well, we need rustup which can be installed as described on it’s website. While going through the installer, make sure to choose nightly, as that’s a requirement for compiling signal-rs.
Now, clone the repo
git clone https://git.sr.ht/~nicohman/signal-rs
cd into it and run
cargo build --release
This is going to take a long while, it took me more than 12 hours. I ran out of RAM once, which is why you should use zram, a swapfile or something – or add a -j2 after build and run the command again after rebooting the phone – luckily it starts of where it failed.
Honestly, if you have a more powerful ARM device (e.g. a Raspberry Pi 4 with 8 GB of RAM), I suggest you to try to use that device to compile – Debian Bullseye ARM64 should be similar enough to PureOS Byzantium.
Or just download the binary I compiled:
https://linmob.uber.space/l5/signal-rs-bin-l5-20211226.tar.gz
sha512sum: 97f6ed034b87d10ec4716a418220c05be8cc9e1db427357c9a9f4f39a6e1141df881e2ba888140d498f8fbf4bf1a6d77f8438ef361254189a4937a68d977f709 signal-rs-bin-l5-20211226.tar.gz.
(You’ll still need to have the dependencies (at least qtquickcontrols2-5-dev kirigami2-dev qtwebengine5-dev, or whatever the packages are that these depend on, you don’t really need the headers I guess) installed for this, and there’s a simple “install-local.sh” script in the archive (it requires curl to be installed) to make installation easier.)
Have fun!