nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ buildGoModule
2, fetchFromGitHub
3, installShellFiles
4, lib
5, testers
6, kubevirt
7}:
8
9buildGoModule rec {
10 pname = "kubevirt";
11 version = "0.59.0";
12
13 src = fetchFromGitHub {
14 owner = "kubevirt";
15 repo = "kubevirt";
16 rev = "v${version}";
17 sha256 = "sha256-4mTq/V4X8eq7g+ltgFD2ZFC7k2yiszG2i2QErttPATE=";
18 };
19
20 vendorHash = null;
21
22 subPackages = [ "cmd/virtctl" ];
23
24 tags = [ "selinux" ];
25
26 ldflags = [
27 "-X kubevirt.io/client-go/version.gitCommit=v${version}"
28 "-X kubevirt.io/client-go/version.gitTreeState=clean"
29 "-X kubevirt.io/client-go/version.gitVersion=v${version}"
30 ];
31
32 nativeBuildInputs = [ installShellFiles ];
33
34 postInstall = ''
35 installShellCompletion --cmd virtctl \
36 --bash <($out/bin/virtctl completion bash) \
37 --fish <($out/bin/virtctl completion fish) \
38 --zsh <($out/bin/virtctl completion zsh)
39 '';
40
41 passthru.tests.version = testers.testVersion {
42 package = kubevirt;
43 command = "virtctl version --client";
44 version = "v${version}";
45 };
46
47 meta = with lib; {
48 description = "Client tool to use advanced features such as console access";
49 homepage = "https://kubevirt.io/";
50 license = licenses.asl20;
51 maintainers = with maintainers; [ haslersn ];
52 };
53}