apple_sdk: use multiple outputs
This commit is contained in:
parent
709f52a4e2
commit
06fa867498
@ -38,7 +38,7 @@ in stdenv.mkDerivation {
|
|||||||
'' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
|
'' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
|
||||||
sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
|
sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
|
||||||
\ \*x86-darwin\*)\
|
\ \*x86-darwin\*)\
|
||||||
\ INCLFILE=${apple_sdk.sdk}/include/unistd.h\
|
\ INCLFILE=${stdenv.lib.getDev apple_sdk.sdk}/include/unistd.h\
|
||||||
\ ;;\
|
\ ;;\
|
||||||
\ \*) ;;
|
\ \*) ;;
|
||||||
' base/runtime/config/gen-posix-names.sh
|
' base/runtime/config/gen-posix-names.sh
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, xar, xz, cpio, pkgs, python }:
|
{ stdenv, fetchurl, xar, xz, cpio, pkgs, python, lib }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# TODO: make this available to other packages and generalize the unpacking a bit
|
# TODO: make this available to other packages and generalize the unpacking a bit
|
||||||
@ -27,6 +27,7 @@ let
|
|||||||
buildInputs = [ xar xz cpio python ];
|
buildInputs = [ xar xz cpio python ];
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
|
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
|
||||||
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
xar -x -f $src
|
xar -x -f $src
|
||||||
@ -87,13 +88,13 @@ let
|
|||||||
# ApplicationServices in the 10.9 SDK
|
# ApplicationServices in the 10.9 SDK
|
||||||
local isChild
|
local isChild
|
||||||
|
|
||||||
if [ -d "${sdk}/Library/Frameworks/$path/Versions/$current/Headers" ]; then
|
if [ -d "${sdk.out}/Library/Frameworks/$path/Versions/$current/Headers" ]; then
|
||||||
isChild=1
|
isChild=1
|
||||||
cp -R "${sdk}/Library/Frameworks/$path/Versions/$current/Headers" .
|
cp -R "${sdk.out}/Library/Frameworks/$path/Versions/$current/Headers" .
|
||||||
else
|
else
|
||||||
isChild=0
|
isChild=0
|
||||||
current="$(readlink "/System/Library/Frameworks/$name.framework/Versions/Current")"
|
current="$(readlink "/System/Library/Frameworks/$name.framework/Versions/Current")"
|
||||||
cp -R "${sdk}/Library/Frameworks/$name.framework/Versions/$current/Headers" .
|
cp -R "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current/Headers" .
|
||||||
fi
|
fi
|
||||||
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/$name"
|
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/$name"
|
||||||
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/Resources"
|
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/Resources"
|
||||||
@ -103,9 +104,9 @@ let
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $isChild -eq 1 ]; then
|
if [ $isChild -eq 1 ]; then
|
||||||
pushd "${sdk}/Library/Frameworks/$path/Versions/$current" >/dev/null
|
pushd "${sdk.out}/Library/Frameworks/$path/Versions/$current" >/dev/null
|
||||||
else
|
else
|
||||||
pushd "${sdk}/Library/Frameworks/$name.framework/Versions/$current" >/dev/null
|
pushd "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current" >/dev/null
|
||||||
fi
|
fi
|
||||||
local children=$(echo Frameworks/*.framework)
|
local children=$(echo Frameworks/*.framework)
|
||||||
if [ "$name" == "ApplicationServices" ]; then
|
if [ "$name" == "ApplicationServices" ]; then
|
||||||
@ -159,8 +160,8 @@ in rec {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/include
|
mkdir -p $out/include
|
||||||
pushd $out/include >/dev/null
|
pushd $out/include >/dev/null
|
||||||
ln -s "${sdk}/include/xpc"
|
ln -s "${lib.getDev sdk}/include/xpc"
|
||||||
ln -s "${sdk}/include/launch.h"
|
ln -s "${lib.getDev sdk}/include/launch.h"
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -178,7 +179,7 @@ in rec {
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/include $out/lib
|
mkdir -p $out/include $out/lib
|
||||||
ln -s "${sdk}/include/Xplugin.h" $out/include/Xplugin.h
|
ln -s "${lib.getDev sdk}/include/Xplugin.h" $out/include/Xplugin.h
|
||||||
ln -s "/usr/lib/libXplugin.1.dylib" $out/lib/libXplugin.dylib
|
ln -s "/usr/lib/libXplugin.1.dylib" $out/lib/libXplugin.dylib
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -190,8 +191,8 @@ in rec {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/include
|
mkdir -p $out/include
|
||||||
pushd $out/include >/dev/null
|
pushd $out/include >/dev/null
|
||||||
ln -s "${sdk}/include/utmp.h"
|
ln -s "${lib.getDev sdk}/include/utmp.h"
|
||||||
ln -s "${sdk}/include/utmpx.h"
|
ln -s "${lib.getDev sdk}/include/utmpx.h"
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,7 @@ appleDerivation {
|
|||||||
lib/RawSigner.h lib/MD2Object.h lib/HMACSHA1.h lib/bfContext.h lib/rc4Context.h; do
|
lib/RawSigner.h lib/MD2Object.h lib/HMACSHA1.h lib/bfContext.h lib/rc4Context.h; do
|
||||||
substituteInPlace ''$file --replace \
|
substituteInPlace ''$file --replace \
|
||||||
'"CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"' \
|
'"CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"' \
|
||||||
'"${apple_sdk.sdk}/include/MacTypes.h"'
|
'"${stdenv.lib.getDev apple_sdk.sdk}/include/MacTypes.h"'
|
||||||
done
|
done
|
||||||
|
|
||||||
for file in lib/castContext.h lib/gladmanContext.h lib/desContext.h lib/rc4Context.h; do
|
for file in lib/castContext.h lib/gladmanContext.h lib/desContext.h lib/rc4Context.h; do
|
||||||
|
@ -25,7 +25,7 @@ appleDerivation {
|
|||||||
mkdir -p include/securityd_client
|
mkdir -p include/securityd_client
|
||||||
cp Security-*/libsecurityd/lib/*.h include/securityd_client
|
cp Security-*/libsecurityd/lib/*.h include/securityd_client
|
||||||
mkdir -p include/xpc
|
mkdir -p include/xpc
|
||||||
cp ${apple_sdk.sdk}/include/xpc/*.h include/xpc
|
cp ${apple_sdk.sdk.out}/include/xpc/*.h include/xpc
|
||||||
|
|
||||||
sed -i '1i #define bool int' lib/security_codesigning.d
|
sed -i '1i #define bool int' lib/security_codesigning.d
|
||||||
dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h
|
dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ appleDerivation, apple_sdk, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk }:
|
{ appleDerivation, apple_sdk, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk, lib }:
|
||||||
appleDerivation {
|
appleDerivation {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libsecurity_utilities
|
libsecurity_utilities
|
||||||
@ -7,7 +7,7 @@ appleDerivation {
|
|||||||
];
|
];
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
cp ${osx_private_sdk}/include/sandbox_private.h .
|
cp ${osx_private_sdk}/include/sandbox_private.h .
|
||||||
substituteInPlace sandbox_private.h --replace '<sandbox.h>' '"${apple_sdk.sdk}/include/sandbox.h"'
|
substituteInPlace sandbox_private.h --replace '<sandbox.h>' '"${lib.getDev apple_sdk.sdk}/include/sandbox.h"'
|
||||||
substituteInPlace lib/AtomicFile.cpp --replace '<sandbox.h>' '"sandbox_private.h"'
|
substituteInPlace lib/AtomicFile.cpp --replace '<sandbox.h>' '"sandbox_private.h"'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,13 @@ name: version: sha256: args: let
|
|||||||
grep -Rl MacErrors.h . | while read file; do
|
grep -Rl MacErrors.h . | while read file; do
|
||||||
substituteInPlace "''$file" --replace \
|
substituteInPlace "''$file" --replace \
|
||||||
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
||||||
'"${pkgs.darwin.apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
'"${pkgs.darwin.apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
||||||
done || true # grep returns 1 if it can't find the string
|
done || true # grep returns 1 if it can't find the string
|
||||||
|
|
||||||
grep -Rl MacTypes.h . | while read file; do
|
grep -Rl MacTypes.h . | while read file; do
|
||||||
substituteInPlace "''$file" --replace \
|
substituteInPlace "''$file" --replace \
|
||||||
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
|
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
|
||||||
'"${pkgs.darwin.apple_sdk.sdk}/include/MacTypes.h"'
|
'"${pkgs.darwin.apple_sdk.sdk.out}/include/MacTypes.h"'
|
||||||
done || true # grep returns 1 if it can't find the string
|
done || true # grep returns 1 if it can't find the string
|
||||||
'';
|
'';
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ CF, Security, appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_ocspd, libsecurity_pkcs12, libsecurity_utilities, libsecurityd, openssl, osx_private_sdk, security_dotmac_tp }:
|
{ CF, Security, appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_ocspd, libsecurity_pkcs12, libsecurity_utilities, libsecurityd, openssl, osx_private_sdk, security_dotmac_tp, lib }:
|
||||||
appleDerivation {
|
appleDerivation {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libsecurity_utilities
|
libsecurity_utilities
|
||||||
@ -19,7 +19,7 @@ appleDerivation {
|
|||||||
substituteInPlace lib/SecCertificate.cpp --replace '#include <Security/SecCertificatePriv.h>' ""
|
substituteInPlace lib/SecCertificate.cpp --replace '#include <Security/SecCertificatePriv.h>' ""
|
||||||
|
|
||||||
cp ${osx_private_sdk}/include/xpc/private.h xpc
|
cp ${osx_private_sdk}/include/xpc/private.h xpc
|
||||||
cp ${apple_sdk.sdk}/include/xpc/*.h xpc
|
cp ${lib.getDev apple_sdk.sdk}/include/xpc/*.h xpc
|
||||||
cp ${osx_private_sdk}/include/sandbox_private.h lib/sandbox.h
|
cp ${osx_private_sdk}/include/sandbox_private.h lib/sandbox.h
|
||||||
|
|
||||||
substituteInPlace lib/SecItemPriv.h \
|
substituteInPlace lib/SecItemPriv.h \
|
||||||
@ -29,7 +29,7 @@ appleDerivation {
|
|||||||
|
|
||||||
substituteInPlace lib/Keychains.cpp --replace \
|
substituteInPlace lib/Keychains.cpp --replace \
|
||||||
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
||||||
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
||||||
|
|
||||||
substituteInPlace lib/CertificateValues.cpp --replace \
|
substituteInPlace lib/CertificateValues.cpp --replace \
|
||||||
'#include <Security/SecCertificatePriv.h>' ""
|
'#include <Security/SecCertificatePriv.h>' ""
|
||||||
@ -42,6 +42,6 @@ appleDerivation {
|
|||||||
|
|
||||||
substituteInPlace lib/KCEventNotifier.h --replace \
|
substituteInPlace lib/KCEventNotifier.h --replace \
|
||||||
'CoreFoundation/CFNotificationCenter.h' \
|
'CoreFoundation/CFNotificationCenter.h' \
|
||||||
'${apple_sdk.sdk}/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFNotificationCenter.h'
|
'${apple_sdk.sdk.out}/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFNotificationCenter.h'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
substituteInPlace cmsutil.c --replace \
|
substituteInPlace cmsutil.c --replace \
|
||||||
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
||||||
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
||||||
substituteInPlace createFVMaster.c --replace \
|
substituteInPlace createFVMaster.c --replace \
|
||||||
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
|
||||||
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user