apple_sdk_11_0: generate frameworks.nix

This commit is contained in:
Stéphan Kochen 2022-10-08 14:19:22 +02:00
parent 7f90949f1e
commit b9e6d1dbc0
3 changed files with 262 additions and 201 deletions

View file

@ -160,40 +160,96 @@ in rec {
}; };
}; };
overrides = super: { frameworks = let
CoreFoundation = lib.overrideDerivation super.CoreFoundation (drv: { # Dependency map created by gen-frameworks.py.
setupHook = ./cf-setup-hook.sh; generatedDeps = import ./frameworks.nix {
});
# 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;
CoreVideo = lib.overrideDerivation super.CoreVideo (drv: {
installPhase = drv.installPhase + ''
# When used as a module, complains about a missing import for
# Darwin.C.stdint. Apparently fixed in later SDKs.
awk -i inplace '/CFBase.h/ { print "#include <stdint.h>" } { print }' \
$out/Library/Frameworks/CoreVideo.framework/Headers/CVBase.h
'';
});
};
bareFrameworks = (
lib.mapAttrs framework (import ./frameworks.nix {
inherit frameworks libs; inherit frameworks libs;
};
# Additional dependencies that are not picked up by gen-frameworks.py.
# Some of these are simply private frameworks the generator does not see.
extraDeps = with libs; with frameworks; let
inherit (pkgs.darwin.apple_sdk_11_0) libnetwork; inherit (pkgs.darwin.apple_sdk_11_0) libnetwork;
libobjc = pkgs.darwin.apple_sdk_11_0.objc4; libobjc = pkgs.darwin.apple_sdk_11_0.objc4;
}) in {
) // ( # Below this comment are entries migrated from before the generator was
lib.mapAttrs privateFramework (import ./private-frameworks.nix { # added. If, for a given framework, you are able to reverify the extra
inherit frameworks; # deps are really necessary on top of the generator deps, move it above
libobjc = pkgs.darwin.apple_sdk_11_0.objc4; # 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; };
CoreFoundation = { inherit libobjc; };
CoreGraphics = { inherit Accelerate IOSurface SystemConfiguration; };
CoreMIDIServer = { inherit CoreMIDI; };
CoreMedia = { inherit ApplicationServices AudioToolbox AudioUnit; };
CoreServices = { inherit CoreAudio CoreData NetFS OpenDirectory 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; };
};
frameworks = bareFrameworks // overrides bareFrameworks; # Overrides for framework derivations.
overrides = super: {
CoreFoundation = lib.overrideDerivation super.CoreFoundation (drv: {
setupHook = ./cf-setup-hook.sh;
});
# 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;
CoreVideo = lib.overrideDerivation super.CoreVideo (drv: {
installPhase = drv.installPhase + ''
# When used as a module, complains about a missing import for
# Darwin.C.stdint. Apparently fixed in later SDKs.
awk -i inplace '/CFBase.h/ { print "#include <stdint.h>" } { print }' \
$out/Library/Frameworks/CoreVideo.framework/Headers/CVBase.h
'';
});
};
# Merge extraDeps into generatedDeps.
deps = generatedDeps // (
lib.mapAttrs
(name: deps: generatedDeps.${name} // deps)
extraDeps
);
# Create derivations, and add private frameworks.
bareFrameworks = (lib.mapAttrs framework deps) // (
lib.mapAttrs privateFramework (import ./private-frameworks.nix {
inherit frameworks;
libobjc = pkgs.darwin.apple_sdk_11_0.objc4;
})
);
in
# Apply derivation overrides.
bareFrameworks // overrides bareFrameworks;
} }

View file

@ -1,193 +1,196 @@
{ frameworks, libs, libobjc, libnetwork }: with frameworks; with libs; # 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; }; AGL = { inherit Carbon OpenGL; };
AVFoundation = { inherit ApplicationServices AVFCapture AVFCore CoreGraphics simd UniformTypeIdentifiers; }; AVFoundation = { inherit AudioToolbox CoreAudio CoreAudioTypes CoreFoundation CoreGraphics CoreImage CoreMIDI CoreMedia CoreVideo Foundation IOKit ImageIO MediaToolbox Metal QuartzCore UniformTypeIdentifiers simd; };
AVKit = {}; AVKit = { inherit AVFoundation AppKit Cocoa Foundation; };
Accelerate = { inherit CoreWLAN IOBluetooth; }; Accelerate = { inherit CoreFoundation CoreGraphics CoreVideo Foundation IOKit Metal; };
Accessibility = {}; Accessibility = { inherit CoreGraphics Foundation; };
Accounts = {}; Accounts = { inherit Foundation; };
AdSupport = {}; AdServices = { inherit Foundation; };
AddressBook = { inherit AddressBookCore Carbon ContactsPersistence libobjc; }; AdSupport = { inherit Foundation; };
AppKit = { inherit ApplicationServices AudioToolbox AudioUnit Foundation QuartzCore UIFoundation; }; AddressBook = { inherit Carbon Cocoa CoreFoundation Foundation; };
AppTrackingTransparency = {}; AppKit = { inherit ApplicationServices CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal OpenGL QuartzCore; };
AppTrackingTransparency = { inherit Foundation; };
AppleScriptKit = {}; AppleScriptKit = {};
AppleScriptObjC = {}; AppleScriptObjC = { inherit Foundation; };
ApplicationServices = { inherit ColorSync CoreGraphics CoreServices CoreText ImageIO; }; ApplicationServices = { inherit ColorSync CoreFoundation CoreGraphics CoreServices CoreText ImageIO; };
AudioToolbox = { inherit AudioToolboxCore CoreAudio CoreMIDI; }; AudioToolbox = { inherit Carbon CoreAudio CoreAudioTypes CoreFoundation CoreMIDI Foundation; };
AudioUnit = { inherit AudioToolbox Carbon CoreAudio; }; AudioUnit = { inherit AudioToolbox; };
AudioVideoBridging = { inherit Foundation; }; AudioVideoBridging = { inherit Foundation IOKit; };
AuthenticationServices = {}; AuthenticationServices = { inherit AppKit Foundation; };
AutomaticAssessmentConfiguration = {}; AutomaticAssessmentConfiguration = { inherit Foundation; };
Automator = {}; Automator = { inherit AppKit Cocoa Foundation OSAKit; };
BackgroundTasks = {}; BackgroundTasks = { inherit Foundation; };
BusinessChat = {}; BusinessChat = { inherit Cocoa Foundation; };
CFNetwork = {}; CFNetwork = { inherit CoreFoundation; };
CalendarStore = {}; CalendarStore = {};
CallKit = {}; CallKit = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
Carbon = { inherit ApplicationServices CoreServices Foundation IOKit QuartzCore Security libobjc; }; Carbon = { inherit ApplicationServices CoreServices Foundation Security; };
ClassKit = {}; ClassKit = { inherit CoreGraphics Foundation; };
CloudKit = { inherit CoreLocation; }; CloudKit = { inherit CoreFoundation CoreGraphics CoreLocation Foundation IOKit; };
Cocoa = { inherit AppKit CoreData; }; Cocoa = { inherit AppKit CoreData Foundation; };
Collaboration = {}; Collaboration = { inherit AppKit CoreServices Foundation; };
ColorSync = {}; ColorSync = { inherit CoreFoundation; };
Combine = {}; Combine = {};
Contacts = {}; Contacts = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
ContactsUI = {}; ContactsUI = { inherit AppKit; };
CoreAudio = { inherit IOKit CoreAudioTypes; }; CoreAudio = { inherit CoreAudioTypes CoreFoundation; };
CoreAudioKit = { inherit AudioUnit; }; CoreAudioKit = { inherit AppKit AudioUnit Cocoa Foundation; };
CoreAudioTypes = {}; CoreAudioTypes = { inherit CoreFoundation; };
CoreBluetooth = {}; CoreBluetooth = { inherit Foundation; };
CoreData = { inherit CloudKit; }; CoreData = { inherit CloudKit Combine CoreFoundation CoreGraphics CoreLocation Foundation IOKit; };
CoreDisplay = {}; CoreDisplay = {};
CoreFoundation = { inherit libobjc; }; CoreFoundation = {};
CoreGraphics = { inherit Accelerate IOKit IOSurface SystemConfiguration; }; CoreGraphics = { inherit CoreFoundation IOKit; };
CoreHaptics = {}; CoreHaptics = { inherit Foundation; };
CoreImage = {}; CoreImage = { inherit ApplicationServices CoreFoundation CoreGraphics CoreVideo Foundation IOKit IOSurface ImageIO Metal OpenGL; };
CoreLocation = {}; CoreLocation = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
CoreMIDI = {}; CoreMIDI = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
CoreMIDIServer = { inherit CoreMIDI; }; CoreMIDIServer = {};
CoreML = {}; CoreML = { inherit CoreFoundation CoreGraphics CoreVideo Foundation IOKit ImageIO Metal; };
CoreMedia = { inherit ApplicationServices AudioToolbox AudioUnit CoreAudio CoreGraphics CoreVideo; }; CoreMedia = { inherit CoreAudio CoreAudioTypes CoreFoundation CoreGraphics CoreVideo Foundation IOKit Metal; };
CoreMediaIO = { inherit CoreMedia; }; CoreMediaIO = { inherit CoreFoundation CoreMedia; };
CoreMotion = {}; CoreMotion = { inherit Foundation; };
CoreServices = { inherit CFNetwork CoreAudio CoreData CoreFoundation DiskArbitration NetFS OpenDirectory Security ServiceManagement; }; CoreServices = { inherit CFNetwork CoreFoundation DiskArbitration Security; };
CoreSpotlight = {}; CoreSpotlight = { inherit Foundation UniformTypeIdentifiers; };
CoreTelephony = {}; CoreTelephony = {};
CoreText = { inherit CoreGraphics; }; CoreText = { inherit CoreFoundation CoreGraphics; };
CoreVideo = { inherit ApplicationServices CoreGraphics IOSurface OpenGL; }; CoreVideo = { inherit ApplicationServices CoreFoundation CoreGraphics IOSurface Metal OpenGL; };
CoreWLAN = { inherit SecurityFoundation; }; CoreWLAN = { inherit Foundation IOKit; };
CryptoKit = {}; CryptoKit = { inherit CoreFoundation CoreGraphics Foundation IOKit LocalAuthentication Security; };
CryptoTokenKit = {}; CryptoTokenKit = { inherit CoreFoundation CoreGraphics Foundation IOKit Security; };
DVDPlayback = {}; DVDPlayback = { inherit ApplicationServices CoreFoundation Security; };
DeveloperToolsSupport = {}; DeveloperToolsSupport = { inherit Foundation; };
DeviceCheck = {}; DeviceCheck = { inherit Foundation; };
DirectoryService = {}; DirectoryService = { inherit CoreFoundation; };
DiscRecording = { inherit CoreServices IOKit libobjc; }; DiscRecording = { inherit CoreServices Foundation; };
DiscRecordingUI = {}; DiscRecordingUI = { inherit Carbon Cocoa DiscRecording; };
DiskArbitration = { inherit IOKit; }; DiskArbitration = { inherit CoreFoundation IOKit; };
DriverKit = {}; DriverKit = {};
EventKit = {}; EventKit = { inherit CoreGraphics CoreLocation Foundation; };
ExceptionHandling = {}; ExceptionHandling = { inherit Foundation; };
ExecutionPolicy = {}; ExecutionPolicy = { inherit Foundation; };
ExternalAccessory = {}; ExternalAccessory = { inherit Foundation; };
FWAUserLib = {}; FWAUserLib = { inherit IOKit; };
FileProvider = {}; FileProvider = { inherit CoreGraphics Foundation; };
FileProviderUI = {}; FileProviderUI = { inherit AppKit FileProvider Foundation; };
FinderSync = {}; FinderSync = { inherit AppKit Foundation; };
ForceFeedback = { inherit IOKit; }; ForceFeedback = { inherit CoreFoundation IOKit; };
Foundation = { inherit ApplicationServices CoreFoundation Security SystemConfiguration Combine libobjc; }; Foundation = { inherit ApplicationServices Combine CoreFoundation CoreGraphics CoreServices IOKit Security; };
GLKit = {}; GLKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal ModelIO OpenGL QuartzCore simd; };
GLUT = { inherit OpenGL; }; GLUT = { inherit OpenGL; };
GSS = {}; GSS = { inherit CoreFoundation; };
GameController = {}; GameController = { inherit AppKit Foundation IOKit; };
GameKit = { inherit Cocoa Foundation GameCenterFoundation GameCenterUI GameCenterUICore GameController GameplayKit Metal MetalKit ModelIO ReplayKit SceneKit SpriteKit; }; GameKit = { inherit AppKit Cocoa Contacts CoreGraphics Foundation GameController GameplayKit Metal MetalKit ModelIO SceneKit SpriteKit simd; };
GameplayKit = {}; GameplayKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation GLKit IOKit Metal ModelIO QuartzCore SceneKit SpriteKit simd; };
HIDDriverKit = {}; HIDDriverKit = { inherit IOKit USBDriverKit; };
Hypervisor = {}; Hypervisor = {};
ICADevices = { inherit Carbon IOBluetooth libobjc; }; ICADevices = { inherit CoreFoundation CoreGraphics CoreServices IOBluetooth; };
IMServicePlugIn = {}; IMServicePlugIn = { inherit Foundation; };
IOBluetooth = { inherit CoreBluetooth IOKit; }; IOBluetooth = { inherit CoreAudio CoreFoundation CoreServices Foundation IOKit; };
IOBluetoothUI = { inherit IOBluetooth; }; IOBluetoothUI = { inherit Cocoa IOBluetooth; };
IOKit = {}; IOKit = { inherit CoreFoundation; };
IOSurface = { inherit IOKit; }; IOSurface = { inherit CoreFoundation Foundation IOKit; };
IOUSBHost = {}; IOUSBHost = { inherit Foundation IOKit; };
IdentityLookup = {}; IdentityLookup = { inherit Foundation; };
ImageCaptureCore = {}; ImageCaptureCore = { inherit Cocoa CoreGraphics Foundation; };
ImageIO = { inherit CoreGraphics; }; ImageIO = { inherit CoreFoundation CoreGraphics; };
InputMethodKit = { inherit Carbon; }; InputMethodKit = { inherit Carbon Cocoa Foundation; };
InstallerPlugins = {}; InstallerPlugins = {};
InstantMessage = {}; InstantMessage = {};
Intents = {}; Intents = { inherit CoreFoundation CoreGraphics CoreLocation Foundation IOKit; };
JavaNativeFoundation = {}; JavaNativeFoundation = { inherit Foundation; };
JavaRuntimeSupport = {}; JavaRuntimeSupport = { inherit ApplicationServices Cocoa Foundation QuartzCore; };
JavaScriptCore = { inherit libobjc; }; JavaScriptCore = { inherit CoreFoundation CoreGraphics Foundation; };
Kerberos = {}; Kerberos = {};
Kernel = { inherit IOKit; }; Kernel = {};
KernelManagement = {}; KernelManagement = { inherit Foundation; };
LDAP = {}; LDAP = {};
LatentSemanticMapping = { inherit Carbon; }; LatentSemanticMapping = { inherit Carbon CoreFoundation; };
LinkPresentation = { inherit URLFormatting; }; LinkPresentation = { inherit AppKit Foundation; };
LocalAuthentication = {}; LocalAuthentication = { inherit Foundation; };
MLCompute = {}; MLCompute = { inherit CoreFoundation CoreGraphics Foundation IOKit Metal; };
MapKit = {}; MapKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal QuartzCore; };
MediaAccessibility = { inherit CoreGraphics CoreText QuartzCore; }; MediaAccessibility = { inherit CoreFoundation CoreGraphics CoreText QuartzCore; };
MediaLibrary = {}; MediaLibrary = { inherit Foundation; };
MediaPlayer = {}; MediaPlayer = { inherit AVFoundation CoreGraphics Foundation; };
MediaToolbox = { inherit AudioToolbox AudioUnit CoreMedia; }; MediaToolbox = { inherit AudioToolbox CoreFoundation CoreMedia; };
Message = {}; Message = {};
Metal = {}; Metal = { inherit CoreFoundation CoreGraphics Foundation IOKit IOSurface; };
MetalKit = { inherit Metal ModelIO; }; MetalKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal ModelIO QuartzCore simd; };
MetalPerformanceShaders = {}; MetalPerformanceShaders = { inherit CoreGraphics Foundation Metal simd; };
MetalPerformanceShadersGraph = {}; MetalPerformanceShadersGraph = { inherit Foundation MetalPerformanceShaders; };
MetricKit = { inherit SignpostMetrics; }; MetricKit = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
ModelIO = {}; ModelIO = { inherit CoreFoundation CoreGraphics Foundation IOKit simd; };
MultipeerConnectivity = {}; MultipeerConnectivity = { inherit Cocoa Foundation; };
NaturalLanguage = {}; NaturalLanguage = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
NearbyInteraction = {}; NearbyInteraction = { inherit CoreFoundation CoreGraphics Foundation IOKit simd; };
NetFS = {}; NetFS = { inherit CoreFoundation; };
Network = { inherit libnetwork; }; Network = { inherit CoreFoundation Foundation Security; };
NetworkExtension = { inherit Network; }; NetworkExtension = { inherit Foundation Network Security; };
NetworkingDriverKit = {}; NetworkingDriverKit = {};
NotificationCenter = {}; NotificationCenter = { inherit AppKit Foundation; };
OSAKit = { inherit Carbon; }; OSAKit = { inherit Carbon Cocoa; };
OSLog = {}; OSLog = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
OpenAL = {}; OpenAL = {};
OpenCL = { inherit IOSurface OpenGL; }; OpenCL = { inherit OpenGL; };
OpenDirectory = {}; OpenDirectory = { inherit CoreFoundation Foundation; };
OpenGL = {}; OpenGL = {};
PCIDriverKit = {}; PCIDriverKit = { inherit IOKit; };
PCSC = { inherit CoreData; }; PCSC = {};
PDFKit = {}; PDFKit = { inherit AppKit Cocoa; };
ParavirtualizedGraphics = {}; ParavirtualizedGraphics = { inherit AppKit CoreVideo Foundation IOSurface Metal; };
PassKit = { inherit PassKitCore; }; PassKit = { inherit AppKit Contacts CoreGraphics Foundation; };
PencilKit = {}; PencilKit = { inherit AppKit CloudKit Cocoa CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal QuartzCore; };
Photos = {}; Photos = { inherit AVFoundation CoreAudio CoreFoundation CoreGraphics CoreImage CoreLocation CoreMIDI CoreMedia Foundation IOKit ImageIO Metal QuartzCore UniformTypeIdentifiers simd; };
PhotosUI = {}; PhotosUI = { inherit AppKit Foundation MapKit Photos; };
PreferencePanes = {}; PreferencePanes = { inherit Cocoa; };
PushKit = {}; PushKit = { inherit Foundation; };
Python = {}; Python = { inherit Carbon; };
QTKit = { inherit CoreMedia CoreMediaIO MediaToolbox VideoToolbox; }; QTKit = {};
Quartz = { inherit QTKit QuartzCore QuickLook PDFKit; }; Quartz = { inherit AppKit ApplicationServices Cocoa Foundation ImageCaptureCore OpenGL PDFKit QuartzCore QuickLook; };
QuartzCore = { inherit ApplicationServices CoreImage CoreVideo Metal OpenCL libobjc; }; QuartzCore = { inherit CoreFoundation CoreGraphics CoreImage CoreVideo Foundation IOKit Metal OpenGL; };
QuickLook = { inherit ApplicationServices; }; QuickLook = { inherit ApplicationServices CoreFoundation; };
QuickLookThumbnailing = {}; QuickLookThumbnailing = { inherit CoreGraphics Foundation UniformTypeIdentifiers; };
RealityKit = {}; RealityKit = { inherit AVFoundation AppKit AudioToolbox CloudKit Combine CoreAudio CoreData CoreFoundation CoreGraphics CoreImage CoreLocation CoreMIDI CoreText Foundation IOKit Metal MultipeerConnectivity QuartzCore simd; };
ReplayKit = {}; ReplayKit = { inherit AVFoundation AppKit Foundation; };
Ruby = {}; Ruby = {};
SafariServices = {}; SafariServices = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit Metal QuartzCore; };
SceneKit = {}; SceneKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation GLKit IOKit Metal ModelIO QuartzCore simd; };
ScreenSaver = {}; ScreenSaver = { inherit AppKit Foundation; };
ScreenTime = {}; ScreenTime = { inherit AppKit Foundation; };
ScriptingBridge = {}; ScriptingBridge = { inherit ApplicationServices CoreServices Foundation; };
Security = { inherit IOKit libDER; }; Security = { inherit CoreFoundation; };
SecurityFoundation = { inherit Security; }; SecurityFoundation = { inherit Foundation Security; };
SecurityInterface = { inherit Security SecurityFoundation; }; SecurityInterface = { inherit AppKit Cocoa Security SecurityFoundation; };
SensorKit = {}; SensorKit = { inherit CoreFoundation CoreLocation Foundation; };
ServiceManagement = { inherit Security; }; ServiceManagement = { inherit CoreFoundation Security; };
Social = {}; Social = { inherit AppKit Foundation; };
SoundAnalysis = {}; SoundAnalysis = { inherit AVFoundation CoreML CoreMedia Foundation; };
Speech = {}; Speech = { inherit AVFoundation CoreAudio CoreFoundation CoreGraphics CoreImage CoreMIDI CoreMedia Foundation IOKit Metal QuartzCore UniformTypeIdentifiers simd; };
SpriteKit = {}; SpriteKit = { inherit AppKit CloudKit Cocoa CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation GLKit IOKit Metal ModelIO QuartzCore simd; };
StoreKit = {}; StoreKit = { inherit AppKit CoreGraphics Foundation; };
SwiftUI = { inherit AppKit DeveloperToolsSupport UniformTypeIdentifiers; }; SwiftUI = { inherit AppKit CloudKit Combine CoreData CoreFoundation CoreGraphics CoreImage CoreLocation DeveloperToolsSupport Foundation IOKit Metal QuartzCore UniformTypeIdentifiers; };
SyncServices = {}; SyncServices = {};
System = {}; System = {};
SystemConfiguration = { inherit Security; }; SystemConfiguration = { inherit CoreFoundation Security; };
SystemExtensions = {}; SystemExtensions = { inherit Foundation; };
TWAIN = { inherit Carbon; }; TWAIN = {};
Tcl = {}; Tcl = {};
Tk = {}; Tk = {};
USBDriverKit = {}; USBDriverKit = { inherit IOKit; };
UniformTypeIdentifiers = {}; UniformTypeIdentifiers = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
UserNotifications = {}; UserNotifications = { inherit Foundation; };
UserNotificationsUI = {}; UserNotificationsUI = { inherit AppKit; };
VideoDecodeAcceleration = { inherit CoreVideo; }; VideoDecodeAcceleration = {};
VideoSubscriberAccount = {}; VideoSubscriberAccount = { inherit Foundation; };
VideoToolbox = { inherit CoreMedia CoreVideo; }; VideoToolbox = { inherit CoreFoundation CoreGraphics CoreMedia CoreVideo; };
Virtualization = {}; Virtualization = { inherit CoreFoundation CoreGraphics Foundation IOKit; };
Vision = {}; Vision = { inherit CoreAudio CoreFoundation CoreGraphics CoreML CoreMedia CoreVideo Foundation IOKit ImageIO Metal simd; };
WebKit = { inherit ApplicationServices Carbon JavaScriptCore OpenGL libobjc; }; WebKit = { inherit AppKit CloudKit CoreData CoreFoundation CoreGraphics CoreImage CoreLocation Foundation IOKit JavaScriptCore Metal OpenGL QuartzCore; };
WidgetKit = {}; WidgetKit = { inherit Combine CoreFoundation CoreGraphics CoreVideo Foundation IOKit Intents Metal SwiftUI; };
iTunesLibrary = {}; iTunesLibrary = { inherit Foundation; };
vmnet = {}; vmnet = {};
} }

View file

@ -2,7 +2,7 @@
#!nix-shell -i python -p python3 swiftPackages.swift-unwrapped #!nix-shell -i python -p python3 swiftPackages.swift-unwrapped
""" """
Generate a baseline frameworks.nix for a macOS SDK. Generate a frameworks.nix for a macOS SDK.
""" """
import json import json
@ -13,6 +13,8 @@ import sys
ALLOWED_LIBS = ["simd"] ALLOWED_LIBS = ["simd"]
HEADER = """\ HEADER = """\
# This file is generated by gen-frameworks.nix.
# Do not edit, put overrides in apple_sdk.nix instead.
{ libs, frameworks }: with libs; with frameworks; { libs, frameworks }: with libs; with frameworks;
{ {
""" """