diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 1142704d..52f1d643 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -46,7 +46,7 @@ jobs: - name: Setup NDK run: | - sdkmanager --install "ndk;28.0.12674087" + sdkmanager --install "ndk;28.0.12916984" - name: Build native libraries run: | diff --git a/platforms/android/app/build.gradle b/platforms/android/app/build.gradle index f21e86ca..4402992c 100644 --- a/platforms/android/app/build.gradle +++ b/platforms/android/app/build.gradle @@ -248,7 +248,7 @@ android { } compileSdkVersion 35 - ndkVersion "28.0.12674087" + ndkVersion "28.0.12916984" defaultConfig { if (buildAsApplication) { applicationId "com.github.oopetris" diff --git a/platforms/build-android.sh b/platforms/build-android.sh index 7cd318b3..48c068fc 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="r28-beta2" -export NDK_VER_DESC="r28-beta2" +export NDK_VER_DOWNLOAD="r28-beta3" +export NDK_VER_DESC="r28-beta3" export BASE_PATH="$PWD/toolchains/android-ndk-$NDK_VER_DESC" export ANDROID_NDK_HOME="$BASE_PATH" diff --git a/platforms/build-web.sh b/platforms/build-web.sh index 8da584df..75bc6dc7 100755 --- a/platforms/build-web.sh +++ b/platforms/build-web.sh @@ -23,13 +23,10 @@ PATCH_DIR="platforms/emscripten" if ! [ -e "$EMSCRIPTEN_PACTH_FILE" ]; then ##TODO: upstream those patches - # see: https://github.com/emscripten-core/emscripten/pull/18379/commits - # and: https://github.com/emscripten-core/emscripten/pull/18379 + # see: https://github.com/emscripten-core/emscripten/pull/18379 # and: https://github.com/emscripten-core/emscripten/pull/22946 git apply --unsafe-paths -p1 --directory="$EMSCRIPTEN_UPSTREAM_ROOT" "$PATCH_DIR/sdl2_image_port.diff" - git apply --unsafe-paths -p1 --directory="$EMSCRIPTEN_UPSTREAM_ROOT" "$PATCH_DIR/sdl2_mixer_port.diff" - git apply --unsafe-paths -p1 --directory="$EMSCRIPTEN_UPSTREAM_ROOT" "$PATCH_DIR/default_settings.diff" touch "$EMSCRIPTEN_PACTH_FILE" fi @@ -40,7 +37,7 @@ fi EMSDK_QUIET=1 source "$EMSCRIPTEN_ROOT/emsdk_env.sh" >/dev/null ## build theneeded dependencies -embuilder build sdl2-mt harfbuzz-mt freetype zlib sdl2_ttf mpg123 "sdl2_mixer:formats=mp3" libpng-mt "sdl2_image:formats=png,svg:mt=1" icu-mt +embuilder build sdl2-mt harfbuzz-mt freetype zlib sdl2_ttf mpg123 "sdl2_mixer-mp3-mt" libpng-mt "sdl2_image:formats=png,svg:mt=1" icu-mt export EMSCRIPTEN_SYS_ROOT="$EMSCRIPTEN_UPSTREAM_ROOT/cache/sysroot" diff --git a/platforms/emscripten/default_settings.diff b/platforms/emscripten/default_settings.diff deleted file mode 100644 index 5a16b54b..00000000 --- a/platforms/emscripten/default_settings.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/settings.js b/src/settings.js -index 981c44fa..17ca0078 100644 ---- a/src/settings.js -+++ b/src/settings.js -@@ -1624,7 +1624,7 @@ var SDL2_IMAGE_FORMATS = []; - - // Formats to support in SDL2_mixer. Valid values: ogg, mp3, mod, mid - // [link] --var SDL2_MIXER_FORMATS = ["ogg"]; -+var SDL2_MIXER_FORMATS = []; - - // 1 = use sqlite3 from emscripten-ports - // Alternate syntax: --use-port=sqlite3 diff --git a/platforms/emscripten/sdl2_mixer_port.diff b/platforms/emscripten/sdl2_mixer_port.diff deleted file mode 100644 index f2d7efd0..00000000 --- a/platforms/emscripten/sdl2_mixer_port.diff +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/tools/ports/sdl2_mixer.py b/tools/ports/sdl2_mixer.py -index f77f906d..417b2a79 100644 ---- a/tools/ports/sdl2_mixer.py -+++ b/tools/ports/sdl2_mixer.py -@@ -14,14 +14,27 @@ variants = { - 'sdl2_mixer_none': {'SDL2_MIXER_FORMATS': []}, - } - -+OPTIONS = { -+ 'formats': 'A comma separated list of formats (ex: --use-port=sdl2_mixer:formats=mp3)' -+} -+ -+SUPPORTED_FORMATS = {'mp3', 'ogg', 'mod', 'mid'} -+ -+# user options (from --use-port) -+opts = { -+ 'formats': set(), -+} - - def needed(settings): - return settings.USE_SDL_MIXER == 2 - -+def get_formats(settings): -+ return set(settings.SDL2_MIXER_FORMATS).union(opts['formats']) -+ -+ - - def get_lib_name(settings): -- settings.SDL2_MIXER_FORMATS.sort() -- formats = '-'.join(settings.SDL2_MIXER_FORMATS) -+ formats = '-'.join(sorted(get_formats(settings))) - - libname = 'libSDL2_mixer' - if formats != '': -@@ -44,26 +57,28 @@ def get(ports, settings, shared): - '-O2', - '-DMUSIC_WAV', - ] -+ -+ formats = get_formats(settings) - -- if "ogg" in settings.SDL2_MIXER_FORMATS: -+ if "ogg" in formats: - flags += [ - '-sUSE_VORBIS', - '-DMUSIC_OGG', - ] - -- if "mp3" in settings.SDL2_MIXER_FORMATS: -+ if "mp3" in formats: - flags += [ - '-sUSE_MPG123', - '-DMUSIC_MP3_MPG123', - ] - -- if "mod" in settings.SDL2_MIXER_FORMATS: -+ if "mod" in formats: - flags += [ - '-sUSE_MODPLUG', - '-DMUSIC_MOD_MODPLUG', - ] - -- if "mid" in settings.SDL2_MIXER_FORMATS: -+ if "mid" in formats: - flags += [ - '-DMUSIC_MID_TIMIDITY', - ] -@@ -104,16 +119,29 @@ def clear(ports, settings, shared): - - def process_dependencies(settings): - settings.USE_SDL = 2 -- if "ogg" in settings.SDL2_MIXER_FORMATS: -+ -+ formats = get_formats(settings) -+ -+ if "ogg" in formats: - deps.append('vorbis') - settings.USE_VORBIS = 1 -- if "mp3" in settings.SDL2_MIXER_FORMATS: -+ if "mp3" in formats: - deps.append('mpg123') - settings.USE_MPG123 = 1 -- if "mod" in settings.SDL2_MIXER_FORMATS: -+ if "mod" in formats: - deps.append('libmodplug') - settings.USE_MODPLUG = 1 - -+def handle_options(options, error_handler): -+ formats = options['formats'].split(',') -+ for format in formats: -+ format = format.lower().strip() -+ if format not in SUPPORTED_FORMATS: -+ error_handler(f'{format} is not a supported format') -+ else: -+ opts['formats'].add(format) -+ -+ - - def show(): - return 'sdl2_mixer (-sUSE_SDL_MIXER=2 or --use-port=sdl2_mixer; zlib license)' diff --git a/tools/dependencies/meson.build b/tools/dependencies/meson.build index f4689926..f8148e84 100644 --- a/tools/dependencies/meson.build +++ b/tools/dependencies/meson.build @@ -60,7 +60,7 @@ if meson.is_cross_build() ['SDL2-mt', 'SDL2'], ['SDL2_ttf'], ['mpg123'], - ['SDL2_mixer_mp3', 'SDL2_mixer'], + ['SDL2_mixer-mp3-mt', 'SDL2_mixer'], ['SDL2_image-png-svg-mt', 'SDL2_image'], ['icu_common-mt', 'icu-uc'], ]