diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/ripasso')
-rw-r--r-- | nixpkgs/pkgs/tools/security/ripasso/cursive.nix | 41 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/security/ripasso/fix-tests.patch | 82 |
2 files changed, 123 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/ripasso/cursive.nix b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix new file mode 100644 index 000000000000..1a2ed1374611 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix @@ -0,0 +1,41 @@ +{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpg-error, gpgme, xorg, AppKit, Security, installShellFiles }: + +with rustPlatform; +buildRustPackage rec { + version = "0.5.2"; + pname = "ripasso-cursive"; + + src = fetchFromGitHub { + owner = "cortex"; + repo = "ripasso"; + rev = "release-${version}"; + sha256 = "sha256-De/xCDzdRHCslD0j6vT8bwjcMTf5R8KZ32aaB3i+Nig="; + }; + + patches = [ ./fix-tests.patch ]; + + cargoSha256 = "sha256-ZmHzxHV4uIxPlLkkOLJApPNLo0GGVj9EopoIwi/j6DE="; + + cargoBuildFlags = [ "-p ripasso-cursive" ]; + + nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles ]; + buildInputs = [ + ncurses openssl libgpg-error gpgme xorg.libxcb + ] ++ lib.optionals stdenv.isDarwin [ AppKit Security ]; + + preCheck = '' + export HOME=$TMPDIR + ''; + + postInstall = '' + installManPage target/man-page/cursive/ripasso-cursive.1 + ''; + + meta = with lib; { + description = "A simple password manager written in Rust"; + homepage = "https://github.com/cortex/ripasso"; + license = licenses.gpl3; + maintainers = with maintainers; [ sgo ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/tools/security/ripasso/fix-tests.patch b/nixpkgs/pkgs/tools/security/ripasso/fix-tests.patch new file mode 100644 index 000000000000..85b1714e5c29 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/ripasso/fix-tests.patch @@ -0,0 +1,82 @@ +--- a/src/pass/test.rs ++++ a/src/pass/test.rs +@@ -83,6 +83,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -114,6 +115,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -144,6 +146,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -185,6 +188,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -220,6 +224,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -267,6 +272,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -298,6 +304,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -337,6 +344,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -828,6 +836,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.push("testres"); + + let home: PathBuf = base_path.clone(); +@@ -860,6 +869,7 @@ + base_path.pop(); + base_path.pop(); + base_path.pop(); ++ base_path.pop(); + base_path.pop(); + base_path.push("testres"); + |