2021-02-27 13:15:20 +00:00
|
|
|
{ lib
|
|
|
|
, rustPlatform
|
|
|
|
, fetchFromGitLab
|
2021-04-23 07:51:57 +01:00
|
|
|
, installShellFiles
|
2021-02-27 13:15:20 +00:00
|
|
|
, pkg-config
|
|
|
|
, python3
|
|
|
|
, dbus
|
|
|
|
, glib
|
|
|
|
, gpgme
|
|
|
|
, gtk3
|
|
|
|
, libxcb
|
2021-07-25 07:07:17 +01:00
|
|
|
, libxkbcommon
|
2021-02-27 13:15:20 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
|
|
pname = "prs";
|
2022-06-20 20:11:57 +01:00
|
|
|
version = "0.3.4";
|
2021-02-27 13:15:20 +00:00
|
|
|
|
|
|
|
src = fetchFromGitLab {
|
|
|
|
owner = "timvisee";
|
|
|
|
repo = "prs";
|
|
|
|
rev = "v${version}";
|
2022-06-20 20:11:57 +01:00
|
|
|
hash = "sha256-dfyTaWwV2hNZPZfvM+AqqR1zbChjT6Y/TEkQPEXRtGA=";
|
2021-02-27 13:15:20 +00:00
|
|
|
};
|
|
|
|
|
2022-06-20 20:11:57 +01:00
|
|
|
cargoHash = "sha256-yf46le0jG4EXo60kGKc0GwSO5vl4Dw0gmYJ4yr+TFdE=";
|
2021-02-27 13:15:20 +00:00
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
# The GPGME backend is recommended
|
|
|
|
for f in "gtk3/Cargo.toml" "cli/Cargo.toml"; do
|
|
|
|
substituteInPlace "$f" --replace \
|
|
|
|
'default = ["backend-gnupg-bin"' 'default = ["backend-gpgme"'
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2021-04-23 07:51:57 +01:00
|
|
|
nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
|
2021-02-27 13:15:20 +00:00
|
|
|
|
2021-07-25 07:07:17 +01:00
|
|
|
buildInputs = [
|
|
|
|
dbus
|
|
|
|
glib
|
|
|
|
gpgme
|
|
|
|
gtk3
|
|
|
|
libxcb
|
|
|
|
libxkbcommon
|
|
|
|
];
|
2021-02-27 13:15:20 +00:00
|
|
|
|
2021-04-23 07:51:57 +01:00
|
|
|
postInstall = ''
|
|
|
|
for shell in bash fish zsh; do
|
|
|
|
installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2021-02-27 13:15:20 +00:00
|
|
|
meta = with lib; {
|
|
|
|
description = "Secure, fast & convenient password manager CLI using GPG and git to sync";
|
|
|
|
homepage = "https://gitlab.com/timvisee/prs";
|
|
|
|
changelog = "https://gitlab.com/timvisee/prs/-/blob/v${version}/CHANGELOG.md";
|
|
|
|
license = with licenses; [
|
|
|
|
lgpl3Only # lib
|
|
|
|
gpl3Only # everything else
|
|
|
|
];
|
|
|
|
maintainers = with maintainers; [ dotlambda ];
|
|
|
|
};
|
|
|
|
}
|