Commit 919bcb41 authored by aleksana's avatar aleksana
Browse files

gnome-secrets: 10.4 -> 12.0

parent 7c3c6644
Loading
Loading
Loading
Loading
+43 −13
Original line number Diff line number Diff line
@@ -7,29 +7,40 @@
  fetchFromGitLab,
  python3Packages,
  wrapGAppsHook4,
  opensc,
  gtk4,
  glib,
  gdk-pixbuf,
  gobject-introspection,
  desktop-file-utils,
  shared-mime-info,
  appstream-glib,
  libadwaita,
  gtksourceview5,
  xvfb-run,
  nix-update-script,
}:

python3Packages.buildPythonApplication rec {
  pname = "gnome-secrets";
  version = "10.4";
  format = "other";
  version = "12.0";
  pyproject = false;

  src = fetchFromGitLab {
    domain = "gitlab.gnome.org";
    owner = "World";
    repo = "secrets";
    rev = version;
    hash = "sha256-FyBtw7Gkvd5XONkM7OVGxE+S5FpuUIl7KWLFHoQeoN4=";
    tag = version;
    hash = "sha256-U+ez/rhaXROcLdXhFY992YzIRBCkR05hxkAYbWIpa/A=";
  };

  postPatch = ''
    substituteInPlace gsecrets/meson.build \
      --replace-fail \
        "join_paths(get_option('prefix'), get_option('libdir'), 'opensc-pkcs11.so')" \
        "'${lib.getLib opensc}/lib/opensc-pkcs11.so'"
  '';

  nativeBuildInputs = [
    meson
    ninja
@@ -37,6 +48,7 @@ python3Packages.buildPythonApplication rec {
    pkg-config
    wrapGAppsHook4
    desktop-file-utils
    shared-mime-info
    appstream-glib
    gobject-introspection
  ];
@@ -46,11 +58,13 @@ python3Packages.buildPythonApplication rec {
    glib
    gdk-pixbuf
    libadwaita
    gtksourceview5
  ];

  propagatedBuildInputs = with python3Packages; [
  dependencies = with python3Packages; [
    pygobject3
    construct
    pyhibp
    pykcs11
    pykeepass
    pyotp
@@ -59,24 +73,40 @@ python3Packages.buildPythonApplication rec {
    zxcvbn-rs-py
  ];

  doCheck = true;

  nativeCheckInputs = [
    python3Packages.pytest
    xvfb-run
  ];

  checkPhase = ''
    runHook preCheck
    env \
      GTK_A11Y=none \
      PYTHONPATH="$out/${python3Packages.python.sitePackages}:$PYTHONPATH" \
      XDG_DATA_DIRS="$out/share/gsettings-schemas/$name:$XDG_DATA_DIRS" \
      xvfb-run meson test --print-errorlogs
    runHook postCheck
  '';

  # Prevent double wrapping, let the Python wrapper use the args in preFixup.
  dontWrapGApps = true;

  preFixup = ''
    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
  '';
  makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];

  passthru = {
    updateScript = nix-update-script { };
  };

  meta = with lib; {
  meta = {
    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 ];
    teams = [ teams.gnome-circle ];
    changelog = "https://gitlab.gnome.org/World/secrets/-/releases/${version}";
    license = lib.licenses.gpl3Only;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ mvnetbiz ];
    teams = [ lib.teams.gnome-circle ];
    mainProgram = "secrets";
  };
}