diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/virtualization/containerd/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/virtualization/containerd/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix new file mode 100644 index 000000000000..94b21a77a702 --- /dev/null +++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix @@ -0,0 +1,56 @@ +{ stdenv, lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, utillinux }: + +with lib; + +buildGoPackage rec { + name = "containerd-${version}"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "containerd"; + repo = "containerd"; + rev = "v${version}"; + sha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya"; + }; + + goPackagePath = "github.com/containerd/containerd"; + outputs = [ "bin" "out" "man" ]; + + hardeningDisable = [ "fortify" ]; + + buildInputs = [ btrfs-progs go-md2man utillinux ]; + buildFlags = "VERSION=v${version}"; + + BUILDTAGS = [] + ++ optional (btrfs-progs == null) "no_btrfs"; + + buildPhase = '' + cd go/src/${goPackagePath} + patchShebangs . + make binaries + ''; + + installPhase = '' + for b in bin/*; do + install -Dm555 $b $bin/$b + done + + make man + manRoot="$man/share/man" + mkdir -p "$manRoot" + for manFile in man/*; do + manName="$(basename "$manFile")" # "docker-build.1" + number="$(echo $manName | rev | cut -d'.' -f1 | rev)" + mkdir -p "$manRoot/man$number" + gzip -c "$manFile" > "$manRoot/man$number/$manName.gz" + done + ''; + + meta = { + homepage = https://containerd.io/; + description = "A daemon to control runC"; + license = licenses.asl20; + maintainers = with maintainers; [ offline vdemeester ]; + platforms = platforms.linux; + }; +} |