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 9d63642dcb33..cb75ec826464 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; }; }