python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / no / novops / package.nix
blob4e5133841fd60b296d9fd7e8ca918a539dcbd0cc
1 { lib
2 , fetchFromGitHub
3 , rustPlatform
4 , pkg-config
5 , openssl
6 , stdenv
7 , installShellFiles
8 , libiconv
9 , darwin
12 rustPlatform.buildRustPackage rec {
13   pname = "novops";
14   version = "0.18.0";
16   src = fetchFromGitHub {
17     owner = "PierreBeucher";
18     repo = pname;
19     rev = "v${version}";
20     hash = "sha256-ToIIBLLwf9GLg+/2VF3DQTT1RokI6XHwdPmr+BtNFeU=";
21   };
23   cargoHash = "sha256-3QB7iuzWlWDgFRrKiwq7Yh9PIW88m1N+nPQ8fdEQ7Ps=";
25   buildInputs = [
26     openssl # required for openssl-sys
27   ] ++ lib.optional stdenv.hostPlatform.isDarwin [
28     libiconv
29     darwin.apple_sdk.frameworks.SystemConfiguration
30   ];
32   nativeBuildInputs = [
33     installShellFiles
34     pkg-config # required for openssl-sys
35   ];
37   cargoTestFlags = [
38       # Only run lib tests (unit tests)
39       # All other tests are integration tests which should not be run with Nix build
40       "--lib"
41   ];
43   postInstall = ''
44     installShellCompletion --cmd novops \
45       --bash <($out/bin/novops completion bash) \
46       --fish <($out/bin/novops completion fish) \
47       --zsh <($out/bin/novops completion zsh)
48   '';
50   meta = with lib; {
51     description = "Cross-platform secret & config manager for development and CI environments";
52     homepage = "https://github.com/PierreBeucher/novops";
53     license = licenses.lgpl3;
54     maintainers = with maintainers; [ pbeucher ];
55     mainProgram = "novops";
56   };