948b7f23bb
I can't submit this in smaller units because the various components all depend on one another during the stdenv bootstrap, so I think this is the smallest sensible change I can make. I also removed the symbol-hiding shenanigans in Libsystem. It might mess up compatibility with 10.9 but I don't really want to support the added complexity and I see little evidence of anyone else wanting to support it. If someone cares, we might be able to revive compatibility, but for now it'll stay like this.
32 lines
1.2 KiB
Nix
32 lines
1.2 KiB
Nix
{ stdenv, appleDerivation, ed, unifdef, Libc_old, Libc_10-9 }:
|
|
|
|
appleDerivation {
|
|
phases = [ "unpackPhase" "installPhase" ];
|
|
|
|
buildInputs = [ ed unifdef ];
|
|
|
|
# TODO: asl.h actually comes from syslog project now
|
|
installPhase = ''
|
|
export SRCROOT=$PWD
|
|
export DSTROOT=$out
|
|
export PUBLIC_HEADERS_FOLDER_PATH=include
|
|
export PRIVATE_HEADERS_FOLDER_PATH=include
|
|
bash xcodescripts/headers.sh
|
|
|
|
cp ${Libc_10-9}/include/NSSystemDirectories.h $out/include
|
|
|
|
# Ugh Apple stopped releasing this stuff so we need an older one...
|
|
cp ${Libc_old}/include/spawn.h $out/include
|
|
cp ${Libc_old}/include/setjmp.h $out/include
|
|
cp ${Libc_old}/include/ucontext.h $out/include
|
|
cp ${Libc_old}/include/pthread*.h $out/include
|
|
cp ${Libc_old}/include/sched.h $out/include
|
|
cp -R ${Libc_old}/include/malloc $out/include
|
|
|
|
mkdir -p $out/include/libkern
|
|
cp ${Libc_old}/include/asl.h $out/include
|
|
cp ${Libc_old}/include/libproc.h $out/include
|
|
cp ${Libc_old}/include/libkern/OSAtomic.h $out/include/libkern
|
|
cp ${Libc_old}/include/libkern/OSCacheControl.h $out/include/libkern
|
|
'';
|
|
}
|