diff options
Diffstat (limited to 'pkgs/applications/misc/gnome-secrets/default.nix')
-rw-r--r-- | pkgs/applications/misc/gnome-secrets/default.nix | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/pkgs/applications/misc/gnome-secrets/default.nix b/pkgs/applications/misc/gnome-secrets/default.nix new file mode 100644 index 0000000000000..00e55b9e7a8b1 --- /dev/null +++ b/pkgs/applications/misc/gnome-secrets/default.nix @@ -0,0 +1,79 @@ +{ lib, stdenv +, meson +, ninja +, pkg-config +, gettext +, fetchFromGitLab +, python3Packages +, libpwquality +, wrapGAppsHook4 +, gtk4 +, glib +, gdk-pixbuf +, gobject-introspection +, desktop-file-utils +, appstream-glib +, libadwaita }: + +python3Packages.buildPythonApplication rec { + pname = "gnome-secrets"; + version = "6.1"; + format = "other"; + strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "secrets"; + rev = version; + sha256 = "sha256-TBGNiiR0GW8s/Efi4/Qqvwd87Ir0gCLGPfBmmqqSwQ8="; + }; + + nativeBuildInputs = [ + meson + ninja + gettext + pkg-config + wrapGAppsHook4 + desktop-file-utils + appstream-glib + gobject-introspection + ]; + + buildInputs = [ + gtk4 + glib + gdk-pixbuf + libadwaita + ]; + + propagatedBuildInputs = with python3Packages; [ + pygobject3 + construct + pykeepass + pyotp + ] ++ [ + libpwquality # using the python bindings + ]; + + postPatch = '' + substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"; + ''; + + # Prevent double wrapping, let the Python wrapper use the args in preFixup. + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + broken = stdenv.hostPlatform.isStatic; # libpwquality doesn't provide bindings when static + description = "Password manager for GNOME which makes use of the KeePass v.4 format"; + homepage = "https://gitlab.gnome.org/World/secrets"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ mvnetbiz ]; + }; +} + |