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/.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++) 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/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/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 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 309fd096..5fe3b6c8 100755 --- a/platforms/build-android.sh +++ b/platforms/build-android.sh @@ -1,13 +1,18 @@ #!/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 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" @@ -19,6 +24,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 +46,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 +124,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 +403,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 +445,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-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 eff79458..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" @@ -44,7 +49,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"