В рамках проекта Darling развивается аналог Wine для запуска программ Mac OS X
9 декабря 2012 года
В рамках проекта Darling началось развитие системы для обеспечения запуска в Linux немодифицированных исполняемых файлов, собранных для Mac OS X. Проектом также намечено развитие инструментов для установки в Linux пакетов программ, оформленных для Mac OS X. Созданные наработки распространяются под свободной лицензией GPLv3.
Несмотря на то, что проект находится на начальной стадии развития и носит в основном академический характер (дипломная работа студента), он уже позволяет выполнять некоторые консольные приложения, собранные для Mac OS X. Например, протестирован запуск gcc-4.2, otool, nm, clang и других утилит. Поддерживается запуск как 32- так и 64-разрядных исполняемых файлов в формате Mach-O. У создателя проекта в настоящее время нет цели по обеспечению запуска любых программ, его область интересов пока ограничена только обеспечением выполнения инструментов, используемых для разработки приложений.
В настоящее время проект завязан на многих особенностях Linux, но не исключается его дальнейшее портирование для BSD-систем. Пока поддерживается запуск приложений для Mac OS X. Для поддержки запуска мобильных приложений, собранных для iOS, требуются дополнительные усилия по задействованию некоторых специфичных для iOS фреймворков и портированию ассемблерного кода для архитектуры ARM.
Организация выполнения программ в целом напоминает подход проекта Wine - производится разбор исполняемого файла, его загрузка в память и передача выполнения. Для работы приложений предоставляется совместимая на уровне ABI прослойка из библиотек, используемых в Mac OS X. Часть функций подобных библиотек реализуется путем прямого маппинга или трансляции через враппер в аналогичные функции, доступные в Linux. Для некоторых функций приходится создавать отдельные реализации, работающие поверх других нативных API.
В частности, в Darling задействованы наработки проекта GNUstep, в рамках которого развивается открытая реализация лежащего в основе Mac OS X и iOS программного интерфейса Cocoa, включая AppKit, базовые и runtime-библиотеки Objective-C, наборы виджетов и сопутствующие приложения. Кроме того, в Darling используются доступные открытые библиотеки и фреймворки, позволяющие обеспечить бинарную совместимость с Darwin и Mac OS X (например, системная библиотека libSystem, развиваемая проектом Darwin), а также заголовочные файлы с сайта Apple.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.