Дорогая (программное обеспечение)
![]() | |
![]() Простое приложение Cocoa «HelloWorld», продемонстрированное на macOS (слева) и Linux (справа) | |
Оригинальный автор(ы) | Любош Долежель |
---|---|
Предварительный выпуск | 0.1.20220213 / 13 февраля 2022 г |
Репозиторий | github.com/darlinghq/darling |
Операционная система | Линукс |
Тип | Уровень совместимости |
Лицензия | Различные, в основном GPLv3 |
Веб-сайт | дорогая |
Darling — это с открытым исходным кодом с macOS бесплатный уровень совместимости для Linux. [1] Он дублирует функции macOS , предоставляя альтернативные реализации библиотек и платформ, которые вызывают программы macOS. [2] Этот метод дублирования отличается от других методов, которые также можно считать эмуляцией. [3] где программы macOS запускаются на виртуальной машине . [4] Darling называют аналогом WINE для запуска приложений macOS. [5]
Проект стартовал летом 2012 года и основан на предыдущем проекте maloader, который был прекращен из-за нехватки времени. Было показано, что слой работает со многими консольными приложениями , такими как Midnight Commander , The Unarchiver , Python и т. д. на слое, но он также имеет базовую поддержку графических приложений на основе платформы Cocoa. [6] [1] Darling имеет возможность извлекать образы дисков Apple . [7]
Целью проекта является поддержка приложений iOS в будущем. [8]
Архитектура
[ редактировать ]На входе системы Darling находится загрузчик двоичных файлов Mach-O — исполняемого формата для Apple операционных систем . Предшественник Дарлинга, maloader, представил максималистский подход к проблеме, пытаясь повторить все, что делает загрузчик динамических библиотек Apple dyld. Это оказалось непросто, и после «перехода Mach-O» в 2017 году Дарлинг использовал облегченный загрузчик, достаточный для запуска вместо этого Apple dyld с открытым исходным кодом. [9]
Чтобы обеспечить двоичные файлы macOS ядром , Дарлинг использует модифицированное ядро XNU (с лицензией APSL), завернутое в модуль ядра Linux с лицензией GPL. [ нужно обновить ] Это не то же самое, что включение кода GPL в программное обеспечение APSL, и лицензия APSL позволяет связывать код с другой лицензией (в данном случае GPL). Модуль выполняет типичную работу ядра Mach , в основном обработку портов IPC . [10] Существуют некоторые проблемы с лицензированием [ нужна ссылка ] в модуле darling-mach, поскольку команда добавляет модификации GNU GPL в ядро APSL . [11] [ не удалось пройти проверку ]
Выше ядра находится корневая среда. Darling, как и WINE, поддерживает префиксы chroot Linux , реализованные с помощью overlayfs (в отличие от преобразования путей в WINE). Пространства имен PID , IPC и UTS используются для создания внутри контейнера для системы Darwin.
Фреймворки и системные библиотеки Darling в максимальной степени основаны на исходном коде , выпущенном Apple. Переход Mach-O упрощает создание этих фреймворков, поскольку теперь они создаются в формате Mach-O, для которого они были предназначены. [9] Чтобы заполнить пробелы во многих фреймворках более высокого уровня, таких как Cocoa , Дарлинг использует код Cocotron, ApportableFoundation и GNUstep . [1]
Лицензия
[ редактировать ]Более крупная система Darling основана на множестве внешних компонентов, использующих различные лицензии, все из которых имеют открытый исходный код. Основная лицензия — GPLv3 . [12]
Внешние ссылки
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с "Дорогая |" . www.darlinghq.org . Архивировано из оригинала 16 июня 2022 г. Проверено 17 июня 2022 г.
- ^ «Теперь вы можете использовать «Darling» для запуска программного обеспечения macOS в Linux | Блог iPhone в Канаде» . 05.10.2020. Архивировано из оригинала 17 июня 2022 г. Проверено 17 июня 2022 г.
- ^ Гонсалес, Диего Херман (31 октября 2021 г.). «Программы MacOS на Linux? С Darling это возможно» . Linux-аддиктос . Проверено 17 июня 2022 г.
- ^ Бродкин, Джон (6 августа 2013 г.). «Приложения OS X работают в Linux с помощью Wine-подобного эмулятора для программного обеспечения Mac» . Арс Техника . Проверено 23 января 2014 г.
- ^ Линч, Джим. «Сможем ли мы когда-нибудь запускать приложения OS X в Linux с помощью Darling?» . Инфомир . Проверено 23 июля 2018 г.
- ^ «Darling привлекает новых участников для своего уровня совместимости с macOS в Linux» . www.phoronix.com . Архивировано из оригинала 17 июня 2022 г. Проверено 17 июня 2022 г.
- ^ «Установка программного обеспечения — Darling Docs» . docs.darlinghq.org . Проверено 27 января 2022 г.
- ^ Хит, Ник (15 июля 2013 г.). «Приложения для OS X на пути к Linux благодаря проекту Darling» . ЗДНет . Проверено 23 января 2014 г.
- ^ Jump up to: а б Бугаев Сергей (24 июля 2018 г.). «Трюки с соединением и загрузкой Mach-O» . Проверено 12 января 2020 г.
- ^ «Инструкция по сборке» . Милый . Архивировано из оригинала 21 января 2020 г. Проверено 12 января 2020 г.
Дарлинг использует модуль ядра для обеспечения определенных функций OS X, в основном Mach Ports IPC. Ни одно приложение OS X не может быть запущено без этого модуля, поскольку Libc требует портов Маха для своей инициализации и даже для таких простых вещей, как сон().
- ^ «Проблема: код Apple под лицензией APSL несовместим с лицензией GPL» . Гитхаб . Проверено 12 января 2020 г.
- ^ "Милый" . Гитхаб . 16 октября 2021 г.