summary refs log tree commit diff
path: root/pkgs/os-specific/linux/busybox
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2017-06-02 17:35:13 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-06-22 17:53:53 -0400
commit05b3c87d9d9df6a8eac118f6d243f5a94649d66a (patch)
tree354d7a2d80c9f165debe384b25c34d003b94d03d /pkgs/os-specific/linux/busybox
parent8b22e497f2bbffca98dc73502b1873595fb36ea9 (diff)
downloadnixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar.gz
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar.bz2
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar.lz
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar.xz
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.tar.zst
nixlib-05b3c87d9d9df6a8eac118f6d243f5a94649d66a.zip
busybox: Modernize and fix cross
Diffstat (limited to 'pkgs/os-specific/linux/busybox')
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix21
1 files changed, 9 insertions, 12 deletions
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 4956f13950dd..e1ea8fa8fdd2 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, lib, fetchurl, glibc, musl
+{ stdenv, lib, buildPackages, fetchurl
 , enableStatic ? false
 , enableMinimal ? false
-, useMusl ? false
+, useMusl ? false, musl
 , extraConfig ? ""
+, buildPlatform, hostPlatform
 }:
 
 let
@@ -71,20 +72,16 @@ stdenv.mkDerivation rec {
   '';
 
   postConfigure = lib.optionalString useMusl ''
-    makeFlagsArray+=("CC=gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
+    makeFlagsArray+=("CC=${stdenv.cc.prefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
   '';
 
-  buildInputs = lib.optionals (enableStatic && !useMusl) [ stdenv.cc.libc stdenv.cc.libc.static ];
+  nativeBuildInputs = lib.optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc;
 
-  crossAttrs = {
-    extraCrossConfig = ''
-      CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-"
-    '';
+  buildInputs = lib.optionals (enableStatic && !useMusl) [ stdenv.cc.libc stdenv.cc.libc.static ];
 
-    postConfigure = stdenv.lib.optionalString useMusl ''
-      makeFlagsArray+=("CC=$crossConfig-gcc -isystem ${musl.crossDrv}/include -B${musl.crossDrv}/lib -L${musl.crossDrv}/lib")
-    '';
-  };
+  extraCrossConfig = if hostPlatform == buildPlatform then null else ''
+    CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.prefix}"
+  '';
 
   enableParallelBuilding = true;