В качестве целей проекта заявлено достижение совместимости с приложениями macOS на уровне исходных текстов и исполняемых файлов. В первом случае подразумевается возможность перекомпиляции кода macOS-приложений для выполнения в ravynOS, в во втором — встраивание в ядро и инструментарий изменений для запуска исполняемых файлов Mach-O, собранных для архитектур x86-64 и arm64. Из файловых систем поддерживается ZFS и применяемые в macOS ФС HFS+ и APFS. Помимо свойственных для FreeBSD иерархий /usr и /usr/local создаются специфичные для macOS каталоги /Library, /System и /Volumes. Домашние каталоги пользователей размещаются в иерархии /Users. В каждом домашнем каталоге имеется подкаталог ~/Library для приложений, использующих программный интерфейс Apple Cocoa.
Для совместимости с macOS предоставляется частичная реализация программного интерфейса Cocoa и Objective-C runtime (размещаются в каталоге /System/Library/Frameworks), а также дополнительно модифицированные для их поддержки компиляторы и компоновщики. Помимо слоя для совместимости с macOS в ravynOS также доступна возможность запуска приложений для Linux, основанная на предлагаемой во FreeBSD инфраструктуре эмуляции окружения Linux (Linuxulator).
Приложения могут оформляться в виде самодостаточных app-пакетов (App Bundle) в формате AppImage, размещаемых в каталогах /Applications или ~/Applications. Программы не требуют установки и использования пакетного менеджера — достаточно перетащить мышью и запустить AppImage-файл. При этом сохранена поддержка и традиционных для FreeBSD пакетов.
Графическое окружение построено на базе собственного оконного сервера, использующего урезанный композитный сервер labwc (удалена поддержка декорирования окон на стороне сервера и тем оформления), wlroots и протокол Wayland. графических В приложениях могут применяться фреймворки Qt и Cocoa. В интерфейсе используются типовые для macOS концепции, такие как верхняя панель с глобальным меню, идентичная структура меню, клавиатурные комбинации, похожий по стилю файловый менеджер Filer и поддержка таких команд, как launchctl и open.
В новом выпуске:
- Базовая система обновлена до ветки FreeBSD 15-CURRENT. Прекращено использование портов FreeBSD — все необходимые компоненты перенесены в системный репозиторий.
- В основной состав включён текстовый редактор turbo. Также добавлены cmake, gmake, nasm и GNU binutils.
- В сборочных файлах фреймворков для Cocoa и Objective-C предоставлена возможность связывания объектов в подкаталогах для упрощения переноса кода из разных подкаталогов в одну библиотеку.
- Прекращено использование репозитория пакетов, но оставлена возможность установки пакетов из репозиториев FreeBSD в каталог /usr/local при помощи команды pkg.
- Добавлена новая сборочная утилита build.sh, упрощающая весь процесс сборки системы и создания настраиваемого ISO-образа, загружаемого в Live-режиме.
- Добавлена начальная реализация графической Dock-панели с небольшим набором базовых пиктограмм. Имеется возможность индикации запуска программ, размещения ярлыков приложений и настройки обоев рабочего стола в стиле macOS. Содержимое панели пока настраивается только через редактирование plist-файла в ~/Library/Preferences.
- Добавлена поддержка класса NSStatusItem, позволяющего Cocoa-приложениям переносить меню в глобальную панель.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61254