From 57d41aaed700bc58b99a02caf7dc25d8397f6cbe Mon Sep 17 00:00:00 2001
From: Luca Bruno <lethalman88@gmail.com>
Date: Sun, 27 Sep 2015 15:27:57 +0200
Subject: [PATCH] libgit2: add 0.21.x version as it's incompatible with the new
 0.23

---
 pkgs/desktops/gnome-3/3.16/default.nix   |  3 ++-
 pkgs/development/libraries/git2/0.21.nix | 24 ++++++++++++++++++++++++
 pkgs/top-level/all-packages.nix          |  2 ++
 3 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/development/libraries/git2/0.21.nix

diff --git a/pkgs/desktops/gnome-3/3.16/default.nix b/pkgs/desktops/gnome-3/3.16/default.nix
index 8251526bbd5..d8471390382 100644
--- a/pkgs/desktops/gnome-3/3.16/default.nix
+++ b/pkgs/desktops/gnome-3/3.16/default.nix
@@ -369,12 +369,13 @@ let
 
   gitg = callPackage ./misc/gitg { 
     webkitgtk = webkitgtk24x;
+    libgit2 = pkgs.libgit2_0_21;
   };
 
   libgda = callPackage ./misc/libgda { };
 
   libgit2-glib = callPackage ./misc/libgit2-glib {
-    libgit2 = pkgs.libgit2.override { libssh2 = null; };
+    libgit2 = pkgs.libgit2_0_21.override { libssh2 = null; };
   };
 
   libmediaart = callPackage ./misc/libmediaart { };
diff --git a/pkgs/development/libraries/git2/0.21.nix b/pkgs/development/libraries/git2/0.21.nix
new file mode 100644
index 00000000000..823f09b8bce
--- /dev/null
+++ b/pkgs/development/libraries/git2/0.21.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, cmake, zlib, python, libssh2, openssl, http-parser}:
+
+stdenv.mkDerivation rec {
+  version = "0.21.2";
+  name = "libgit2-${version}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
+    sha256 = "0icf119lhha96rk8m6s38sczjr0idr7yczw6knby61m81a25a96y";
+  };
+
+  cmakeFlags = "-DTHREADSAFE=ON";
+
+  nativeBuildInputs = [ cmake python ];
+  buildInputs = [ zlib libssh2 openssl http-parser ];
+
+  meta = {
+    description = "the Git linkable library";
+    homepage = http://libgit2.github.com/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f535ee5e0f5..dbf7baf2127 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6276,6 +6276,8 @@ let
 
   libgit2 = callPackage ../development/libraries/git2 { };
 
+  libgit2_0_21 = callPackage ../development/libraries/git2/0.21.nix { };
+
   glew = callPackage ../development/libraries/glew { };
 
   glfw = glfw3;