Several git commands are implemented as shell scripts that run awk, sed, grep
and perl. There is some existing patching in the postinstall for perl to rewrite
it to an absolute reference to pkgs.perl, but several other packages are both
missing as a dependency and have no rewrite logic.
In particular git filter-branch depends on sed and grep.
Additionally, the perl logic also seds git-am, which is now a binary not a shell
script anymore (see <github.com/git/git/blob/master/builtin/am.c>), so this part
was obsolete.
I tested this by grepping all shell scripts for the relevant commands and then
comparing the diffs of the new version to what is produced in master. All
changes in the scripts seem good to me.
Improvements:
- Use a versioned URL
- The build won't break anymore (due to a wrong hash) after a new
version is being released
- It will be possible to build older versions
- Add (hopefully all) runtime dependencies (Git, GnuPG and less (for
"repo help"))
- Add the upstream license
- Add a long description
- Use the name of the Git tag for the version
- The version number from the script (currently 1.23) is only
incremented after "important" changes (i.e. there are slightly
different different scripts with "VERSION = (1, 23)")
If `git-flow` was installed without explicitly installing `getopt` and `git`
too, it couldn't find those executables. Now it can find those and it can be
used as `git-flow` executable. Note, however, that in order to use `git-flow` as
git subcommand (`git flow`), one needs to install `git` too.
* tig: 2.2 -> 2.2.1
Also move to different project URLs, as requested in
https://github.com/jonas/tig/releases/tag/tig-2.2.1
* tig: fix fetching mechanism
Rework the dependencies to allow use of fetchFromGitHub.