summary refs log tree commit diff
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorJaka Hudoklin <jakahudoklin@gmail.com>2016-05-21 18:18:24 +0200
committerJaka Hudoklin <jakahudoklin@gmail.com>2016-09-12 01:32:02 +0200
commit71782da1036a0c5d9dd9a5ebf445fd13381a5dee (patch)
tree04757c4aa5da42d4554d3d3525d156a49473f74a /pkgs/applications/virtualization
parentea2270aa7cd60e426481eeeeab3b76ff70a36af5 (diff)
downloadnixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar.gz
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar.bz2
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar.lz
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar.xz
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.tar.zst
nixlib-71782da1036a0c5d9dd9a5ebf445fd13381a5dee.zip
runc: init at 2016-06-15
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/runc/default.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
new file mode 100644
index 000000000000..d66865573648
--- /dev/null
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, lib, fetchFromGitHub, go-md2man
+, go, pkgconfig, libapparmor, apparmor-parser, libseccomp }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "runc-${version}";
+  version = "2016-06-15";
+
+  src = fetchFromGitHub {
+    owner = "opencontainers";
+    repo = "runc";
+    rev = "cc29e3dded8e27ba8f65738f40d251c885030a28";
+    sha256 = "18fwb3kq10zhhx184yn3j396gpbppy3y4ypb8m2b2pdms39s6pyx";
+  };
+
+  outputs = [ "out" "man" ];
+
+  hardeningDisable = ["fortify"];
+
+  buildInputs = [ go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ];
+
+  makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
+
+  preBuild = ''
+    patchShebangs .
+    substituteInPlace libcontainer/apparmor/apparmor.go \
+      --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
+  '';
+
+  installPhase = ''
+    install -Dm755 runc $out/bin/runc
+
+    # Include contributed man pages
+    man/md2man-all.sh -q
+    manRoot="$man/share/man"
+    mkdir -p "$manRoot"
+    for manDir in man/man?; do
+      manBase="$(basename "$manDir")" # "man1"
+      for manFile in "$manDir"/*; do
+        manName="$(basename "$manFile")" # "docker-build.1"
+        mkdir -p "$manRoot/$manBase"
+        gzip -c "$manFile" > "$manRoot/$manBase/$manName.gz"
+      done
+    done
+  '';
+
+  preFixup = ''
+    # remove references to go compiler
+    while read file; do
+      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
+    done < <(find $out/bin -type f 2>/dev/null)
+  '';
+
+  meta = {
+    homepage = https://runc.io/;
+    description = "A CLI tool for spawning and running containers according to the OCI specification";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.linux;
+  };
+}