diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix index cece3cc6b67..695109fd8a4 100644 --- a/pkgs/applications/virtualization/containerd/default.nix +++ b/pkgs/applications/virtualization/containerd/default.nix @@ -1,12 +1,16 @@ -{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, util-linux, nixosTests }: - -with lib; +{ lib +, fetchFromGitHub +, buildGoPackage +, btrfs-progs +, go-md2man +, installShellFiles +, util-linux +, nixosTests +}: buildGoPackage rec { pname = "containerd"; version = "1.4.3"; - # git commit for the above version's tag - commit = "269548fa27e0089a8b8278fc4fc781d7f65a939b"; src = fetchFromGitHub { owner = "containerd"; @@ -22,29 +26,32 @@ buildGoPackage rec { buildInputs = [ btrfs-progs ]; - buildFlags = [ "VERSION=v${version}" "REVISION=${commit}" ]; + buildFlags = [ "VERSION=v${version}" "REVISION=${src.rev}" ]; - BUILDTAGS = [] - ++ optional (btrfs-progs == null) "no_btrfs"; + BUILDTAGS = [ ] + ++ lib.optional (btrfs-progs == null) "no_btrfs"; buildPhase = '' cd go/src/${goPackagePath} patchShebangs . - make binaries $buildFlags + make binaries man $buildFlags ''; installPhase = '' - for b in bin/*; do - install -Dm555 $b $out/$b - done - - make man + install -Dm555 bin/* -t $out/bin installManPage man/*.[1-9] ''; + # completion installed separately so it can be overridden in docker + # can be moved to installPhase when docker uses containerd >= 1.4 + postInstall = '' + installShellFiles --bash contrib/autocomplete/ctr + installShellFiles --zsh --name _ctr contrib/autocomplete/zsh_autocomplete + ''; + passthru.tests = { inherit (nixosTests) docker; }; - meta = { + meta = with lib; { homepage = "https://containerd.io/"; description = "A daemon to control runC"; license = licenses.asl20;