Files
termux-packages/packages/d8/build.sh
termux-pacman-bot d069a74ddf tree-wide: migrate Java packages to JDK 21
- Fixes https://github.com/termux/termux-packages/issues/25027

- JDK 21 has been released for a year, so theoretically, all packages should be ready now, but it will be necessary to test each package's basic functionality with `openjdk-21` installed, to make sure that they are compatible.

- Now that https://github.com/termux/termux-packages/pull/25214 has been merged, it should be easier for termux-apt users whose `java` command is set to `openjdk-17`, to get it automatically updated to `openjdk-21` without necessarily having to uninstall `openjdk-17`.
2025-07-18 11:06:32 +00:00

38 lines
1.3 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://developer.android.com/studio/command-line/d8
TERMUX_PKG_DESCRIPTION="DEX bytecode compiler from Android SDK"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux"
# Do not use the TERMUX_ANDROID_BUILD_TOOLS_VERSION variable when specifying:
TERMUX_PKG_VERSION=33.0.1
TERMUX_PKG_REVISION=1
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="openjdk-21"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_ON_DEVICE_BUILD_NOT_SUPPORTED=true
termux_step_pre_configure() {
# Version guard
if [ "${TERMUX_PKG_VERSION#*:}" != "${TERMUX_ANDROID_BUILD_TOOLS_VERSION}" ]; then
termux_error_exit "Version mismatch between TERMUX_PKG_VERSION and TERMUX_ANDROID_BUILD_TOOLS_VERSION."
fi
}
termux_step_make_install() {
install -Dm600 $ANDROID_HOME/build-tools/${TERMUX_ANDROID_BUILD_TOOLS_VERSION}/lib/d8.jar \
$TERMUX_PREFIX/share/java/d8.jar
cat <<- EOF > $TERMUX_PREFIX/bin/d8
#!${TERMUX_PREFIX}/bin/sh
exec java -cp $TERMUX_PREFIX/share/java/d8.jar com.android.tools.r8.D8 "\$@"
EOF
cat <<- EOF > $TERMUX_PREFIX/bin/r8
#!${TERMUX_PREFIX}/bin/sh
exec java -cp $TERMUX_PREFIX/share/java/d8.jar com.android.tools.r8.R8 "\$@"
EOF
chmod 700 $TERMUX_PREFIX/bin/d8 $TERMUX_PREFIX/bin/r8
}