Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions pkgs/development/libraries/glibc/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
{ name
, withLinuxHeaders ? false
, profilingLibraries ? false
, installLocales ? false
, withGd ? false
, meta
, ...
Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
8 changes: 3 additions & 5 deletions pkgs/development/libraries/glibc/default.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
{ stdenv, callPackage
, withLinuxHeaders ? true
, installLocales ? true
, profilingLibraries ? false
, withGd ? false
}:

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,
Expand Down Expand Up @@ -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

Expand Down
2 changes: 0 additions & 2 deletions pkgs/development/libraries/glibc/locales.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
callPackage ./common.nix { inherit stdenv; } {
name = "glibc-locales";

installLocales = true;

builder = ./locales-builder.sh;

outputs = [ "out" ];
Expand Down
6 changes: 1 addition & 5 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand All @@ -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;
};

Expand Down