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.
49 lines
1.8 KiB
Nix
49 lines
1.8 KiB
Nix
{ lib, stdenv, fetchurl, jre, makeWrapper }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "bfg-repo-cleaner";
|
|
version = "1.13.0";
|
|
|
|
jarName = "bfg-${version}.jar";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://maven/com/madgag/bfg/${version}/${jarName}";
|
|
sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
buildInputs = [ jre ];
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share/java
|
|
mkdir -p $out/bin
|
|
cp $src $out/share/java/$jarName
|
|
makeWrapper "${jre}/bin/java" $out/bin/bfg --add-flags "-cp $out/share/java/$jarName com.madgag.git.bfg.cli.Main"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
|
|
# Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
|
|
description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
|
|
longDescription = ''
|
|
The BFG is a simpler, faster alternative to git-filter-branch for
|
|
cleansing bad data out of your Git repository history, in particular removing
|
|
crazy big files and removing passwords, credentials, and other private data.
|
|
|
|
The git-filter-branch command is enormously powerful and can do things
|
|
that the BFG can't - but the BFG is much better for the tasks above, because
|
|
it's faster (10-720x), simpler (dedicated to just removing things), and
|
|
beautiful (can use Scala instead of bash to script customizations).
|
|
'';
|
|
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
|
license = licenses.gpl3;
|
|
maintainers = [ maintainers.changlinli ];
|
|
mainProgram = "bfg";
|
|
platforms = platforms.unix;
|
|
downloadPage = "https://mvnrepository.com/artifact/com.madgag/bfg/${version}";
|
|
};
|
|
|
|
}
|