From 20b8588a8a064418a73d635efec20be3971ab9e8 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Tue, 10 Jun 2025 17:42:24 +0200 Subject: [PATCH 1/5] build: update the ndk version for android to 29 beta2 --- .github/workflows/android.yml | 2 +- platforms/android/app/build.gradle | 2 +- platforms/build-android.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 730979cf..9fec783e 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -46,7 +46,7 @@ jobs: - name: Setup NDK run: | - sdkmanager --install "ndk;29.0.13113456" + sdkmanager --install "ndk;29.0.13599879" - name: Build native libraries run: | diff --git a/platforms/android/app/build.gradle b/platforms/android/app/build.gradle index 6a521ba8..caa126d9 100644 --- a/platforms/android/app/build.gradle +++ b/platforms/android/app/build.gradle @@ -248,7 +248,7 @@ android { } compileSdkVersion 35 - ndkVersion "29.0.13113456" + ndkVersion "29.0.13599879" defaultConfig { if (buildAsApplication) { applicationId "com.github.oopetris" diff --git a/platforms/build-android.sh b/platforms/build-android.sh index 309fd096..dd7ee146 100755 --- a/platforms/build-android.sh +++ b/platforms/build-android.sh @@ -6,8 +6,8 @@ if [ ! -d "toolchains" ]; then mkdir -p toolchains fi -export NDK_VER_DOWNLOAD="r29-beta1" -export NDK_VER_DESC="r29-beta1" +export NDK_VER_DOWNLOAD="r29-beta2" +export NDK_VER_DESC="r29-beta2" export BASE_PATH="$PWD/toolchains/android-ndk-$NDK_VER_DESC" export ANDROID_NDK_HOME="$BASE_PATH" From 49e37fac45b7e013537bf9cf29e737abcf10ddb3 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Tue, 10 Jun 2025 17:50:19 +0200 Subject: [PATCH 2/5] fix: fix a few minor issues in the android compile script --- platforms/build-android.sh | 9 +++++---- platforms/build-web.sh | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/platforms/build-android.sh b/platforms/build-android.sh index dd7ee146..67dd8752 100755 --- a/platforms/build-android.sh +++ b/platforms/build-android.sh @@ -19,6 +19,7 @@ if [ ! -d "$BASE_PATH" ]; then if [ ! -e "android-ndk-$NDK_VER_DOWNLOAD-linux.zip" ]; then + echo "Downloading android NDK $NDK_VER_DESC" wget -q "https://dl.google.com/android/repository/android-ndk-$NDK_VER_DOWNLOAD-linux.zip" fi unzip -q "android-ndk-$NDK_VER_DOWNLOAD-linux.zip" @@ -40,7 +41,8 @@ if [ ! -e "$BASE_PATH/meta/platforms.json" ]; then fi -export SDK_VERSION=$(jq '.max' -M -r -c "$BASE_PATH/meta/platforms.json") +SDK_VERSION=$(jq '.max' -M -r -c "$BASE_PATH/meta/platforms.json") +export SDK_VERSION mapfile -t ARCH_KEYS < <(jq 'keys' -M -r -c "$BASE_PATH/meta/abis.json" | tr -d '[]"' | sed 's/,/\n/g') @@ -117,7 +119,7 @@ for INDEX in "${ARCH_KEYS_INDEX[@]}"; do ARM_TARGET_ARCH=$KEY ARM_TRIPLE=$ARM_NAME_TRIPLE$SDK_VERSION ARM_COMPILER_TRIPLE=$(echo "$RAW_JSON" | jq -M -r -c '."llvm_triple"') - ARM_TOOL_TRIPLE=$(echo "$ARM_NAME_TRIPLE$SDK_VERSION" | sed s/$ARCH/$ARCH_VERSION/) + ARM_TOOL_TRIPLE=$(echo "$ARM_NAME_TRIPLE$SDK_VERSION" | sed "s/$ARCH/$ARCH_VERSION/") export SYM_LINK_PATH=sym-$ARCH_VERSION @@ -396,7 +398,7 @@ llvm-config = '$LLVM_CONFIG' c_std = 'gnu11' cpp_std = 'c++23' c_args = [$COMPILE_FLAGS] -cpp_args = [$COMPILE_FLAGS] +cpp_args = [$COMPILE_FLAGS] c_link_args = [$LINK_FLAGS] cpp_link_args = [$LINK_FLAGS] @@ -438,7 +440,6 @@ EOF if [ "$COMPILE_TYPE" == "complete_rebuild" ] || [ ! -e "$BUILD_DIR" ]; then - # TODO: enbale hidapi, by not dependening on libusb, that is not availbale on android meson setup "$BUILD_DIR" \ "--prefix=$SYS_ROOT" \ "--wipe" \ diff --git a/platforms/build-web.sh b/platforms/build-web.sh index eff79458..1f5b3365 100755 --- a/platforms/build-web.sh +++ b/platforms/build-web.sh @@ -44,7 +44,8 @@ if [ ! -d "toolchains" ]; then mkdir -p toolchains fi -export EMSCRIPTEN_ROOT="$(pwd)/toolchains/emsdk" +EMSCRIPTEN_ROOT="$(pwd)/toolchains/emsdk" +export EMSCRIPTEN_ROOT export EMSCRIPTEN_RELEASE_TAG="4.0.8" From cf5b5945afdfdda83ac2aadb3a74358209d98188 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Tue, 10 Jun 2025 17:54:54 +0200 Subject: [PATCH 3/5] fix: add more errro options to bash scripts --- platforms/build-3ds.sh | 5 +++++ platforms/build-android.sh | 5 +++++ platforms/build-switch.sh | 5 +++++ platforms/build-web.sh | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/platforms/build-3ds.sh b/platforms/build-3ds.sh index 410316d8..204e6471 100755 --- a/platforms/build-3ds.sh +++ b/platforms/build-3ds.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash +# Exit immediately if a command exits with a non-zero status. set -e +## Treat undefined variables as an error +set -u +# fails if any part of a pipeline (|) fails +set -o pipefail ## options: "smart, complete_rebuild" export COMPILE_TYPE="smart" diff --git a/platforms/build-android.sh b/platforms/build-android.sh index 67dd8752..5fe3b6c8 100755 --- a/platforms/build-android.sh +++ b/platforms/build-android.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash +# Exit immediately if a command exits with a non-zero status. set -e +## Treat undefined variables as an error +set -u +# fails if any part of a pipeline (|) fails +set -o pipefail if [ ! -d "toolchains" ]; then mkdir -p toolchains diff --git a/platforms/build-switch.sh b/platforms/build-switch.sh index 31ae71a7..a8b8e005 100755 --- a/platforms/build-switch.sh +++ b/platforms/build-switch.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash +# Exit immediately if a command exits with a non-zero status. set -e +## Treat undefined variables as an error +set -u +# fails if any part of a pipeline (|) fails +set -o pipefail ## options: "smart, complete_rebuild" export COMPILE_TYPE="smart" diff --git a/platforms/build-web.sh b/platforms/build-web.sh index 1f5b3365..6be8a770 100755 --- a/platforms/build-web.sh +++ b/platforms/build-web.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash +# Exit immediately if a command exits with a non-zero status. set -e +## Treat undefined variables as an error +set -u +# fails if any part of a pipeline (|) fails +set -o pipefail ## options: "smart, complete_rebuild" export COMPILE_TYPE="smart" From fd3b050f01fd1cba0f7c288c9b2f6e1fc87c853b Mon Sep 17 00:00:00 2001 From: Totto16 Date: Tue, 10 Jun 2025 18:19:08 +0200 Subject: [PATCH 4/5] build: android: update agp to 8.10.1 and to gradle 8.14.2 --- platforms/android/.gitignore | 1 + platforms/android/build.gradle | 2 +- platforms/android/gradle/wrapper/gradle-wrapper.properties | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/platforms/android/.gitignore b/platforms/android/.gitignore index a3204a44..92315aab 100644 --- a/platforms/android/.gitignore +++ b/platforms/android/.gitignore @@ -2,3 +2,4 @@ app/build/ app/.cxx /local.properties +build/reports/ diff --git a/platforms/android/build.gradle b/platforms/android/build.gradle index 3e497de8..fa574715 100644 --- a/platforms/android/build.gradle +++ b/platforms/android/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:8.9.1' + classpath 'com.android.tools.build:gradle:8.10.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/platforms/android/gradle/wrapper/gradle-wrapper.properties b/platforms/android/gradle/wrapper/gradle-wrapper.properties index d1cdb434..853ad7dc 100644 --- a/platforms/android/gradle/wrapper/gradle-wrapper.properties +++ b/platforms/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Oct 02 13:43:32 CEST 2024 +#Tue Jun 10 18:14:41 CEST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 5d010162b6e150a8c655abd87683338060d44ca8 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Tue, 10 Jun 2025 18:39:11 +0200 Subject: [PATCH 5/5] fix: MSYS2, downgrade more packages so that gcc-libs can be installed correctly --- .github/workflows/build.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 99838c8c..905e7326 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -136,8 +136,17 @@ jobs: with: msystem: ${{matrix.config.environment == 'mingw' && 'MINGW64' || 'UCRT64'}} # gcc-libs 14 don't provbide the virtual package cc-libs, only gcc-libs 15 (see https://github.com/msys2/MINGW-packages/commit/9fa882f7eb6f639780a13df016497a93e45544ac) provide it, so until we use gcc 15, nghttp3 < 1.10.1 needs to be used (see https://github.com/msys2/MINGW-packages/commit/16b7f94772f29f1c207764701d863d266a5de64c) since 1.10.1 needs cc-libs and not gcc-libs. The newest version matching that constraint is 1.9.0 + # for the other pavckages see https://github.com/msys2/MINGW-packages/commit/62308009e77d772a126313626b194e503b0e5135 install: | nghttp3=1.9 + SDL2=2.32.4 + aom=3.12.0 + curl=8.13.0 + gnutls=3.8.8 + libarchive=3.7.9 + mpg123=1.32.9 + ngtcp2=1.12.0 + python=3.12.9-4 gcc=14 gcc-libs=! - name: Setup Clang (Linux) (libc++)