python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / solo2-cli / default.nix
blobad3df92873a8d50a0f946292bf27ba0ca5870a19
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , installShellFiles
6 , pkg-config
7 , pcsclite
8 , udev
9 , PCSC
10 , IOKit
11 , CoreFoundation
12 , AppKit
15 rustPlatform.buildRustPackage rec {
16   pname = "solo2-cli";
17   version = "0.2.1";
19   src = fetchFromGitHub {
20     owner = "solokeys";
21     repo = pname;
22     rev = "v${version}";
23     sha256 = "sha256-+n+tc3BDHr93yc2TzvI1Xqpcl8fM+bF/KZdv0rWfIZ8=";
24   };
26   cargoSha256 = "sha256-2bBo5HXLYQj+R47exPyMbx/RIrykDHjRkLRNMjVAzEI=";
28   nativeBuildInputs = [ installShellFiles pkg-config ];
30   buildInputs = [ ]
31     ++ lib.optionals stdenv.isLinux [ pcsclite udev ]
32     ++ lib.optionals stdenv.isDarwin [ PCSC IOKit CoreFoundation AppKit ];
34   postInstall = ''
35     install -D 70-solo2.rules $out/lib/udev/rules.d/70-solo2.rules
36     installShellCompletion target/*/release/solo2.{bash,fish,zsh}
37   '';
39   doCheck = true;
41   buildFeatures = [ "cli" ];
43   meta = with lib; {
44     description = "A CLI tool for managing SoloKeys' Solo2 USB security keys.";
45     homepage = "https://github.com/solokeys/solo2-cli";
46     license = with licenses; [ asl20 mit ]; # either at your option
47     maintainers = with maintainers; [ lukegb ];
48     mainProgram = "solo2";
49   };