1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-25 03:17:13 +00:00
nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix
Vincent Demeester 92d32e21d2
minishift: 1.31.0 -> 1.32.0
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2019-03-05 13:51:05 +01:00

68 lines
2.2 KiB
Nix

{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkgconfig, makeWrapper
, glib, gtk3, libappindicator-gtk3, gpgme, openshift, ostree, libselinux, btrfs-progs
, lvm2, docker-machine-kvm
}:
let
version = "1.32.0";
# Update these on version bumps according to Makefile
centOsIsoVersion = "v1.15.0";
openshiftVersion = "v3.11.0";
in buildGoPackage rec {
name = "minishift-${version}";
inherit version;
src = fetchFromGitHub {
owner = "minishift";
repo = "minishift";
rev = "v${version}";
sha256 = "06qhcycnr06fw5dmmzwizmknm0j34j43894nl3kxa5mxh8x542pa";
};
nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ];
buildInputs = [ glib gtk3 libappindicator-gtk3 gpgme ostree libselinux btrfs-progs lvm2 ];
goPackagePath = "github.com/minishift/minishift";
subPackages = [ "cmd/minishift" ];
postPatch = ''
# minishift downloads openshift if not found therefore set the cache to /nix/store/...
substituteInPlace pkg/minishift/cache/oc_caching.go \
--replace 'filepath.Join(oc.MinishiftCacheDir, OC_CACHE_DIR, oc.OpenShiftVersion, runtime.GOOS)' '"${openshift}/bin"' \
--replace '"runtime"' ""
'';
buildFlagsArray = ''
-ldflags=
-X ${goPackagePath}/pkg/version.minishiftVersion=${version}
-X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion}
-X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion}
'';
preBuild = ''
(cd go/src/github.com/minishift/minishift
mkdir -p out/bindata
go-bindata -prefix addons -o out/bindata/addon_assets.go -pkg bindata addons/...)
'';
postInstall = ''
wrapProgram "$bin/bin/minishift" \
--prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm openshift ]}'
'';
meta = with lib; {
description = "Run OpenShift locally";
longDescription = ''
Minishift is a tool that helps you run OpenShift locally by running
a single-node OpenShift cluster inside a VM. You can try out OpenShift
or develop with it, day-to-day, on your local host.
'';
homepage = https://github.com/minishift/minishift;
maintainers = with maintainers; [ fpletz vdemeester ];
platforms = platforms.linux;
license = licenses.asl20;
};
}