##// 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 # 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.9.5";
19 name = "git-2.13.5";
20 src = pkgs.fetchurl {
20 src = pkgs.fetchurl {
21 url = "https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz";
21 url = "https://www.kernel.org/pub/software/scm/git/git-2.13.5.tar.xz";
22 sha256 = "00ir7qmgfszwrhxjzxwixk7wp35gxvvw467gr30bagwsrdza7gm4";
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 # Override subversion derivation to
34 # Override subversion derivation to
28 # - activate python bindings
35 # - activate python bindings
29 subversion = let
36 subversion = let
30 subversionWithPython = super.subversion.override {
37 subversionWithPython = super.subversion.override {
31 httpSupport = true;
38 httpSupport = true;
32 pythonBindings = true;
39 pythonBindings = true;
33 python = self.python27Packages.python;
40 python = self.python27Packages.python;
34 };
41 };
35
42
36 in
43 in
37
44
38 pkgs.lib.overrideDerivation subversionWithPython (oldAttrs: {
45 pkgs.lib.overrideDerivation subversionWithPython (oldAttrs: {
39 name = "subversion-1.9.7";
46 name = "subversion-1.9.7";
40 src = pkgs.fetchurl {
47 src = pkgs.fetchurl {
41 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";
42 sha256 = "0g3cs2h008z8ymgkhbk54jp87bjh7y049rn42igj881yi2f20an7";
49 sha256 = "0g3cs2h008z8ymgkhbk54jp87bjh7y049rn42igj881yi2f20an7";
43 };
50 };
44
51
45 });
52 });
46
53
47 });
54 });
48
55
49 inherit (pkgs.lib) fix extends;
56 inherit (pkgs.lib) fix extends;
50 basePythonPackages = with builtins; if isAttrs pythonPackages
57 basePythonPackages = with builtins; if isAttrs pythonPackages
51 then pythonPackages
58 then pythonPackages
52 else getAttr pythonPackages pkgs;
59 else getAttr pythonPackages pkgs;
53
60
54 elem = builtins.elem;
61 elem = builtins.elem;
55 basename = path: with pkgs.lib; last (splitString "/" path);
62 basename = path: with pkgs.lib; last (splitString "/" path);
56 startsWith = prefix: full: let
63 startsWith = prefix: full: let
57 actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full;
64 actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full;
58 in actualPrefix == prefix;
65 in actualPrefix == prefix;
59
66
60 src-filter = path: type: with pkgs.lib;
67 src-filter = path: type: with pkgs.lib;
61 let
68 let
62 ext = last (splitString "." path);
69 ext = last (splitString "." path);
63 in
70 in
64 !elem (basename path) [".hg" ".git" "__pycache__" ".eggs"
71 !elem (basename path) [".hg" ".git" "__pycache__" ".eggs"
65 "node_modules" "build" "data" "tmp"] &&
72 "node_modules" "build" "data" "tmp"] &&
66 !elem ext ["egg-info" "pyc"] &&
73 !elem ext ["egg-info" "pyc"] &&
67 !startsWith "result" path;
74 !startsWith "result" path;
68
75
69 rhodecode-vcsserver-src = builtins.filterSource src-filter ./.;
76 rhodecode-vcsserver-src = builtins.filterSource src-filter ./.;
70
77
71 pythonGeneratedPackages = self: basePythonPackages.override (a: {
78 pythonGeneratedPackages = self: basePythonPackages.override (a: {
72 inherit self;
79 inherit self;
73 }) // (scopedImport {
80 }) // (scopedImport {
74 self = self;
81 self = self;
75 super = basePythonPackages;
82 super = basePythonPackages;
76 inherit pkgs;
83 inherit pkgs;
77 inherit (pkgs) fetchurl fetchgit;
84 inherit (pkgs) fetchurl fetchgit;
78 } ./pkgs/python-packages.nix);
85 } ./pkgs/python-packages.nix);
79
86
80 pythonOverrides = import ./pkgs/python-packages-overrides.nix {
87 pythonOverrides = import ./pkgs/python-packages-overrides.nix {
81 inherit basePythonPackages pkgs;
88 inherit basePythonPackages pkgs;
82 };
89 };
83
90
84 version = builtins.readFile ./vcsserver/VERSION;
91 version = builtins.readFile ./vcsserver/VERSION;
85
92
86 pythonLocalOverrides = self: super: {
93 pythonLocalOverrides = self: super: {
87 rhodecode-vcsserver = super.rhodecode-vcsserver.override (attrs: {
94 rhodecode-vcsserver = super.rhodecode-vcsserver.override (attrs: {
88 inherit doCheck version;
95 inherit doCheck version;
89
96
90 name = "rhodecode-vcsserver-${version}";
97 name = "rhodecode-vcsserver-${version}";
91 releaseName = "RhodeCodeVCSServer-${version}";
98 releaseName = "RhodeCodeVCSServer-${version}";
92 src = rhodecode-vcsserver-src;
99 src = rhodecode-vcsserver-src;
93 dontStrip = true; # prevent strip, we don't need it.
100 dontStrip = true; # prevent strip, we don't need it.
94
101
95 propagatedBuildInputs = attrs.propagatedBuildInputs ++ ([
102 propagatedBuildInputs = attrs.propagatedBuildInputs ++ ([
96 pkgs.git
103 pkgs.git
97 pkgs.subversion
104 pkgs.subversion
98 ]);
105 ]);
99
106
100 # TODO: johbo: Make a nicer way to expose the parts. Maybe
107 # TODO: johbo: Make a nicer way to expose the parts. Maybe
101 # pkgs/default.nix?
108 # pkgs/default.nix?
102 passthru = {
109 passthru = {
103 pythonPackages = self;
110 pythonPackages = self;
104 };
111 };
105
112
106 # 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'.
107 preCheck = ''
114 preCheck = ''
108 export PATH="$out/bin:$PATH"
115 export PATH="$out/bin:$PATH"
109 '';
116 '';
110
117
111 # put custom attrs here
118 # put custom attrs here
112 checkPhase = ''
119 checkPhase = ''
113 runHook preCheck
120 runHook preCheck
114 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
115 runHook postCheck
122 runHook postCheck
116 '';
123 '';
117
124
118 postInstall = ''
125 postInstall = ''
119 echo "Writing meta information for rccontrol to nix-support/rccontrol"
126 echo "Writing meta information for rccontrol to nix-support/rccontrol"
120 mkdir -p $out/nix-support/rccontrol
127 mkdir -p $out/nix-support/rccontrol
121 cp -v vcsserver/VERSION $out/nix-support/rccontrol/version
128 cp -v vcsserver/VERSION $out/nix-support/rccontrol/version
122 echo "DONE: Meta information for rccontrol written"
129 echo "DONE: Meta information for rccontrol written"
123
130
124 # python based programs need to be wrapped
131 # python based programs need to be wrapped
125 ln -s ${self.pyramid}/bin/* $out/bin/
132 ln -s ${self.pyramid}/bin/* $out/bin/
126 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
133 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
127
134
128 # Symlink version control utilities
135 # Symlink version control utilities
129 #
136 #
130 # 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.
131 # 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
132 # correct version.
139 # correct version.
133 ln -s ${pkgs.git}/bin/git $out/bin
140 ln -s ${pkgs.git}/bin/git $out/bin
134 ln -s ${self.mercurial}/bin/hg $out/bin
141 ln -s ${self.mercurial}/bin/hg $out/bin
135 ln -s ${pkgs.subversion}/bin/svn* $out/bin
142 ln -s ${pkgs.subversion}/bin/svn* $out/bin
136
143
137 for file in $out/bin/*;
144 for file in $out/bin/*;
138 do
145 do
139 wrapProgram $file \
146 wrapProgram $file \
140 --set PATH $PATH \
147 --set PATH $PATH \
141 --set PYTHONPATH $PYTHONPATH \
148 --set PYTHONPATH $PYTHONPATH \
142 --set PYTHONHASHSEED random
149 --set PYTHONHASHSEED random
143 done
150 done
144
151
145 '';
152 '';
146
153
147 });
154 });
148 };
155 };
149
156
150 # Apply all overrides and fix the final package set
157 # Apply all overrides and fix the final package set
151 myPythonPackages =
158 myPythonPackages =
152 (fix
159 (fix
153 (extends pythonExternalOverrides
160 (extends pythonExternalOverrides
154 (extends pythonLocalOverrides
161 (extends pythonLocalOverrides
155 (extends pythonOverrides
162 (extends pythonOverrides
156 pythonGeneratedPackages))));
163 pythonGeneratedPackages))));
157
164
158 in myPythonPackages.rhodecode-vcsserver
165 in myPythonPackages.rhodecode-vcsserver
General Comments 0
You need to be logged in to leave comments. Login now