diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0430c89..1856f24 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,6 +47,10 @@ jobs: if: ${{ matrix.arch == 'x86_64' }} run: ./check-validity.sh + - name: Setup tmate session + if: ${{ failure() }} + uses: mxschmitt/action-tmate@v3 + release: needs: build if: ${{ github.ref == 'refs/heads/master' }} diff --git a/cache/README.md b/cache/README.md new file mode 100644 index 0000000..d089126 --- /dev/null +++ b/cache/README.md @@ -0,0 +1,3 @@ +This directory caches tarball of build dependencies +(downloaded from [prebuilder](https://github.com/fcitx-contrib/fcitx5-macos-prebuilder/releases)), +which will be extracted to `/tmp/fcitx5`. diff --git a/common.sh b/common.sh index 4c00fd1..5be9ddb 100644 --- a/common.sh +++ b/common.sh @@ -3,6 +3,7 @@ name=$1 ROOT=`pwd` ADDON_ROOT=$ROOT/fcitx5-$name DESTDIR=$ROOT/build/$name +CACHE_DIR=$ROOT/cache # This is the same with INSTALL_PREFIX of prebuilder INSTALL_PREFIX=/tmp/fcitx5 @@ -14,29 +15,22 @@ else ARCH=$2 fi -# TODO: prebuild all homebrew dependencies -if [[ $ARCH == x86_64 ]]; then - HOMEBREW_PREFIX=/usr/local -else - HOMEBREW_PREFIX=/opt/homebrew -fi - : "${CMAKE_BUILD_TYPE:=Release}" install_deps() { for dep in "$@"; do file=$dep-$ARCH.tar.bz2 - [[ -f ../$file ]] || wget -P .. https://github.com/fcitx-contrib/fcitx5-macos-prebuilder/releases/download/latest/$file - tar xjvf ../$file -C $INSTALL_PREFIX + [[ -f $CACHE_DIR/$file ]] || wget -P $CACHE_DIR https://github.com/fcitx-contrib/fcitx5-macos-prebuilder/releases/download/latest/$file + tar xjvf $CACHE_DIR/$file -C $INSTALL_PREFIX done } f5m_configure() { rm -rf build - PKG_CONFIG_PATH=$INSTALL_PREFIX/lib/pkgconfig:$HOMEBREW_PREFIX/lib/pkgconfig cmake -B build -G Ninja \ + PKG_CONFIG_PATH=$INSTALL_PREFIX/lib/pkgconfig cmake -B build -G Ninja \ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ - -DCMAKE_FIND_ROOT_PATH="/Library/Input Methods/Fcitx5.app/Contents;$INSTALL_PREFIX;$HOMEBREW_PREFIX" \ + -DCMAKE_FIND_ROOT_PATH="/Library/Input Methods/Fcitx5.app/Contents;$INSTALL_PREFIX" \ -DCMAKE_OSX_ARCHITECTURES=$ARCH "$@" } @@ -49,7 +43,7 @@ f5m_install() { DESTDIR=$DESTDIR cmake --install build for dep in "$@"; do file=$dep-$ARCH.tar.bz2 - tar xjvf ../$file -C $DESTDIR$INSTALL_PREFIX share + tar xjvf $CACHE_DIR/$file -C $DESTDIR$INSTALL_PREFIX share done } diff --git a/fcitx5-rime b/fcitx5-rime index f1aab98..15215dd 160000 --- a/fcitx5-rime +++ b/fcitx5-rime @@ -1 +1 @@ -Subproject commit f1aab98e96470c242cab72edb96d6a67c849d020 +Subproject commit 15215dd68b04bbba25ca77bd47b9d65ad4a42982 diff --git a/patches/rime.patch b/patches/rime.patch index bbc0794..2c94242 100644 --- a/patches/rime.patch +++ b/patches/rime.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6fdc402..3d05b15 100644 +index 6233bea..9958710 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,8 @@ find_package(PkgConfig REQUIRED) @@ -12,16 +12,3 @@ index 6fdc402..3d05b15 100644 endif() if ("${Rime_VERSION}" VERSION_LESS "1.7.0") -diff --git a/src/rimeengine.cpp b/src/rimeengine.cpp -index e9e9d8d..0965f92 100644 ---- a/src/rimeengine.cpp -+++ b/src/rimeengine.cpp -@@ -291,7 +291,7 @@ RimeEngine::RimeEngine(Instance *instance) - : instance_(instance), api_(EnsureRimeApi()), - factory_([this](InputContext &ic) { return new RimeState(this, ic); }), - sessionPool_(this, getSharedStatePolicy()) { -- if constexpr (isAndroid()) { -+ if constexpr (true) { - const auto &sp = fcitx::StandardPath::global(); - std::string defaultYaml = sp.locate(fcitx::StandardPath::Type::Data, - "rime-data/default.yaml"); diff --git a/scripts/chinese-addons.sh b/scripts/chinese-addons.sh index fc44de7..d2376d5 100755 --- a/scripts/chinese-addons.sh +++ b/scripts/chinese-addons.sh @@ -21,5 +21,5 @@ f5m_configure "${ARGS[@]}" f5m_build f5m_install libime # Install zh_CN.lm and zh_CN.lm.predict which are not in share -tar xjvf ../libime-$ARCH.tar.bz2 -C $DESTDIR$INSTALL_PREFIX lib/libime +tar xjvf $CACHE_DIR/libime-$ARCH.tar.bz2 -C $DESTDIR$INSTALL_PREFIX lib/libime f5m_make_tarball