about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <Vincent Ambo>2020-01-12T01·20+0000
committerVincent Ambo <Vincent Ambo>2020-01-12T01·55+0000
commit93cc05d36319418c3304115964398f17f10545ae (patch)
tree49a090fe3313eb700f5b56d7f09c15aae85021f1
parent9e67451750cf506d90ab770292cc88307069024e (diff)
feat(third_party/git): Add derivation to build git r/379
This overrides the upstream derivation to:

* use local sources
* build `git send-email`

It also calls autoreconf before building because files that are
included in the git distribution tarball (which the normal derivation
uses) are missing from source.
-rw-r--r--third_party/default.nix1
-rw-r--r--third_party/git/.skip-subtree1
-rw-r--r--third_party/git/default.nix16
3 files changed, 18 insertions, 0 deletions
diff --git a/third_party/default.nix b/third_party/default.nix
index 6e7bf873c603..1d4a6ae7e19a 100644
--- a/third_party/default.nix
+++ b/third_party/default.nix
@@ -20,6 +20,7 @@ let
     # of the repo. They become available under `pkgs.third_party.<name>`
     inherit (nixpkgs)
       age
+      autoconf
       bashInteractive
       bat
       buildGoPackage
diff --git a/third_party/git/.skip-subtree b/third_party/git/.skip-subtree
new file mode 100644
index 000000000000..2f5f854d72b6
--- /dev/null
+++ b/third_party/git/.skip-subtree
@@ -0,0 +1 @@
+Subtrees of this directory belong to git (third-party).
diff --git a/third_party/git/default.nix b/third_party/git/default.nix
new file mode 100644
index 000000000000..fd847274e129
--- /dev/null
+++ b/third_party/git/default.nix
@@ -0,0 +1,16 @@
+# Use the upstream git derivation (there's a lot of stuff happening in
+# there!) and just override the source:
+{ pkgs, ... }:
+
+with pkgs.third_party;
+
+(originals.git.overrideAttrs(_: {
+  version = "2.23.0";
+  src = ./.;
+  doInstallCheck = false;
+  preConfigure = ''
+    ${autoconf}/bin/autoreconf -i
+  '';
+})).override {
+  sendEmailSupport = true;
+}