diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 50d8c6e268c2d..7e99a0c18d7d1 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -28,7 +28,6 @@ { name , withLinuxHeaders ? false , profilingLibraries ? false -, installLocales ? false , withGd ? false , meta , ... @@ -44,7 +43,7 @@ assert withLinuxHeaders -> linuxHeaders != null; assert withGd -> gd != null && libpng != null; stdenv.mkDerivation ({ - inherit version installLocales; + inherit version; linuxHeaders = if withLinuxHeaders then linuxHeaders else null; inherit (stdenv) is64bit; @@ -88,6 +87,11 @@ stdenv.mkDerivation ({ less linux-*?/arch/x86/kernel/syscall_table_32.S */ ./allow-kernel-2.6.32.patch + /* Provide utf-8 locales by default, so we can use it in stdenv without depending on our large locale-archive. */ + (fetchurl { + url = "https://salsa.debian.org/glibc-team/glibc/raw/49767c9f7de4828220b691b29de0baf60d8a54ec/debian/patches/localedata/locale-C.diff"; + sha256 = "0irj60hs2i91ilwg5w7sqrxb695c93xg0ik7yhhq9irprd7fidn4"; + }) ] ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch; diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 27a1267f0cfe1..e46985d3fca8b 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -1,6 +1,5 @@ { stdenv, callPackage , withLinuxHeaders ? true -, installLocales ? true , profilingLibraries ? false , withGd ? false }: @@ -8,7 +7,7 @@ callPackage ./common.nix { inherit stdenv; } { name = "glibc" + stdenv.lib.optionalString withGd "-gd"; - inherit withLinuxHeaders profilingLibraries installLocales withGd; + inherit withLinuxHeaders profilingLibraries withGd; # Note: # Things you write here override, and do not add to, @@ -57,9 +56,8 @@ callPackage ./common.nix { inherit stdenv; } { ''; postInstall = '' - if test -n "$installLocales"; then - make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales - fi + echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED + make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index 7090c5ceceeca..2b20c17d4500b 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -13,8 +13,6 @@ callPackage ./common.nix { inherit stdenv; } { name = "glibc-locales"; - installLocales = true; - builder = ./locales-builder.sh; outputs = [ "out" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3cc3a4626c918..7c92c3b11553c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9955,9 +9955,7 @@ in inherit (darwin.apple_sdk.frameworks) Cocoa Kernel; }; - glibc = callPackage ../development/libraries/glibc { - installLocales = config.glibc.locales or false; - }; + glibc = callPackage ../development/libraries/glibc { }; # Provided by libc on Operating Systems that use the Extensible Linker Format. elf-header = @@ -9968,13 +9966,11 @@ in elf-header-real = callPackage ../development/libraries/elf-header { }; glibc_memusage = callPackage ../development/libraries/glibc { - installLocales = false; withGd = true; }; # Being redundant to avoid cycles on boot. TODO: find a better way glibcCross = callPackage ../development/libraries/glibc { - installLocales = config.glibc.locales or false; stdenv = crossLibcStdenv; };