diff options
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.nix | 30 |
1 files changed, 22 insertions, 8 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 fd9aa94c5435..c6082f71af8e 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -1,5 +1,6 @@ { fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio -, gnugrep, gzip, openssh +, gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc +, gzip, openssh , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45 , libxslt, tcl, tk, makeWrapper, libiconv , svnSupport, subversionClient, perlLibs, smtpPerlLibs, gitwebPerlLibs @@ -11,7 +12,7 @@ }: let - version = "2.13.2"; + version = "2.13.3"; svn = subversionClient.override { perlBindings = true; }; in @@ -20,7 +21,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1rfx2gj7dw9rw0w22ihi940zv3wdrj1xmjv25djq2vs6a4vsq40d"; + sha256 = "0qiy696pwqhbxcrvm3zhyjnfjrym541glhvgc4cynrwg8az27ali"; }; hardeningDisable = [ "format" ]; @@ -104,11 +105,24 @@ stdenv.mkDerivation { --replace ' grep' ' ${gnugrep}/bin/grep' \ --replace ' egrep' ' ${gnugrep}/bin/egrep' - # Fix references to the perl binary. Note that the tab character - # in the patterns is important. - 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} + # Fix references to the perl, sed, awk and various coreutil binaries used by + # shell scripts that git calls (e.g. filter-branch) + SCRIPT="$(cat <<'EOS' + BEGIN{ + @a=( + '${perl}/bin/perl', '${gnugrep}/bin/grep', '${gnused}/bin/sed', '${gawk}/bin/awk', + '${coreutils}/bin/cut', '${coreutils}/bin/basename', '${coreutils}/bin/dirname', + '${coreutils}/bin/wc', '${coreutils}/bin/tr' + ); + } + foreach $c (@a) { + $n=(split("/", $c))[-1]; + s|(?<=[^#][^/.-])\b''${n}(?=\s)|''${c}|g + } + EOS + )" + perl -0777 -i -pe "$SCRIPT" \ + $out/libexec/git-core/git-{sh-setup,filter-branch,merge-octopus,mergetool,quiltimport,request-pull,stash,submodule,subtree,web--browse} # Fix references to gettext. substituteInPlace $out/libexec/git-core/git-sh-i18n \ |