Po dwóch latach rozwoju opublikowano wersję projektu ravynOS 0.5, rozwijającą system operacyjny oparty na FreeBSD, mającą na celu osiągnięcie zgodności z aplikacjami macOS oraz dostarczenie interfejsu użytkownika w stylu macOS. Osiągnięcia projektu są udostępniane na licencji BSD. Rozmiar bootowalnego obrazu iso wynosi 869 MB (x86_64).
Cele projektu obejmują osiągnięcie zgodności z aplikacjami macOS na poziomie kodu źródłowego i plików wykonywalnych. W pierwszym przypadku chodzi o możliwość rekompilacji kodu aplikacji macOS do uruchomienia w ravynOS, w drugim — o wbudowanie w jądro oraz narzędzia zmian do uruchamiania plików wykonywalnych Mach-O, skompilowanych dla architektur x86-64 i arm64. Obsługiwane systemy plików to ZFS oraz stosowane w macOS systemy HFS+ i APFS. Oprócz typowych dla FreeBSD hierarchii /usr i /usr/local, tworzone są specyficzne dla macOS katalogi /Library, /System i /Volumes. Katalogi domowe użytkowników znajdują się w hierarchii /Users. W każdym katalogu domowym znajduje się podkatalog ~/Library dla aplikacji korzystających z interfejsu programowania Apple Cocoa.
Dla zgodności z macOS udostępniana jest częściowa implementacja interfejsu Cocoa oraz środowiska wykonawczego Objective-C (znajdują się w katalogu /System/Library/Frameworks), a także dodatkowo zmodyfikowane kompilatory i linker do ich wsparcia. Oprócz warstwy zgodności z macOS w ravynOS dostępna jest również możliwość uruchamiania aplikacji dla Linuxa, oparta na oferowanej w FreeBSD infrastrukturze emulacji środowiska Linux (Linuxulator).
Aplikacje mogą być tworzone w postaci samodzielnych pakietów app (App Bundle) w formacie AppImage, umieszczanych w katalogach /Applications lub ~/Applications. Programy nie wymagają instalacji ani użycia menedżera pakietów — wystarczy przeciągnąć i uruchomić plik AppImage. Przy tym zachowano wsparcie dla tradycyjnych pakietów FreeBSD.
Środowisko graficzne zbudowane jest na bazie własnego systemu zarządzania oknami serwera, używającego okrojonego serwera kompozytowego labwc (usunięto wsparcie dla dekoracji okien po stronie serwera i tematów graficznych), wlroots oraz protokuł Wayland. W aplikacjach mogą być używane frameworki Qt i Cocoa. W interfejsie wykorzystuje się standardowe dla macOS koncepcje, takie jak górny pasek z globalnym menu, identyczna struktura menu, skróty klawiszowe, podobny w stylu menedżer plików Filer oraz wsparcie dla takich poleceń jak launchctl i open.

W nowym wydaniu:
- Podstawowy system został zaktualizowany do gałęzi FreeBSD 15-CURRENT. Zaprzestano używania portów FreeBSD – wszystkie niezbędne komponenty przeniesiono do repozytorium systemowego.
- Do głównego składu dodano edytor tekstu turbo. Dodatkowo wprowadzono cmake, gmake, nasm i GNU binutils.
- W plikach budowy frameworków dla Cocoa i Objective-C dodano możliwość łączenia obiektów w podkatalogach, co ułatwia przenoszenie kodu z różnych podkatalogów do jednej biblioteki.
- Zaprzestano używania repozytoriów pakietów, ale pozostawiono możliwość instalacji pakietów z repozytoriów FreeBSD w katalogu /usr/local za pomocą polecenia pkg.
- Dodano nowe narzędzie budowlane build.sh, które upraszcza cały proces budowy systemu i tworzenia konfigurowalnego obrazu ISO do załadowania w trybie Live.
- Dodano wstępną wersję graficznej płyty Dock z ograniczonym zestawem podstawowych ikon. Istnieje możliwość wskazywania uruchomionych programów, umieszczania skrótów aplikacji oraz ustawiania tapet pulpitu w stylu macOS. Zawartość panelu można na razie konfigurować tylko poprzez edytowanie pliku plist w ~/Library/Preferences.
- Dodano wsparcie dla klasy NSStatusItem, umożliwiającej aplikacjom Cocoa przenoszenie menu do globalnego paska.
Źródło: opennet.ru
