From 06fa8674984e8ab637a29b91bdaa11dc5cbacb80 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 8 Jun 2018 23:57:36 -0400 Subject: apple_sdk: use multiple outputs --- pkgs/development/compilers/smlnj/default.nix | 2 +- pkgs/os-specific/darwin/apple-sdk/default.nix | 23 +++++++++++----------- .../libsecurity_apple_csp/default.nix | 2 +- .../libsecurity_codesigning/default.nix | 2 +- .../libsecurity_filedb/default.nix | 4 ++-- .../libsecurity_generic/default.nix | 6 +++--- .../libsecurity_keychain/default.nix | 8 ++++---- pkgs/os-specific/darwin/security-tool/default.nix | 4 ++-- 8 files changed, 26 insertions(+), 25 deletions(-) diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix index 75daad36f7622..9b4816bb282ee 100644 --- a/pkgs/development/compilers/smlnj/default.nix +++ b/pkgs/development/compilers/smlnj/default.nix @@ -38,7 +38,7 @@ in stdenv.mkDerivation { '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; '' sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\ \ \*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 diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 7f6f0cdd0c482..a62182f1d347b 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xar, xz, cpio, pkgs, python }: +{ stdenv, fetchurl, xar, xz, cpio, pkgs, python, lib }: let # TODO: make this available to other packages and generalize the unpacking a bit @@ -27,6 +27,7 @@ let buildInputs = [ xar xz cpio python ]; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + outputs = [ "out" "dev" "man" ]; unpackPhase = '' xar -x -f $src @@ -87,13 +88,13 @@ let # ApplicationServices in the 10.9 SDK 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 - cp -R "${sdk}/Library/Frameworks/$path/Versions/$current/Headers" . + cp -R "${sdk.out}/Library/Frameworks/$path/Versions/$current/Headers" . else isChild=0 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 ln -s -L "/System/Library/Frameworks/$path/Versions/$current/$name" ln -s -L "/System/Library/Frameworks/$path/Versions/$current/Resources" @@ -103,9 +104,9 @@ let fi 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 - pushd "${sdk}/Library/Frameworks/$name.framework/Versions/$current" >/dev/null + pushd "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current" >/dev/null fi local children=$(echo Frameworks/*.framework) if [ "$name" == "ApplicationServices" ]; then @@ -159,8 +160,8 @@ in rec { installPhase = '' mkdir -p $out/include pushd $out/include >/dev/null - ln -s "${sdk}/include/xpc" - ln -s "${sdk}/include/launch.h" + ln -s "${lib.getDev sdk}/include/xpc" + ln -s "${lib.getDev sdk}/include/launch.h" popd >/dev/null ''; }; @@ -178,7 +179,7 @@ in rec { installPhase = '' 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 ''; }; @@ -190,8 +191,8 @@ in rec { installPhase = '' mkdir -p $out/include pushd $out/include >/dev/null - ln -s "${sdk}/include/utmp.h" - ln -s "${sdk}/include/utmpx.h" + ln -s "${lib.getDev sdk}/include/utmp.h" + ln -s "${lib.getDev sdk}/include/utmpx.h" popd >/dev/null ''; }; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/default.nix index 1018100ba9c5a..639d377d1b647 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/default.nix @@ -13,7 +13,7 @@ appleDerivation { lib/RawSigner.h lib/MD2Object.h lib/HMACSHA1.h lib/bfContext.h lib/rc4Context.h; do substituteInPlace ''$file --replace \ '"CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"' \ - '"${apple_sdk.sdk}/include/MacTypes.h"' + '"${stdenv.lib.getDev apple_sdk.sdk}/include/MacTypes.h"' done for file in lib/castContext.h lib/gladmanContext.h lib/desContext.h lib/rc4Context.h; do diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix index 2a05855bd5214..f5035a06f1e8e 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix @@ -25,7 +25,7 @@ appleDerivation { mkdir -p include/securityd_client cp Security-*/libsecurityd/lib/*.h include/securityd_client 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 dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix index fb1ea2509d76f..435cd0f069f21 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix @@ -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 { buildInputs = [ libsecurity_utilities @@ -7,7 +7,7 @@ appleDerivation { ]; patchPhase = '' cp ${osx_private_sdk}/include/sandbox_private.h . - substituteInPlace sandbox_private.h --replace '' '"${apple_sdk.sdk}/include/sandbox.h"' + substituteInPlace sandbox_private.h --replace '' '"${lib.getDev apple_sdk.sdk}/include/sandbox.h"' substituteInPlace lib/AtomicFile.cpp --replace '' '"sandbox_private.h"' ''; } diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix index 93857ea792c25..2783e4edb4379 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix @@ -15,13 +15,13 @@ name: version: sha256: args: let grep -Rl MacErrors.h . | while read file; do substituteInPlace "''$file" --replace \ '' \ - '"${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 - + grep -Rl MacTypes.h . | while read file; do substituteInPlace "''$file" --replace \ '' \ - '"${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 ''; preBuild = '' diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix index 06137879410d6..07a3186caeec9 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix @@ -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 { buildInputs = [ libsecurity_utilities @@ -19,7 +19,7 @@ appleDerivation { substituteInPlace lib/SecCertificate.cpp --replace '#include ' "" 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 substituteInPlace lib/SecItemPriv.h \ @@ -29,7 +29,7 @@ appleDerivation { substituteInPlace lib/Keychains.cpp --replace \ '' \ - '"${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 \ '#include ' "" @@ -42,6 +42,6 @@ appleDerivation { substituteInPlace lib/KCEventNotifier.h --replace \ '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' ''; } diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix index 2b8c7718aee8a..e6846aef75079 100644 --- a/pkgs/os-specific/darwin/security-tool/default.nix +++ b/pkgs/os-specific/darwin/security-tool/default.nix @@ -21,10 +21,10 @@ stdenv.mkDerivation rec { substituteInPlace cmsutil.c --replace \ '' \ - '"${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 \ '' \ - '"${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 = '' -- cgit 1.4.1