diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix --- a/pkgs/overlays.nix +++ b/pkgs/overlays.nix @@ -1,17 +1,19 @@ self: super: { # bump GIT version git = super.lib.overrideDerivation super.git (oldAttrs: { - name = "git-2.17.2"; + name = "git-2.19.1"; src = self.fetchurl { - url = "https://www.kernel.org/pub/software/scm/git/git-2.17.2.tar.xz"; - sha256 = "1ghljlxmyqphx13qspy382cpl2pbkbwbhqm7w7z57r9mkhswx668"; + url = "https://www.kernel.org/pub/software/scm/git/git-2.19.1.tar.xz"; + sha256 = "1dfv43lmdnxz42504jc89sihbv1d4d6kgqcz3c5ji140kfm5cl1l"; }; + # patches come from: https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/version-management/git-and-tools/git patches = [ ./patches/git/docbook2texi.patch - ./patches/git/symlinks-in-bin.patch ./patches/git/git-sh-i18n.patch ./patches/git/ssh-path.patch + ./patches/git/git-send-email-honor-PATH.patch + ./patches/git/installCheck-path.patch ]; }); diff --git a/pkgs/patches/git/docbook2texi.patch b/pkgs/patches/git/docbook2texi.patch --- a/pkgs/patches/git/docbook2texi.patch +++ b/pkgs/patches/git/docbook2texi.patch @@ -2,29 +2,29 @@ This patch does two things: (1) use the and (2) make sure `gitman.info' isn't produced since it's broken (duplicate node names). -diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile ---- git-1.8.4-orig/Documentation/Makefile 2013-08-23 21:38:43.000000000 +0200 -+++ git-1.8.4/Documentation/Makefile 2013-09-30 14:48:51.532890378 +0200 -@@ -101,7 +101,7 @@ - +diff --git a/Documentation/Makefile b/Documentation/Makefile +--- a/Documentation/Makefile ++++ b/Documentation/Makefile +@@ -122,7 +122,7 @@ + MAKEINFO = makeinfo INSTALL_INFO = install-info -DOCBOOK2X_TEXI = docbook2x-texi +DOCBOOK2X_TEXI = docbook2texi DBLATEX = dblatex - ifndef PERL_PATH - PERL_PATH = /usr/bin/perl -@@ -205,7 +205,7 @@ + ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex + DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty +@@ -240,7 +240,7 @@ man5: $(DOC_MAN5) man7: $(DOC_MAN7) - + -info: git.info gitman.info +info: git.info - + pdf: user-manual.pdf - -@@ -221,10 +221,9 @@ - + +@@ -256,10 +256,9 @@ + install-info: info $(INSTALL) -d -m 755 $(DESTDIR)$(infodir) - $(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir) diff --git a/pkgs/patches/git/git-send-email-honor-PATH.patch b/pkgs/patches/git/git-send-email-honor-PATH.patch new file mode 100644 --- /dev/null +++ b/pkgs/patches/git/git-send-email-honor-PATH.patch @@ -0,0 +1,26 @@ +diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt +--- a/Documentation/git-send-email.txt ++++ b/Documentation/git-send-email.txt +@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'. + specify a full pathname of a sendmail-like program instead; + the program must support the `-i` option. Default value can + be specified by the `sendemail.smtpServer` configuration +- option; the built-in default is to search for `sendmail` in +- `/usr/sbin`, `/usr/lib` and $PATH if such program is ++ option; the built-in default is to search in $PATH if such program is + available, falling back to `localhost` otherwise. + + --smtp-server-port=:: +diff --git a/git-send-email.perl b/git-send-email.perl +--- a/git-send-email.perl ++++ b/git-send-email.perl +@@ -944,8 +944,7 @@ if (defined $reply_to) { + } + + if (!defined $smtp_server) { +- my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail ); +- push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH}; ++ my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH}; + foreach (@sendmail_paths) { + if (-x $_) { + $smtp_server = $_; diff --git a/pkgs/patches/git/installCheck-path.patch b/pkgs/patches/git/installCheck-path.patch new file mode 100644 --- /dev/null +++ b/pkgs/patches/git/installCheck-path.patch @@ -0,0 +1,12 @@ +diff --git a/t/test-lib.sh b/t/test-lib.sh +--- a/t/test-lib.sh ++++ b/t/test-lib.sh +@@ -923,7 +923,7 @@ + then + GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) || + error "Cannot run git from $GIT_TEST_INSTALLED." +- PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR:$PATH ++ PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH + GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH} + else # normal case, use ../bin-wrappers only unless $with_dashes: + git_bin_dir="$GIT_BUILD_DIR/bin-wrappers" diff --git a/pkgs/patches/git/symlinks-in-bin.patch b/pkgs/patches/git/symlinks-in-bin.patch deleted file mode 100644 --- a/pkgs/patches/git/symlinks-in-bin.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ru -x '*~' git-1.8.2.1-orig/Makefile git-1.8.2.1/Makefile ---- git-1.8.2.1-orig/Makefile 2013-04-08 00:52:04.000000000 +0200 -+++ git-1.8.2.1/Makefile 2013-04-22 15:46:42.906026940 +0200 -@@ -2319,8 +2319,7 @@ - { test "$$bindir/" = "$$execdir/" || \ - for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \ - $(RM) "$$execdir/$$p" && \ -- test -z "$(NO_INSTALL_HARDLINKS)$(NO_CROSS_DIRECTORY_HARDLINKS)" && \ -- ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \ -+ ln -s "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \ - cp "$$bindir/$$p" "$$execdir/$$p" || exit; \ - done; \ - } && \