chore(3p/git): Unvendor git and track patches instead

This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
This commit is contained in:
Vincent Ambo 2021-09-21 13:03:01 +03:00
parent 2d8e7dc9d9
commit 43b1791ec6
3824 changed files with 133 additions and 1272090 deletions

View file

@ -19,12 +19,15 @@ in stdenv.mkDerivation rec {
-i ui-snapshot.c
'';
# Give cgit the git source tree from the depot. Note that the
# versions should be kept in sync (see the Makefile for the current
# git version).
# Give cgit the git source tree including depot patches. Note that
# the version expected by cgit should be kept in sync with the
# version available in nixpkgs.
#
# TODO(tazjin): Add an assert for this somewhere so we notice it on
# channel bumps.
preBuild = ''
rm -rf git # remove submodule dir ...
cp -r --no-preserve=ownership,mode ${depot.third_party.git.src} git
cp -r --no-preserve=ownership,mode ${pkgs.srcOnly depot.third_party.git} git
makeFlagsArray+=(prefix="$out" CGIT_SCRIPT_PATH="$out/cgit/")
cat tvl-extra.css >> cgit.css
'';