{ lib , stdenv , fetchFromGitLab , cargo , meson , ninja , pkg-config , gst_all_1 , protobuf , libspelling , libsecret , libadwaita , gtksourceview5 , rustPlatform , rustc , appstream-glib , blueprint-compiler , desktop-file-utils , wrapGAppsHook4 }: stdenv.mkDerivation rec { pname = "flare"; version = "0.14.3"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "schmiddi-on-mobile"; repo = "flare"; rev = version; hash = "sha256-e/XkY5xULYnx5zBB3pxjBSocufK85xzb2t+kVXxhFNg="; }; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { "curve25519-dalek-4.1.1" = "sha256-p9Vx0lAaYILypsI4/RVsHZLOqZKaa4Wvf7DanLA38pc="; "libsignal-core-0.1.0" = "sha256-p4YzrtJaQhuMBTtquvS1m9llszfyTeDfl7+IXzRUFSE="; "libsignal-service-0.1.0" = "sha256-rXa/7AmCt03WvMPqrOxPkQlNrMvJQuodEkBuqYo9sFQ="; "presage-0.6.1" = "sha256-4rH/Yt//0EpF8KQQXkurX5m9tMrFRI2MaJ+IzddVUUU="; }; }; nativeBuildInputs = [ appstream-glib # for appstream-util blueprint-compiler desktop-file-utils # for update-desktop-database meson ninja pkg-config wrapGAppsHook4 rustPlatform.cargoSetupHook cargo rustc ]; buildInputs = [ gtksourceview5 libadwaita libsecret libspelling protobuf # To reproduce audio messages gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; meta = { changelog = "https://gitlab.com/schmiddi-on-mobile/flare/-/blob/${src.rev}/CHANGELOG.md"; description = "An unofficial Signal GTK client"; mainProgram = "flare"; homepage = "https://gitlab.com/schmiddi-on-mobile/flare"; license = lib.licenses.agpl3Plus; maintainers = with lib.maintainers; [ dotlambda ]; platforms = lib.platforms.linux; }; }