À propos du projet
Cider est un environnement d'exécution pour applications macOS sous Linux, issu d'un fork de Darling et sous licence GPLv3 ou ultérieure. Il exécute des binaires Mach-O directement sur le noyau Linux grâce à son propre dyld, libSystem et sa couche d'émulation du noyau, sans machine virtuelle ni noyau Apple.
Le projet en est à un stade précoce : les logiciels en ligne de commande fonctionnent, mais la plupart des applications GUI ne fonctionnent pas. Des vérifications automatisées dans le dépôt valident un shell, le démarrage via launchd, Nix s'exécutant dans le conteneur, JavaScriptCore, libdispatch, Security, CoreAudio, les ponts de script, une fenêtre AppKit triviale sur Wayland, et un binaire invité atteignant un compositeur Wayland. Le backend GUI est uniquement Wayland ; il n'y a pas de repli X11 ni DISPLAY. LibreOffice est documenté comme s'affichant, acceptant les entrées clavier et souris, se redimensionnant, ouvrant les menus et les boîtes de dialogue de fichiers, et insérant une image, bien que cela soit piloté manuellement plutôt que par une vérification automatisée.
Cider se construit avec Nix et Buck2. Nix est la seule méthode d'empaquetage prise en charge ; il n'y a pas de paquet de distribution ni d'archive tar. Une construction complète est volumineuse, et une construction minimale qui supprime les frameworks GUI, les frameworks privés et les langages de script est disponible. L'installation est prise en charge sur NixOS via un module ou ailleurs via la commande nix profile install.
Cider utilise des CIDERPREFIXes, similaires aux WINEPREFIXes : des environnements virtuels de type chroot avec un système de fichiers en forme de macOS où les logiciels peuvent être installés en toute sécurité. Le préfixe par défaut est ~/.cider, configurable via la variable d'environnement CIDERPREFIX. Les préfixes reposent sur overlayfs et ne peuvent donc pas résider sur NFS ou eCryptfs, et l'emplacement par défaut ne fonctionnera pas avec un répertoire personnel chiffré.
Le dépôt est organisé en sources Darwin côté invité, sources Linux côté hôte, règles et chaînes d'outils Buck2, composants amont vendored, empaquetage Nix et scripts de développement basés sur nushell. Le développement peut se faire sans Nix en pilotant Buck2 directement après avoir obtenu la chaîne d'outils, ce qui permet des reconstructions rapides après modification d'un seul fichier.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.