
Darling 是 macOS 应用程序的运行时环境。
请注意,目前大多数 GUI 应用程序无法运行。
部分发行版的软件包可在 releases 页面下载。
构建说明请访问 Darling Docs。
Darling 支持 DPREFIX,它与 WINEPREFIX 非常相似。它们是虚拟的“chroot”环境,具有类似 macOS 的文件系统结构,可以在其中安全地安装软件。默认的 DPREFIX 位置是 ~/.darling,可通过导出同名环境变量来更改。前缀会在首次使用时自动创建并初始化。
请注意,我们使用 overlayfs 来创建前缀,因此不支持将前缀放在 NFS 或 eCryptfs 等文件系统上。特别地,如果您的家目录是加密的,默认前缀位置将无法正常工作。
让我们从一个 Hello world 开始:
$ darling shell echo Hello world
Hello world
恭喜,您已通过 Darling 的 OS X 系统调用模拟和运行时库打印出了 Hello world。
您可以使用 shell 内可用的 installer 工具安装 .pkg 软件包。它是 OS X 安装器的一个功能有限的简化版本:
$ darling shell
Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /
上述示例中的 Midnight Commander 软件包可在 此处下载。
您可以使用 uninstaller 命令卸载和列出软件包。
可以在 darling shell 中使用 hdiutil 来挂载和卸载 DMG 映像。以下是如何安装 Xcode 及其工具链和 SDK 的方法(注意 Xcode 本身尚无法运行):
Darling [~]$ hdiutil attach Xcode_7.2.dmg
/Volumes/Xcode_7.2
Darling [~]$ cp -r /Volumes/Xcode_7.2/Xcode.app /Applications
Darling [~]$ export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
Darling [~]$ echo 'void main() { puts("Hello world"); }' > helloworld.c
Darling [~]$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang helloworld.c -o helloworld
Darling [~]$ ./helloworld
Hello world
恭喜,您刚刚使用 Apple 的工具链编译并运行了自己的 Hello world 应用程序。
现在 Xcode 以 .xip 文件形式分发。可以使用 unxip 来安装它们:
cd /Applications
unxip Xcode_11.3.xip