Il progetto ravynOS sta sviluppando una versione di FreeBSD, mirata alla compatibilità con macOS

Dopo due anni di sviluppo è stato pubblicato il rilascio del progetto ravynOS 0.5, che sviluppa un sistema operativo basato su FreeBSD, mirato a raggiungere la compatibilità con le applicazioni per macOS e a fornire un'interfaccia utente in stile macOS. I progressi del progetto sono distribuiti sotto licenza BSD. La dimensione dell'immagine ISO di avvio è di 869 MB (x86_64).

Gli obiettivi del progetto includono il raggiungimento della compatibilità con le applicazioni macOS a livello di sorgente e file eseguibili. Nel primo caso si intende la possibilità di ricompilare il codice delle applicazioni macOS per eseguirle in ravynOS; nel secondo, l'integrazione nel kernel e negli strumenti delle modifiche per eseguire file eseguibili Mach-O, compilati per le architetture x86-64 e arm64. Le file system supportate includono ZFS e i file system HFS+ e APFS utilizzati in macOS. Oltre alle gerarchie tipiche di FreeBSD \/usr e \/usr\/local, vengono create directory specifiche per macOS \/Library, \/System e \/Volumes. Le directory home degli utenti sono collocate nella gerarchia \/Users. All'interno di ciascuna directory home vi è una sottodirectory ~\/Library per le applicazioni che utilizzano l'interfaccia di programmazione Apple Cocoa.

Per la compatibilità con macOS è fornita un'implementazione parziale dell'interfaccia Cocoa e del runtime Objective-C (collocata nella directory /System/Library/Frameworks), oltre a compilatori e linker modificati per supportarli. Oltre al layer di compatibilità con macOS, in ravynOS è anche disponibile la possibilità di eseguire applicazioni per Linux, basata sull'infrastruttura di emulazione dell'ambiente Linux (Linuxulator) offerta da FreeBSD.

Le applicazioni possono essere presentate come pacchetti app autonomi (App Bundle) nel formato AppImage, collocati nelle directory /Applications o ~/Applications. I programmi non richiedono installazione e l'uso di un gestore di pacchetti: è sufficiente trascinare e avviare il file AppImage. È comunque garantito il supporto per i pacchetti tradizionali di FreeBSD.

L'ambiente grafico è basato su un proprio server delle finestre сервера, che utilizza un server composito ridotto labwc (senza supporto per la decorazione delle finestre lato server e temi), wlroots e il protocollo Wayland. Le applicazioni grafiche possono utilizzare i framework Qt e Cocoa. Nell'interfaccia vengono impiegati concetti tipici di macOS, come la barra superiore con menu globali, una struttura dei menu identica, combinazioni da tastiera, un file manager Filer simile nello stile e supporto per comandi come launchctl e open.

Il progetto ravynOS sta sviluppando una versione di FreeBSD, mirata alla compatibilità con macOS

Nel nuovo rilascio:

  • Il sistema di base è stato aggiornato al ramo FreeBSD 15-CURRENT. È stata interrotta l'uso dei port di FreeBSD: tutti i componenti necessari sono stati trasferiti nel repository di sistema.
  • Nel pacchetto principale è stato incluso l'editor di testo turbo. Sono stati aggiunti anche cmake, gmake, nasm e GNU binutils.
  • Nei file di assemblaggio per i framework Cocoa e Objective-C è stata fornita la possibilità di legare oggetti in sottocartelle per semplificare il trasferimento del codice da diverse sottocartelle in un'unica libreria.
  • È cessato l'uso del repository dei pacchetti, ma è rimasta la possibilità di installare pacchetti dai repository FreeBSD nella cartella /usr/local utilizzando il comando pkg.
  • È stata aggiunta una nuova utility di costruzione build.sh, che semplifica l'intero processo di assemblaggio del sistema e la creazione di un'immagine ISO personalizzabile, caricabile in modalità Live.
  • È stata aggiunta una prima implementazione di una dock grafica con un piccolo insieme di icone di base. È possibile indicare l'apertura dei programmi, posizionare scorciatoie per le applicazioni e impostare lo sfondo del desktop in stile macOS. Il contenuto della dock può ancora essere configurato solo modificando il file plist in ~ /Library /Preferences.
  • È stato aggiunto il supporto per la classe NSStatusItem, che consente alle applicazioni Cocoa di spostare i menu nella barra globale.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster