nixpkgs/pkgs/tools/security/sequoia-sqv/default.nix
aktaboot b4826e16d9 sequoia-sqv: fix build by updating nettle-sys
The build was encountering an issue in rust-bindgen, that has been
fixed[1], but nettle-sys depends on an old version of rust-bindgen,

Updated nettle-sys, patched Cargo.lock

[1]- https://github.com/rust-lang/rust-bindgen/pull/2316

https://bugs.launchpad.net/ubuntu/+source/rust-bindgen/+bug/2030886
2024-04-17 23:23:25 +02:00

60 lines
1.3 KiB
Nix

{ lib
, fetchFromGitLab
, nettle
, nix-update-script
, rustPlatform
, pkg-config
, installShellFiles
}:
rustPlatform.buildRustPackage rec {
pname = "sequoia-sqv";
version = "1.1.0";
src = fetchFromGitLab {
owner = "sequoia-pgp";
repo = "sequoia-sqv";
rev = "v${version}";
hash = "sha256-KoB9YnPNE2aB5MW5G9r6Bk+1QnANVSKA2dp3ufSJ44M=";
};
cargoPatches = [ ./Cargo.lock.patch ];
cargoHash = "sha256-E6tNOc3omg6yLwCP+MdyBF/HmFTBFCiXd5r+jflfs4k=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
installShellFiles
];
buildInputs = [
nettle
];
# Otherwise, the shell completion files are not built
cargoBuildFlags = [
"--package" "sequoia-sqv"
];
# Use a predictable target directory, to access it when installing shell
# completion files.
preBuild = ''
export CARGO_TARGET_DIR="$(pwd)/target"
'';
postInstall = ''
installShellCompletion --cmd sqv \
--zsh target/_sqv \
--bash target/sqv.bash \
--fish target/sqv.fish
'';
doCheck = true;
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "A command-line OpenPGP signature verification tool";
homepage = "https://docs.sequoia-pgp.org/sqv/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ doronbehar ];
mainProgram = "sqv";
};
}