mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-03 16:41:26 +01:00
build(android): move to NDK r30 and mpv-android 687c7fd
Upstream mpv-android moved its build to NDK r30 (30.0.16248370), and each mpv-android revision pins its own NDK, so the two move together. The new revision also updates harfbuzz to 14.5.0, unibreak to 8.0, fribidi to 1.0.17, libxml2 to 2.15.4, fontconfig to 2.18.3 and curl to 8.22.0, and builds libass with assembly on x86_64 (nasm, already installed in CI). r30 brings an LLVM update with codegen and LTO fixes and sysroots up to API 37. It is also the NDK current SDK managers install, so a fresh setup no longer needs r29 installed beside it. The script change invalidates the cached libmpv tree, so CI rebuilds it once. The staged libraries are the same set as before, all 16 KiB aligned.
This commit is contained in:
1 parent
3638e0e5df
commit
99abc8f205
6 files changed
+12
-12
No files matched your search
@@ -39,8 +39,8 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
ANDROID_API: '36'
|
||||
ANDROID_BUILD_TOOLS: '37.0.0'
|
||||
ANDROID_NDK: '29.0.14206865'
|
||||
ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/29.0.14206865
|
||||
ANDROID_NDK: '30.0.16248370'
|
||||
ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/30.0.16248370
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -7,7 +7,7 @@ distributions.
|
||||
| Component | License |
|
||||
|---|---|
|
||||
| mpv/libmpv | GPL-2.0-or-later by default; verify the pinned build configuration |
|
||||
| LLVM libc++ shared runtime (Android NDK r29) | Apache-2.0 WITH LLVM-exception |
|
||||
| LLVM libc++ shared runtime (Android NDK r30) | Apache-2.0 WITH LLVM-exception |
|
||||
| AndroidX and Jetpack Compose | Apache-2.0 |
|
||||
| Kotlin | Apache-2.0 |
|
||||
| JNA | Apache-2.0 or LGPL-2.1-or-later |
|
||||
|
||||
@@ -47,7 +47,7 @@ android {
|
||||
namespace = "io.narl.protonstream"
|
||||
compileSdk = 36
|
||||
buildToolsVersion = "37.0.0"
|
||||
ndkVersion = "29.0.14206865"
|
||||
ndkVersion = "30.0.16248370"
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "io.narl.protonstream"
|
||||
|
||||
@@ -6,7 +6,7 @@ complete GNU GPL version 3 text is packaged beside this file as `GPL-3.0.txt`.
|
||||
| Component | License |
|
||||
|---|---|
|
||||
| mpv/libmpv | GPL-2.0-or-later by default; verify the pinned build configuration |
|
||||
| LLVM libc++ shared runtime (Android NDK r29) | Apache-2.0 WITH LLVM-exception |
|
||||
| LLVM libc++ shared runtime (Android NDK r30) | Apache-2.0 WITH LLVM-exception |
|
||||
| AndroidX and Jetpack Compose | Apache-2.0 |
|
||||
| Kotlin | Apache-2.0 |
|
||||
| JNA | Apache-2.0 or LGPL-2.1-or-later |
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ reimplementing it in Kotlin.
|
||||
## Toolchain
|
||||
|
||||
Install JDK 17, Android SDK Platform/Build Tools 36, NDK
|
||||
`29.0.14206865`, Rust 1.96, Gradle 8.13, and the native helpers:
|
||||
`30.0.16248370`, Rust 1.96, Gradle 8.13, and the native helpers:
|
||||
|
||||
```bash
|
||||
rustup target add aarch64-linux-android x86_64-linux-android
|
||||
|
||||
@@ -4,7 +4,7 @@ set -euo pipefail
|
||||
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
repo_root="$(cd -- "$script_dir/.." && pwd)"
|
||||
source_dir="${PSTR_MPV_SOURCE_DIR:-$repo_root/.build/mpv-android}"
|
||||
revision=20a3fa526fac6d3fe267aee0d4c349893fee65a3
|
||||
revision=687c7fd586d826fd0387809e14bec7a2b4fc45a1
|
||||
destination="$repo_root/android/app/build/generated/mpv"
|
||||
|
||||
# The staged tree depends only on the pinned revision and on this script, which
|
||||
@@ -32,19 +32,19 @@ git -C "$source_dir" submodule update --init --recursive
|
||||
if [[ -n "${ANDROID_NDK_HOME:-}" ]]; then
|
||||
ndk_dir="$ANDROID_NDK_HOME"
|
||||
elif [[ -n "${ANDROID_HOME:-}" ]]; then
|
||||
ndk_dir="$ANDROID_HOME/ndk/29.0.14206865"
|
||||
ndk_dir="$ANDROID_HOME/ndk/30.0.16248370"
|
||||
else
|
||||
echo "error: set ANDROID_NDK_HOME or ANDROID_HOME to an Android NDK r29 installation" >&2
|
||||
echo "error: set ANDROID_NDK_HOME or ANDROID_HOME to an Android NDK r30 installation" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ ! -f "$ndk_dir/source.properties" ]] ||
|
||||
! grep -q '^Pkg.Revision = 29\.0\.14206865$' "$ndk_dir/source.properties"; then
|
||||
echo "error: libmpv requires Android NDK 29.0.14206865: $ndk_dir" >&2
|
||||
! grep -q '^Pkg.Revision = 30\.0\.16248370$' "$ndk_dir/source.properties"; then
|
||||
echo "error: libmpv requires Android NDK 30.0.16248370: $ndk_dir" >&2
|
||||
exit 1
|
||||
fi
|
||||
ndk_dir="$(cd -- "$ndk_dir" && pwd -P)"
|
||||
mpv_sdk_dir="$source_dir/buildscripts/sdk"
|
||||
mpv_ndk_link="$mpv_sdk_dir/android-ndk-r29"
|
||||
mpv_ndk_link="$mpv_sdk_dir/android-ndk-r30"
|
||||
mkdir -p "$mpv_sdk_dir"
|
||||
if [[ -e "$mpv_ndk_link" && ! -L "$mpv_ndk_link" ]]; then
|
||||
echo "error: refusing to replace non-symlink NDK path: $mpv_ndk_link" >&2
|
||||
|
||||
Reference in new issue
Block a user