1{ lib
2, stdenv
3, fetchFromGitHub
4, pkg-config
5, glib
6, glibc
7, libseccomp
8, systemd
9, nixosTests
10}:
11
12stdenv.mkDerivation rec {
13 pname = "conmon";
14 version = "2.0.30";
15
16 src = fetchFromGitHub {
17 owner = "containers";
18 repo = pname;
19 rev = "v${version}";
20 sha256 = "sha256-NZMuHhQyo+95QTJcR79cyZr86ytkbo4nmaqTF0Bdt+s=";
21 };
22
23 nativeBuildInputs = [ pkg-config ];
24 buildInputs = [ glib libseccomp systemd ]
25 ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ];
26
27 # manpage requires building the vendored go-md2man
28 makeFlags = [ "bin/conmon" ];
29
30 installPhase = ''
31 runHook preInstall
32 install -D bin/conmon -t $out/bin
33 runHook postInstall
34 '';
35
36 passthru.tests = { inherit (nixosTests) cri-o podman; };
37
38 meta = with lib; {
39 homepage = "https://github.com/containers/conmon";
40 description = "An OCI container runtime monitor";
41 license = licenses.asl20;
42 maintainers = with maintainers; [ ] ++ teams.podman.members;
43 platforms = platforms.linux;
44 };
45}