1{
2 stdenv,
3 lib,
4 buildGoModule,
5 fetchFromGitHub,
6 pkg-config,
7 pcsclite,
8 softhsm,
9 opensc,
10 yubihsm-shell,
11}:
12
13buildGoModule rec {
14 pname = "step-kms-plugin";
15 version = "0.14.0";
16
17 src = fetchFromGitHub {
18 owner = "smallstep";
19 repo = "step-kms-plugin";
20 rev = "v${version}";
21 hash = "sha256-GP4ztKTkHIxBCK9Wx9oT8jehIFYCj3lnAt+RGgTMpHo=";
22 };
23
24 vendorHash = "sha256-beRLkYLAe3wx0CmCXcn5flWeg+qOK1JPYjAD/bhPkTc=";
25
26 proxyVendor = true;
27
28 nativeBuildInputs = [
29 pkg-config
30 ];
31
32 buildInputs = [
33 opensc
34 pcsclite
35 softhsm
36 yubihsm-shell
37 ];
38
39 ldflags = [
40 "-w"
41 "-s"
42 "-X github.com/smallstep/step-kms-plugin/cmd.Version=${version}"
43 ];
44
45 meta = with lib; {
46 description = "step plugin to manage keys and certificates on cloud KMSs and HSMs";
47 homepage = "https://smallstep.com/cli/";
48 license = licenses.asl20;
49 maintainers = with maintainers; [ qbit ];
50 mainProgram = "step-kms-plugin";
51 # can't find pcsclite header files
52 broken = stdenv.hostPlatform.isDarwin;
53 };
54}