summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-and-tools/hub/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/git-and-tools/hub/default.nix')
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix64
1 files changed, 41 insertions, 23 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 9d63642dcb3..cb75ec82646 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,47 +1,65 @@
-{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, unixtools, nixosTests }:
+{ lib
+, buildGoModule
+, fetchpatch
+, fetchFromGitHub
+, git
+, groff
+, installShellFiles
+, makeWrapper
+, unixtools
+, nixosTests
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hub";
-  version = "2.14.2";
-
-  goPackagePath = "github.com/github/hub";
-
-  # Only needed to build the man-pages
-  excludedPackages = [ "github.com/github/hub/md2roff-bin" ];
+  version = "unstable-2022-04-04";
 
   src = fetchFromGitHub {
     owner = "github";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
+    rev = "363513a0f822a8bde5b620e5de183702280d4ace";
+    sha256 = "sha256-jipZHmGtPTsztTeVZofaMReU4AEU9k6mdw9YC4KKB1Q=";
   };
 
-  nativeBuildInputs = [ groff installShellFiles unixtools.col ];
-
   postPatch = ''
-    patchShebangs .
-    substituteInPlace git/git.go --replace "cmd.New(\"git\")" "cmd.New(\"${git}/bin/git\")"
-    substituteInPlace commands/args.go --replace "Executable:  \"git\"" "Executable:  \"${git}/bin/git\""
+    patchShebangs script/
   '';
 
+  vendorSha256 = "sha256-wQH8V9jRgh45JGs4IfYS1GtmCIYdo93JG1UjJ0BGxXk=";
+
+  # Only needed to build the man-pages
+  excludedPackages = [ "github.com/github/hub/md2roff-bin" ];
+
+  nativeBuildInputs = [
+    groff
+    installShellFiles
+    makeWrapper
+    unixtools.col
+  ];
+
   postInstall = ''
-    cd go/src/${goPackagePath}
-    installShellCompletion --zsh --name _hub etc/hub.zsh_completion
-    installShellCompletion --bash --name hub etc/hub.bash_completion.sh
-    installShellCompletion --fish --name hub.fish etc/hub.fish_completion
+    installShellCompletion --cmd hub \
+      --bash etc/hub.bash_completion.sh \
+      --fish etc/hub.fish_completion \
+      --zsh etc/hub.zsh_completion
 
-    LC_ALL=C.UTF8 \
-    make man-pages
+    LC_ALL=C.UTF8 make man-pages
     installManPage share/man/man[1-9]/*.[1-9]
+
+    wrapProgram $out/bin/hub \
+      --suffix PATH : ${lib.makeBinPath [ git ]}
   '';
 
+  checkInputs = [
+    git
+  ];
+
   passthru.tests = { inherit (nixosTests) hub; };
 
   meta = with lib; {
     description = "Command-line wrapper for git that makes you better at GitHub";
-    license = licenses.mit;
     homepage = "https://hub.github.com/";
+    license = licenses.mit;
     maintainers = with maintainers; [ globin ];
-    platforms = with platforms; unix;
   };
 }