diff --git a/pkgs/applications/virtualization/podman/conmon.nix b/pkgs/applications/virtualization/podman/conmon.nix new file mode 100644 index 00000000000..42907bc84ba --- /dev/null +++ b/pkgs/applications/virtualization/podman/conmon.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchFromGitHub, pkgconfig, glib }: + +with lib; + +stdenv.mkDerivation rec { + name = "conmon-${version}"; + version = "unstable-2018-11-28"; + rev = "8fba206232c249a8fc4e2fac1469fb2fddbf5cf7"; + + src = fetchFromGitHub { + owner = "containers"; + repo = "conmon"; + sha256 = "07ar0dk9i072b14f6il51yqahxp5c4fkf5jzar8rxcpvymkdy8zq"; + inherit rev; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + glib + ]; + + installPhase = '' + install -D -m 555 bin/conmon $out/bin/conmon + ''; + + meta = { + homepage = https://github.com/containers/conmon; + description = "An OCI container runtime monitor"; + license = licenses.asl20; + maintainers = with maintainers; [ vdemeester ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix new file mode 100644 index 00000000000..753fada5e7d --- /dev/null +++ b/pkgs/applications/virtualization/podman/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, pkgconfig +, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp +}: + +buildGoPackage rec { + name = "podman-${version}"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "containers"; + repo = "libpod"; + rev = "v${version}"; + sha256 = "1py6vbmpm25j1gb51dn973pckvgjl9q63y9qyzszvc3q3wsxsqhw"; + }; + + goPackagePath = "github.com/containers/libpod"; + + # Optimizations break compilation of libseccomp c bindings + hardeningDisable = [ "fortify" ]; + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ + btrfs-progs libseccomp gpgme lvm2 + ]; + + buildPhase = '' + pushd $NIX_BUILD_TOP/go/src/${goPackagePath} + patchShebangs . + make binaries + ''; + + installPhase = '' + install -Dm555 bin/podman $bin/bin/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; [ vdemeester ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bfc0e69bbf5..86670b31450 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4966,6 +4966,9 @@ in podiff = callPackage ../tools/text/podiff { }; + podman = callPackage ../applications/virtualization/podman { }; + conmon = callPackage ../applications/virtualization/podman/conmon.nix { }; + pod2mdoc = callPackage ../tools/misc/pod2mdoc { }; poedit = callPackage ../tools/text/poedit { };