flare-signal: get a better cross-compiled build (via emulation)

This commit is contained in:
Colin 2023-10-31 01:33:42 +00:00
parent 6d8f9edfd0
commit 626fe1946d
2 changed files with 9 additions and 2 deletions

View File

@ -2,13 +2,15 @@
# UI is effectively a clone of Fractal.
# compatibility:
# - desko: works fine. pairs, and exchanges contact list (but not message history) with the paired device. exchanges future messages fine.
# - moby (cross compiled): nope. it pairs, but can only *receive* messages and never *send* them.
# - moby (cross compiled flare-signal-nixified): nope. it pairs, but can only *receive* messages and never *send* them.
# - even `rsync`ing the data and keyrings from desko -> moby, still fails in that same manner.
# - console shows error messages. quite possibly an endianness mismatch somewhere
# - moby (partially-emulated flare-signal): works! pairs and can send/receive messages, same as desko.
{ pkgs, ... }:
{
sane.programs.flare-signal = {
package = pkgs.flare-signal-nixified;
# package = pkgs.flare-signal-nixified;
package = pkgs.flare-signal;
persist.private = [
# everything: conf, state, files, all opaque
".local/share/flare"

View File

@ -562,6 +562,11 @@ in {
};
});
flare-signal = prev.flare-signal.override {
# fixes "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option -m64"
inherit (emulated) cargo meson rustc rustPlatform stdenv;
};
flare-signal-nixified = prev.flare-signal-nixified.override {
# N.B. blueprint-compiler is in nativeBuildInputs.
# the trick here is to force the aarch64 versions to be used during build (via emulation).