about summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc/locales.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/glibc/locales.nix')
-rw-r--r--pkgs/development/libraries/glibc/locales.nix17
1 files changed, 11 insertions, 6 deletions
diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix
index ed6f0a5b32ca..86d6d1438b2d 100644
--- a/pkgs/development/libraries/glibc/locales.nix
+++ b/pkgs/development/libraries/glibc/locales.nix
@@ -10,8 +10,9 @@
 , allLocales ? true, locales ? [ "en_US.UTF-8/UTF-8" ]
 }:
 
-callPackage ./common.nix { inherit stdenv; } {
+(callPackage ./common.nix { inherit stdenv; } {
   pname = "glibc-locales";
+}).overrideAttrs(finalAttrs: previousAttrs: {
 
   builder = ./locales-builder.sh;
 
@@ -25,7 +26,7 @@ callPackage ./common.nix { inherit stdenv; } {
     else "--big-endian")
   ];
 
-  buildPhase = ''
+  preBuild = (previousAttrs.preBuild or "") + ''
       # Awful hack: `localedef' doesn't allow the path to `locale-archive'
       # to be overriden, but you *can* specify a prefix, i.e. it will use
       # <prefix>/<path-to-glibc>/lib/locale/locale-archive.  So we use
@@ -57,11 +58,15 @@ callPackage ./common.nix { inherit stdenv; } {
       fi
 
       echo SUPPORTED-LOCALES='${toString locales}' > ../glibc-2*/localedata/SUPPORTED
-    '' + ''
-      make localedata/install-locales \
-          localedir=$out/lib/locale \
     '';
 
+  enableParallelBuilding = true;
+
+  makeFlags = (previousAttrs.makeFlags or []) ++ [
+    "localedata/install-locales"
+    "localedir=${builtins.placeholder "out"}/lib/locale"
+  ];
+
   installPhase =
     ''
       mkdir -p "$out/lib/locale" "$out/share/i18n"
@@ -75,4 +80,4 @@ callPackage ./common.nix { inherit stdenv; } {
     '';
 
   meta.description = "Locale information for the GNU C Library";
-}
+})