1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 sqlite,
7 versionCheckHook,
8 nix-update-script,
9}:
10
11rustPlatform.buildRustPackage (finalAttrs: {
12 pname = "gmap";
13 version = "0.3.3";
14
15 src = fetchFromGitHub {
16 owner = "seeyebe";
17 repo = "gmap";
18 tag = finalAttrs.version;
19 hash = "sha256-+klVySOgI/M57f98Cx3omkEBx/NcaWD4FuIW6cz1aN8=";
20 };
21
22 cargoHash = "sha256-WjYCwGyFjBjITqsMPsD4kkeuSGPXtSKOFKaEfznMryI=";
23
24 nativeBuildInputs = [ pkg-config ];
25
26 buildInputs = [ sqlite ];
27
28 doInstallCheck = true;
29 nativeInstallCheckInputs = [ versionCheckHook ];
30
31 passthru.updateScript = nix-update-script { };
32
33 meta = {
34 description = "Command-line tool for visualizing Git activity";
35 longDescription = ''
36 gmap helps you understand your Git repository at a glance — not
37 just what changed, but when, how much, and by whom. Visualize
38 commit activity over time, spot churn-heavy files, explore
39 contributor dynamics, and more — all from your terminal.
40
41 Built for developers who live in the CLI and want quick,
42 powerful insights.
43 '';
44 homepage = "https://github.com/seeyebe/gmap";
45 changelog = "https://github.com/seeyebe/gmap/releases/tag/${finalAttrs.src.tag}";
46 license = lib.licenses.mit;
47 maintainers = with lib.maintainers; [ yiyu ];
48 mainProgram = "gmap";
49 };
50})