{ lib, stdenv , desktop-file-utils , fetchFromGitLab , nix-update-script , meson , ninja , gettext , python3 , rustPlatform , rustc , cargo , pkg-config , glib , libhandy , gtk3 , dbus , gst_all_1 , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "identity"; version = "0.1.3"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "YaLTeR"; repo = "identity"; rev = "v${version}"; sha256 = "sha256-LvBDzI8x42npiRSR3uNTYGuz7H7ClaUR9zp9rchpMyk="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; hash = "sha256-2xURbda1fIQr+nWPL5yilDBT7ji3uTHwhYKgL77vYek="; }; nativeBuildInputs = [ desktop-file-utils gettext meson ninja pkg-config python3 cargo rustPlatform.cargoSetupHook rustc wrapGAppsHook glib ]; buildInputs = [ dbus glib gst_all_1.gst-editing-services gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) gst_all_1.gstreamer gst_all_1.gst-devtools gtk3 libhandy ]; postPatch = '' patchShebangs build-aux/meson_post_install.py ''; passthru = { updateScript = nix-update-script { attrPath = pname; }; }; postFixup = '' substituteInPlace $out/share/applications/org.gnome.gitlab.YaLTeR.Identity.desktop --replace Icon=org.gnome.gitlab.YaLTeR.Identity Icon=$out/share/icons/hicolor/symbolic/apps/org.gnome.gitlab.YaLTeR.Identity-symbolic.svg ''; }