Version 2 of stgit was rewritten in Rust but in general offers the same feature
set [1]. We therefore do not require a Python build environment anymore but a
Rust one. However, we overwrite the default build, check and install phases to
use the Makefiles provided by stgit. In addition, the following changes are
made:
- stgit now requires libcurl
- perl is required during build (to build docs correctly) and during check (to
run the extensive test suite)
- the tests require sysctl and iconv on darwin; add them to the check inputs
The added patch fixes failing test due to the recent git version in nixpkgs.
The fix is also upstream and will most likely be released with 2.3.1, i.e., the
patch can be removed then.
[1]: https://github.com/stacked-git/stgit/releases/tag/v2.0.0
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
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.