python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / rage / default.nix
blob897c990d6fed9b73f656e722b749a93e8ed07b15
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , installShellFiles
6 , Foundation
7 }:
9 rustPlatform.buildRustPackage rec {
10   pname = "rage";
11   version = "0.9.0";
13   src = fetchFromGitHub {
14     owner = "str4d";
15     repo = pname;
16     rev = "v${version}";
17     sha256 = "sha256-/qrhD7AqVGMBi6PyvYww5PxukUU//KrttKqnPS0OYPc=";
18   };
20   cargoSha256 = "sha256-hVjtjeaIyySAHm3v0kFQ387THqYU1s+nGdBUwzIzBjg=";
22   nativeBuildInputs = [
23     installShellFiles
24   ];
26   buildInputs = lib.optionals stdenv.isDarwin [
27     Foundation
28   ];
30   # cargo test has an x86-only dependency
31   doCheck = stdenv.hostPlatform.isx86;
33   postBuild = ''
34     cargo run --example generate-docs
35     cargo run --example generate-completions
36   '';
38   postInstall = ''
39     installManPage target/manpages/*
40     installShellCompletion target/completions/*.{bash,fish,zsh}
41   '';
43   meta = with lib; {
44     description = "A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability";
45     homepage = "https://github.com/str4d/rage";
46     changelog = "https://github.com/str4d/rage/raw/v${version}/rage/CHANGELOG.md";
47     license = with licenses; [ asl20 mit ]; # either at your option
48     maintainers = with maintainers; [ marsam ryantm ];
49   };