{ lib, fetchFromGitHub, buildGoModule, go-md2man, installShellFiles, pkg-config, which, libapparmor, libseccomp, libselinux, stdenv, makeBinaryWrapper, nixosTests, }: buildGoModule (finalAttrs: { pname = "runc"; version = "1.4.0"; src = fetchFromGitHub { owner = "opencontainers"; repo = "runc"; tag = "v${finalAttrs.version}"; hash = "sha256-XPS9qWgDyKVLYs/QqWof6ydVK1T41QD8yDpvztc3NMc="; }; vendorHash = null; outputs = [ "out" "man" ]; nativeBuildInputs = [ go-md2man installShellFiles makeBinaryWrapper pkg-config which ]; buildInputs = [ libselinux libseccomp libapparmor ]; makeFlags = [ "BUILDTAGS+=seccomp" "SHELL=${stdenv.shell}" ]; buildPhase = '' runHook preBuild patchShebangs . make ${toString finalAttrs.makeFlags} runc man runHook postBuild ''; installPhase = '' runHook preInstall install -Dm755 runc $out/bin/runc installManPage man/*/*.[1-9] wrapProgram $out/bin/runc \ --prefix PATH : /run/current-system/systemd/bin runHook postInstall ''; passthru.tests = { inherit (nixosTests) cri-o docker podman; }; meta = { homepage = "https://github.com/opencontainers/runc"; description = "CLI tool for spawning and running containers according to the OCI specification"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ offline ]; teams = [ lib.teams.podman ]; platforms = lib.platforms.linux; mainProgram = "runc"; }; })