We do not use a "plugin system" for Git addons anymore, and therefore this directory is no longer useful. Indeed that directory is way more confusing, given that it includes more than mere Git addons, going from Bitbucket server command-line tools to complete rewrites of Git in exotic programming languages. Also, without this directory, the mental load of decision-making reduces a lot. When anyone is interested in including a new git-related tool, just put it into pkgs/applications/version-management, without apologies.
58 lines
1.5 KiB
Nix
58 lines
1.5 KiB
Nix
{lib, stdenv, git, perl, ncurses, coreutils, fetchFromGitHub, makeWrapper, ...}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "diff-so-fancy";
|
|
version = "1.4.3";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "so-fancy";
|
|
repo = "diff-so-fancy";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-/xdBvq2u1s5/yzjwr3MLxpaD1CNktcPijXJTKW3Bc4c=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
];
|
|
|
|
buildInputs = [
|
|
perl # needed for patchShebangs
|
|
];
|
|
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin $out/lib/diff-so-fancy
|
|
|
|
# diff-so-fancy executable searches for it's library relative to
|
|
# itself, so we are copying executable to lib, and only symlink it
|
|
# from bin/
|
|
cp diff-so-fancy $out/lib/diff-so-fancy
|
|
cp -r lib $out/lib/diff-so-fancy
|
|
ln -s $out/lib/diff-so-fancy/diff-so-fancy $out/bin
|
|
|
|
# ncurses is needed for `tput`
|
|
wrapProgram $out/lib/diff-so-fancy/diff-so-fancy \
|
|
--prefix PATH : "${git}/share/git/contrib/diff-highlight" \
|
|
--prefix PATH : "${git}/bin" \
|
|
--prefix PATH : "${coreutils}/bin" \
|
|
--prefix PATH : "${ncurses.out}/bin"
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/so-fancy/diff-so-fancy";
|
|
description = "Good-looking diffs filter for git";
|
|
license = licenses.mit;
|
|
platforms = platforms.all;
|
|
longDescription = ''
|
|
diff-so-fancy builds on the good-lookin' output of git contrib's
|
|
diff-highlight to upgrade your diffs' appearances.
|
|
'';
|
|
maintainers = with maintainers; [ fpletz globin ma27 ];
|
|
};
|
|
}
|