##// END OF EJS Templates
git: updated git binaries to 2.13.5 release
marcink -
r272:195e394c default
parent child Browse files
Show More
@@ -0,0 +1,37 b''
1 This patch does two things: (1) use the right name for `docbook2texi',
2 and (2) make sure `gitman.info' isn't produced since it's broken (duplicate
3 node names).
4
5 diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile
6 --- git-1.8.4-orig/Documentation/Makefile 2013-08-23 21:38:43.000000000 +0200
7 +++ git-1.8.4/Documentation/Makefile 2013-09-30 14:48:51.532890378 +0200
8 @@ -101,7 +101,7 @@
9
10 MAKEINFO = makeinfo
11 INSTALL_INFO = install-info
12 -DOCBOOK2X_TEXI = docbook2x-texi
13 +DOCBOOK2X_TEXI = docbook2texi
14 DBLATEX = dblatex
15 ifndef PERL_PATH
16 PERL_PATH = /usr/bin/perl
17 @@ -205,7 +205,7 @@
18 man5: $(DOC_MAN5)
19 man7: $(DOC_MAN7)
20
21 -info: git.info gitman.info
22 +info: git.info
23
24 pdf: user-manual.pdf
25
26 @@ -221,10 +221,9 @@
27
28 install-info: info
29 $(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
30 - $(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir)
31 + $(INSTALL) -m 644 git.info $(DESTDIR)$(infodir)
32 if test -r $(DESTDIR)$(infodir)/dir; then \
33 $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\
34 - $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\
35 else \
36 echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \
37 fi
@@ -0,0 +1,94 b''
1 --- a/git-sh-i18n.sh
2 +++ b/git-sh-i18n.sh
3 @@ -15,87 +15,11 @@
4 fi
5 export TEXTDOMAINDIR
6
7 -# First decide what scheme to use...
8 -GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
9 -if test -n "@@USE_GETTEXT_SCHEME@@"
10 -then
11 - GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
12 -elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
13 -then
14 - : no probing necessary
15 -elif test -n "$GIT_GETTEXT_POISON"
16 -then
17 - GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
18 -elif type gettext.sh >/dev/null 2>&1
19 -then
20 - # GNU libintl's gettext.sh
21 - GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
22 -elif test "$(gettext -h 2>&1)" = "-h"
23 -then
24 - # gettext binary exists but no gettext.sh. likely to be a gettext
25 - # binary on a Solaris or something that is not GNU libintl and
26 - # lack eval_gettext.
27 - GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
28 -fi
29 -export GIT_INTERNAL_GETTEXT_SH_SCHEME
30 -
31 -# ... and then follow that decision.
32 -case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
33 -gnu)
34 - # Use libintl's gettext.sh, or fall back to English if we can't.
35 - . gettext.sh
36 - ;;
37 -gettext_without_eval_gettext)
38 - # Solaris has a gettext(1) but no eval_gettext(1)
39 - eval_gettext () {
40 - gettext "$1" | (
41 - export PATH $(git sh-i18n--envsubst --variables "$1");
42 - git sh-i18n--envsubst "$1"
43 - )
44 - }
45 -
46 - eval_ngettext () {
47 - ngettext "$1" "$2" "$3" | (
48 - export PATH $(git sh-i18n--envsubst --variables "$2");
49 - git sh-i18n--envsubst "$2"
50 - )
51 - }
52 - ;;
53 -poison)
54 - # Emit garbage so that tests that incorrectly rely on translatable
55 - # strings will fail.
56 - gettext () {
57 - printf "%s" "# GETTEXT POISON #"
58 - }
59 -
60 - eval_gettext () {
61 - printf "%s" "# GETTEXT POISON #"
62 - }
63 -
64 - eval_ngettext () {
65 - printf "%s" "# GETTEXT POISON #"
66 - }
67 - ;;
68 -*)
69 - gettext () {
70 - printf "%s" "$1"
71 - }
72 -
73 - eval_gettext () {
74 - printf "%s" "$1" | (
75 - export PATH $(git sh-i18n--envsubst --variables "$1");
76 - git sh-i18n--envsubst "$1"
77 - )
78 - }
79 +# GNU gettext
80 +export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
81 +export PATH=@gettext@/bin:$PATH
82
83 - eval_ngettext () {
84 - (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | (
85 - export PATH $(git sh-i18n--envsubst --variables "$2");
86 - git sh-i18n--envsubst "$2"
87 - )
88 - }
89 - ;;
90 -esac
91 +. @gettext@/bin/gettext.sh
92
93 # Git-specific wrapper functions
94 gettextln () {
@@ -0,0 +1,26 b''
1 diff --git a/connect.c b/connect.c
2 index fd7ffe1..20cd992 100644
3 --- a/connect.c
4 +++ b/connect.c
5 @@ -768,7 +768,7 @@
6
7 ssh = getenv("GIT_SSH");
8 if (!ssh)
9 - ssh = "ssh";
10 + ssh = "@ssh@";
11 else
12 handle_ssh_variant(ssh, 0,
13 &port_option,
14 diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
15 index 50029d0..17b9594 100644
16 --- a/git-gui/lib/remote_add.tcl
17 +++ b/git-gui/lib/remote_add.tcl
18 @@ -139,7 +139,7 @@
19 # Parse the location
20 if { [regexp {(?:git\+)?ssh://([^/]+)(/.+)} $location xx host path]
21 || [regexp {([^:][^:]+):(.+)} $location xx host path]} {
22 - set ssh ssh
23 + set ssh @ssh@
24 if {[info exists env(GIT_SSH)]} {
25 set ssh $env(GIT_SSH)
26 }
@@ -1,158 +1,165 b''
1 1 # Nix environment for the community edition
2 2 #
3 3 # This shall be as lean as possible, just producing the rhodecode-vcsserver
4 4 # derivation. For advanced tweaks to pimp up the development environment we use
5 5 # "shell.nix" so that it does not have to clutter this file.
6 6
7 7 { pkgs ? (import <nixpkgs> {})
8 8 , pythonPackages ? "python27Packages"
9 9 , pythonExternalOverrides ? self: super: {}
10 10 , doCheck ? true
11 11 }:
12 12
13 13 let pkgs_ = pkgs; in
14 14
15 15 let
16 16 pkgs = pkgs_.overridePackages (self: super: {
17 17 # bump GIT version
18 18 git = pkgs.lib.overrideDerivation pkgs_.git (oldAttrs: {
19 name = "git-2.9.5";
19 name = "git-2.13.5";
20 20 src = pkgs.fetchurl {
21 url = "https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz";
22 sha256 = "00ir7qmgfszwrhxjzxwixk7wp35gxvvw467gr30bagwsrdza7gm4";
21 url = "https://www.kernel.org/pub/software/scm/git/git-2.13.5.tar.xz";
22 sha256 = "18fi18103n7grshm4ffb0fwsnvbl48sbqy5gqx528vf8maff5j91";
23 23 };
24 24
25 patches = [
26 ./pkgs/git_patches/docbook2texi.patch
27 ./pkgs/git_patches/symlinks-in-bin.patch
28 ./pkgs/git_patches/git-sh-i18n.patch
29 ./pkgs/git_patches/ssh-path.patch
30 ];
31
25 32 });
26 33
27 34 # Override subversion derivation to
28 35 # - activate python bindings
29 36 subversion = let
30 37 subversionWithPython = super.subversion.override {
31 38 httpSupport = true;
32 39 pythonBindings = true;
33 40 python = self.python27Packages.python;
34 41 };
35 42
36 43 in
37 44
38 45 pkgs.lib.overrideDerivation subversionWithPython (oldAttrs: {
39 46 name = "subversion-1.9.7";
40 47 src = pkgs.fetchurl {
41 48 url = "https://www.apache.org/dist/subversion/subversion-1.9.7.tar.gz";
42 49 sha256 = "0g3cs2h008z8ymgkhbk54jp87bjh7y049rn42igj881yi2f20an7";
43 50 };
44 51
45 52 });
46 53
47 54 });
48 55
49 56 inherit (pkgs.lib) fix extends;
50 57 basePythonPackages = with builtins; if isAttrs pythonPackages
51 58 then pythonPackages
52 59 else getAttr pythonPackages pkgs;
53 60
54 61 elem = builtins.elem;
55 62 basename = path: with pkgs.lib; last (splitString "/" path);
56 63 startsWith = prefix: full: let
57 64 actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full;
58 65 in actualPrefix == prefix;
59 66
60 67 src-filter = path: type: with pkgs.lib;
61 68 let
62 69 ext = last (splitString "." path);
63 70 in
64 71 !elem (basename path) [".hg" ".git" "__pycache__" ".eggs"
65 72 "node_modules" "build" "data" "tmp"] &&
66 73 !elem ext ["egg-info" "pyc"] &&
67 74 !startsWith "result" path;
68 75
69 76 rhodecode-vcsserver-src = builtins.filterSource src-filter ./.;
70 77
71 78 pythonGeneratedPackages = self: basePythonPackages.override (a: {
72 79 inherit self;
73 80 }) // (scopedImport {
74 81 self = self;
75 82 super = basePythonPackages;
76 83 inherit pkgs;
77 84 inherit (pkgs) fetchurl fetchgit;
78 85 } ./pkgs/python-packages.nix);
79 86
80 87 pythonOverrides = import ./pkgs/python-packages-overrides.nix {
81 88 inherit basePythonPackages pkgs;
82 89 };
83 90
84 91 version = builtins.readFile ./vcsserver/VERSION;
85 92
86 93 pythonLocalOverrides = self: super: {
87 94 rhodecode-vcsserver = super.rhodecode-vcsserver.override (attrs: {
88 95 inherit doCheck version;
89 96
90 97 name = "rhodecode-vcsserver-${version}";
91 98 releaseName = "RhodeCodeVCSServer-${version}";
92 99 src = rhodecode-vcsserver-src;
93 100 dontStrip = true; # prevent strip, we don't need it.
94 101
95 102 propagatedBuildInputs = attrs.propagatedBuildInputs ++ ([
96 103 pkgs.git
97 104 pkgs.subversion
98 105 ]);
99 106
100 107 # TODO: johbo: Make a nicer way to expose the parts. Maybe
101 108 # pkgs/default.nix?
102 109 passthru = {
103 110 pythonPackages = self;
104 111 };
105 112
106 113 # Add VCSServer bin directory to path so that tests can find 'vcsserver'.
107 114 preCheck = ''
108 115 export PATH="$out/bin:$PATH"
109 116 '';
110 117
111 118 # put custom attrs here
112 119 checkPhase = ''
113 120 runHook preCheck
114 121 PYTHONHASHSEED=random py.test -p no:sugar -vv --cov-config=.coveragerc --cov=vcsserver --cov-report=term-missing vcsserver
115 122 runHook postCheck
116 123 '';
117 124
118 125 postInstall = ''
119 126 echo "Writing meta information for rccontrol to nix-support/rccontrol"
120 127 mkdir -p $out/nix-support/rccontrol
121 128 cp -v vcsserver/VERSION $out/nix-support/rccontrol/version
122 129 echo "DONE: Meta information for rccontrol written"
123 130
124 131 # python based programs need to be wrapped
125 132 ln -s ${self.pyramid}/bin/* $out/bin/
126 133 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
127 134
128 135 # Symlink version control utilities
129 136 #
130 137 # We ensure that always the correct version is available as a symlink.
131 138 # So that users calling them via the profile path will always use the
132 139 # correct version.
133 140 ln -s ${pkgs.git}/bin/git $out/bin
134 141 ln -s ${self.mercurial}/bin/hg $out/bin
135 142 ln -s ${pkgs.subversion}/bin/svn* $out/bin
136 143
137 144 for file in $out/bin/*;
138 145 do
139 146 wrapProgram $file \
140 147 --set PATH $PATH \
141 148 --set PYTHONPATH $PYTHONPATH \
142 149 --set PYTHONHASHSEED random
143 150 done
144 151
145 152 '';
146 153
147 154 });
148 155 };
149 156
150 157 # Apply all overrides and fix the final package set
151 158 myPythonPackages =
152 159 (fix
153 160 (extends pythonExternalOverrides
154 161 (extends pythonLocalOverrides
155 162 (extends pythonOverrides
156 163 pythonGeneratedPackages))));
157 164
158 165 in myPythonPackages.rhodecode-vcsserver
General Comments 0
You need to be logged in to leave comments. Login now