{ stdenv , fetchFromGitHub , pkg-config , installShellFiles , buildGoModule , gpgme , lvm2 , btrfs-progs , libapparmor , libseccomp , libselinux , systemd , go-md2man , nixosTests }: buildGoModule rec { pname = "podman"; version = "2.0.2"; src = fetchFromGitHub { owner = "containers"; repo = "libpod"; rev = "v${version}"; sha256 = "12iqj71xjszbjbbz5f2dk5chcvfrrq0n737ki7xxkjcw38k2cnqz"; }; vendorSha256 = null; outputs = [ "out" "man" ]; nativeBuildInputs = [ pkg-config go-md2man installShellFiles ]; buildInputs = stdenv.lib.optionals stdenv.isLinux [ btrfs-progs gpgme libapparmor libseccomp libselinux lvm2 systemd ]; buildPhase = '' patchShebangs . ${if stdenv.isDarwin then "make podman-remote" else "make podman"} make docs ''; installPhase = stdenv.lib.optionalString stdenv.isDarwin '' mv bin/{podman-remote,podman} '' + '' install -Dm555 bin/podman $out/bin/podman installShellCompletion --bash completions/bash/podman installShellCompletion --zsh completions/zsh/_podman MANDIR=$man/share/man make install.man-nobuild ''; passthru.tests.podman = nixosTests.podman; meta = with stdenv.lib; { homepage = "https://podman.io/"; description = "A program for managing pods, containers and container images"; license = licenses.asl20; maintainers = with maintainers; [ marsam ] ++ teams.podman.members; platforms = platforms.unix; }; }