nixpkgs/pkgs/by-name/ti/tig/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

58 lines
1.8 KiB
Nix

{ 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.10";
src = fetchFromGitHub {
owner = "jonas";
repo = pname;
rev = "${pname}-${version}";
sha256 = "sha256-WTrw7WaSqC2fp76fPvfogWTibev0Hg0LW2x4umc3+1Q=";
};
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.hostPlatform.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 implementation 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 ];
license = licenses.gpl2Plus;
platforms = platforms.unix;
mainProgram = "tig";
};
}