From: Twaik Yont <9674930+twaik@users.noreply.github.com> Download and use a local Gradle distribution and Android SDK components to build the in-tree APK target, avoiding reliance on system installations. Signed-off-by: Twaik Yont <9674930+twaik@users.noreply.github.com> --- configure | 31 ++++++++++++++++++++++++++++--- configure.ac | 31 ++++++++++++++++++++++++++++--- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/configure b/configure index bf8ee741b70..ef50a1e9298 100755 --- a/configure +++ b/configure @@ -24684,9 +24684,34 @@ dlls/ntdll/unix/version.c: dummy @version=\`(GIT_DIR=${wine_srcdir}.git git describe HEAD 2>/dev/null || echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[] = \"\\1\";/p'\` && (echo \$\$version | cmp -s - \$@) || echo \$\$version >\$@ || (rm -f \$@ && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$@) || echo \$\$build >\$@ || (rm -f \$@ && exit 1) -dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg - cd dlls/wineandroid.drv && gradle -q -Psrcdir=$srcdir assembleDebug - mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$@" + +GRADLE_VERSION := 9.4.0 +dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip: + @curl -L -o \$@.tmp https://services.gradle.org/distributions/gradle-\$(GRADLE_VERSION)-bin.zip + @mv -f \$@.tmp \$@ + +dlls/wineandroid.drv/gradle/bin/gradle: dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip + @rm -rf dlls/wineandroid.drv/gradle + @unzip -q dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip -d dlls/wineandroid.drv + @mv -f dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION) dlls/wineandroid.drv/gradle + @touch -c \$@ + +dlls/wineandroid.drv/cmdline-tools.zip: + @curl -L -o \$@.tmp https://dl.google.com/android/repository/commandlinetools-linux-7583922_late... + @mv -f \$@.tmp \$@ + +dlls/wineandroid.drv/android/build-tools: dlls/wineandroid.drv/cmdline-tools.zip + @rm -f dlls/wineandroid.drv/android + @mkdir -p dlls/wineandroid.drv/android + @unzip -q dlls/wineandroid.drv/cmdline-tools.zip -d dlls/wineandroid.drv/android >/dev/null + @chmod +x dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager + @(yes || true) | dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager --sdk_root=\"$(pwd)/dlls/wineandroid.drv/android\" --licenses >/dev/null + @dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager --sdk_root=\"$(pwd)/dlls/wineandroid.drv/android\" --install \"platform-tools\" \"platforms;android-35\" \"build-tools;35.0.0\" + @touch -c \$@ + +dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg dlls/wineandroid.drv/android/build-tools dlls/wineandroid.drv/gradle/bin/gradle + @cd dlls/wineandroid.drv && env ANDROID_HOME=$(pwd)/dlls/wineandroid.drv/android $(pwd)/dlls/wineandroid.drv/gradle/bin/gradle -q -Psrcdir=$srcdir assembleDebug + @mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$@" EXTERNAL_SUBDIRS="libs/capstone libs/c++ libs/c++abi libs/faudio libs/fluidsynth libs/gsm libs/icucommon libs/icui18n libs/jpeg libs/jxr libs/lcms2 libs/ldap libs/mpg123 libs/musl libs/png libs/tiff libs/tomcrypt libs/unwind libs/vkd3d libs/xml2 libs/xslt libs/zlib libs/compiler-rt" diff --git a/configure.ac b/configure.ac index 7e801fa8af7..d58a7a68a2b 100644 --- a/configure.ac +++ b/configure.ac @@ -3836,9 +3836,34 @@ WINE_APPEND_RULE( @version=\`(GIT_DIR=${wine_srcdir}.git git describe HEAD 2>/dev/null || echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[[]] = \"\\1\";/p'\` && (echo \$\$version | cmp -s - \$[@]) || echo \$\$version >\$[@] || (rm -f \$[@] && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$[@]) || echo \$\$build >\$[@] || (rm -f \$[@] && exit 1) -dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg - cd dlls/wineandroid.drv && gradle -q -Psrcdir=$srcdir assembleDebug - mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$[@]]) + +GRADLE_VERSION := 9.4.0 +dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip: + @curl -L -o \$@.tmp https://services.gradle.org/distributions/gradle-\$(GRADLE_VERSION)-bin.zip + @mv -f \$@.tmp \$@ + +dlls/wineandroid.drv/gradle/bin/gradle: dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip + @rm -rf dlls/wineandroid.drv/gradle + @unzip -q dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION)-bin.zip -d dlls/wineandroid.drv + @mv -f dlls/wineandroid.drv/gradle-\$(GRADLE_VERSION) dlls/wineandroid.drv/gradle + @touch -c \$@ + +dlls/wineandroid.drv/cmdline-tools.zip: + @curl -L -o \$@.tmp https://dl.google.com/android/repository/commandlinetools-linux-7583922_late... + @mv -f \$@.tmp \$@ + +dlls/wineandroid.drv/android/build-tools: dlls/wineandroid.drv/cmdline-tools.zip + @rm -f dlls/wineandroid.drv/android + @mkdir -p dlls/wineandroid.drv/android + @unzip -q dlls/wineandroid.drv/cmdline-tools.zip -d dlls/wineandroid.drv/android >/dev/null + @chmod +x dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager + @(yes || true) | dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager --sdk_root=\"$(pwd)/dlls/wineandroid.drv/android\" --licenses >/dev/null + @dlls/wineandroid.drv/android/cmdline-tools/bin/sdkmanager --sdk_root=\"$(pwd)/dlls/wineandroid.drv/android\" --install \"platform-tools\" \"platforms;android-35\" \"build-tools;35.0.0\" + @touch -c \$@ + +dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg dlls/wineandroid.drv/android/build-tools dlls/wineandroid.drv/gradle/bin/gradle + @cd dlls/wineandroid.drv && env ANDROID_HOME=$(pwd)/dlls/wineandroid.drv/android $(pwd)/dlls/wineandroid.drv/gradle/bin/gradle -q -Psrcdir=$srcdir assembleDebug + @mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$[@]]) dnl Misc rules -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10354