nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix

50 lines
1.2 KiB
Nix

{ stdenv, fetchFromGitHub, go, which }:
let
version = "1.3.0";
versionMajor = "1";
versionMinor = "3";
in
stdenv.mkDerivation rec {
name = "openshift-origin-${version}";
inherit version;
src = fetchFromGitHub {
owner = "openshift";
repo = "origin";
rev = "v${version}";
sha256 = "07s7xv8x8pch68j7lsw29im0axi07x32ag9wh9aqa0y570q9xgxy";
};
buildInputs = [ go which ];
patchPhase = ''
patchShebangs ./hack
'';
buildPhase = ''
export GOPATH=$(pwd)
# Openshift build require this variables to be set
# unless there is a .git folder which is not the case with fetchFromGitHub
export OS_GIT_VERSION=${version}
export OS_GIT_MAJOR=${versionMajor}
export OS_GIT_MINOR=${versionMinor}
make build
'';
installPhase = ''
export GOOS=$(go env GOOS)
export GOARCH=$(go env GOARCH)
mkdir -p "$out/bin"
mv _output/local/bin/$GOOS/$GOARCH/* "$out/bin/"
'';
meta = with stdenv.lib; {
description = "Build, deploy, and manage your applications with Docker and Kubernetes";
license = licenses.asl20;
homepage = http://www.openshift.org;
maintainers = with maintainers; [offline];
platforms = [ "x86_64-linux" ];
};
}