summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-and-tools/git/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/git-and-tools/git/default.nix')
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix24
1 files changed, 13 insertions, 11 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index b006354a0149..58071d86d4e5 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep
+{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep, gzip
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
-, libxslt, tcl, tk, makeWrapper, hardlink
+, libxslt, tcl, tk, makeWrapper
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
 , guiSupport
 , withManual ? true
@@ -10,7 +10,7 @@
 
 let
 
-  version = "1.8.2";
+  version = "1.8.2.1";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,10 +21,10 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "1rhkya4kfs7iayasgj3bk8zg1pfk3h7wqhfy9d6aaqjgzb75pwy2";
+    sha1 = "ad9f833e509ba31c83efe336fd3599e89a39394b";
   };
 
-  patches = [ ./docbook2texi.patch ];
+  patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
 
   buildInputs = [curl openssl zlib expat gettext cpio makeWrapper]
     ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
@@ -41,6 +41,8 @@ stdenv.mkDerivation {
   # so that `SPARSE_FLAGS' corresponds to the current architecture...
   #doCheck = true;
 
+  installFlags = "NO_INSTALL_HARDLINKS=1";
+
   postInstall =
     ''
       notSupported() {
@@ -66,6 +68,11 @@ stdenv.mkDerivation {
       sed -i -e 's|	perl -ne|	${perl}/bin/perl -ne|g' \
              -e 's|	perl -e|	${perl}/bin/perl -e|g' \
              $out/libexec/git-core/{git-am,git-submodule}
+
+      # gzip (and optionally bzip2, xz, zip) are a runtime dependencies for
+      # gitweb.cgi, need to patch so that it's found
+      sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
+          $out/share/gitweb/gitweb.cgi
     ''
 
    + (if svnSupport then
@@ -113,15 +120,10 @@ stdenv.mkDerivation {
        done
      '');
 
-  # Git installs many copies of the same binary using hardlinks, but unfortunately
-  # our patchELF phase re-writes those files and destroys the hardlinks in the
-  # process. This utility re-generates them afterwards.
-  postFixup = "${hardlink}/bin/hardlink $out";
-
   enableParallelBuilding = true;
 
   meta = {
-    homepage = "http://git-scm.com/";
+    homepage = http://git-scm.com/;
     description = "Git, a popular distributed version control system";
     license = stdenv.lib.licenses.gpl2Plus;