Comment faire tourner une application macOS sous Linux ?
Si vous êtes linuxien, vous connaissez sans doute Wine qui permet de faire tourner des applications Windows sous Linux (ou Mac).
Mais sachez-le, il est possible de faire la même chose avec des applications Mac. Oui, il est possible de faire fonctionner des applications macOS sous Linux à l’aide du projet Darling.
J’ai compilé et testé cet outil et ce que je peux vous dire c’est que ça fonctionne, mais de manière très réduite. C’est à dire uniquement avec des applications en ligne de commande, et encore avec pas mal de crashs. Mais ça fonctionne !!!
Alors, pour quoi faire, me direz-vous ? Et bien par exemple pour tester vos scripts sous Mac, utiliser certains binaires macOS, ou compiler vos propres binaires à destination de macOS sans avoir de Mac. Pratique.
Je vous propose donc un petit tutoriel afin que vous puissiez vous aussi faire fonctionner vos propres applications macOS directement depuis Linux.
Première étape, installez les dépendances :
sudo apt install cmake clang bison flex libfuse-dev libudev-dev pkg-config libc6-dev-i386 linux-headers-generic gcc-multilib libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev git libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev libavformat-dev libavcodec-dev libavresample-dev
Seconde étape, récupérez les sources :
git clone --recursive https://github.com/darlinghq/darling.git
Ensuite, compiler le code. Je vous préviens, pour l’avoir fait, c’est un peu long.
cd darling
mkdir build && cd build
cmake ..
make
sudo make install
Ensuite, il faut compiler un module pour le noyau. Attention, c’est expérimental, donc ça pourrait introduire des failles, voire des instabilités sur votre OS.
make lkm
sudo make lkm_install
sudo modprobe darling-mach
Voilà, Darling est en place.
Maintenant, vous pouvez l’utiliser de différentes manières. Soit via un shell en lançant :
darling shell
Soit en lançant directement un binaire comme ceci :
darling shell monbinaire
J’ai bien tenté d’install Brew et des choses de ce genre pour avoir un dépôt de binaire à exploiter, mais pour le moment, Darling ne supporte pas les connexions TLS, donc pas moyen…
Comme je vous le disais, c’est assez limité pour le moment, mais j’ai bon espoir qu’un jour les gens s’emparent de ce projet et permettent à terme le lancement d’applications macOS avec interface graphique…etc.
En attendant, si vous voulez des idées de trucs à tenter avec Darling, une page entière est dédiée à cela sur leur wiki. Amusez-vous bien !