about summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster/openshift
diff options
context:
space:
mode:
authorVincent Demeester <vincent@sbr.pm>2018-12-20 18:45:54 +0100
committerVincent Demeester <vincent@sbr.pm>2018-12-20 18:45:54 +0100
commite4bc05f46044f36ab10e10e269e5609f1274b67f (patch)
tree0f44ddcfe3e47ba277b40075e0c1c17a3fe21f0d /pkgs/applications/networking/cluster/openshift
parent25eb8419d9d36dcb53f8ff1f3199bd35289ad482 (diff)
downloadnixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar.gz
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar.bz2
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar.lz
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar.xz
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.tar.zst
nixlib-e4bc05f46044f36ab10e10e269e5609f1274b67f.zip
openshift: migrate to using buildGoPackage
This means `openshift` becomes a multi-output derivation :
`openshift.bin` and `openshift`

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat (limited to 'pkgs/applications/networking/cluster/openshift')
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix25
1 files changed, 11 insertions, 14 deletions
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index a34c728da168..f730329d0725 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync, utillinux
+{ stdenv, lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, utillinux
 , coreutils, kerberos, clang
 , components ? [
   "cmd/oc"
@@ -20,7 +20,7 @@ let
   k8sgitcommit = "b1b2997";
   k8sgitMajor = "0";
   k8sgitMinor = "1";
-in stdenv.mkDerivation rec {
+in buildGoPackage rec {
   name = "openshift-origin-${version}";
   inherit version;
 
@@ -29,13 +29,13 @@ in stdenv.mkDerivation rec {
     repo = "origin";
     rev = "v${version}";
     sha256 = "06q4v2a1mm6c659ab0rzkqz6b66vx4avqfg0s9xckwhq420lzgka";
-};
+  };
+
+  goPackagePath = "github.com/openshift/origin";
 
   # go > 1.10
   # [FATAL] [14:44:02+0000] Please install Go version go or use PERMISSIVE_GO=y to bypass this check.
-  buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata kerberos clang ];
-
-  outputs = [ "out" ];
+  buildInputs = [ which rsync go-bindata kerberos clang ];
 
   patchPhase = ''
     patchShebangs ./hack
@@ -54,6 +54,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
+    cd go/src/${goPackagePath}
     # Openshift build require this variables to be set
     # unless there is a .git folder which is not the case with fetchFromGitHub
     echo "OS_GIT_VERSION=v${version}" >> os-version-defs
@@ -71,14 +72,10 @@ in stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$out/bin/"
-    install -D -t "$out/etc/bash_completion.d" contrib/completions/bash/*
-    install -D -t "$out/share/zsh/site-functions" contrib/completions/zsh/*
-  '';
-
-  preFixup = ''
-    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
+    mkdir -p $bin/bin
+    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$bin/bin/"
+    install -D -t "$bin/etc/bash_completion.d" contrib/completions/bash/*
+    install -D -t "$bin/share/zsh/site-functions" contrib/completions/zsh/*
   '';
 
   meta = with stdenv.lib; {