From b7ef71665d1677854cfeeded99d19ea65a4ef71d Mon Sep 17 00:00:00 2001
From: Benjamin Hipple <bhipple@protonmail.com>
Date: Mon, 9 Mar 2020 22:24:41 -0400
Subject: [PATCH] habitat: 0.30.2 -> 0.90.6

The build has been broken on master for a very long time, for want of an
upgrade. This continues the effort put forth here:
https://github.com/NixOS/nixpkgs/pull/63105

Note that while there are newer versions than this, upgrading to those requires
getting some Cargo protobuf dependencies to compile. Since this fixes the
failing build, it seems like a good start.

Upstream does not appear to have any Darin builds in their CI, and we do not
have a Darwin maintainer available, so this disables it as well.
---
 .../networking/cluster/habitat/default.nix    | 31 ++++++++-----------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/pkgs/applications/networking/cluster/habitat/default.nix b/pkgs/applications/networking/cluster/habitat/default.nix
index 31184bd68ff5..f2f3925fbe4d 100644
--- a/pkgs/applications/networking/cluster/habitat/default.nix
+++ b/pkgs/applications/networking/cluster/habitat/default.nix
@@ -1,27 +1,23 @@
-{ lib, fetchFromGitHub, rustPlatform, pkgconfig
-, libsodium, libarchive, openssl }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig
+, libsodium, libarchive, openssl, zeromq }:
 
-with rustPlatform;
-
-buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   pname = "habitat";
-  version = "0.30.2";
+  # Newer versions required protobuf, which requires some finesse to get to
+  # compile with the vendored protobuf crate.
+  version = "0.90.6";
 
   src = fetchFromGitHub {
     owner = "habitat-sh";
     repo = "habitat";
     rev = version;
-    sha256 = "0pqrm85pd9hqn5fwqjbyyrrfh4k7q9mi9qy9hm8yigk5l8mw44y1";
+    sha256 = "0rwi0lkmhlq4i8fba3s9nd9ajhz2dqxzkgfp5i8y0rvbfmhmfd6b";
   };
 
-  # Delete this on next update; see #79975 for details
-  legacyCargoFetcher = true;
-
-  cargoSha256 = "1ahfm5agvabqqqgjsyjb95xxbc7mng1mdyclcakwp1m1qdkxx9p0";
-
-  buildInputs = [ libsodium libarchive openssl ];
+  cargoSha256 = "08sncz0jgsr2s821j3s4bk7d54xqwmnld7m57avavym1xqvsnbmy";
 
   nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libsodium libarchive openssl zeromq ];
 
   cargoBuildFlags = ["--package hab"];
 
@@ -32,12 +28,11 @@ buildRustPackage rec {
     runHook postCheck
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "An application automation framework";
-    homepage = https://www.habitat.sh;
+    homepage = "https://www.habitat.sh";
     license = licenses.asl20;
-    maintainers = [ maintainers.rushmorem ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    broken = true; # mark temporary as broken due git dependencies
+    maintainers = with maintainers; [ rushmorem ];
+    platforms = [ "x86_64-linux" ];
   };
 }