Merge remote-tracking branch 'upstream/master' into hardened-stdenv

This commit is contained in:
Robin Gloster
2016-02-27 00:08:08 +00:00
504 changed files with 28750 additions and 13232 deletions
@@ -9,7 +9,7 @@
}:
let
version = "2.7.0";
version = "2.7.1";
svn = subversionClient.override { perlBindings = true; };
in
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "03bvb8s5j8i54qbi3yayl42bv0wf2fpgnh1a2lkhbj79zi7b77zs";
sha256 = "1zkbdmh5gvxalr8l1cwnirqq5raijmp2d0s36s6qabrlvqvq2yj7";
};
hardening_format = false;
@@ -26,6 +26,7 @@ stdenv.mkDerivation {
patches = [
./docbook2texi.patch
./symlinks-in-bin.patch
./git-sh-i18n.patch
];
buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
@@ -87,7 +88,7 @@ stdenv.mkDerivation {
# Fix references to gettext.
substituteInPlace $out/libexec/git-core/git-sh-i18n \
--replace 'gettext.sh' '${gettext}/bin/gettext.sh'
--subst-var-by gettext ${gettext}
# gzip (and optionally bzip2, xz, zip) are runtime dependencies for
# gitweb.cgi, need to patch so that it's found
@@ -0,0 +1,78 @@
diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
index e6c3116..4e34a2c 100644
--- a/git-sh-i18n.sh
+++ b/git-sh-i18n.sh
@@ -15,69 +15,11 @@ else
fi
export TEXTDOMAINDIR
-# First decide what scheme to use...
-GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
-if test -n "@@USE_GETTEXT_SCHEME@@"
-then
- GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
-elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
-then
- : no probing necessary
-elif test -n "$GIT_GETTEXT_POISON"
-then
- GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
-elif type gettext.sh >/dev/null 2>&1
-then
- # GNU libintl's gettext.sh
- GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
-elif test "$(gettext -h 2>&1)" = "-h"
-then
- # gettext binary exists but no gettext.sh. likely to be a gettext
- # binary on a Solaris or something that is not GNU libintl and
- # lack eval_gettext.
- GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
-fi
-export GIT_INTERNAL_GETTEXT_SH_SCHEME
-
-# ... and then follow that decision.
-case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
-gnu)
- # Use libintl's gettext.sh, or fall back to English if we can't.
- . gettext.sh
- ;;
-gettext_without_eval_gettext)
- # Solaris has a gettext(1) but no eval_gettext(1)
- eval_gettext () {
- gettext "$1" | (
- export PATH $(git sh-i18n--envsubst --variables "$1");
- git sh-i18n--envsubst "$1"
- )
- }
- ;;
-poison)
- # Emit garbage so that tests that incorrectly rely on translatable
- # strings will fail.
- gettext () {
- printf "%s" "# GETTEXT POISON #"
- }
-
- eval_gettext () {
- printf "%s" "# GETTEXT POISON #"
- }
- ;;
-*)
- gettext () {
- printf "%s" "$1"
- }
+# GNU gettext
+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
+export PATH=@gettext@/bin:$PATH
- eval_gettext () {
- printf "%s" "$1" | (
- export PATH $(git sh-i18n--envsubst --variables "$1");
- git sh-i18n--envsubst "$1"
- )
- }
- ;;
-esac
+. @gettext@/bin/gettext.sh
# Git-specific wrapper functions
gettextln () {