1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 libgit2,
7 nix-update-script,
8 zlib,
9 stdenv,
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "gex";
14 version = "0.6.4";
15
16 src = fetchFromGitHub {
17 owner = "Piturnah";
18 repo = "gex";
19 rev = "v${version}";
20 hash = "sha256-Xer7a3UtFIv3idchI7DfZ5u6qgDW/XFWi5ihtcREXqo=";
21 };
22
23 nativeBuildInputs = [ pkg-config ];
24
25 passthru.updateScript = nix-update-script { };
26
27 buildInputs = [
28 libgit2
29 ]
30 ++ lib.optionals stdenv.hostPlatform.isDarwin [ zlib ];
31
32 env = {
33 LIBGIT2_NO_VENDOR = 1;
34 };
35
36 cargoPatches = [
37 ./patch-libgit2.patch
38 ];
39
40 cargoHash = "sha256-4ejtMCuJOwT5bJQZaPQ1OjrB5O70we77yEXk9RmhywE=";
41
42 meta = with lib; {
43 description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
44 homepage = "https://github.com/Piturnah/gex";
45 changelog = "https://github.com/Piturnah/gex/releases/tag/${src.rev}";
46 license = with licenses; [
47 asl20 # or
48 mit
49 ];
50 maintainers = with maintainers; [
51 azd325
52 bot-wxt1221
53 evanrichter
54 piturnah
55 ];
56 mainProgram = "gex";
57 };
58}