
Darwin/macOS-Emulationsschicht für Linux

Darling ist eine Laufzeitumgebung für macOS-Anwendungen.
Bitte beachten Sie, dass die meisten GUI-Anwendungen derzeit nicht laufen.
Pakete für einige Distributionen stehen zum Download unter Veröffentlichungen zur Verfügung.
Für Build-Anweisungen besuchen Sie Darling Docs.
Darling unterstützt DPREFIXes, die WINEPREFIXes sehr ähnlich sind. Es handelt sich um virtuelle „chroot“-Umgebungen mit einer macOS-ähnlichen Dateisystemstruktur, in denen Sie Software sicher installieren können. Der Standard-Speicherort für DPREFIX ist ~/.darling, kann aber durch Exportieren einer gleichnamigen Umgebungsvariablen geändert werden. Ein Prefix wird automatisch bei der ersten Verwendung erstellt und initialisiert.
Bitte beachten Sie, dass wir overlayfs zum Erstellen von Präfixen verwenden und daher kein Präfix auf einem Dateisystem wie NFS oder eCryptfs unterstützen können. Insbesondere funktioniert der Standard-Präfix-Speicherort nicht, wenn Sie ein verschlüsseltes Home-Verzeichnis haben.
Beginnen wir mit einem Hallo Welt:
$ darling shell echo Hello world
Hello world
Herzlichen Glückwunsch, Sie haben Hallo Welt durch Darlings Emulation von OS X-Systemaufrufen und Laufzeitbibliotheken ausgegeben.
Sie können .pkg-Pakete mit dem Installer-Tool installieren, das in der Shell verfügbar ist. Es ist ein etwas eingeschränkter Verwandter des OS X-Installers:
$ darling shell
Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /
Das Midnight Commander-Paket aus dem obigen Beispiel ist zum Download verfügbar.
Sie können Pakete mit dem Befehl uninstaller deinstallieren und auflisten.
DMG-Images können von innerhalb darling shell mit hdiutil eingehängt und ausgehängt werden. So können Sie Xcode zusammen mit seiner Toolchain und SDKs installieren (beachten Sie, dass Xcode selbst noch nicht läuft):
Darling [~]$ hdiutil attach Xcode_7.2.dmg
/Volumes/Xcode_7.2
Darling [~]$ cp -r /Volumes/Xcode_7.2/Xcode.app /Applications
Darling [~]$ export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
Darling [~]$ echo 'void main() { puts("Hello world"); }' > helloworld.c
Darling [~]$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang helloworld.c -o helloworld
Darling [~]$ ./helloworld
Hello world
Herzlichen Glückwunsch, Sie haben soeben Ihre eigene Hallo Welt-Anwendung mit Apples Toolchain kompiliert und ausgeführt.
Xcode wird jetzt in .xip-Dateien verteilt. Diese können mit unxip installiert werden:
cd /Applications
unxip Xcode_11.3.xip