Darling soll Mac-OS-Software unter Linux ausführen
Unter Linux arbeitet ein Team von Entwicklern seit 20 Jahren an Wine, das Windows-Software unter Linux lauffähig machen will. Immer noch wird nicht der gesamte Softwarepool unterstützt. Jetzt versucht der tschechische Entwickler Luboš Doležel das gleiche Ziel für Mac-OS-X-Software zu erreichen.
Wie so oft bei freier Software wurde die Entwicklung von Darling durch das Fehlen einer Möglichkeit ausgelöst. Doležel, der bis dahin nur Anwender von Mac OS war, beklagte das Nichtvorhandensein einer Abstraktionsschicht, wie sie Wine für Linux bietet. So entschied er sich, mit der Entwicklung zu beginnen. Er hoffte, dies sei bei Mac OS wegen des Unix-Unterbaus einfacher als bei Windows.
„Mein Ziel ist binär-kompatible Unterstützung für Darwin-/OS-X-Applikationen unter Linux und die Bereitstellung von Werkzeugen für die Handhabung und Installation dieser Applikationen“, so Doležel über sein Vorhaben. Darwin ist der Unix-Unterbau des Betriebssystems von Apple und bildet die Grundlage für Mac OS X und iOS. Somit erklärt sich auch der Name Darling, der sich aus Darwin und Linux zusammensetzt.
Die Arbeitsweise von Darling ist der von Wine sehr ähnlich. Grob gesagt parst es ausführbare Dateien, lädt sie in den Hauptspeicher und führt sie aus. Dazu muss vorab sichergestellt werden, dass ein Satz ABI-kompatibler Bibliotheken vorhanden ist, der die ABI-Funktionalität von Mac OS unter Linux nachbildet. Am einfachsten geht das durch direkte Übertragung zwischen den ABIs oder in Form eines Wrappers.
Doležel arbeitet seit rund einem Jahr an Darling und bezeichnet den Projektstand als „in einer frühen Phase“. Bisher funktioniert eine Reihe von Konsolen-Applikationen wie beispielsweise Midnight Commander, Bash, Vim oder Apples GCC (GNU Compiler Collection). „Diese Apps sind am einfachsten umzusetzen, auch wenn der Begriff einfach nicht wirklich zutrifft“, erläutert Doležel und fährt fort, ihm sei klar, dass „das noch nicht viel ist, aber es beweist, dass Darling eine solide Basis zum weiteren Ausbau darstellt.“
Ein anstehendes Problem stellen Dateien mit der Endung .dmg und .pkg dar. Um dmg-Dateien einhängen zu können, hat Doležel ein Fuse-Modul erstellt, welches das Einhängen unter Linux als normaler User ermöglicht. Ein Installer für pkg-Dateien ist ebenfalls in Arbeit.
Wer Darling zu Demonstrationszwecken testen möchte, muss das Programm aus dem Quellcode selbst bauen und dann mit dem Befehl dyld starten. Weitere technische Details bietet das Wiki des Projekts.