Sobre el proyecto
Cider es un entorno de ejecución para aplicaciones de macOS en Linux, bifurcado de Darling y licenciado bajo GPLv3 o posterior. Ejecuta binarios Mach-O directamente sobre el kernel de Linux a través de su propio dyld, libSystem y una capa de emulación del kernel, sin máquina virtual y sin el kernel de Apple.
El proyecto se encuentra en un estado temprano: el software de línea de comandos funciona, pero la mayoría de las aplicaciones GUI no. Las comprobaciones automatizadas en el repositorio verifican un shell, el arranque mediante launchd, Nix ejecutándose dentro del contenedor, JavaScriptCore, libdispatch, Security, CoreAudio, puentes de scripting, una ventana trivial de AppKit en Wayland y un binario invitado que llega a un compositor Wayland. El backend GUI es solo Wayland; no hay X11 ni respaldo DISPLAY. LibreOffice está documentado como capaz de renderizar, aceptar entrada de teclado y ratón, redimensionarse, abrir menús y diálogos de archivos e insertar una imagen, aunque esto se realiza manualmente en lugar de mediante una comprobación automatizada.
Cider se compila con Nix y Buck2. Nix es el único método de empaquetado compatible; no hay paquete de distribución ni tarball. Una compilación completa es grande, y está disponible una compilación mínima que omite los frameworks GUI, los frameworks privados y los lenguajes de scripting. La instalación es compatible en NixOS mediante un módulo o en otros sistemas mediante el comando nix profile install.
Cider utiliza CIDERPREFIXes, similares a los WINEPREFIXes: entornos virtuales tipo chroot con un sistema de archivos con forma de macOS donde el software puede instalarse de forma segura. El prefijo predeterminado es ~/.cider, configurable mediante la variable de entorno CIDERPREFIX. Los prefijos dependen de overlayfs y, por lo tanto, no pueden residir en NFS o eCryptfs, y la ubicación predeterminada no funcionará con un directorio home cifrado.
El repositorio está organizado en fuentes Darwin del lado invitado, fuentes Linux del lado anfitrión, reglas y cadenas de herramientas de Buck2, componentes upstream incorporados, empaquetado Nix y scripts de desarrollo basados en nushell. El desarrollo puede realizarse sin Nix ejecutando Buck2 directamente después de obtener la cadena de herramientas, lo que permite reconstrucciones rápidas tras editar un solo archivo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.