Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / virtualization / cri-o / default.nix
blob05de3c1626df997f2b30603b48bede86a72cc891
1 { lib
2 , btrfs-progs
3 , buildGoModule
4 , fetchFromGitHub
5 , glibc
6 , gpgme
7 , installShellFiles
8 , libapparmor
9 , libseccomp
10 , libselinux
11 , lvm2
12 , pkg-config
13 , nixosTests
16 buildGoModule rec {
17   pname = "cri-o";
18   version = "1.28.2";
20   src = fetchFromGitHub {
21     owner = "cri-o";
22     repo = "cri-o";
23     rev = "v${version}";
24     sha256 = "sha256-g9J66CZOAoco7UmK+xPEE6T5Aes3LWEG3J40LuDcvYo=";
25   };
26   vendorHash = null;
28   doCheck = false;
30   outputs = [ "out" "man" ];
31   nativeBuildInputs = [ installShellFiles pkg-config ];
33   buildInputs = [
34     btrfs-progs
35     gpgme
36     libapparmor
37     libseccomp
38     libselinux
39     lvm2
40   ] ++ lib.optionals (glibc != null) [ glibc glibc.static ];
42   BUILDTAGS = "apparmor seccomp selinux containers_image_openpgp containers_image_ostree_stub";
43   buildPhase = ''
44     runHook preBuild
45     make binaries docs BUILDTAGS="$BUILDTAGS"
46     runHook postBuild
47   '';
49   installPhase = ''
50     runHook preInstall
51     install -Dm755 bin/* -t $out/bin
53     for shell in bash fish zsh; do
54       installShellCompletion --$shell completions/$shell/*
55     done
57     install contrib/cni/*.conflist -Dt $out/etc/cni/net.d
58     install crictl.yaml -Dt $out/etc
60     installManPage docs/*.[1-9]
61     runHook postInstall
62   '';
64   passthru.tests = { inherit (nixosTests) cri-o; };
66   meta = with lib; {
67     homepage = "https://cri-o.io";
68     description = ''
69       Open Container Initiative-based implementation of the
70       Kubernetes Container Runtime Interface
71     '';
72     license = licenses.asl20;
73     maintainers = with maintainers; [ ] ++ teams.podman.members;
74     platforms = platforms.linux;
75   };