nix-files/pkgs/additional/flare-signal-nixified/default.nix

102 lines
4.5 KiB
Nix
Raw Normal View History

# Cargo.nix and crate-hashes.json were created with:
# - `nix run '.#crate2nix' -- generate -f ~/ref/repos/schmiddi-on-mobile/flare/Cargo.toml`
# - `sed -i 's/target."curve25519_dalek_backend"/target."curve25519_dalek_backend" or ""/g' Cargo.nix`
#
# the generated Cargo.nix points to an impure source (~/ref/...), but that's resolved by overriding `src` below
{ pkgs
, fetchFromGitLab
, flare-signal
, gdk-pixbuf
, glib
, gtk4
, gtksourceview5
, libadwaita
, pkg-config
}:
let
cargoNix = import ./Cargo.nix {
inherit pkgs;
defaultCrateOverrides = pkgs.defaultCrateOverrides // {
flare = attrs: attrs // {
# inherit (flare-signal) src;
src = fetchFromGitLab {
domain = "gitlab.com";
owner = "schmiddi-on-mobile";
repo = "flare";
# flare/Cargo.nix version compatibility:
# - flare tip (49060eee): same errors as 0.10.1-beta.2
# - flare 0.10.1-beta.2: requires gtk 4.11, not yet in nixpkgs
# - <https://github.com/NixOS/nixpkgs/pull/247766>
# - specifically, that's because of gdk4-sys 0.7.2.
# - after 0.10.1-beta.1, there's a translations update, then immediately "ui(): Port to GTK 4.12 and Libadwaita 1.4"
# so 0.10.1-beta.1 is effectively the last gtk 4.10 compatible version
# - flare 0.10.1-beta.1: uses a variant of serde_derive which doesn't cross compile in nixpkgs
# - after serde_derive downgraded => 1.0.171:
# ```
# > 424 | .send(manager.sync_contacts().await)
# > | ^^^^^^^^^^^^^ private method
# > --> /presage-d6d8fff/presage/src/manager.rs:650:5
# > = note: private method defined here
# ```
# - flare 0.10.0: uses a version of serde_derive which doesn't cross compile in nixpkgs
# - same error as 0.9.0 once serde_derive is downgraded to 1.0.171
# - flare 0.9.3: uses a version of serde_derive which doesn't cross compile in nixpkgs
# - same error as 0.9.0 once serde_derive is downgraded to 1.0.171
# - flare 0.9.2: uses a version of serde_derive which doesn't cross compile in nixpkgs
# - same error as 0.9.0 once serde_derive is downgraded to 1.0.171
# - flare 0.9.1: uses a version of serde_derive (1.0.175) which doesn't cross compile in nixpkgs
# - flare 16acc70ceb6e80eb2d87a92e72e2727e8b98b4db (last rev before serde_derive 1.0.175): same error as 0.9.0
# - flare 0.9.0: deps build but crate itself fails because `mod config` is unknown (i.e. we didn't invoke meson and let it generate config.rs)
# rev = "49060eee61e26b622150179cece4918c1707db6a";
# hash = "sha256-/xP4AC0ZkVsNIFiTxyTsF0sJWIj53OIiXlSLU0LhBRM=";
# rev = "0.10.1-beta.2";
# hash = "sha256-xkTM8Jeyb89ZUo2lFKNm8HlTe8BTlO/flZmENRfDEm4=";
# rev = "0.10.1-beta.1";
# hash = "sha256-nUR3jnbjMJvI3XbguFLz5yQL3SAXzLkdVwXyhcMeZoc=";
rev = "0.10.0";
hash = "sha256-+9zpYW9xjLe78c2GRL6raFDR5g+R/JWxQzU/ZS+5JtY=";
# rev = "0.9.3";
# hash = "sha256-bTR3Jzzy8dVdBJ4Mo2PYstEnNzBVwiWE8hRBnJ7pJSs=";
# rev = "0.9.2";
# hash = "sha256-70OqHCe+NZ0dn1sjpkke5MtXU3bFgpwkm0TYlbXOUl8=";
# rev = "16acc70ceb6e80eb2d87a92e72e2727e8b98b4db";
# hash = "sha256-Lz7h5JUrqBUsvRICW3QacuO8rkeGBY9yroq/Gtb7nMw=";
# rev = "0.9.0";
# hash = "sha256-6p9uuK71fJvJs0U14jJEVb2mfpZWrCZZFE3eoZe9eVo=";
};
};
gdk-pixbuf-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gdk-pixbuf ];
};
gdk4-x11-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk4 ]; # depends on "gtk4_x11"
};
gdk4-wayland-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk4 ]; # depends on "gtk4_wayland"
};
gio-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ glib ];
};
gobject-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ glib ];
};
libadwaita-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libadwaita ];
};
sourceview5-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtksourceview5 ];
};
};
};
in cargoNix.workspaceMembers.flare.build