
OS X emulation layer for Linux - ilikehunny
http://darling.dolezel.info/en/Darling
======
lubomir
About a week ago, the author posted a report to his blog
[http://www.abclinuxu.cz/blog/doli/2013/7/darling-progress-
re...](http://www.abclinuxu.cz/blog/doli/2013/7/darling-progress-report-
cervenec-2013).

Summary:

    
    
      * It can run basic console programs like Midnight Commander, vim
        or bash, so compatibility of system API is rather good.
      * Dynamic loader is being refactored, because it can not unload
        dynamic libraries now. In the future there will be API that
        would allow loading OS X library into native code.
      * There is a FUSE module for read-only access to .dmg files, so
        that it is not necessary to unpack them.
    

GNUstep is a problem; it does not seem to be very alive. It does have three
backends, but none of them works reliably. The long term (slightly crazy) plan
is to implement the basic Cocoa classes over Qt.

Right now the target application that should work is Angry Birds.

~~~
peatmoss
I can't figure out why GNUstep has languished so. Given how many ObjC
developers there are out there, and given how nice it would be to target for
multi-platform apps, it feels like the sort of thing that should have gotten
good pretty quickly in a world of resurgent Apple.

~~~
jballanc
...and this is the moment that you realize there _aren 't_ so many Obj-C
developers out there as much as there are _that many_ iOS developers out
there, all being forced to use one particular language.

 _Edit_ : For the record, I am a fan of Obj-C, not an iOS developer, and would
love to see more movement on GNUStep. I just need the time...

~~~
mikeash
Really, I think there are plenty of ObjC fans, but ObjC developers can be
divided into two groups:

1\. Those who use it unwillingly, and happily use some other environment when
not targeting Apple platforms.

2\. Those who are big Apple fans and don't see the point of targeting non-
Apple platforms in the first place.

I'm sure there are exceptions, but not enough for GNUStep to get traction.

~~~
bobwaycott
Very few things can be cleanly divided into two groups.

Group 3: Those who use it because they like the language itself and would
happily target non-Apple platforms if it was a tenable solution.

~~~
astrodust
I tried writing an Objective-C application intended for server-side
deployment, but finding a Foundation library that worked was infuriating. The
ones that compiled were not feature complete, and the ones that promised more
were not maintained.

It really is a lot easier to write Objective-C code than C++ if you have
access to all that Foundation and the associated frameworks provide, but
getting it to compile for your target system is not exactly easy. Many of
those components simply do not exist outside of OS X.

I'm not even concerned about GUI bindings, as I imagine those would be really
awkward.

~~~
bobwaycott
I feel ya. I've occasionally thought about server-side Obj-C, but usually
dismiss it because I enjoy Python and Ruby so much. However, there are several
ideas I'd like to build out for cross-platform desktop apps (for developers),
and I really wish I could use Obj-C because I just flat-out enjoy programming
with that language.

------
lsllc
Cocotron has been at this for a while:

[http://www.cocotron.org/](http://www.cocotron.org/)

(EDIT: Gave Cocotron an 'a' it didn't deserve!)

~~~
pygy_
Cocotron (without "a") and GNUStep are intended as source-level compatibility
layers. You replace Apple's libraries with them at compile time, and obtain a
native binary or the target platform.

This project is akin to Wine. It allows to run OS X binaries on Linux, without
recompiling.

The Cocotron blog hasn't been updated in a while, but the project is still
alive:
[http://code.google.com/p/cocotron/source/list](http://code.google.com/p/cocotron/source/list)

------
United857
Previous HN discussion here:
[https://news.ycombinator.com/item?id=4893022](https://news.ycombinator.com/item?id=4893022)

------
jevinskie
Before this there was maloader [0] which was capable enough to run Apple's CLI
toolchain. Really quite simple shim code!

[0]: [https://github.com/shinh/maloader](https://github.com/shinh/maloader)

------
_glass
Reminds me of Étoilé [1] a Software Environment based on GNUstep, which was
quite promising when I was last interested in it (2008)

[1] [http://etoileos.com/](http://etoileos.com/)

------
marklarr
So, does this mean that objective-c (minus graphics) works? It'd be a pretty
big deal to be able to setup a CI server for unit tests on a linux box, rather
have having to get some alternative mac-in-the-cloud, or something else
equally ridiculous

------
general_failure
Surprised there are no comments about the icon. I think the icon is awesome
(so geeeeeeky)!

------
consonants
Is this mature enough to run dosbox in wine compiled for OS X? I want to know
how deep this rabbit hole can go.

~~~
mpyne
Once you get DOSBox running don't forget to boot up Win 3.11.

~~~
frozenport
Also 68k mac emulation, which one dude got to boot OS X...

------
braintalking
I'm currently playing with OS X ML 10.8.4 on custom hardware; (btw slowest
performance than other OSes, ram hungry [lots of eye candy thought ])

I find pretty interesting the UNIX terminal and X11 (Xquartz) where you can
ssh to your remote box or vm with linux and load GUI apps locally while code
is running in the remote box (like a sandbox).

Example command:...

ssh user@1.2.3.4 -X

iceweasel

...

and browser GUI will launch in your OSX (also work on linux) ( the magic is
the parameter -X , i discovered that recently, very useful, hope it helps
someone )

