aboutsummaryrefslogtreecommitdiff
path: root/pkgs/applications/networking/cluster/minishift/default.nix
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2018-10-19 23:26:36 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2018-10-20 06:08:29 +0200
commitc6b09766aa0fe8c0f4c287e3ee207545ca72cb72 (patch)
tree638f5131c4d71cd6a9e0e62940eff3a20199a0c7 /pkgs/applications/networking/cluster/minishift/default.nix
parent8895ae2a62c72c63892a3ad4d38bf2a621ecacac (diff)
minishift: init at 1.25.0
Diffstat (limited to 'pkgs/applications/networking/cluster/minishift/default.nix')
-rw-r--r--pkgs/applications/networking/cluster/minishift/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix
new file mode 100644
index 000000000000..13f73f51a319
--- /dev/null
+++ b/pkgs/applications/networking/cluster/minishift/default.nix
@@ -0,0 +1,67 @@
+{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkgconfig, makeWrapper
+, glib, gtk3, libappindicator-gtk3, gpgme, ostree, libselinux, btrfs-progs
+, lvm2, docker-machine-kvm
+}:
+
+let
+ version = "1.25.0";
+
+ # Update these on version bumps according to Makefile
+ b2dIsoVersion = "v1.3.0";
+ centOsIsoVersion = "v1.12.0";
+ openshiftVersion = "v3.11.0";
+
+in buildGoPackage rec {
+ name = "minishift-${version}";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "minishift";
+ repo = "minishift";
+ rev = "v${version}";
+ sha256 = "12a1irj92lplzkr88g049blpjsdsfwfihs2xix971cq7v0w38fkf";
+ };
+
+ 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 = ''
+ substituteInPlace vendor/github.com/containers/image/storage/storage_image.go \
+ --replace 'nil, diff' 'diff'
+ '';
+
+ buildFlagsArray = ''
+ -ldflags=
+ -X ${goPackagePath}/pkg/version.minishiftVersion=${version}
+ -X ${goPackagePath}/pkg/version.b2dIsoVersion=${b2dIsoVersion}
+ -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 ]}'
+ '';
+
+ 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 ];
+ platforms = platforms.linux;
+ license = licenses.asl20;
+ };
+}