După doi ani de dezvoltare, a fost lansată versiunea 0.5 a proiectului ravynOS, care dezvoltă un sistem de operare bazat pe FreeBSD, destinat să realizeze compatibilitatea cu aplicațiile pentru macOS și să ofere o interfață utilizator în stilul macOS. Resursele proiectului sunt distribuite sub licența BSD. Dimensiunea imaginii ISO de bootare este de 869 MB (x86_64).
Printre obiectivele proiectului se numără realizarea compatibilității cu aplicațiile macOS la nivel de cod sursă și fișiere executabile. În primul caz, se înțelege posibilitatea recompilării codului aplicațiilor macOS pentru a fi executate în ravynOS, iar în al doilea — integrarea în nucleu și uneltele de dezvoltare a modificărilor necesare pentru a rula fișiere executabile Mach-O, compilate pentru arhitecturile x86-64 și arm64. Sistemele de fișiere suportate includ ZFS și sistemele de fișiere utilizate de macOS, HFS+ și APFS. Pe lângă ierarhiile specifice FreeBSD, /usr și /usr/local, sunt create directoare specifice macOS, cum ar fi /Library, /System și /Volumes. Directoarele personale ale utilizatorilor sunt plasate în ierarhia /Users. Fiecare director personal conține un subdirector ~/Library pentru aplicațiile care folosesc interfața de programare Apple Cocoa.
Pentru compatibilitatea cu macOS, se oferă o implementare parțială a API-ului Cocoa și a runtime-ului Objective-C (plasate în directorul /System/Library/Frameworks), precum și compilatoare și linkere modificate pentru a le susține. Pe lângă stratul de compatibilitate cu macOS, în ravynOS este disponibilă și capacitatea de a rula aplicații pentru Linux, bazată pe infrastructura de emulare a mediului Linux (Linuxulator) propusă în FreeBSD.
Aplicațiile pot fi configurate sub forma pachetelor app-autonome (App Bundle) în format AppImage, plasate în directoarele /Applications sau ~/Applications. Programele nu necesită instalare și utilizarea unui manager de pachete — este suficient să tragi și să lansezi fișierul AppImage. În acest proces, este menținut și suportul pentru pachetele tradiționale FreeBSD.
Mediul grafic este construit pe baza unui sistem de feronerie propriu server, folosind serverul compozit redus labwc (eliminată suportul pentru decorarea ferestrelor la nivel de server și teme), wlroots și protocolul Wayland. În aplicații pot fi utilizate cadrele Qt și Cocoa. Interfața folosește concepte standard pentru macOS, cum ar fi bara de sus cu un meniu global, o structură de meniu identică, combinații de taste, un manager de fișiere Filer similar ca stil și suport pentru comenzi precum launchctl și open.

În noua versiune:
- Sistemul de bază a fost actualizat la ramura FreeBSD 15-CURRENT. Utilizarea porturilor FreeBSD a fost oprită — toate componentele necesare au fost mutate în repository-ul sistemului.
- În compunerea principală a fost inclus un editor de text turbo. De asemenea, au fost adăugate cmake, gmake, nasm și GNU binutils.
- În fișierele de construcție ale cadrelor pentru Cocoa și Objective-C a fost oferită posibilitatea legării obiectelor în subdirectoare pentru a simplifica transferul codului din diferite subdirectoare într-o singură bibliotecă.
- Utilizarea repository-ului pentru pachete a fost oprită, dar a fost păstrată opțiunea de a instala pachete din repository-urile FreeBSD în catalogul /usr/local utilizând comanda pkg.
- A fost adărat un nou instrument de compilare build.sh, care simplifică întregul proces de compilare a sistemului și de creare a unei imagini ISO personalizabile, încărcabile în modul Live.
- A fost adărată o implementare inițială a unui panou docking grafic cu un set mic de pictograme de bază. Există posibilitatea de a indica pornirea programelor, plasarea scurtăturilor aplicațiilor și configurarea tapetului desktop în stil macOS. Conținutul panoului poate fi configurat momentan doar prin editarea fișierului plist în ~/Library/Preferences.
- A fost adărat suportul pentru clasa NSStatusItem, care permite aplicațiilor Cocoa să transfere meniurile în panoul global.
Sursa: opennet.ro
