Skip to content

(備份_勿參_舊版方法)鼠鬚管主程式編譯

onion edited this page Jan 8, 2023 · 1 revision

編譯環境準備

  • 下載安裝 Xcode

    https://itunes.apple.com/tw/app/xcode/id497799835?mt=12

  • 安裝 Xcode Command Line Tools

    xcode-select --install
  • 安裝 Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  • Homebrew 安裝 cmake、git 編譯工具

    brew install cmake git
  • 需 Python,Mac 原生已有

編譯

最新編譯時,務必更換為最新版 librime,舊版 librime 搭配最新更新鼠鬚管編譯會有問題。以下說明有關舊版編譯,僅留底參考用。

  • 從 GitHub 獲取檔案

    git clone --recursive https://github.com/rime/squirrel.git
  • 修正更新版錯誤(舊版不用)

    從 GitHub 獲取最新 librime 程式碼

    git clone --recursive https://github.com/rime/librime.git

    刪除 squirrel 資料夾中的 librime 資料夾,置換上列新下載的 librime 資料夾到 squirrel 內。

    於 squirrel 資料夾該層置換新修正的 Makefile 和 Squirrel.xcodeproj 內 project.pbxproj 兩個檔案。

    上述右鍵另存新檔並置換 Makefile 和 project.pbxproj。其修正 squirrel 對新舊版 librime 檔案路徑連結之不同,舊版多在 thirdparty 底下,新版則否。

  • 獲取 librime 插件檔案

    移到 squirrel 資料夾內,獲取插件檔案

    cd squirrel
    bash librime/install-plugins.sh rime/librime-sample
    bash librime/install-plugins.sh lotem/librime-octagram

    librime-charcode 插件,編譯後只能本機使用?!且需特別設定。參考一參考二參考三參考四。不推薦附加,因 lua 也可做出相同功能替代。

  • 獲取 librime-lua 插件檔案(舊版 librime 不要直接附加 librime-lua,請略過)

    已替換新版 librime 資料夾,librime-lua 插件可直接附加!

    如果不替換 librime 資料夾,為舊版舊分支 librime 核心,附加新版 librime-lua 會有問題,先不要附加。請單獨編譯最新 librime 核心,此時可附加 librime-lua,再替換核心即可。參考

    bash librime/install-plugins.sh hchunhui/librime-lua

    獲取 librime-lua 缺少之分支檔案

    cd ~/squirrel/librime/plugins/lua
    git clone https://github.com/hchunhui/librime-lua.git -b thirdparty --depth=1 thirdparty
    cd ~/squirrel
  • 修正源碼失效之網址(如已置換新 librime,不需修正)

    於文件 squirrel/librime/install-boost.sh 把以下源碼:

    download_url="https://dl.bintray.com/boostorg/release/${boost_version}/source/${boost_tarball}"

    修改為:

    download_url="https://boostorg.jfrog.io/artifactory/main/release/${boost_version}/source/${boost_tarball}"

  • Boost 構建核心 librime

    Boost 為開源且免費的 C++ 程序庫

    設置 BUILD_UNIVERSAL 告訴 make 將以 Boost 源庫去構建成通用 macOS 二進製文件

    export BUILD_UNIVERSAL=1

    沒有更換新 librime 用以下(如已置換新 librime 勿用)

    make -C librime xcode/thirdparty/boost
    export BOOST_ROOT="$(pwd)/librime/thirdparty/src/boost_1_75_0"

    已更換新 librime 用以下(舊版 librime 勿用)

    make -C librime xcode/deps/boost
    export BOOST_ROOT="$(pwd)/librime/deps/boost_1_78_0"
  • 完成編譯

    export BUILD_UNIVERSAL=1
    make deps
    make

    如要編譯指定版本可使用:

    for Mac computers with Apple Silicon make ARCHS='arm64'

    for Intel-based Mac make ARCHS='x86_64'

  • 編譯後 squirrel 主程式位置

    /Users/〔使用者名稱〕/squirrel/build/Release/Squirrel.app

替換更新 librime 核心

  • 沒使用 librime-lua 可略過!

  • 已替換新 librime,且前面已附加 librime-lua,可略過!

  • 替換和自行編譯方法請見 鼠鬚管核心 librime 編譯,不自行編譯可直接用 官方編譯 librime 核心 替換

    推薦自行編譯,librime 核心和 librime-lua 已有更版

補充插件缺少檔案

分享主程式問題

  • 上傳到網路空間再下載分享給他人,使用時,可能遇到 Mac 提示檔案損毀

  • 於使用方,其終端機輸入以下解決

    xattr -r -d com.apple.quarantine /Library/Input Methods/Squirrel.app
    

    路徑位置不同時,刪除後面路徑,App 拖拉進終端機,即可加入其路徑

    可先修改 app 再放入 /Library/Input Methods/

參考連結