LINUX.ORG.RU
ФорумTalks

Встречайте проект Darling — слой совместимости Mac OS X в Linux

 , ,


0

1

Многие местные жители мечтали запускать проги от Mac OS X в Linux (ага, даже не одну тему создали Вот для винды wine есть, а для Мака что? wine с macos Концепт «Макизатора» Запуск Mac OS X софта в linux ). Так вот, был начат проект Darling который позволит запускать проги от Mac OX X в Linux. Увы проект находится в зачаточном состоянии. Но я считаю это гораздо более полезный чем очередной плеер, DE, браузер, веер и т.д. (и даже самый полезный проект за последние 10 лет, за исключением pulseaudio и networkmanager)

Даже можно пойти дальше: Linux меняем на Darwin, прикручиваем coreutils, пускаем Wayland, по Wayland'у пускаем Quartz (это должно быть написано в рамках проекта Darling) и получаем аналог ReactOS.

Пруф http://www.phoronix.com/scan.php?page=news_item&px=MTI0Njc

Страница проекта http://darling.dolezel.info/en/Darling

Исходный код Darling http://git.dolezel.info/?p=darling.git;a=summary

Увы, у меня не собрался. Пишет:


alexey@alexey-laptop:~/darling/build/64$ CC=clang CXX=clang++ cmake ../.. -DSUFFIX=64
-- The C compiler identification is Clang 3.1.0
-- The CXX compiler identification is Clang 3.1.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- This is a 64-bit build
-- The ASM-ATT compiler identification is GNU
-- Found assembler: /usr/bin/as
-- The ASM_NASM compiler identification is unknown
-- Found assembler: /usr/bin/nasm
CMake Warning (dev) at tests/CMakeLists.txt:26 (add_subdirectory):
  The source directory

    /home/alexey/darling/tests/libsshcxx

  does not contain a CMakeLists.txt file.

  CMake does not support this case but it used to work accidentally and is
  being allowed for compatibility.

  Policy CMP0014 is not set: Input directories must have CMakeLists.txt.  Run
  "cmake --help-policy CMP0014" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building ObjC ABI 2
You have called ADD_LIBRARY for library AppKit without any source files. This typically indicates a problem with your CMakeLists.txt file
You have called ADD_LIBRARY for library Carbon without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alexey/darling/build/64
alexey@alexey-laptop:~/darling/build/64$ make
Scanning dependencies of target util
[  1%] Building CXX object CMakeFiles/util.dir/src/util/log.o
[  2%] Building CXX object CMakeFiles/util.dir/src/util/trace.o
[  3%] Building CXX object CMakeFiles/util.dir/src/util/stlutils.o
[  4%] Building CXX object CMakeFiles/util.dir/src/util/IniConfig.o
[  5%] Building CXX object CMakeFiles/util.dir/src/util/leb.o
Linking CXX static library libutil.a
[  5%] Built target util
Scanning dependencies of target mach-o
[  5%] Building CXX object CMakeFiles/mach-o.dir/src/libmach-o/MachO.o
/home/alexey/darling/src/libmach-o/MachO.cpp:73:9: error: no member named 'read'
      in the global namespace; did you mean 'fread'?
                if (::read(fd, &magic, 4) == 4)
                    ~~^~~~
                      fread              
/usr/include/stdio.h:706:15: note: 'fread' declared here
extern size_t fread (void *__restrict __ptr, size_t __size,
              ^
/home/alexey/darling/src/libmach-o/MachO.cpp:73:27: error: too few arguments to
      function call, expected 4, have 3
                if (::read(fd, &magic, 4) == 4)
                    ~~~~~~              ^
/usr/include/stdio.h:706:1: note: 'fread' declared here
extern size_t fread (void *__restrict __ptr, size_t __size,
^
/home/alexey/darling/src/libmach-o/MachO.cpp:77:5: error: no member named
      'close' in the global namespace
                ::close(fd);
                ~~^
3 errors generated.
make[2]: *** [CMakeFiles/mach-o.dir/src/libmach-o/MachO.o] Ошибка 1
make[1]: *** [CMakeFiles/mach-o.dir/all] Ошибка 2
make: *** [all] Ошибка 2

А давайте соберем и запустим?

★★★★★

Уже Есть по соседству. Мож удали?

ZuBB ★★★★★ ()

я за удаление, а то пальцев не хватит в 2х ветках флудить

Deleted ()

даже самый полезный проект за последние 10 лет, за исключением pulseaudio и networkmanager

То ли мне надо чинить детектор, то ли вижу тонкую иронию.

dogbert ★★★★★ ()
Ответ на: комментарий от Axon

Но знаю банальных рабов, которые ради банального рабства маки покупают.

fxd

И да идея надо сказать тухлая, Apple просто засудит.

Ygor ★★★★★ ()
Последнее исправление: Ygor (всего исправлений: 1)
Ответ на: комментарий от Axon

Конечно too fat, потому и не взлетит. Gnustep далеко не cocoa.

И кстати да, факт, у apple есть стопицот патентов на cocoa.

Ygor ★★★★★ ()
Последнее исправление: Ygor (всего исправлений: 1)

Часто слышал как люди про wine говорят «ненужно», этот проект следующий уровень «ненужно»?

Behem0th ★★★★★ ()

Лучше бы OpenDarwin пилили, ей богу.

devl547 ★★★★★ ()
Ответ на: комментарий от TowTruck

новый тунец как то упорото выглядит по моему.

Да он нужен только для того, чтобы с новыми айподами общаться пока под них libgpod не допилили.

Axon ★★★★★ ()
Ответ на: комментарий от slyjoeh

Интересно, как Джобс на это отреагирует?

Ему давно по фигу.

TowTruck ()
Ответ на: комментарий от Siado

Вот кстати. Самому интересно. Заодно как софт от Steinberg работать будет.

Satan_Klaus ★★ ()
Ответ на: комментарий от deterok

MS не засудил за wine, с чего apple будет это делать?

APPLE другая компания.

Ygor ★★★★★ ()
Ответ на: комментарий от Ygor

И да идея надо сказать тухлая, Apple просто засудит.

Из ФАКа:

Isn't this violating Apple's EULA?

No, no part of this project contains code covered under Apple's EULA. As long as you are not using Darling to run something covered by Apple's EULA, you are not bound by it either. As a matter of fact, the aim is to avoid any APSL-licensed code too, just to be on the safe side. As of now, you can find several header files covered by the APSL (Apple's open source license) in the project source tree, but this is only temporary.

Siado ★★★★★ ()
Ответ на: комментарий от Siado

то что там другой код, ещё не значит, что не нарушаются патенты apple. И да: эта фигня для запуска вареза не нужна.

Ygor ★★★★★ ()
8 августа 2013 г.
Ответ на: комментарий от Axon

Но знаю людей, которые ради них себе маки покупают.

Правильно делают, тем более, что для лоджика вполне можно купить за сущие копейки(по цене самого лоджика или даже дешевле) какой-нить powermac g5, его мощей за глаза хватит для нормальной работы, девятка ppc поддерживает.

А слой совместимости (тем более, непонятно когда) - это не для продакшна.

lazyklimm ★★★★★ ()
Ответ на: комментарий от dukzcry

Зачем, если почти всё есть в портах/homebrew? Только что готовые бинарники можно использовать. Но кмк лучше уж запилить бинарные репозы с готовым софтом.

lazyklimm ★★★★★ ()
Ответ на: ненужно. от Ygor

я в свое время убил бы за возможность запустить свежий indesign под Linux. В wine не идет.

Правда для меня это уже давно не актуально, но все же многие были бы рады такой возможности.

gnunixon ★★★ ()

оно уже умеет запускать приложения с Quartz Compositor ?

smilessss ★★★★★ ()
Ответ на: комментарий от dukzcry

Хотелось бы обратный велосипед. Запуск линевых бинарников на макосине.

какие именно бинарники и зачем? примеры хотелось бы услышать

xtraeft ★★☆☆ ()
Ответ на: комментарий от xtraeft

какие именно бинарники и зачем? примеры хотелось бы услышать

Я товарищу выше уже ответил: Встречайте проект Darling — слой совместимости Mac OS X в Linux (комментарий)

Практически во всех бздях эмуляция линевых бинарей имеется.

dukzcry ()
Ответ на: комментарий от AiFiLTr0

Это если его криво в гробу установили - биения при вращении...

slackwarrior ★★★★★ ()

Пятница, ни хрена уже не понимаю, wineOSX чоли грядет?

aeX1pu2b ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.