Sobre o projeto
Cider é um ambiente de runtime para aplicativos macOS no Linux, bifurcado do Darling e licenciado sob GPLv3 ou posterior. Ele executa binários Mach-O diretamente no kernel Linux por meio de seu próprio dyld, libSystem e camada de emulação de kernel, sem máquina virtual e sem kernel da Apple.
O projeto está em estágio inicial: software de linha de comando funciona, mas a maioria dos aplicativos GUI não. Verificações automatizadas no repositório validam um shell, inicialização via launchd, Nix rodando dentro do contêiner, JavaScriptCore, libdispatch, Security, CoreAudio, pontes de scripting, uma janela AppKit trivial no Wayland e um binário convidado alcançando um compositor Wayland. O backend GUI é somente Wayland; não há fallback X11 ou DISPLAY. O LibreOffice está documentado como renderizando, aceitando entrada de teclado e mouse, redimensionando, abrindo menus e diálogos de arquivo e inserindo uma imagem, embora isso seja conduzido manualmente em vez de por uma verificação automatizada.
O Cider é compilado com Nix e Buck2. Nix é o único método de empacotamento suportado; não há pacote de distribuição nem tarball. Uma compilação completa é grande, e uma compilação mínima que remove frameworks GUI, frameworks privados e linguagens de script está disponível. A instalação é suportada no NixOS por meio de um módulo ou em outros sistemas via comando nix profile install.
O Cider usa CIDERPREFIXes, semelhantes aos WINEPREFIXes: ambientes virtuais semelhantes a chroot com um sistema de arquivos no formato macOS onde o software pode ser instalado com segurança. O prefixo padrão é ~/.cider, configurável por meio da variável de ambiente CIDERPREFIX. Os prefixos dependem de overlayfs e, portanto, não podem residir em NFS ou eCryptfs, e o local padrão não funcionará com um diretório home criptografado.
O repositório é organizado em fontes Darwin do lado convidado, fontes Linux do lado host, regras e toolchains Buck2, componentes upstream vendados, empacotamento Nix e scripts de desenvolvedor baseados em nushell. O desenvolvimento pode ser feito sem Nix acionando o Buck2 diretamente após obter o toolchain, o que permite recompilações rápidas após editar um único arquivo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.