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