mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
darwin.apple_sdk_12_3: convert frameworks and libs to stubs
This commit is contained in:
parent
fcd9dc8ac6
commit
480227777b
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
stdenvNoCC,
|
|
||||||
fetchurl,
|
|
||||||
cpio,
|
|
||||||
pbzx,
|
|
||||||
version,
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
releases = builtins.fromJSON (builtins.readFile ./apple-sdk-releases.json);
|
|
||||||
in
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
||||||
pname = "CLTools_Executables";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
src = fetchurl releases.${version}.${finalAttrs.pname};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cpio
|
|
||||||
pbzx
|
|
||||||
];
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
pbzx $src | cpio -idm
|
|
||||||
mv Library/Developer/CommandLineTools $out
|
|
||||||
'';
|
|
||||||
})
|
|
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenvNoCC,
|
|
||||||
fetchurl,
|
|
||||||
cpio,
|
|
||||||
pbzx,
|
|
||||||
version,
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
releases = builtins.fromJSON (builtins.readFile ./apple-sdk-releases.json);
|
|
||||||
in
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
||||||
pname = "CLTools_macOSNMOS_SDK";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
src = fetchurl releases.${version}.${finalAttrs.pname};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cpio
|
|
||||||
pbzx
|
|
||||||
];
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
pbzx $src | cpio -idm
|
|
||||||
mv Library/Developer/CommandLineTools/SDKs/MacOSX${lib.versions.majorMinor version}.sdk $out
|
|
||||||
'';
|
|
||||||
})
|
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"12.3": {
|
|
||||||
"CLTools_Executables": {
|
|
||||||
"hash": "sha256-XlxHwCq+rtBF3Yyfdob3UEHN7YKzb7JF84lRmZbB/50=",
|
|
||||||
"url": "https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_Executables.pkg"
|
|
||||||
},
|
|
||||||
"CLTools_macOSLMOS_SDK": {
|
|
||||||
"hash": "sha256-mY9YTlyTujV6R89WaNmkJrfOQatXnoSW8gKxnawQz5Q=",
|
|
||||||
"url": "https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_macOSLMOS_SDK.pkg"
|
|
||||||
},
|
|
||||||
"CLTools_macOSNMOS_SDK": {
|
|
||||||
"hash": "sha256-Tr9VCeCP5udmh09U/zPQG2c4ky1LXscBwPfgpRy8uds=",
|
|
||||||
"url": "https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_macOSNMOS_SDK.pkg"
|
|
||||||
},
|
|
||||||
"CLTools_macOS_SDK": {
|
|
||||||
"hash": "sha256-2xwYLfiYuEdck7/8NY3iqiPKvoG9HAjXt8Ewyp9c0Es=",
|
|
||||||
"url": "https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_macOS_SDK.pkg"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,49 +1,266 @@
|
|||||||
|
# Compatibility stubs for packages that used the old SDK frameworks.
|
||||||
|
# TODO(@reckenrode) Make these stubs warn after framework usage has been cleaned up in nixpkgs.
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
|
callPackage,
|
||||||
newScope,
|
newScope,
|
||||||
overrideCC,
|
overrideSDK,
|
||||||
pkgs,
|
pkgs,
|
||||||
stdenv,
|
stdenv,
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "12.3";
|
mkStub = callPackage ../apple-sdk/mk-stub.nix { } "12.3";
|
||||||
|
|
||||||
MacOSX-SDK = callPackage ./CLTools_macOSNMOS_SDK.nix { inherit version; };
|
|
||||||
callPackage = newScope (pkgs.darwin // packages);
|
|
||||||
|
|
||||||
packages = {
|
|
||||||
# Make sure we pass our special `callPackage` instead of using packages.callPackage which
|
|
||||||
# does not have necessary attributes in scope.
|
|
||||||
frameworks = callPackage ./frameworks { inherit callPackage; };
|
|
||||||
libs = callPackage ./libs { inherit callPackage; };
|
|
||||||
|
|
||||||
CLTools_Executables = callPackage ./CLTools_Executables.nix { inherit version; };
|
|
||||||
Libsystem = callPackage ./libSystem.nix { };
|
|
||||||
LibsystemCross = callPackage ./libSystem.nix { };
|
|
||||||
libunwind = callPackage ./libunwind.nix { };
|
|
||||||
libnetwork = callPackage ./libnetwork.nix { };
|
|
||||||
libpm = callPackage ./libpm.nix { };
|
|
||||||
# Avoid introducing a new objc4 if stdenv already has one, to prevent
|
|
||||||
# conflicting LLVM modules.
|
|
||||||
objc4 = stdenv.objc4 or (callPackage ./libobjc.nix { });
|
|
||||||
|
|
||||||
darwin-stubs = stdenvNoCC.mkDerivation {
|
|
||||||
pname = "darwin-stubs";
|
|
||||||
inherit (MacOSX-SDK) version;
|
|
||||||
|
|
||||||
preferLocalBuild = true;
|
|
||||||
allowSubstitutes = false;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p "$out"
|
|
||||||
ln -s ${MacOSX-SDK}/System "$out/System"
|
|
||||||
ln -s ${MacOSX-SDK}/usr "$out/usr"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
sdkRoot = pkgs.callPackage ../apple-sdk/sdkRoot.nix { sdkVersion = version; };
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
packages
|
lib.genAttrs [
|
||||||
|
"CLTools_Executables"
|
||||||
|
"Libsystem"
|
||||||
|
"LibsystemCross"
|
||||||
|
"darwin-stubs"
|
||||||
|
"libnetwork"
|
||||||
|
"libpm"
|
||||||
|
"libunwind"
|
||||||
|
"objc4"
|
||||||
|
"sdkRoot"
|
||||||
|
] mkStub
|
||||||
|
// {
|
||||||
|
frameworks = lib.genAttrs [
|
||||||
|
"AGL"
|
||||||
|
"AVFAudio"
|
||||||
|
"AVFCapture"
|
||||||
|
"AVFCore"
|
||||||
|
"AVFoundation"
|
||||||
|
"AVKit"
|
||||||
|
"Accelerate"
|
||||||
|
"Accessibility"
|
||||||
|
"Accounts"
|
||||||
|
"AdServices"
|
||||||
|
"AdSupport"
|
||||||
|
"AddressBook"
|
||||||
|
"AddressBookCore"
|
||||||
|
"AppKit"
|
||||||
|
"AppTrackingTransparency"
|
||||||
|
"AppleScriptKit"
|
||||||
|
"AppleScriptObjC"
|
||||||
|
"ApplicationServices"
|
||||||
|
"AudioToolbox"
|
||||||
|
"AudioToolboxCore"
|
||||||
|
"AudioUnit"
|
||||||
|
"AudioVideoBridging"
|
||||||
|
"AuthenticationServices"
|
||||||
|
"AutomaticAssessmentConfiguration"
|
||||||
|
"Automator"
|
||||||
|
"BackgroundTasks"
|
||||||
|
"BusinessChat"
|
||||||
|
"CFNetwork"
|
||||||
|
"CHIP"
|
||||||
|
"CalendarStore"
|
||||||
|
"CallKit"
|
||||||
|
"Carbon"
|
||||||
|
"ClassKit"
|
||||||
|
"CloudKit"
|
||||||
|
"Cocoa"
|
||||||
|
"Collaboration"
|
||||||
|
"ColorSync"
|
||||||
|
"Combine"
|
||||||
|
"Contacts"
|
||||||
|
"ContactsPersistence"
|
||||||
|
"ContactsUI"
|
||||||
|
"CoreAudio"
|
||||||
|
"CoreAudioKit"
|
||||||
|
"CoreAudioTypes"
|
||||||
|
"CoreBluetooth"
|
||||||
|
"CoreData"
|
||||||
|
"CoreDisplay"
|
||||||
|
"CoreFoundation"
|
||||||
|
"CoreGraphics"
|
||||||
|
"CoreHaptics"
|
||||||
|
"CoreImage"
|
||||||
|
"CoreLocation"
|
||||||
|
"CoreMIDI"
|
||||||
|
"CoreMIDIServer"
|
||||||
|
"CoreML"
|
||||||
|
"CoreMedia"
|
||||||
|
"CoreMediaIO"
|
||||||
|
"CoreMotion"
|
||||||
|
"CoreServices"
|
||||||
|
"CoreSpotlight"
|
||||||
|
"CoreSymbolication"
|
||||||
|
"CoreTelephony"
|
||||||
|
"CoreText"
|
||||||
|
"CoreVideo"
|
||||||
|
"CoreWLAN"
|
||||||
|
"CreateML"
|
||||||
|
"CryptoKit"
|
||||||
|
"CryptoTokenKit"
|
||||||
|
"DVDPlayback"
|
||||||
|
"DataDetection"
|
||||||
|
"DebugSymbols"
|
||||||
|
"DeveloperToolsSupport"
|
||||||
|
"DeviceActivity"
|
||||||
|
"DeviceCheck"
|
||||||
|
"DirectoryService"
|
||||||
|
"DiscRecording"
|
||||||
|
"DiscRecordingUI"
|
||||||
|
"DiskArbitration"
|
||||||
|
"DisplayServices"
|
||||||
|
"DriverKit"
|
||||||
|
"EventKit"
|
||||||
|
"ExceptionHandling"
|
||||||
|
"ExecutionPolicy"
|
||||||
|
"ExposureNotification"
|
||||||
|
"ExternalAccessory"
|
||||||
|
"FWAUserLib"
|
||||||
|
"FileProvider"
|
||||||
|
"FileProviderUI"
|
||||||
|
"FinderSync"
|
||||||
|
"ForceFeedback"
|
||||||
|
"Foundation"
|
||||||
|
"GLKit"
|
||||||
|
"GLUT"
|
||||||
|
"GSS"
|
||||||
|
"GameCenterFoundation"
|
||||||
|
"GameCenterUI"
|
||||||
|
"GameCenterUICore"
|
||||||
|
"GameController"
|
||||||
|
"GameKit"
|
||||||
|
"GameplayKit"
|
||||||
|
"GroupActivities"
|
||||||
|
"Hypervisor"
|
||||||
|
"ICADevices"
|
||||||
|
"IMServicePlugIn"
|
||||||
|
"IOBluetooth"
|
||||||
|
"IOBluetoothUI"
|
||||||
|
"IOKit"
|
||||||
|
"IOSurface"
|
||||||
|
"IOUSBHost"
|
||||||
|
"IdentityLookup"
|
||||||
|
"ImageCaptureCore"
|
||||||
|
"ImageIO"
|
||||||
|
"InputMethodKit"
|
||||||
|
"InstallerPlugins"
|
||||||
|
"InstantMessage"
|
||||||
|
"Intents"
|
||||||
|
"IntentsUI"
|
||||||
|
"JavaNativeFoundation"
|
||||||
|
"JavaRuntimeSupport"
|
||||||
|
"JavaScriptCore"
|
||||||
|
"JavaVM"
|
||||||
|
"Kerberos"
|
||||||
|
"Kernel"
|
||||||
|
"KernelManagement"
|
||||||
|
"LDAP"
|
||||||
|
"LatentSemanticMapping"
|
||||||
|
"LinkPresentation"
|
||||||
|
"LocalAuthentication"
|
||||||
|
"LocalAuthenticationEmbeddedUI"
|
||||||
|
"MLCompute"
|
||||||
|
"MailKit"
|
||||||
|
"ManagedSettings"
|
||||||
|
"MapKit"
|
||||||
|
"MediaAccessibility"
|
||||||
|
"MediaLibrary"
|
||||||
|
"MediaPlayer"
|
||||||
|
"MediaToolbox"
|
||||||
|
"Message"
|
||||||
|
"Metal"
|
||||||
|
"MetalKit"
|
||||||
|
"MetalPerformanceShaders"
|
||||||
|
"MetalPerformanceShadersGraph"
|
||||||
|
"MetricKit"
|
||||||
|
"ModelIO"
|
||||||
|
"MultipeerConnectivity"
|
||||||
|
"MultitouchSupport"
|
||||||
|
"MusicKit"
|
||||||
|
"NaturalLanguage"
|
||||||
|
"NearbyInteraction"
|
||||||
|
"NetFS"
|
||||||
|
"Network"
|
||||||
|
"NetworkExtension"
|
||||||
|
"NotificationCenter"
|
||||||
|
"OSAKit"
|
||||||
|
"OSLog"
|
||||||
|
"OpenAL"
|
||||||
|
"OpenCL"
|
||||||
|
"OpenDirectory"
|
||||||
|
"OpenGL"
|
||||||
|
"PCSC"
|
||||||
|
"PDFKit"
|
||||||
|
"PHASE"
|
||||||
|
"ParavirtualizedGraphics"
|
||||||
|
"PassKit"
|
||||||
|
"PassKitCore"
|
||||||
|
"PencilKit"
|
||||||
|
"Photos"
|
||||||
|
"PhotosUI"
|
||||||
|
"PreferencePanes"
|
||||||
|
"PushKit"
|
||||||
|
"QTKit"
|
||||||
|
"Quartz"
|
||||||
|
"QuartzCore"
|
||||||
|
"QuickLook"
|
||||||
|
"QuickLookThumbnailing"
|
||||||
|
"QuickLookUI"
|
||||||
|
"QuickTime"
|
||||||
|
"RealityFoundation"
|
||||||
|
"RealityKit"
|
||||||
|
"ReplayKit"
|
||||||
|
"Ruby"
|
||||||
|
"SafariServices"
|
||||||
|
"SceneKit"
|
||||||
|
"ScreenCaptureKit"
|
||||||
|
"ScreenSaver"
|
||||||
|
"ScreenTime"
|
||||||
|
"ScriptingBridge"
|
||||||
|
"Security"
|
||||||
|
"SecurityFoundation"
|
||||||
|
"SecurityInterface"
|
||||||
|
"SensorKit"
|
||||||
|
"ServiceManagement"
|
||||||
|
"ShazamKit"
|
||||||
|
"SignpostMetrics"
|
||||||
|
"SkyLight"
|
||||||
|
"Social"
|
||||||
|
"SoundAnalysis"
|
||||||
|
"Speech"
|
||||||
|
"SpriteKit"
|
||||||
|
"StoreKit"
|
||||||
|
"SwiftUI"
|
||||||
|
"SyncServices"
|
||||||
|
"System"
|
||||||
|
"SystemConfiguration"
|
||||||
|
"SystemExtensions"
|
||||||
|
"TWAIN"
|
||||||
|
"TabularData"
|
||||||
|
"Tcl"
|
||||||
|
"Tk"
|
||||||
|
"UIFoundation"
|
||||||
|
"URLFormatting"
|
||||||
|
"UniformTypeIdentifiers"
|
||||||
|
"UserNotifications"
|
||||||
|
"UserNotificationsUI"
|
||||||
|
"VideoDecodeAcceleration"
|
||||||
|
"VideoSubscriberAccount"
|
||||||
|
"VideoToolbox"
|
||||||
|
"Virtualization"
|
||||||
|
"Vision"
|
||||||
|
"WebKit"
|
||||||
|
"WidgetKit"
|
||||||
|
"iTunesLibrary"
|
||||||
|
"vmnet"
|
||||||
|
] mkStub;
|
||||||
|
|
||||||
|
libs = lib.genAttrs [
|
||||||
|
"Xplugin"
|
||||||
|
"utmp"
|
||||||
|
"libDER"
|
||||||
|
"xpc"
|
||||||
|
"sandbox"
|
||||||
|
"simd"
|
||||||
|
"utmp"
|
||||||
|
"xpc"
|
||||||
|
] mkStub;
|
||||||
|
|
||||||
|
version = "12.3";
|
||||||
|
}
|
||||||
|
@ -1,146 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenvNoCC,
|
|
||||||
buildPackages,
|
|
||||||
# macOS things
|
|
||||||
callPackage,
|
|
||||||
darwin-stubs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
fixup-frameworks = callPackage ./fixups.nix { };
|
|
||||||
private-frameworks = callPackage ./private.nix { };
|
|
||||||
public-frameworks = callPackage ./public.nix { };
|
|
||||||
|
|
||||||
mkDepsRewrites =
|
|
||||||
deps:
|
|
||||||
let
|
|
||||||
mergeRewrites = x: y: {
|
|
||||||
prefix = lib.mergeAttrs (x.prefix or { }) (y.prefix or { });
|
|
||||||
const = lib.mergeAttrs (x.const or { }) (y.const or { });
|
|
||||||
};
|
|
||||||
|
|
||||||
rewriteArgs =
|
|
||||||
{
|
|
||||||
prefix ? { },
|
|
||||||
const ? { },
|
|
||||||
}:
|
|
||||||
lib.concatLists (
|
|
||||||
(lib.mapAttrsToList (from: to: [
|
|
||||||
"-p"
|
|
||||||
"${from}:${to}"
|
|
||||||
]) prefix)
|
|
||||||
++ (lib.mapAttrsToList (from: to: [
|
|
||||||
"-c"
|
|
||||||
"${from}:${to}"
|
|
||||||
]) const)
|
|
||||||
);
|
|
||||||
|
|
||||||
rewrites =
|
|
||||||
depList:
|
|
||||||
lib.fold mergeRewrites { } (
|
|
||||||
map (dep: dep.tbdRewrites) (lib.filter (dep: dep ? tbdRewrites) depList)
|
|
||||||
);
|
|
||||||
in
|
|
||||||
lib.escapeShellArgs (rewriteArgs (rewrites (lib.attrValues deps)));
|
|
||||||
|
|
||||||
mkFramework =
|
|
||||||
{
|
|
||||||
name,
|
|
||||||
deps,
|
|
||||||
private ? false,
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
standardFrameworkPath =
|
|
||||||
name: private:
|
|
||||||
"/System/Library/${lib.optionalString private "Private"}Frameworks/${name}.framework";
|
|
||||||
|
|
||||||
self = stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-${lib.optionalString private "private-"}framework-${name}";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
# because we copy files from the system
|
|
||||||
preferLocalBuild = true;
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
disallowedRequisites = [ darwin-stubs ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ buildPackages.darwin.rewrite-tbd ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/Library/Frameworks
|
|
||||||
|
|
||||||
cp -r ${darwin-stubs}${standardFrameworkPath name private} $out/Library/Frameworks
|
|
||||||
|
|
||||||
if [[ -d ${darwin-stubs}/usr/lib/swift/${name}.swiftmodule ]]; then
|
|
||||||
mkdir -p $out/lib/swift
|
|
||||||
cp -r -t $out/lib/swift \
|
|
||||||
${darwin-stubs}/usr/lib/swift/${name}.swiftmodule \
|
|
||||||
${darwin-stubs}/usr/lib/swift/libswift${name}.tbd
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix and check tbd re-export references
|
|
||||||
chmod u+w -R $out
|
|
||||||
find $out -name '*.tbd' -type f | while IFS=$'\n' read tbd; do
|
|
||||||
echo "Fixing re-exports in $tbd"
|
|
||||||
rewrite-tbd \
|
|
||||||
-p ${standardFrameworkPath name private}/:$out/Library/Frameworks/${name}.framework/ \
|
|
||||||
-p /usr/lib/swift/:$out/lib/swift/ \
|
|
||||||
${mkDepsRewrites deps} \
|
|
||||||
-r ${builtins.storeDir} \
|
|
||||||
"$tbd"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
propagatedBuildInputs = lib.attrValues deps;
|
|
||||||
|
|
||||||
passthru.tbdRewrites.prefix."${standardFrameworkPath name private}/" = "${self}/Library/Frameworks/${name}.framework/";
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Apple SDK framework ${name}";
|
|
||||||
maintainers = [ ];
|
|
||||||
platforms = platforms.darwin;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
self;
|
|
||||||
|
|
||||||
# Helper functions for creating framework derivations.
|
|
||||||
framework =
|
|
||||||
name: deps:
|
|
||||||
mkFramework {
|
|
||||||
inherit name deps;
|
|
||||||
private = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Helper functions for creating private framework derivations.
|
|
||||||
privateFramework =
|
|
||||||
name: deps:
|
|
||||||
mkFramework {
|
|
||||||
inherit name deps;
|
|
||||||
private = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Merge addToFrameworks into public-frameworks and remove elements of removeFromFrameworks.
|
|
||||||
deps =
|
|
||||||
let
|
|
||||||
inherit (fixup-frameworks) addToFrameworks removeFromFrameworks;
|
|
||||||
fixupDeps =
|
|
||||||
name: deps:
|
|
||||||
lib.pipe deps [
|
|
||||||
# Add dependencies from addToFrameworks.
|
|
||||||
(deps: lib.recursiveUpdate deps (addToFrameworks.${name} or { }))
|
|
||||||
# Keep dependencies not in removeFromFrameworks.
|
|
||||||
(lib.filterAttrs (depName: _: !(removeFromFrameworks.${name}.${depName} or false)))
|
|
||||||
];
|
|
||||||
in
|
|
||||||
lib.mapAttrs fixupDeps public-frameworks;
|
|
||||||
|
|
||||||
# Create derivations and add private frameworks.
|
|
||||||
bareFrameworks =
|
|
||||||
(lib.mapAttrs framework deps) // (lib.mapAttrs privateFramework private-frameworks);
|
|
||||||
in
|
|
||||||
bareFrameworks // fixup-frameworks.overrideFrameworks bareFrameworks
|
|
@ -1,163 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
# macOS things
|
|
||||||
frameworks,
|
|
||||||
libnetwork,
|
|
||||||
libs,
|
|
||||||
darwin-stubs,
|
|
||||||
objc4,
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Used to add dependencies which are not picked up by gen-frameworks.py.
|
|
||||||
# Some of these are simply private frameworks the generator does not see.
|
|
||||||
# Trial and error, building things and adding dependencies when they fail.
|
|
||||||
addToFrameworks =
|
|
||||||
let
|
|
||||||
inherit (libs) libDER;
|
|
||||||
libobjc = objc4;
|
|
||||||
in
|
|
||||||
with frameworks;
|
|
||||||
{
|
|
||||||
# Below this comment are entries migrated from before the generator was
|
|
||||||
# added. If, for a given framework, you are able to reverify the extra
|
|
||||||
# deps are really necessary on top of the generator deps, move it above
|
|
||||||
# this comment (and maybe document your findings).
|
|
||||||
AVFoundation = {
|
|
||||||
inherit ApplicationServices AVFCapture AVFCore;
|
|
||||||
};
|
|
||||||
Accelerate = {
|
|
||||||
inherit CoreWLAN IOBluetooth;
|
|
||||||
};
|
|
||||||
AddressBook = {
|
|
||||||
inherit AddressBookCore ContactsPersistence libobjc;
|
|
||||||
};
|
|
||||||
AppKit = {
|
|
||||||
inherit AudioToolbox AudioUnit UIFoundation;
|
|
||||||
};
|
|
||||||
AudioToolbox = {
|
|
||||||
inherit AudioToolboxCore;
|
|
||||||
};
|
|
||||||
AudioUnit = {
|
|
||||||
inherit Carbon CoreAudio;
|
|
||||||
};
|
|
||||||
Carbon = {
|
|
||||||
inherit IOKit QuartzCore libobjc;
|
|
||||||
};
|
|
||||||
CoreAudio = {
|
|
||||||
inherit IOKit;
|
|
||||||
};
|
|
||||||
CoreData = {
|
|
||||||
inherit CloudKit;
|
|
||||||
};
|
|
||||||
CoreFoundation = {
|
|
||||||
inherit libobjc;
|
|
||||||
};
|
|
||||||
CoreGraphics = {
|
|
||||||
inherit SystemConfiguration;
|
|
||||||
};
|
|
||||||
CoreMIDIServer = {
|
|
||||||
inherit CoreMIDI;
|
|
||||||
};
|
|
||||||
CoreMedia = {
|
|
||||||
inherit ApplicationServices AudioToolbox AudioUnit;
|
|
||||||
};
|
|
||||||
CoreServices = {
|
|
||||||
inherit CoreAudio NetFS ServiceManagement;
|
|
||||||
};
|
|
||||||
CoreWLAN = {
|
|
||||||
inherit SecurityFoundation;
|
|
||||||
};
|
|
||||||
DiscRecording = {
|
|
||||||
inherit IOKit libobjc;
|
|
||||||
};
|
|
||||||
Foundation = {
|
|
||||||
inherit SystemConfiguration libobjc;
|
|
||||||
};
|
|
||||||
GameKit = {
|
|
||||||
inherit
|
|
||||||
GameCenterFoundation
|
|
||||||
GameCenterUI
|
|
||||||
GameCenterUICore
|
|
||||||
ReplayKit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
ICADevices = {
|
|
||||||
inherit Carbon libobjc;
|
|
||||||
};
|
|
||||||
IOBluetooth = {
|
|
||||||
inherit CoreBluetooth;
|
|
||||||
};
|
|
||||||
JavaScriptCore = {
|
|
||||||
inherit libobjc;
|
|
||||||
};
|
|
||||||
Kernel = {
|
|
||||||
inherit IOKit;
|
|
||||||
};
|
|
||||||
LinkPresentation = {
|
|
||||||
inherit URLFormatting;
|
|
||||||
};
|
|
||||||
MediaToolbox = {
|
|
||||||
inherit AudioUnit;
|
|
||||||
};
|
|
||||||
MetricKit = {
|
|
||||||
inherit SignpostMetrics;
|
|
||||||
};
|
|
||||||
Network = {
|
|
||||||
inherit libnetwork;
|
|
||||||
};
|
|
||||||
PCSC = {
|
|
||||||
inherit CoreData;
|
|
||||||
};
|
|
||||||
PassKit = {
|
|
||||||
inherit PassKitCore;
|
|
||||||
};
|
|
||||||
QTKit = {
|
|
||||||
inherit
|
|
||||||
CoreMedia
|
|
||||||
CoreMediaIO
|
|
||||||
MediaToolbox
|
|
||||||
VideoToolbox
|
|
||||||
;
|
|
||||||
};
|
|
||||||
Quartz = {
|
|
||||||
inherit QTKit;
|
|
||||||
};
|
|
||||||
QuartzCore = {
|
|
||||||
inherit
|
|
||||||
ApplicationServices
|
|
||||||
CoreImage
|
|
||||||
CoreVideo
|
|
||||||
Metal
|
|
||||||
OpenCL
|
|
||||||
libobjc
|
|
||||||
;
|
|
||||||
};
|
|
||||||
Security = {
|
|
||||||
inherit IOKit libDER;
|
|
||||||
};
|
|
||||||
TWAIN = {
|
|
||||||
inherit Carbon;
|
|
||||||
};
|
|
||||||
VideoDecodeAcceleration = {
|
|
||||||
inherit CoreVideo;
|
|
||||||
};
|
|
||||||
WebKit = {
|
|
||||||
inherit ApplicationServices Carbon libobjc;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Used to remove dependencies which are picked up by gen-frameworks.py -- used mainly to break
|
|
||||||
# cyclic dependencies.
|
|
||||||
removeFromFrameworks = { };
|
|
||||||
|
|
||||||
# Overrides for framework derivations.
|
|
||||||
overrideFrameworks = super: {
|
|
||||||
# This framework doesn't exist in newer SDKs (somewhere around 10.13), but
|
|
||||||
# there are references to it in nixpkgs.
|
|
||||||
QuickTime = throw "QuickTime framework not available";
|
|
||||||
|
|
||||||
# Seems to be appropriate given https://developer.apple.com/forums/thread/666686
|
|
||||||
JavaVM = super.JavaNativeFoundation;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
{ objc4, frameworks }:
|
|
||||||
|
|
||||||
# generated by hand to avoid exposing all private frameworks
|
|
||||||
# frameworks here are only the necessary ones used by public frameworks.
|
|
||||||
{
|
|
||||||
AVFCapture = { };
|
|
||||||
AVFCore = { };
|
|
||||||
AddressBookCore = {
|
|
||||||
inherit (frameworks) ContactsPersistence;
|
|
||||||
};
|
|
||||||
AudioToolboxCore = { };
|
|
||||||
ContactsPersistence = { };
|
|
||||||
UIFoundation = { };
|
|
||||||
GameCenterFoundation = { };
|
|
||||||
GameCenterUI = { };
|
|
||||||
GameCenterUICore = { };
|
|
||||||
URLFormatting = { };
|
|
||||||
SignpostMetrics = { };
|
|
||||||
PassKitCore = { };
|
|
||||||
SkyLight = { };
|
|
||||||
|
|
||||||
# Also expose CoreSymbolication; used by `root` package.
|
|
||||||
CoreSymbolication = { };
|
|
||||||
|
|
||||||
# Also expose DebugSymbols; used by `llvmPackages_8.lldb` package.
|
|
||||||
DebugSymbols = { };
|
|
||||||
|
|
||||||
# Also expose DisplayServices; used by `sketchybar` package.
|
|
||||||
DisplayServices = {
|
|
||||||
libobjc = objc4;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Also expose MultitouchSupport; used by `chuck` package.
|
|
||||||
MultitouchSupport = { };
|
|
||||||
}
|
|
@ -1,209 +0,0 @@
|
|||||||
# This file is generated by gen-frameworks.nix.
|
|
||||||
# Do not edit, put overrides in apple_sdk.nix instead.
|
|
||||||
{ libs, frameworks }: with libs; with frameworks;
|
|
||||||
{
|
|
||||||
AGL = { inherit Carbon OpenGL; };
|
|
||||||
AVFAudio = { inherit AudioToolbox CoreAudioTypes CoreMIDI CoreMedia Foundation; };
|
|
||||||
AVFoundation = { inherit AVFAudio CoreAudio CoreFoundation CoreGraphics CoreImage CoreMIDI CoreMedia CoreVideo Foundation IOKit ImageIO MediaToolbox Metal QuartzCore UniformTypeIdentifiers simd; };
|
|
||||||
AVKit = { inherit AVFoundation AppKit Cocoa Foundation; };
|
|
||||||
Accelerate = { inherit CoreFoundation CoreGraphics CoreVideo Foundation IOKit Metal; };
|
|
||||||
Accessibility = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
Accounts = { inherit Foundation; };
|
|
||||||
AdServices = { inherit Foundation; };
|
|
||||||
AdSupport = { inherit Foundation; };
|
|
||||||
AddressBook = { inherit Carbon Cocoa CoreFoundation Foundation; };
|
|
||||||
AppKit = { inherit Accessibility ApplicationServices CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal OpenGL QuartzCore; };
|
|
||||||
AppTrackingTransparency = { inherit Foundation; };
|
|
||||||
AppleScriptKit = {};
|
|
||||||
AppleScriptObjC = { inherit Foundation; };
|
|
||||||
ApplicationServices = { inherit ColorSync CoreFoundation CoreGraphics CoreServices CoreText ImageIO; };
|
|
||||||
AudioToolbox = { inherit Carbon CoreAudio CoreAudioTypes CoreFoundation CoreMIDI Foundation; };
|
|
||||||
AudioUnit = { inherit AudioToolbox; };
|
|
||||||
AudioVideoBridging = { inherit Foundation IOKit; };
|
|
||||||
AuthenticationServices = { inherit AppKit Foundation; };
|
|
||||||
AutomaticAssessmentConfiguration = { inherit Foundation; };
|
|
||||||
Automator = { inherit AppKit Cocoa Foundation OSAKit; };
|
|
||||||
BackgroundTasks = { inherit Foundation; };
|
|
||||||
BusinessChat = { inherit Cocoa Foundation; };
|
|
||||||
CFNetwork = { inherit CoreFoundation; };
|
|
||||||
CHIP = { inherit Foundation Security; };
|
|
||||||
CalendarStore = {};
|
|
||||||
CallKit = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
Carbon = { inherit ApplicationServices CoreServices Foundation Security; };
|
|
||||||
ClassKit = { inherit CoreGraphics Foundation; };
|
|
||||||
CloudKit = { inherit CoreFoundation CoreGraphics CoreLocation Foundation IOKit; };
|
|
||||||
Cocoa = { inherit AppKit CoreData Foundation; };
|
|
||||||
Collaboration = { inherit AppKit CoreServices Foundation; };
|
|
||||||
ColorSync = { inherit CoreFoundation; };
|
|
||||||
Combine = {};
|
|
||||||
Contacts = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
ContactsUI = { inherit AppKit; };
|
|
||||||
CoreAudio = { inherit CoreAudioTypes CoreFoundation; };
|
|
||||||
CoreAudioKit = { inherit AppKit AudioUnit Cocoa Foundation; };
|
|
||||||
CoreAudioTypes = { inherit CoreFoundation; };
|
|
||||||
CoreBluetooth = { inherit Foundation; };
|
|
||||||
CoreData = { inherit Combine CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
CoreDisplay = {};
|
|
||||||
CoreFoundation = {};
|
|
||||||
CoreGraphics = { inherit CoreFoundation IOKit; };
|
|
||||||
CoreHaptics = { inherit Foundation; };
|
|
||||||
CoreImage = { inherit ApplicationServices CoreFoundation CoreGraphics CoreVideo Foundation IOKit IOSurface ImageIO Metal OpenGL; };
|
|
||||||
CoreLocation = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
CoreMIDI = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
CoreMIDIServer = {};
|
|
||||||
CoreML = { inherit CoreFoundation CoreGraphics CoreVideo Foundation IOKit ImageIO Metal; };
|
|
||||||
CoreMedia = { inherit CoreAudio CoreAudioTypes CoreFoundation CoreGraphics CoreVideo Foundation IOKit Metal; };
|
|
||||||
CoreMediaIO = { inherit CoreAudio CoreFoundation CoreGraphics CoreMedia Foundation IOKit Metal; };
|
|
||||||
CoreMotion = { inherit Foundation; };
|
|
||||||
CoreServices = { inherit CFNetwork CoreFoundation DiskArbitration Security; };
|
|
||||||
CoreSpotlight = { inherit Foundation UniformTypeIdentifiers; };
|
|
||||||
CoreTelephony = {};
|
|
||||||
CoreText = { inherit CoreFoundation CoreGraphics; };
|
|
||||||
CoreVideo = { inherit ApplicationServices CoreFoundation CoreGraphics IOSurface Metal OpenGL; };
|
|
||||||
CoreWLAN = { inherit Foundation IOKit; };
|
|
||||||
CreateML = { inherit AVFoundation Combine CoreAudio CoreFoundation CoreGraphics CoreImage CoreML CoreMedia CoreServices CoreVideo Foundation IOKit ImageIO Metal MetalPerformanceShaders NaturalLanguage TabularData VideoToolbox Vision simd; };
|
|
||||||
CryptoKit = { inherit CoreFoundation CoreGraphics Foundation IOKit LocalAuthentication Security; };
|
|
||||||
CryptoTokenKit = { inherit CoreFoundation CoreGraphics Foundation IOKit Security; };
|
|
||||||
DVDPlayback = { inherit ApplicationServices CoreFoundation Security; };
|
|
||||||
DataDetection = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
DeveloperToolsSupport = {};
|
|
||||||
DeviceActivity = { inherit Foundation ManagedSettings; };
|
|
||||||
DeviceCheck = { inherit Foundation; };
|
|
||||||
DirectoryService = { inherit CoreFoundation; };
|
|
||||||
DiscRecording = { inherit CoreServices Foundation; };
|
|
||||||
DiscRecordingUI = { inherit Carbon Cocoa DiscRecording; };
|
|
||||||
DiskArbitration = { inherit CoreFoundation IOKit; };
|
|
||||||
DriverKit = {};
|
|
||||||
EventKit = { inherit CoreGraphics CoreLocation Foundation; };
|
|
||||||
ExceptionHandling = { inherit Foundation; };
|
|
||||||
ExecutionPolicy = { inherit Foundation; };
|
|
||||||
ExposureNotification = { inherit Foundation; };
|
|
||||||
ExternalAccessory = { inherit Foundation; };
|
|
||||||
FWAUserLib = { inherit IOKit; };
|
|
||||||
FileProvider = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
FileProviderUI = { inherit AppKit FileProvider Foundation; };
|
|
||||||
FinderSync = { inherit AppKit Foundation; };
|
|
||||||
ForceFeedback = { inherit CoreFoundation IOKit; };
|
|
||||||
Foundation = { inherit Combine CoreFoundation CoreGraphics CoreServices IOKit Security; };
|
|
||||||
GLKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal ModelIO OpenGL QuartzCore simd; };
|
|
||||||
GLUT = { inherit OpenGL; };
|
|
||||||
GSS = { inherit CoreFoundation; };
|
|
||||||
GameController = { inherit AppKit Foundation IOKit; };
|
|
||||||
GameKit = { inherit AppKit Cocoa Contacts CoreGraphics Foundation GameController GameplayKit Metal MetalKit ModelIO SceneKit SpriteKit simd; };
|
|
||||||
GameplayKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation GLKit IOKit Metal ModelIO QuartzCore SceneKit SpriteKit simd; };
|
|
||||||
GroupActivities = { inherit AVFoundation Combine CoreGraphics CryptoKit Foundation Network UniformTypeIdentifiers; };
|
|
||||||
Hypervisor = {};
|
|
||||||
ICADevices = { inherit CoreFoundation CoreGraphics CoreServices IOBluetooth; };
|
|
||||||
IMServicePlugIn = { inherit Foundation; };
|
|
||||||
IOBluetooth = { inherit CoreAudio CoreFoundation CoreServices Foundation IOKit; };
|
|
||||||
IOBluetoothUI = { inherit Cocoa IOBluetooth; };
|
|
||||||
IOKit = { inherit CoreFoundation; };
|
|
||||||
IOSurface = { inherit CoreFoundation Foundation IOKit; };
|
|
||||||
IOUSBHost = { inherit Foundation IOKit; };
|
|
||||||
IdentityLookup = { inherit Foundation; };
|
|
||||||
ImageCaptureCore = { inherit Cocoa CoreGraphics Foundation; };
|
|
||||||
ImageIO = { inherit CoreFoundation CoreGraphics; };
|
|
||||||
InputMethodKit = { inherit Carbon Cocoa Foundation; };
|
|
||||||
InstallerPlugins = {};
|
|
||||||
InstantMessage = {};
|
|
||||||
Intents = { inherit CoreFoundation CoreGraphics CoreLocation Foundation IOKit UserNotifications; };
|
|
||||||
IntentsUI = { inherit AppKit; };
|
|
||||||
JavaNativeFoundation = { inherit Foundation; };
|
|
||||||
JavaRuntimeSupport = { inherit ApplicationServices Cocoa Foundation QuartzCore; };
|
|
||||||
JavaScriptCore = { inherit CoreFoundation CoreGraphics Foundation; };
|
|
||||||
Kerberos = {};
|
|
||||||
Kernel = {};
|
|
||||||
KernelManagement = { inherit Foundation; };
|
|
||||||
LDAP = {};
|
|
||||||
LatentSemanticMapping = { inherit Carbon CoreFoundation; };
|
|
||||||
LinkPresentation = { inherit AppKit Foundation; };
|
|
||||||
LocalAuthentication = { inherit Foundation; };
|
|
||||||
LocalAuthenticationEmbeddedUI = { inherit AppKit Foundation LocalAuthentication; };
|
|
||||||
MLCompute = { inherit CoreFoundation CoreGraphics Foundation IOKit Metal; };
|
|
||||||
MailKit = { inherit AppKit Foundation; };
|
|
||||||
ManagedSettings = { inherit Combine Foundation; };
|
|
||||||
MapKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal QuartzCore; };
|
|
||||||
MediaAccessibility = { inherit CoreFoundation CoreGraphics CoreText; };
|
|
||||||
MediaLibrary = { inherit Foundation; };
|
|
||||||
MediaPlayer = { inherit AVFoundation CoreGraphics Foundation; };
|
|
||||||
MediaToolbox = { inherit AudioToolbox CoreFoundation CoreMedia; };
|
|
||||||
Message = {};
|
|
||||||
Metal = { inherit CoreFoundation CoreGraphics Foundation IOKit IOSurface; };
|
|
||||||
MetalKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal ModelIO QuartzCore simd; };
|
|
||||||
MetalPerformanceShaders = { inherit CoreGraphics Foundation Metal simd; };
|
|
||||||
MetalPerformanceShadersGraph = { inherit Foundation MetalPerformanceShaders; };
|
|
||||||
MetricKit = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
ModelIO = { inherit CoreFoundation CoreGraphics Foundation IOKit simd; };
|
|
||||||
MultipeerConnectivity = { inherit Cocoa Foundation; };
|
|
||||||
MusicKit = { inherit Combine CoreGraphics Foundation; };
|
|
||||||
NaturalLanguage = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
NearbyInteraction = { inherit CoreFoundation CoreGraphics Foundation IOKit simd; };
|
|
||||||
NetFS = { inherit CoreFoundation; };
|
|
||||||
Network = { inherit CoreFoundation Foundation Security; };
|
|
||||||
NetworkExtension = { inherit Foundation Network Security; };
|
|
||||||
NotificationCenter = { inherit AppKit Foundation; };
|
|
||||||
OSAKit = { inherit Carbon Cocoa; };
|
|
||||||
OSLog = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
OpenAL = {};
|
|
||||||
OpenCL = { inherit OpenGL; };
|
|
||||||
OpenDirectory = { inherit CoreFoundation Foundation; };
|
|
||||||
OpenGL = {};
|
|
||||||
PCSC = {};
|
|
||||||
PDFKit = { inherit AppKit Cocoa; };
|
|
||||||
PHASE = { inherit AVFAudio AVFoundation CoreAudioTypes Foundation ModelIO simd; };
|
|
||||||
ParavirtualizedGraphics = { inherit AppKit CoreVideo Foundation IOSurface Metal; };
|
|
||||||
PassKit = { inherit AppKit Contacts CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal QuartzCore; };
|
|
||||||
PencilKit = { inherit AppKit Cocoa CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal QuartzCore; };
|
|
||||||
Photos = { inherit AVFoundation CoreAudio CoreFoundation CoreGraphics CoreImage CoreLocation CoreMIDI CoreMedia Foundation IOKit ImageIO Metal QuartzCore UniformTypeIdentifiers simd; };
|
|
||||||
PhotosUI = { inherit AppKit Foundation MapKit Photos; };
|
|
||||||
PreferencePanes = { inherit Cocoa; };
|
|
||||||
PushKit = { inherit Foundation; };
|
|
||||||
QTKit = {};
|
|
||||||
Quartz = { inherit AppKit ApplicationServices Cocoa Foundation ImageCaptureCore OpenGL PDFKit QuartzCore QuickLookUI; };
|
|
||||||
QuartzCore = { inherit CoreFoundation CoreGraphics CoreImage CoreVideo Foundation IOKit Metal OpenGL; };
|
|
||||||
QuickLook = { inherit ApplicationServices CoreFoundation; };
|
|
||||||
QuickLookThumbnailing = { inherit CoreGraphics Foundation UniformTypeIdentifiers; };
|
|
||||||
QuickLookUI = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal PDFKit QuartzCore QuickLook UniformTypeIdentifiers; };
|
|
||||||
RealityFoundation = { inherit AVFAudio AVFoundation AppKit AudioToolbox Combine CoreAudio CoreFoundation CoreGraphics CoreMIDI CoreMedia CoreMotion CoreText CoreVideo Foundation IOKit Metal QuartzCore simd; };
|
|
||||||
RealityKit = { inherit AppKit Combine CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal MultipeerConnectivity QuartzCore RealityFoundation simd; };
|
|
||||||
ReplayKit = { inherit AVFoundation AppKit Foundation; };
|
|
||||||
Ruby = {};
|
|
||||||
SafariServices = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal QuartzCore; };
|
|
||||||
SceneKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation GLKit IOKit Metal ModelIO QuartzCore simd; };
|
|
||||||
ScreenCaptureKit = { inherit AppKit CoreGraphics CoreMedia Foundation; };
|
|
||||||
ScreenSaver = { inherit AppKit Foundation; };
|
|
||||||
ScreenTime = { inherit AppKit Foundation; };
|
|
||||||
ScriptingBridge = { inherit ApplicationServices CoreServices Foundation; };
|
|
||||||
Security = { inherit CoreFoundation; };
|
|
||||||
SecurityFoundation = { inherit Foundation Security; };
|
|
||||||
SecurityInterface = { inherit AppKit Cocoa Security SecurityFoundation; };
|
|
||||||
SensorKit = { inherit CoreFoundation CoreLocation Foundation; };
|
|
||||||
ServiceManagement = { inherit CoreFoundation Security; };
|
|
||||||
ShazamKit = { inherit AVFAudio CoreAudio CoreFoundation CoreGraphics CoreMIDI CoreMedia Foundation IOKit Metal MusicKit; };
|
|
||||||
Social = { inherit AppKit Foundation; };
|
|
||||||
SoundAnalysis = { inherit AVFoundation CoreAudio CoreFoundation CoreGraphics CoreImage CoreMIDI CoreML CoreMedia Foundation IOKit Metal QuartzCore UniformTypeIdentifiers simd; };
|
|
||||||
Speech = { inherit AVFoundation CoreAudio CoreFoundation CoreGraphics CoreImage CoreMIDI CoreMedia Foundation IOKit Metal QuartzCore UniformTypeIdentifiers simd; };
|
|
||||||
SpriteKit = { inherit AppKit Cocoa CoreData CoreFoundation CoreGraphics CoreImage Foundation GLKit IOKit Metal ModelIO QuartzCore simd; };
|
|
||||||
StoreKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage CryptoKit Foundation IOKit Metal QuartzCore Security; };
|
|
||||||
SwiftUI = { inherit Accessibility AppKit Combine CoreData CoreFoundation CoreGraphics CoreImage DeveloperToolsSupport Foundation IOKit Metal QuartzCore UniformTypeIdentifiers; };
|
|
||||||
SyncServices = {};
|
|
||||||
System = {};
|
|
||||||
SystemConfiguration = { inherit CoreFoundation Security; };
|
|
||||||
SystemExtensions = { inherit Foundation; };
|
|
||||||
TWAIN = {};
|
|
||||||
TabularData = { inherit Combine Foundation; };
|
|
||||||
Tcl = {};
|
|
||||||
Tk = {};
|
|
||||||
UniformTypeIdentifiers = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
|
|
||||||
UserNotifications = { inherit Foundation; };
|
|
||||||
UserNotificationsUI = { inherit AppKit; };
|
|
||||||
VideoDecodeAcceleration = {};
|
|
||||||
VideoSubscriberAccount = { inherit Foundation; };
|
|
||||||
VideoToolbox = { inherit CoreFoundation CoreGraphics CoreMedia CoreVideo; };
|
|
||||||
Virtualization = { inherit AppKit Cocoa CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit Metal QuartzCore; };
|
|
||||||
Vision = { inherit CoreAudio CoreFoundation CoreGraphics CoreML CoreMedia CoreVideo Foundation IOKit ImageIO Metal simd; };
|
|
||||||
WebKit = { inherit AppKit CoreData CoreFoundation CoreGraphics CoreImage Foundation IOKit JavaScriptCore Metal QuartzCore; };
|
|
||||||
WidgetKit = { inherit Combine CoreFoundation CoreGraphics Foundation IOKit Intents SwiftUI UniformTypeIdentifiers; };
|
|
||||||
iTunesLibrary = { inherit Foundation; };
|
|
||||||
vmnet = {};
|
|
||||||
}
|
|
@ -1,96 +0,0 @@
|
|||||||
{
|
|
||||||
stdenvNoCC,
|
|
||||||
buildPackages,
|
|
||||||
darwin-stubs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "libSystem";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ buildPackages.darwin.rewrite-tbd ];
|
|
||||||
|
|
||||||
csu = [
|
|
||||||
"bundle1.o"
|
|
||||||
"crt0.o"
|
|
||||||
"crt1.10.5.o"
|
|
||||||
"crt1.10.6.o"
|
|
||||||
"crt1.o"
|
|
||||||
"dylib1.10.5.o"
|
|
||||||
"dylib1.o"
|
|
||||||
"gcrt1.o"
|
|
||||||
"lazydylib1.o"
|
|
||||||
];
|
|
||||||
|
|
||||||
buildCommand =
|
|
||||||
''
|
|
||||||
mkdir -p $out/{include,lib/swift}
|
|
||||||
''
|
|
||||||
# Copy each directory in ${darwin-stubs}/usr/include into $out/include
|
|
||||||
+ ''
|
|
||||||
for dir in $(ls -d ${darwin-stubs}/usr/include/*/); do
|
|
||||||
cp -dr $dir $out/include
|
|
||||||
done
|
|
||||||
''
|
|
||||||
# Copy each header and modulemap file in ${darwin-stubs}/usr/include into $out/include
|
|
||||||
+ ''
|
|
||||||
cp -d \
|
|
||||||
${darwin-stubs}/usr/include/*.h \
|
|
||||||
${darwin-stubs}/usr/include/*.modulemap \
|
|
||||||
$out/include
|
|
||||||
''
|
|
||||||
# Remove curses.h, ncurses.h, ncurses_dll.h, and unctrl.h which conflict with ncurses.
|
|
||||||
# Then, remove the module map for ncurses.
|
|
||||||
# NOTE: The sed expression expects the module map to use consistent indentation across
|
|
||||||
# releases. If this changes, the sed expression will need to be updated.
|
|
||||||
#
|
|
||||||
# For example, right now we assume that there is one leading space before the
|
|
||||||
# "explicit" keyword and that the closing brace is on its own line (also with one
|
|
||||||
# leading space).
|
|
||||||
+ ''
|
|
||||||
rm $out/include/{curses,ncurses,ncurses_dll,unctrl}.h
|
|
||||||
sed -i -e '/^ explicit module ncurses {/,/^ }$/d' $out/include/module.modulemap
|
|
||||||
''
|
|
||||||
+ ''
|
|
||||||
rm $out/include/tk*.h $out/include/tcl*.h
|
|
||||||
|
|
||||||
cp -dr \
|
|
||||||
${darwin-stubs}/usr/lib/libSystem.* \
|
|
||||||
${darwin-stubs}/usr/lib/system \
|
|
||||||
$out/lib
|
|
||||||
|
|
||||||
# Extra libraries
|
|
||||||
for name in c dbm dl info m mx poll proc pthread rpcsvc util gcc_s.1 resolv; do
|
|
||||||
cp -d \
|
|
||||||
${darwin-stubs}/usr/lib/lib$name.tbd \
|
|
||||||
${darwin-stubs}/usr/lib/lib$name.*.tbd \
|
|
||||||
$out/lib
|
|
||||||
done
|
|
||||||
|
|
||||||
for name in os Dispatch; do
|
|
||||||
cp -dr \
|
|
||||||
${darwin-stubs}/usr/lib/swift/$name.swiftmodule \
|
|
||||||
${darwin-stubs}/usr/lib/swift/libswift$name.tbd \
|
|
||||||
$out/lib/swift
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in $csu; do
|
|
||||||
from=${darwin-stubs}/usr/lib/$f
|
|
||||||
if [ -e "$from" ]; then
|
|
||||||
cp -d $from $out/lib
|
|
||||||
else
|
|
||||||
echo "Csu file '$from' doesn't exist: skipping"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
chmod u+w -R $out/lib
|
|
||||||
find $out -name '*.tbd' -type f | while read tbd; do
|
|
||||||
rewrite-tbd \
|
|
||||||
-c /usr/lib/libsystem.dylib:$out/lib/libsystem.dylib \
|
|
||||||
-p /usr/lib/system/:$out/lib/system/ \
|
|
||||||
-p /usr/lib/swift/:$out/lib/swift/ \
|
|
||||||
-r ${builtins.storeDir} \
|
|
||||||
"$tbd"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
{ stdenvNoCC, darwin-stubs }:
|
|
||||||
|
|
||||||
let
|
|
||||||
self = stdenvNoCC.mkDerivation {
|
|
||||||
pname = "libnetwork";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/lib
|
|
||||||
cp ${darwin-stubs}/usr/lib/libnetwork* $out/lib
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.tbdRewrites.const."/usr/lib/libnetwork.dylib" = "${self}/lib/libnetwork.dylib";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
self
|
|
@ -1,22 +0,0 @@
|
|||||||
{ stdenvNoCC, darwin-stubs }:
|
|
||||||
|
|
||||||
let
|
|
||||||
self = stdenvNoCC.mkDerivation {
|
|
||||||
pname = "libobjc";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/{include,lib/swift}
|
|
||||||
cp -r ${darwin-stubs}/usr/include/objc $out/include
|
|
||||||
cp ${darwin-stubs}/usr/lib/libobjc* $out/lib
|
|
||||||
cp -r ${darwin-stubs}/usr/lib/swift/ObjectiveC.swiftmodule $out/lib/swift
|
|
||||||
cp ${darwin-stubs}/usr/lib/swift/libswiftObjectiveC.tbd $out/lib/swift
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.tbdRewrites = {
|
|
||||||
const."/usr/lib/libobjc.A.dylib" = "${self}/lib/libobjc.A.dylib";
|
|
||||||
const."/usr/lib/swift/libswiftObjectiveC.dylib" = "${self}/lib/swift/libswiftObjectiveC.dylib";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
self
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
stdenvNoCC,
|
|
||||||
buildPackages,
|
|
||||||
darwin-stubs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "libpm";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ buildPackages.darwin.checkReexportsHook ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib
|
|
||||||
cp ${darwin-stubs}/usr/lib/libpm* $out/lib
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.tbdRewrites = {
|
|
||||||
const."/usr/lib/libpmenergy.dylib" = "${placeholder "out"}/lib/libpmenergy.dylib";
|
|
||||||
const."/usr/lib/libpmsample.dylib" = "${placeholder "out"}/lib/libpmsample.dylib";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
frameworks,
|
|
||||||
darwin-stubs,
|
|
||||||
stdenvNoCC,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-Xplugin";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
propagatedBuildInputs = with frameworks; [
|
|
||||||
OpenGL
|
|
||||||
ApplicationServices
|
|
||||||
Carbon
|
|
||||||
IOKit
|
|
||||||
CoreGraphics
|
|
||||||
CoreServices
|
|
||||||
CoreText
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/include $out/lib
|
|
||||||
cp "${darwin-stubs}/include/Xplugin.h" $out/include/Xplugin.h
|
|
||||||
cp ${darwin-stubs}/usr/lib/libXplugin.1.tbd $out/lib
|
|
||||||
ln -s libXplugin.1.tbd $out/lib/libXplugin.tbd
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
{ callPackage }:
|
|
||||||
|
|
||||||
{
|
|
||||||
libDER = callPackage ./libDER.nix { };
|
|
||||||
sandbox = callPackage ./sandbox.nix { };
|
|
||||||
simd = callPackage ./simd.nix { };
|
|
||||||
utmp = callPackage ./utmp.nix { };
|
|
||||||
xpc = callPackage ./xpc.nix { };
|
|
||||||
Xplugin = callPackage ./Xplugin.nix { };
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{ darwin-stubs, stdenvNoCC }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-libDER";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/include
|
|
||||||
cp -r ${darwin-stubs}/usr/include/libDER $out/include
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
{ darwin-stubs, stdenvNoCC }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-sandbox";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/include $out/lib
|
|
||||||
cp "${darwin-stubs}/usr/include/sandbox.h" $out/include/sandbox.h
|
|
||||||
cp "${darwin-stubs}/usr/lib/libsandbox.1.tbd" $out/lib
|
|
||||||
ln -s libsandbox.1.tbd $out/lib/libsandbox.tbd
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{ darwin-stubs, stdenvNoCC }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-simd";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/include
|
|
||||||
cp -r ${darwin-stubs}/usr/include/simd $out/include
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{ darwin-stubs, stdenvNoCC }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-utmp";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/include
|
|
||||||
cp "${darwin-stubs}/include/utmp.h" $out/include
|
|
||||||
cp "${darwin-stubs}/include/utmpx.h" $out/include
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{ darwin-stubs, stdenvNoCC }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "apple-lib-xpc";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/include
|
|
||||||
cp -r "${darwin-stubs}/usr/include/xpc" $out/include/xpc
|
|
||||||
cp "${darwin-stubs}/usr/include/launch.h" $out/include/launch.h
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
stdenvNoCC,
|
|
||||||
buildPackages,
|
|
||||||
darwin-stubs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
|
||||||
pname = "libunwind";
|
|
||||||
inherit (darwin-stubs) version;
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ buildPackages.darwin.checkReexportsHook ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/include/mach-o
|
|
||||||
|
|
||||||
cp \
|
|
||||||
${darwin-stubs}/usr/include/libunwind.h \
|
|
||||||
${darwin-stubs}/usr/include/unwind.h \
|
|
||||||
$out/include
|
|
||||||
|
|
||||||
cp \
|
|
||||||
${darwin-stubs}/usr/include/mach-o/compact_unwind_encoding.h \
|
|
||||||
$out/include/mach-o
|
|
||||||
'';
|
|
||||||
}
|
|
@ -93,14 +93,14 @@ makeScopeWithSplicing' {
|
|||||||
};
|
};
|
||||||
|
|
||||||
stubs = {
|
stubs = {
|
||||||
inherit apple_sdk_11_0;
|
inherit apple_sdk_11_0 apple_sdk_12_3;
|
||||||
} // lib.genAttrs [
|
} // lib.genAttrs [
|
||||||
] (mkStub apple_sdk.version);
|
] (mkStub apple_sdk.version);
|
||||||
in
|
in
|
||||||
|
|
||||||
impure-cmds // appleSourcePackages // chooseLibs // stubs // {
|
impure-cmds // appleSourcePackages // chooseLibs // stubs // {
|
||||||
|
|
||||||
inherit apple_sdk apple_sdk_10_12 apple_sdk_12_3;
|
inherit apple_sdk apple_sdk_10_12;
|
||||||
|
|
||||||
stdenvNoCF = stdenv.override {
|
stdenvNoCF = stdenv.override {
|
||||||
extraBuildInputs = [];
|
extraBuildInputs = [];
|
||||||
|
Loading…
Reference in New Issue
Block a user