diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix index be5b8f621089..b89ef1dd7bff 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";