このプロジェクトについて
Ciderは、Darlingからフォークされ、GPLv3以降でライセンスされた、Linux上でmacOSアプリケーションを実行するためのランタイム環境です。独自のdyld、libSystem、カーネルエミュレーションレイヤーを通じて、Linuxカーネル上でMach-Oバイナリを直接実行します。仮想マシンもAppleのカーネルも使用しません。
プロジェクトは初期段階にあり、コマンドラインソフトウェアは動作しますが、ほとんどのGUIアプリケーションは動作しません。リポジトリ内の自動チェックでは、シェル、launchdを介した起動、コンテナ内でのNixの実行、JavaScriptCore、libdispatch、Security、CoreAudio、スクリプティングブリッジ、Wayland上での簡単なAppKitウィンドウ、ゲストバイナリがWaylandコンポジタに到達することなどを検証しています。GUIバックエンドはWaylandのみで、X11やDISPLAYへのフォールバックはありません。LibreOfficeについては、レンダリング、キーボードおよびマウス入力の受け付け、リサイズ、メニューやファイルダイアログの表示、画像の挿入が可能であると文書化されていますが、これは自動チェックではなく手動で行われています。
CiderはNixとBuck2でビルドします。Nixが唯一サポートされているパッケージング方法で、ディストリビューションパッケージやtarballはありません。フルビルドは大規模で、GUIフレームワーク、プライベートフレームワーク、スクリプト言語を省いた最小ビルドも利用可能です。インストールはNixOSではモジュールを通じて、その他の環境ではnix profile installコマンドでサポートされています。
CiderはWINEPREFIXに似たCIDERPREFIXを使用します。これはmacOSの形をしたファイルシステムを持つ仮想的なchroot風の環境で、ソフトウェアを安全にインストールできます。デフォルトのプレフィックスは~/.ciderで、CIDERPREFIX環境変数で設定可能です。プレフィックスはoverlayfsに依存しているため、NFSやeCryptfs上には配置できず、デフォルトの場所は暗号化されたホームディレクトリでは機能しません。
リポジトリは、ゲスト側のDarwinソース、ホスト側のLinuxソース、Buck2のルールとツールチェーン、ベンダーされたアップストリームコンポーネント、Nixパッケージング、nushellベースの開発者向けスクリプトで構成されています。ツールチェーンを入手した後、Buck2を直接操作することでNixなしでも開発が可能で、単一ファイルの編集後の高速な再ビルドが可能です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.