about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/musl
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2018-04-10 19:23:42 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2018-04-10 19:23:42 +0200
commit6023849ba14bc4682d84a53f8f790f6cdc402d91 (patch)
tree3bd755e46c01d25d30c54c6ed7bd9d00038a0c46 /pkgs/os-specific/linux/musl
parenta4035fbae1fe2ffb58b3e040a4e697c8a2fc3d19 (diff)
parentf28bf68bc4f93193d296718a37f94189f91ab14d (diff)
Merge master into staging
Diffstat (limited to 'pkgs/os-specific/linux/musl')
-rw-r--r--pkgs/os-specific/linux/musl/default.nix18
1 files changed, 12 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 005a12f5b94dc..4d1c2cad2e33c 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -50,8 +50,7 @@ stdenv.mkDerivation rec {
     "--enable-static"
     "--enable-debug"
     "CFLAGS=-fstack-protector-strong"
-    # Fix cycle between outputs
-    "--disable-wrapper"
+    "--enable-wrapper=all"
   ];
 
   outputs = [ "out" "dev" ];
@@ -59,18 +58,25 @@ stdenv.mkDerivation rec {
   dontDisableStatic = true;
   separateDebugInfo = true;
 
-  postInstall =
-  ''
+  postInstall = ''
     # Not sure why, but link in all but scsi directory as that's what uclibc/glibc do.
     # Apparently glibc provides scsi itself?
     (cd $dev/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
-  '' + ''
+
     # Strip debug out of the static library
     $STRIP -S $out/lib/libc.a
-  '' + ''
     mkdir -p $out/bin
+
     # Create 'ldd' symlink, builtin
     ln -s $out/lib/libc.so $out/bin/ldd
+
+    # (impure) cc wrapper around musl for interactive usuage
+    for i in musl-gcc musl-clang ld.musl-clang; do
+      moveToOutput bin/$i $dev
+    done
+    moveToOutput lib/musl-gcc.specs $dev
+    substituteInPlace $dev/bin/musl-gcc \
+      --replace $out/lib/musl-gcc.specs $dev/lib/musl-gcc.specs
   '' + lib.optionalString useBSDCompatHeaders ''
     install -D ${queue_h} $dev/include/sys/queue.h
     install -D ${cdefs_h} $dev/include/sys/cdefs.h