summary refs log tree commit diff
path: root/pkgs/applications/virtualization/runc/default.nix
diff options
context:
space:
mode:
authorVincent Demeester <vincent@sbr.pm>2018-12-20 10:54:14 +0100
committerVincent Demeester <vincent@sbr.pm>2018-12-20 10:54:14 +0100
commite5277cf8292bbd1fafa3ef5eca57e5f988132b17 (patch)
tree2496851db44697f774ecb925099587cd00173f21 /pkgs/applications/virtualization/runc/default.nix
parent25eb8419d9d36dcb53f8ff1f3199bd35289ad482 (diff)
downloadnixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar.gz
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar.bz2
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar.lz
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar.xz
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.tar.zst
nixpkgs-e5277cf8292bbd1fafa3ef5eca57e5f988132b17.zip
runc: migrate to using buildGoPackage
This means `runc` becomes a multi-output derivation : `runc.bin` and `runc.man`.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat (limited to 'pkgs/applications/virtualization/runc/default.nix')
-rw-r--r--pkgs/applications/virtualization/runc/default.nix30
1 files changed, 10 insertions, 20 deletions
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index be5b8f62108..b89ef1dd7bf 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, fetchFromGitHub, removeReferencesTo, go-md2man
-, go, pkgconfig, libapparmor, apparmor-parser, libseccomp }:
+{ stdenv, lib, fetchFromGitHub, buildGoPackage, go-md2man
+, pkgconfig, libapparmor, apparmor-parser, libseccomp, which }:
 
 with lib;
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   name = "runc-${version}";
   version = "1.0.0-rc6";
 
@@ -14,32 +14,26 @@ stdenv.mkDerivation rec {
     sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j";
   };
 
-  outputs = [ "out" "man" ];
+  goPackagePath = "github.com/opencontainers/runc";
+  outputs = [ "bin" "out" "man" ];
 
   hardeningDisable = ["fortify"];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ removeReferencesTo go-md2man go libseccomp libapparmor apparmor-parser ];
+  buildInputs = [ go-md2man libseccomp libapparmor apparmor-parser which ];
 
   makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
 
-  preConfigure = ''
-    # Extract the source
-    cd "$NIX_BUILD_TOP"
-    mkdir -p "go/src/github.com/opencontainers"
-    mv "$sourceRoot" "go/src/github.com/opencontainers/runc"
-    export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
-  '';
-
-  preBuild = ''
-    cd go/src/github.com/opencontainers/runc
+  buildPhase = ''
+    cd go/src/${goPackagePath}
     patchShebangs .
     substituteInPlace libcontainer/apparmor/apparmor.go \
       --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
+    make ${makeFlags} runc
   '';
 
   installPhase = ''
-    install -Dm755 runc $out/bin/runc
+    install -Dm755 runc $bin/bin/runc
 
     # Include contributed man pages
     man/md2man-all.sh -q
@@ -55,10 +49,6 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preFixup = ''
-    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
-  '';
-
   meta = {
     homepage = https://runc.io/;
     description = "A CLI tool for spawning and running containers according to the OCI specification";