mirror of
https://github.com/fcitx5-android/fcitx5-android.git
synced 2026-08-02 20:16:06 +08:00
Update to Android NDK r28 (#710)
This commit is contained in:
parent
d819a914a0
commit
cbf7682bb5
5
.github/workflows/fdroid.yml
vendored
5
.github/workflows/fdroid.yml
vendored
@ -90,6 +90,11 @@ jobs:
|
||||
(.versionCode = $versionCode) |=
|
||||
(.commit = \"$commitHash\")
|
||||
" $metadata
|
||||
# TODO: remove this afterwards
|
||||
# https://github.com/orgs/community/discussions/26676
|
||||
yq -i ".Builds[0] |=
|
||||
(.commit = \"${{ github.event.pull_request.head.sha }}\")
|
||||
" $metadata
|
||||
prebuiltTreeURL=$(curl -L \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ github.token }}" \
|
||||
|
||||
11
.github/workflows/nix.yml
vendored
11
.github/workflows/nix.yml
vendored
@ -7,22 +7,17 @@ on:
|
||||
|
||||
jobs:
|
||||
develop:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-24.04
|
||||
- macos-14
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Fetch source code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: recursive
|
||||
- uses: cachix/install-nix-action@v30
|
||||
- uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: cachix/cachix-action@v15
|
||||
- uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: fcitx5-android
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
- name: Setup Android environment
|
||||
uses: android-actions/setup-android@v3
|
||||
with:
|
||||
packages: cmake;3.22.1
|
||||
packages: cmake;3.31.6
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
|
||||
2
.github/workflows/pull_request.yml
vendored
2
.github/workflows/pull_request.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
|
||||
- name: Install Android NDK
|
||||
run: |
|
||||
sdkmanager --install "cmake;3.22.1"
|
||||
sdkmanager --install "cmake;3.31.6"
|
||||
|
||||
- name: Install system dependencies (Ubuntu)
|
||||
if: ${{ startsWith(matrix.os, 'ubuntu') }}
|
||||
|
||||
1
.gitmodules
vendored
1
.gitmodules
vendored
@ -4,6 +4,7 @@
|
||||
[submodule "lib/fcitx5/src/main/cpp/prebuilt"]
|
||||
path = lib/fcitx5/src/main/cpp/prebuilt
|
||||
url = https://github.com/fcitx5-android/prebuilt.git
|
||||
shallow = true
|
||||
[submodule "lib/fcitx5-lua/src/main/cpp/fcitx5-lua"]
|
||||
path = lib/fcitx5-lua/src/main/cpp/fcitx5-lua
|
||||
url = https://github.com/fcitx/fcitx5-lua.git
|
||||
|
||||
@ -21,9 +21,9 @@ Builds:
|
||||
sudo:
|
||||
- apt-get update
|
||||
- apt-get install -y g++ libtool make automake gettext bzip2 xz-utils zstd pkg-config
|
||||
cmake extra-cmake-modules ninja-build libfmt-dev libboost-all-dev libfcitx5utils-dev opencc
|
||||
ghc cabal-install libghc-shake-dev libghc-aeson-pretty-dev libghc-js-flot-data
|
||||
haskell-js-dgtable-utils fcitx5-modules python-is-python3
|
||||
cmake extra-cmake-modules ninja-build libfmt-dev libsystemd-dev libboost-all-dev
|
||||
ghc cabal-install libghc-shake-dev libghc-aeson-pretty-dev libghc-js-flot-data haskell-js-dgtable-utils
|
||||
python-is-python3 opencc
|
||||
gradle:
|
||||
- yes
|
||||
binary: https://jenkins.fcitx-im.org/job/android/job/fcitx5-android/lastSuccessfulBuild/artifact/out/org.fcitx.fcitx5.android-%v-%abi-release.apk
|
||||
@ -32,7 +32,7 @@ Builds:
|
||||
rm:
|
||||
- lib/fcitx5/src/main/cpp/prebuilt
|
||||
prebuild:
|
||||
- sdkmanager 'cmake;3.22.1'
|
||||
- sdkmanager 'cmake;3.31.6'
|
||||
- sed -i -e '/ImportQualifiedPost/d' $$fcitx5-android-prebuilder$$/src/Main.hs
|
||||
- sed -i -e 's/import \(.*\) qualified as/import qualified \1 as/g' $$fcitx5-android-prebuilder$$/src/*.hs
|
||||
- sed -i -e 's|https://maven.pkg.github.com|https://jitpack.io|g' ../build-logic/convention/build.gradle.kts
|
||||
@ -43,12 +43,11 @@ Builds:
|
||||
- build-logic/convention/build
|
||||
build:
|
||||
- pushd $$fcitx5-android-prebuilder$$
|
||||
- ABI=%abi ANDROID_NDK_ROOT=$$NDK$$ CMAKE_VERSION=3.22.1 ANDROID_PLATFORM=23
|
||||
COMP_SPELL_DICT=/usr/lib/x86_64-linux-gnu/fcitx5/libexec/comp-spell-dict
|
||||
./build-cabal -j spell-dict fmt libuv libintl-lite boost marisa opencc libime lua chinese-addons-data zstd
|
||||
- ABI=%abi ANDROID_NDK_ROOT=$$NDK$$ CMAKE_VERSION=3.31.6 ANDROID_PLATFORM=23
|
||||
./build-cabal -j app
|
||||
- popd
|
||||
- mv $$fcitx5-android-prebuilder$$/build ../lib/fcitx5/src/main/cpp/prebuilt
|
||||
ndk: 25.2.9519653
|
||||
ndk: 28.0.13004108
|
||||
gradleprops:
|
||||
- buildABI=%abi
|
||||
- buildTimestamp=%ts
|
||||
|
||||
@ -31,10 +31,6 @@ add_subdirectory(androidfrontend)
|
||||
add_subdirectory(androidkeyboard)
|
||||
add_subdirectory(androidnotification)
|
||||
|
||||
# prebuilt fmt
|
||||
set(fmt_DIR "${PREBUILT_DIR}/fmt/${ANDROID_ABI}/lib/cmake/fmt")
|
||||
find_package(fmt)
|
||||
|
||||
# prebuilt libuv
|
||||
set(libuv_DIR "${PREBUILT_DIR}/libuv/${ANDROID_ABI}/lib/cmake/libuv")
|
||||
find_package(libuv)
|
||||
@ -46,7 +42,7 @@ find_package(Boost 1.86.0 REQUIRED COMPONENTS headers iostreams CONFIG)
|
||||
set(CHINESE_ADDONS_PINYIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../lib/fcitx5-chinese-addons/src/main/cpp/fcitx5-chinese-addons/im/pinyin")
|
||||
add_library(pinyin-customphrase STATIC "${CHINESE_ADDONS_PINYIN_DIR}/customphrase.cpp")
|
||||
target_include_directories(pinyin-customphrase INTERFACE "${CHINESE_ADDONS_PINYIN_DIR}")
|
||||
target_link_libraries(pinyin-customphrase PRIVATE fmt::fmt-header-only Fcitx5::Utils LibIME::Core)
|
||||
target_link_libraries(pinyin-customphrase PRIVATE Fcitx5::Utils LibIME::Core)
|
||||
|
||||
add_library(native-lib SHARED native-lib.cpp)
|
||||
target_link_libraries(native-lib
|
||||
|
||||
@ -12,8 +12,8 @@ object Versions {
|
||||
const val minSdk = 23
|
||||
const val targetSdk = 35
|
||||
|
||||
const val defaultCMake = "3.22.1"
|
||||
const val defaultNDK = "25.2.9519653"
|
||||
const val defaultCMake = "3.31.6"
|
||||
const val defaultNDK = "28.0.13004108"
|
||||
const val defaultBuildTools = "35.0.1"
|
||||
|
||||
// NOTE: increase this value to bump version code
|
||||
|
||||
18
flake.lock
generated
18
flake.lock
generated
@ -3,11 +3,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -21,11 +21,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -36,11 +36,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"lastModified": 1743583204,
|
||||
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@ -30,11 +30,11 @@
|
||||
|
||||
# Update versions here
|
||||
# This should match to build-logic/convention/src/main/kotlin/Versions.kt
|
||||
cmakeVersion = "3.22.1";
|
||||
buildToolsVersion = "35.0.0";
|
||||
cmakeVersion = "3.31.6";
|
||||
buildToolsVersion = "35.0.1";
|
||||
platformToolsVersion = "35.0.2";
|
||||
platformVersion = "35";
|
||||
ndkVersion = "25.2.9519653";
|
||||
ndkVersion = "28.0.13004108";
|
||||
|
||||
includeNDK = true;
|
||||
androidComposition = final.androidenv.composeAndroidPackages {
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
[versions]
|
||||
androidGradlePlugin = "8.8.2"
|
||||
kotlin = "2.1.10"
|
||||
ksp = "2.1.10-1.0.31"
|
||||
androidGradlePlugin = "8.9.1"
|
||||
kotlin = "2.1.20"
|
||||
ksp = "2.1.20-1.0.31"
|
||||
lifecycle = "2.8.7"
|
||||
navigation = "2.8.8"
|
||||
navigation = "2.8.9"
|
||||
room = "2.6.1"
|
||||
splitties = "3.0.0"
|
||||
aboutlibraries = "11.6.3"
|
||||
|
||||
@ -31,13 +31,10 @@ find_package(Fcitx5ModuleLuaAddonLoader MODULE)
|
||||
# dummy target to export src/main/cpp/cmake
|
||||
add_custom_target(cmake)
|
||||
|
||||
# prebuilt fmt
|
||||
set(fmt_DIR "${PREBUILT_DIR}/fmt/${ANDROID_ABI}/lib/cmake/fmt")
|
||||
find_package(fmt)
|
||||
|
||||
# prebuilt boost
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH "${PREBUILT_DIR}/boost/${ANDROID_ABI}/lib/cmake")
|
||||
find_package(Boost 1.86.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
find_package(Boost 1.87.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
add_compile_definitions("BOOST_ALL_NO_EMBEDDED_GDB_SCRIPTS")
|
||||
|
||||
# prebuilt marisa-tire, OpenCC needs it
|
||||
set(marisa_DIR "${PREBUILT_DIR}/marisa/${ANDROID_ABI}/lib/cmake/marisa")
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 4e6ba3e12aa0d48fb4599030092073adbbf4070d
|
||||
Subproject commit 12d6bdff68123c38d60964c7e211c7929a088a16
|
||||
@ -17,10 +17,6 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
# cmake/FindECM.cmake
|
||||
find_package(ECM)
|
||||
|
||||
# prebuilt fmt
|
||||
set(fmt_DIR "${PREBUILT_DIR}/fmt/${ANDROID_ABI}/lib/cmake/fmt")
|
||||
find_package(fmt)
|
||||
|
||||
# prebuilt libintl-lite
|
||||
set(LibIntl_DIR "${PREBUILT_DIR}/libintl-lite/${ANDROID_ABI}/lib/cmake")
|
||||
find_package(LibIntl)
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 7745ce431ec7140a88437aa6b62ef7852d2232fa
|
||||
Subproject commit b4405d70a6d58ac94b9f06a446e84f777ea5f3b7
|
||||
@ -1 +1 @@
|
||||
Subproject commit 498e68f9af9ce3ce4d81b337ecefa6c8f3bdfa72
|
||||
Subproject commit 2936527dfd5209ee3d96fc25e6d1b1fb0673669a
|
||||
@ -16,13 +16,10 @@ find_package(Fcitx5Utils MODULE)
|
||||
# dummy target to export src/main/cpp/cmake
|
||||
add_custom_target(cmake)
|
||||
|
||||
# prebuilt fmt
|
||||
set(fmt_DIR "${PREBUILT_DIR}/fmt/${ANDROID_ABI}/lib/cmake/fmt")
|
||||
find_package(fmt)
|
||||
|
||||
# prebuilt boost
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH "${PREBUILT_DIR}/boost/${ANDROID_ABI}/lib/cmake")
|
||||
find_package(Boost 1.86.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
find_package(Boost 1.87.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
add_compile_definitions("BOOST_ALL_NO_EMBEDDED_GDB_SCRIPTS")
|
||||
|
||||
# prebuilt zstd
|
||||
set(zstd_DIR "${PREBUILT_DIR}/zstd/${ANDROID_ABI}/lib/cmake/zstd")
|
||||
|
||||
@ -6,7 +6,9 @@ find_package(libime REQUIRED CONFIG)
|
||||
|
||||
if (NOT TARGET LibIME::Core)
|
||||
# fix target dependency
|
||||
set_target_properties(libime::IMECore PROPERTIES INTERFACE_LINK_LIBRARIES fcitx5::Fcitx5Utils)
|
||||
set_target_properties(libime::IMECore PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "fcitx5::Fcitx5Utils;Boost::boost"
|
||||
)
|
||||
# fix target name
|
||||
add_library(LibIME::Core ALIAS libime::IMECore)
|
||||
endif()
|
||||
|
||||
@ -8,7 +8,6 @@ find_package(LibIMECore MODULE)
|
||||
|
||||
if (NOT TARGET LibIME::Pinyin)
|
||||
# fix target dependency
|
||||
set_target_properties(libime::IMEPinyin PROPERTIES INTERFACE_LINK_LIBRARIES fcitx5::Fcitx5Utils)
|
||||
set_target_properties(libime::IMEPinyin PROPERTIES INTERFACE_LINK_LIBRARIES libime::IMECore)
|
||||
# fix target name
|
||||
add_library(LibIME::Pinyin ALIAS libime::IMEPinyin)
|
||||
|
||||
@ -8,8 +8,7 @@ find_package(LibIMECore MODULE)
|
||||
|
||||
if (NOT TARGET LibIME::Table)
|
||||
# fix target dependency
|
||||
set_target_properties(libime::IMETable PROPERTIES INTERFACE_LINK_LIBRARIES fcitx5::Fcitx5Utils)
|
||||
set_target_properties(libime::IMEPinyin PROPERTIES INTERFACE_LINK_LIBRARIES libime::IMECore)
|
||||
set_target_properties(libime::IMETable PROPERTIES INTERFACE_LINK_LIBRARIES libime::IMECore)
|
||||
# fix target name
|
||||
add_library(LibIME::Table ALIAS libime::IMETable)
|
||||
endif()
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 58414fc0d42c4a59881e929f0dd8cb070b2da509
|
||||
Subproject commit 020b4573ff13e7e0f474e587dd26c2f5eea55373
|
||||
@ -1 +1 @@
|
||||
Subproject commit bd595148534b547fc93306988dc2b4a915dd4215
|
||||
Subproject commit d240b95acb16cb54fff57bae8844e2925f6fd8fc
|
||||
@ -1 +1 @@
|
||||
Subproject commit b935388cbae3ed9c4441bd81ff46473df5bf8faf
|
||||
Subproject commit 45300f3fdbccf816ef63a2bfa90f16f694bb6cf9
|
||||
@ -26,13 +26,10 @@ set(CMAKE_MODULE_PATH ${FCITX5_CHINESE_ADDONS_CMAKE_MODULES} ${CMAKE_MODULE_PATH
|
||||
|
||||
find_package(Fcitx5ModulePunctuation MODULE)
|
||||
|
||||
# prebuilt fmt
|
||||
set(fmt_DIR "${PREBUILT_DIR}/fmt/${ANDROID_ABI}/lib/cmake/fmt")
|
||||
find_package(fmt)
|
||||
|
||||
# prebuilt boost
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH "${PREBUILT_DIR}/boost/${ANDROID_ABI}/lib/cmake")
|
||||
find_package(Boost 1.86.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
find_package(Boost 1.87.0 REQUIRED COMPONENTS iostreams CONFIG)
|
||||
add_compile_definitions("BOOST_ALL_NO_EMBEDDED_GDB_SCRIPTS")
|
||||
|
||||
# prebuilt zstd
|
||||
set(zstd_DIR "${PREBUILT_DIR}/zstd/${ANDROID_ABI}/lib/cmake/zstd")
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 7ad0e426f9af2105033bd1afe52c0cb3057b127e
|
||||
Subproject commit eeb43c90fa6ef38f4983b12344a6606cfcf7380d
|
||||
@ -34,9 +34,8 @@ set_target_properties(Rime_static PROPERTIES
|
||||
|
||||
# https://github.com/rime/librime/blob/1.9.0/src/rime_api.h#L663
|
||||
# https://stackoverflow.com/questions/805555/ld-linker-question-the-whole-archive-option
|
||||
# use $<LINK_LIBRARY:WHOLE_ARCHIVE,Rime_static> when cmake updated to 3.24+
|
||||
# https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html#link-features
|
||||
set(RIME_TARGET "-Wl,--whole-archive" Rime_static "-Wl,--no-whole-archive")
|
||||
set(RIME_TARGET $<LINK_LIBRARY:WHOLE_ARCHIVE,Rime_static>)
|
||||
set(RIME_DATA_DIR "${CMAKE_INSTALL_DATADIR}/rime-data")
|
||||
add_subdirectory(fcitx5-rime)
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 9155bf3ffc5bb42460d87303332d0cf5b8481ecc
|
||||
Subproject commit 81c0a15b4a201a0bc17a5e1c8161696267d16dca
|
||||
@ -1 +1 @@
|
||||
Subproject commit 13674aadebc482e418067c1980c7f69bf4a30f90
|
||||
Subproject commit 46f14a56244ddeeba173dbe5415f868cdff8ea56
|
||||
@ -1 +1 @@
|
||||
Subproject commit ca2953c8acf967eb87c7ea8eef8558709d7e503c
|
||||
Subproject commit e8d2a893d2834f1b408c6351718428fe17f0dfba
|
||||
@ -1 +1 @@
|
||||
Subproject commit 3157f28506e15a04a6e4a28bf6afaba8f1f0b418
|
||||
Subproject commit 5130b0f48981242d9934ea5369a3fdaece48f446
|
||||
Loading…
x
Reference in New Issue
Block a user