
Capa de emulación de Darwin/macOS para Linux

Darling es un entorno de ejecución para aplicaciones macOS.
Tenga en cuenta que la mayoría de las aplicaciones GUI no funcionarán por el momento.
Hay paquetes para algunas distribuciones disponibles para descargar en releases.
Para las instrucciones de compilación, visite Darling Docs.
Darling tiene soporte para DPREFIXes, que son muy similares a los WINEPREFIXes. Son entornos virtuales «chroot» con una estructura de sistema de archivos similar a la de macOS, donde puede instalar software de forma segura. La ubicación predeterminada de DPREFIX es ~/.darling, pero esto se puede cambiar exportando una variable de entorno con el mismo nombre. Un prefijo se crea e inicializa automáticamente en el primer uso.
Tenga en cuenta que usamos overlayfs para crear prefijos, por lo que no podemos soportar colocar el prefijo en un sistema de archivos como NFS o eCryptfs. En particular, la ubicación del prefijo predeterminado no funcionará si tiene un directorio principal cifrado.
Comencemos con un Hello world:
$ darling shell echo Hello world
Hello world
Felicitaciones, ha impreso Hello world a través de la emulación de llamadas al sistema y las bibliotecas de tiempo de ejecución de OS X de Darling.
Puede instalar paquetes .pkg con la herramienta de instalador disponible dentro del shell. Es un primo algo limitado del instalador de OS X:
$ darling shell
Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /
El paquete Midnight Commander del ejemplo anterior está disponible para descargar.
Puede desinstalar y listar paquetes con el comando uninstaller.
Las imágenes DMG se pueden montar y desmontar desde darling shell con hdiutil. Así es como puede instalar Xcode junto con su cadena de herramientas y SDKs (tenga en cuenta que Xcode en sí mismo aún no funciona):
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
Felicitaciones, acaba de compilar y ejecutar su propia aplicación Hello world con la cadena de herramientas de Apple.
Xcode ahora se distribuye en archivos .xip. Estos se pueden instalar usando unxip:
cd /Applications
unxip Xcode_11.3.xip