
Couche d'émulation Darwin/macOS pour Linux

Darling est un environnement d'exécution pour les applications macOS.
Veuillez noter que la plupart des applications graphiques ne fonctionneront pas pour le moment.
Les paquets pour certaines distributions sont disponibles en téléchargement sous les versions.
Pour les instructions de compilation, consultez Darling Docs.
Darling prend en charge les DPREFIX, qui sont très similaires aux WINEPREFIX. Ce sont des environnements virtuels « chroot » avec une structure de fichiers similaire à macOS, où vous pouvez installer des logiciels en toute sécurité. L'emplacement par défaut du DPREFIX est ~/.darling, mais cela peut être modifié en exportant une variable d'environnement du même nom. Un préfixe est automatiquement créé et initialisé lors de la première utilisation.
Veuillez noter que nous utilisons overlayfs pour créer les préfixes, et nous ne pouvons donc pas prendre en charge le placement d'un préfixe sur un système de fichiers comme NFS ou eCryptfs. En particulier, l'emplacement par défaut du préfixe ne fonctionnera pas si vous avez un répertoire personnel chiffré.
Commençons par un Hello world :
$ darling shell echo Hello world
Hello world
Félicitations, vous avez affiché Hello world via l'émulation d'appels système OS X et les bibliothèques d'exécution de Darling.
Vous pouvez installer des paquets .pkg avec l'outil installer disponible dans le shell. C'est un cousin quelque peu limité de l'installateur d'OS X :
$ darling shell
Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /
Le paquet Midnight Commander de l'exemple ci-dessus est disponible en téléchargement.
Vous pouvez désinstaller et lister les paquets avec la commande uninstaller.
Les images DMG peuvent être attachées et détachées depuis l'intérieur de darling shell avec hdiutil. Voici comment installer Xcode ainsi que sa chaîne d'outils et ses SDK (notez que Xcode lui-même ne fonctionne pas encore) :
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
Félicitations, vous venez de compiler et d'exécuter votre propre application Hello world avec la chaîne d'outils d'Apple.
Xcode est désormais distribué dans des fichiers .xip. Ceux-ci peuvent être installés en utilisant unxip :
cd /Applications
unxip Xcode_11.3.xip