{ 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 (finalAttrs: { pname = "flare"; version = "0.15.6"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "schmiddi-on-mobile"; repo = "flare"; rev = finalAttrs.version; hash = "sha256-xpjxOaCN5UVBBIB6WMLCMspRWkzz4DQEcjiSL8uM2RQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; hash = "sha256-iuK68GLU/4wsOLQz+7pGVDZwCuc6cwcUKn6teFuYJco="; }; 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/${finalAttrs.src.rev}/CHANGELOG.md"; description = "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; }; })