about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/virtualization/containerd/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/default.nix54
1 files changed, 54 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..d9056c4111d1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchFromGitHub, removeReferencesTo
+, go, btrfs-progs }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "containerd-${version}";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "containerd";
+    repo = "containerd";
+    rev = "v${version}";
+    sha256 = "16zn6p1ky3yrgn53z8h9wza53ch91fj47wj5xgz6w4c57j30f66p";
+  };
+
+  hardeningDisable = [ "fortify" ];
+
+  buildInputs = [ removeReferencesTo go btrfs-progs ];
+  buildFlags = "VERSION=v${version}";
+
+  BUILDTAGS = []
+    ++ optional (btrfs-progs == null) "no_btrfs";
+
+  preConfigure = ''
+    # Extract the source
+    cd "$NIX_BUILD_TOP"
+    mkdir -p "go/src/github.com/containerd"
+    mv "$sourceRoot" "go/src/github.com/containerd/containerd"
+    export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+'';
+
+  preBuild = ''
+    cd go/src/github.com/containerd/containerd
+    patchShebangs .
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/* $out/bin
+  '';
+
+  preFixup = ''
+    find $out -type f -exec remove-references-to -t ${go} '{}' +
+  '';
+
+  meta = {
+    homepage = https://containerd.io/;
+    description = "A daemon to control runC";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline vdemeester ];
+    platforms = platforms.linux;
+  };
+}