nixpkgs/pkgs/tools/security/ripasso/cursive.nix

50 lines
1.4 KiB
Nix

{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, python3, openssl, libgpg-error, gpgme, xorg, nettle, llvmPackages, clang, AppKit, Security, installShellFiles }:
with rustPlatform;
buildRustPackage rec {
version = "0.6.2";
pname = "ripasso-cursive";
src = fetchFromGitHub {
owner = "cortex";
repo = "ripasso";
rev = "release-${version}";
sha256 = "sha256-OKFgBfm4d9IqSJFjg+J1XdsgQrfuIaoRIhVJQeZ+558=";
};
patches = [ ./fix-tests.patch ./build-on-macos.patch ];
# Needed so bindgen can find libclang.so
LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"qml-0.0.9" = "sha256-ILqvUaH7nSu2JtEs8ox7KroOzYnU5ai44k1HE4Bz5gg=";
};
};
cargoBuildFlags = [ "-p ripasso-cursive" ];
nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles clang ];
buildInputs = [
openssl libgpg-error gpgme xorg.libxcb nettle
] ++ 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;
};
}