{
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;
})