python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / gi / git-gr / package.nix
bloba50d389c04d05ecb38976c2c5defbc23886111da
2   lib,
3   stdenv,
4   buildPackages,
5   fetchFromGitHub,
6   rustPlatform,
7   installShellFiles,
8   libiconv,
9   darwin,
10   nix-update-script,
11   pkg-config,
12   openssl,
14 let
15   canRunGitGr = stdenv.hostPlatform.emulatorAvailable buildPackages;
16   gitGr = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/git-gr";
17   pname = "git-gr";
18   version = "1.4.3";
20 rustPlatform.buildRustPackage {
21   inherit pname version;
23   src = fetchFromGitHub {
24     owner = "9999years";
25     repo = pname;
26     rev = "refs/tags/v${version}";
27     hash = "sha256-t308Ep27iRvRHSdvVMOrRGVoajBtnTutHAkKbZkO7Wg=";
28   };
30   buildFeatures = [ "clap_mangen" ];
32   cargoHash = "sha256-oukVU3YZMI2Z6HqIrEe2npmCj9PtwQUT6VOPkklM0Ig=";
34   OPENSSL_NO_VENDOR = true;
36   nativeBuildInputs =
37     [installShellFiles]
38     ++ lib.optional stdenv.hostPlatform.isLinux pkg-config;
40   buildInputs =
41     lib.optional stdenv.hostPlatform.isLinux openssl
42     ++ lib.optionals stdenv.hostPlatform.isDarwin [
43       libiconv
44       darwin.apple_sdk.frameworks.CoreServices
45       darwin.apple_sdk.frameworks.SystemConfiguration
46     ];
48   postInstall = lib.optionalString canRunGitGr ''
49     manpages=$(mktemp -d)
50     ${gitGr} manpages "$manpages"
51     for manpage in "$manpages"/*; do
52       installManPage "$manpage"
53     done
55     installShellCompletion --cmd git-gr \
56       --bash <(${gitGr} completions bash) \
57       --fish <(${gitGr} completions fish) \
58       --zsh <(${gitGr} completions zsh)
59   '';
61   meta = with lib; {
62     homepage = "https://github.com/9999years/git-gr";
63     changelog = "https://github.com/9999years/git-gr/releases/tag/v${version}";
64     description = "Gerrit CLI client";
65     license = [ licenses.mit ];
66     maintainers = [ maintainers._9999years ];
67     mainProgram = "git-gr";
68   };
70   passthru.updateScript = nix-update-script { };