diff options
Diffstat (limited to 'pkgs/applications/version-management/tig/default.nix')
-rw-r--r-- | pkgs/applications/version-management/tig/default.nix | 56 |
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; + }; +} |