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.1.8";
15
16 src = fetchFromGitHub {
17 owner = "containers";
18 repo = pname;
19 rev = "v${version}";
20 hash = "sha256-gdMNAU+w4u+9DZL9x96OAZihShkQdvSiqPCA+eNf600=";
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 enableParallelBuilding = true;
37 strictDeps = true;
38
39 passthru.tests = { inherit (nixosTests) cri-o podman; };
40
41 meta = with lib; {
42 changelog = "https://github.com/containers/conmon/releases/tag/${src.rev}";
43 homepage = "https://github.com/containers/conmon";
44 description = "An OCI container runtime monitor";
45 license = licenses.asl20;
46 maintainers = with maintainers; [ ] ++ teams.podman.members;
47 platforms = platforms.linux;
48 };
49}