about summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-dive/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/git-dive/default.nix')
-rw-r--r--pkgs/applications/version-management/git-dive/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/git-dive/default.nix b/pkgs/applications/version-management/git-dive/default.nix
new file mode 100644
index 0000000000000..3c3cb8be70148
--- /dev/null
+++ b/pkgs/applications/version-management/git-dive/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+  # libgit2-sys doesn't support libgit2 1.6 yet
+, libgit2_1_5
+, zlib
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-dive";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "gitext-rs";
+    repo = "git-dive";
+    rev = "v${version}";
+    hash = "sha256-zq594j/X74qzRSjbkd2lup/WqZXpTOecUYRVQGqpXug=";
+  };
+
+  cargoHash = "sha256-f3hiAVno5BuPgqP1y9XtVQ/TJcnqwUnEOqaU/tTljTQ=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libgit2_1_5
+    zlib
+  ];
+
+  checkFlags = [
+    # requires internet access
+    "--skip=screenshot"
+  ];
+
+  # don't use vendored libgit2
+  buildNoDefaultFeatures = true;
+
+  meta = with lib; {
+    description = "Dive into a file's history to find root cause";
+    homepage = "https://github.com/gitext-rs/git-dive";
+    changelog = "https://github.com/gitext-rs/git-dive/blob/${src.rev}/CHANGELOG.md";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}