diff options
Diffstat (limited to 'pkgs/applications/misc/pass-secret-service/default.nix')
-rw-r--r-- | pkgs/applications/misc/pass-secret-service/default.nix | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/pkgs/applications/misc/pass-secret-service/default.nix b/pkgs/applications/misc/pass-secret-service/default.nix index 12f8935797c..6a57c15b742 100644 --- a/pkgs/applications/misc/pass-secret-service/default.nix +++ b/pkgs/applications/misc/pass-secret-service/default.nix @@ -1,26 +1,50 @@ -{ lib, fetchFromGitHub, python3, dbus, gnupg }: +{ lib +, fetchFromGitHub +, python3 +, dbus +, gnupg +, coreutils +, nixosTests +}: python3.pkgs.buildPythonApplication rec { pname = "pass-secret-service"; # PyPI has old alpha version. Since then the project has switched from using a # seemingly abandoned D-Bus package pydbus and started using maintained # dbus-next. So let's use latest from GitHub. - version = "unstable-2020-04-12"; + version = "unstable-2022-03-21"; src = fetchFromGitHub { owner = "mdellweg"; repo = "pass_secret_service"; - rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa"; - sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4"; + rev = "149f8557e07098eee2f46561eea61e83255ac59b"; + sha256 = "sha256-+/pFi6+K8rl0Ihm6cp/emUQVtau6+Apl8/VEr9AI0Xs="; }; + patches = [ + # Only needed until https://github.com/mdellweg/pass_secret_service/pull/30 + # is merged. + ./int_from_bytes-deprecation-fix.patch + ]; # Need to specify session.conf file for tests because it won't be found under # /etc/ in check phase. postPatch = '' substituteInPlace Makefile \ --replace "dbus-run-session" "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf" \ - --replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)' + --replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)' \ + --replace 'pytest-3' 'pytest' + + substituteInPlace systemd/org.freedesktop.secrets.service \ + --replace "/bin/false" "${coreutils}/bin/false" + substituteInPlace systemd/dbus-org.freedesktop.secrets.service \ + --replace "/usr/local" "$out" + ''; + + postInstall = '' + mkdir -p "$out/share/dbus-1/services/" "$out/lib/systemd/user/" + cp systemd/org.freedesktop.secrets.service "$out/share/dbus-1/services/" + cp systemd/dbus-org.freedesktop.secrets.service "$out/lib/systemd/user/" ''; propagatedBuildInputs = with python3.pkgs; [ @@ -44,17 +68,15 @@ python3.pkgs.buildPythonApplication rec { ps.pypass ]; - checkPhase = '' - runHook preCheck - make test - runHook postCheck - ''; + checkTarget = "test"; + + passthru.tests.pass-secret-service = nixosTests.pass-secret-service; meta = { description = "Libsecret D-Bus API with pass as the backend"; homepage = "https://github.com/mdellweg/pass_secret_service/"; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ jluttine ]; + maintainers = with lib.maintainers; [ jluttine aidalgol ]; }; } |