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