summary refs log tree commit diff
path: root/pkgs/applications/version-management/tig/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/tig/default.nix')
-rw-r--r--pkgs/applications/version-management/tig/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/tig/default.nix b/pkgs/applications/version-management/tig/default.nix
new file mode 100644
index 00000000000..cfce8a35f9e
--- /dev/null
+++ b/pkgs/applications/version-management/tig/default.nix
@@ -0,0 +1,56 @@
+{ lib, stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
+, readline, makeWrapper, git, libiconv, autoreconfHook, findXMLCatalogs, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tig";
+  version = "2.5.7";
+
+  src = fetchFromGitHub {
+    owner = "jonas";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "sha256-D5NQaxkGhwyBoScI7fZxnSHC0ABmsUeRf8pZCKooV3w=";
+  };
+
+  nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkg-config ];
+
+  autoreconfFlags = [ "-I" "tools" "-v" ];
+
+  buildInputs = [ ncurses readline git ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+
+  # those files are inherently impure, we'll handle the corresponding dependencies.
+  postPatch = ''
+      rm contrib/config.make-*
+  '';
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    make install
+    make install-doc
+
+    # fixes tig-completion __git-complete dependency
+    sed -i '1s;^;source ${git}/share/bash-completion/completions/git\n;' contrib/tig-completion.bash
+
+    install -D contrib/tig-completion.bash $out/share/bash-completion/completions/tig
+    cp contrib/vim.tigrc $out/etc/
+
+    # Note: Until https://github.com/jonas/tig/issues/940 is resolved it is best
+    # not to install the ZSH completion so that the fallback implemenation from
+    # ZSH can be used (Completion/Unix/Command/_git: "_tig () { _git-log }"):
+    #install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig
+
+    wrapProgram $out/bin/tig \
+      --prefix PATH ':' "${git}/bin"
+  '';
+
+  meta = with lib; {
+    homepage = "https://jonas.github.io/tig/";
+    description = "Text-mode interface for git";
+    maintainers = with maintainers; [ bjornfor domenkozar qknight globin ma27 srapenne ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+  };
+}