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