about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaka Hudoklin <offlinehacker@users.noreply.github.com>2018-10-20 22:14:06 +0200
committerGitHub <noreply@github.com>2018-10-20 22:14:06 +0200
commit8ff3df3eefce50850cdcd6f7910c984b64348829 (patch)
tree1c3f295319921cb275d3c2c1b295057c2bdb9975
parentc018b7c73dbd83ff5fedb7f78bb308c1b74a8ea1 (diff)
parentc6b09766aa0fe8c0f4c287e3ee207545ca72cb72 (diff)
downloadnixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar.gz
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar.bz2
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar.lz
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar.xz
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.tar.zst
nixlib-8ff3df3eefce50850cdcd6f7910c984b64348829.zip
Merge pull request #48736 from mayflower/pkg/minishift
minishift: init at 1.25.0
-rw-r--r--pkgs/applications/networking/cluster/minishift/default.nix67
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 69 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;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 177d1bbcebc7..2ca12678c55d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -17728,6 +17728,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) vmnet;
   };
 
+  minishift = callPackage ../applications/networking/cluster/minishift { };
+
   minitube = libsForQt5.callPackage ../applications/video/minitube { };
 
   mimic = callPackage ../applications/audio/mimic {