桜技録

🐈🐈🐈🐈🐘

macOS 10.15向けにMozcをビルド

偉大な先駆者様。

環境

必要なもの

  • Ninja

  • Qt

いずれもHomebrewでインストール(Ninja 1.10.1 / Qt 5.15.1)。ビルド・スクリプトを動かすのに必要なPythonはOSプリインストールのもの(2.7.16)で問題なかった。

手順

基本は公式のHow to buildに従う。

リポジトリのclone

git clone https://github.com/google/mozc.git -b master --single-branch --recursive

cd mozc/src

以降の作業はcloneしたプロジェクト直下のsrcで行う。

ビルド

SDKとターゲットのバージョンを環境に合わせ、Qtのインストール場所をオプションで指定。

GYP_DEFINES="mac_sdk=10.15 mac_deployment_target=10.15" python build_mozc.py gyp --qtdir=/usr/local/opt/qt
python build_mozc.py build -c Release mac/mac.gyp:GoogleJapaneseInput gui/gui.gyp:config_dialog_main
python build_mozc.py build -c Release mac/mac.gyp:GoogleJapaneseInput mac/mac.gyp:gen_launchd_confs

が、下のエラーに遭遇。

/Users/sciencesakura/works/Clone/mozc/src/out_mac/Release/Breakpad/src/client/mac/sender/Breakpad.xib:global: error: Compiling for earlier than macOS 10.6 is no longer supported. [12]

エラー対処

コンパイル・ターゲットが古いということでBreakpad.xibを修正する。

  1. third_party/breakpad/src/client/mac/sender/Breakpad.xibXcodeで開く。エラーで指摘されたファイルとは異なるパスなので注意。

  2. 「Trust opening older file format?」と古くて安全でないフォーマットを新しいフォーマットに変換していいか訊かれるので「Open and Upgrade」で続ける。

  3. [Show the File inspector] > [Interface Builder Document] > [Document Editing] > [Build for] に「macOS 10.15 and Later」を指定して保存。

  4. Cleanして再ビルド。

インストール

成果物を所定の場所へ配置。

sudo cp -r out_mac/Release/Mozc.app /Library/Input\ Methods/
sudo cp out_mac/Release/gen/mac/org.mozc.inputmethod.Japanese.Converter.plist out_mac/Release/gen/mac/org.mozc.inputmethod.Japanese.Renderer.plist /Library/LaunchAgents

OSを再起動すると [System Preferences] > [Keyboard] > [Input Sources] でMozcが選択可能になる。