Многие местные жители мечтали запускать проги от 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
А давайте соберем и запустим?