Clean up glibcLocales environment handling -- manual merge of patch by wmertens (except Haskell part)

This commit is contained in:
Michael Raskin 2015-01-19 11:06:00 +03:00
parent f33979461d
commit c163baca3b
3 changed files with 30 additions and 24 deletions

View File

@ -6,7 +6,7 @@
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
*/ */
{ stdenv, fetchurl, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }: { stdenv, fetchurl, writeText, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
let build = import ./common.nix; in let build = import ./common.nix; in
@ -43,5 +43,10 @@ build null {
cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale" cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale"
''; '';
setupHook = writeText "locales-setup-hook.sh"
''
export LOCALE_ARCHIVE=@out@/lib/locale/locale-archive
'';
meta.description = "Locale information for the GNU C Library"; meta.description = "Locale information for the GNU C Library";
} }

View File

@ -5425,7 +5425,8 @@ let
installLocales = config.glibc.locales or false; installLocales = config.glibc.locales or false;
}; };
glibcLocales = callPackage ../development/libraries/glibc/locales.nix { }; # Not supported on Darwin
glibcLocales = if (! stdenv.isDarwin) then (callPackage ../development/libraries/glibc/locales.nix { }) else null;
glibcInfo = callPackage ../development/libraries/glibc/info.nix { }; glibcInfo = callPackage ../development/libraries/glibc/info.nix { };

View File

@ -30,9 +30,6 @@ let
crypt = null; crypt = null;
}; };
# glibcLocales doesn't build on Darwin
localePath = optionalString (! stdenv.isDarwin) "${pkgs.glibcLocales}/lib/locale/locale-archive";
pythonPackages = modules // import ./python-packages-generated.nix { pythonPackages = modules // import ./python-packages-generated.nix {
inherit pkgs python; inherit pkgs python;
inherit (pkgs) stdenv fetchurl; inherit (pkgs) stdenv fetchurl;
@ -2107,8 +2104,9 @@ let
propagatedBuildInputs = with self; [ self.six ]; propagatedBuildInputs = with self; [ self.six ];
buildInputs = [ pkgs.glibcLocales ];
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -2821,8 +2819,9 @@ let
sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj";
}; };
buildInputs = [ pkgs.glibcLocales ];
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -4066,8 +4065,9 @@ let
md5 = "92978492871342ad64e8ae0ccfcf200c"; md5 = "92978492871342ad64e8ae0ccfcf200c";
}; };
buildInputs = [ pkgs.glibcLocales ];
preConfigure = '' preConfigure = ''
export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -4833,11 +4833,10 @@ let
}; };
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
buildInputs = with self; [ six ]; buildInputs = with self; [ six pkgs.glibcLocales ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library collecting some useful snippets"; description = "Library collecting some useful snippets";
@ -5766,7 +5765,6 @@ let
doCheck = false; doCheck = false;
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -5778,7 +5776,7 @@ let
''; '';
buildInputs = with self; [ buildInputs = with self; [
pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales
pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks
]; ];
@ -5965,9 +5963,10 @@ let
md5 = "84a117c9a75b86842b0fa5f5c9c767f3"; md5 = "84a117c9a75b86842b0fa5f5c9c767f3";
}; };
buildInputs = [ pkgs.glibcLocales ];
# some files in tests dir include unicode names # some files in tests dir include unicode names
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -6033,8 +6032,9 @@ let
md5 = "9e17a181af72d04a291c9a960bc73d44"; md5 = "9e17a181af72d04a291c9a960bc73d44";
}; };
buildInputs = [ pkgs.glibcLocales ];
preCheck = '' preCheck = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -6965,7 +6965,6 @@ let
}; };
preConfigure = '' preConfigure = ''
export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -6973,6 +6972,8 @@ let
#buildInputs = [nose mock]; #buildInputs = [nose mock];
doCheck = false; doCheck = false;
buildInputs = [ pkgs.glibcLocales ];
propagatedBuildInputs = with self; [ propagatedBuildInputs = with self; [
jinja2 pygments docutils pytz unidecode six dateutil feedgenerator jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
blinker pillow beautifulsoup4 blinker pillow beautifulsoup4
@ -7264,9 +7265,10 @@ let
sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851";
}; };
buildInputs = [ pkgs.glibcLocales ];
preCheck = '' preCheck = ''
export LANG="en_US.UTF-8" export LANG="en_US.UTF-8"
export LOCALE_ARCHIVE=${localePath}
''; '';
meta = { meta = {
@ -9298,7 +9300,7 @@ let
''; '';
checkPhase = '' checkPhase = ''
LOCALE_ARCHIVE=${localePath} LC_ALL="en_US.UTF-8" HOME=$TMPDIR ATLAS="" nosetests LOCALE_ARCHIVE=${pkgs.glibcLocales} LC_ALL="en_US.UTF-8" HOME=$TMPDIR ATLAS="" nosetests
''; '';
meta = { meta = {
@ -9481,11 +9483,10 @@ let
sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l"; sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l";
}; };
buildInputs = with self; [ pkgs.geos ]; buildInputs = with self; [ pkgs.geos pkgs.glibcLocales ];
preConfigure = '' preConfigure = ''
export LANG="en_US.UTF-8"; export LANG="en_US.UTF-8";
export LOCALE_ARCHIVE=${localePath}
''; '';
patchPhase = '' patchPhase = ''
@ -9541,9 +9542,10 @@ let
sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh"; sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh";
}; };
buildInputs = [ pkgs.glibcLocales ];
preCheck = '' preCheck = ''
export LANG="en_US.UTF-8" export LANG="en_US.UTF-8"
export LOCALE_ARCHIVE=${localePath}
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -9606,10 +9608,9 @@ let
preCheck = '' preCheck = ''
export LANG="en_US.UTF-8" export LANG="en_US.UTF-8"
export LOCALE_ARCHIVE=${localePath}
''; '';
buildInputs = with self; [ pytest py mock ]; buildInputs = with self; [ pytest py mock pkgs.glibcLocales ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.iElectric ];
@ -10122,7 +10123,6 @@ let
version = "1.2.8"; version = "1.2.8";
preBuild = '' preBuild = ''
export LOCALE_ARCHIVE=${localePath}
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
''; '';
@ -10135,7 +10135,7 @@ let
sha256 = "0pgi9xg00wcw0m1pv5qp7jv53q38yffcmkf2fj1zlfi2b9c3njid"; sha256 = "0pgi9xg00wcw0m1pv5qp7jv53q38yffcmkf2fj1zlfi2b9c3njid";
}; };
buildInputs = with self; [ nose ]; buildInputs = with self; [ nose pkgs.glibcLocales ];
propagatedBuildInputs = with self; [ six mock ]; propagatedBuildInputs = with self; [ six mock ];