8701462951
Linter will check packages submitted for CI build. If error was found, build will not be allowed. To ensure that all build.sh scripts are consistent and have at least minimal allowed quality, linter is permanently enabled for all branches and pull requests.
80 lines
2.0 KiB
Bash
80 lines
2.0 KiB
Bash
TERMUX_PKG_HOMEPAGE=https://www.dartlang.org/
|
|
TERMUX_PKG_DESCRIPTION="Dart is a general-purpose programming language"
|
|
TERMUX_PKG_LICENSE="BSD"
|
|
TERMUX_PKG_VERSION=2.4.1
|
|
TERMUX_PKG_BUILD_IN_SRC=true
|
|
|
|
# Dart uses tar and gzip to extract downloaded packages.
|
|
# Busybox-based versions of such utilities cause issues so
|
|
# complete ones should be used.
|
|
TERMUX_PKG_DEPENDS="gzip, tar"
|
|
|
|
termux_step_extract_package() {
|
|
mkdir -p $TERMUX_PKG_SRCDIR
|
|
cd $TERMUX_PKG_SRCDIR
|
|
|
|
git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
|
export PATH="$(pwd)/depot_tools:${PATH}"
|
|
|
|
fetch dart
|
|
|
|
cd sdk
|
|
git checkout $TERMUX_PKG_VERSION
|
|
cd ../
|
|
|
|
echo "target_os = ['android']" >> .gclient
|
|
gclient sync -D --force --reset
|
|
}
|
|
|
|
termux_step_make() {
|
|
cd sdk
|
|
|
|
local DEST_CPU
|
|
if [ $TERMUX_ARCH = "arm" ]; then
|
|
DEST_CPU="arm"
|
|
elif [ $TERMUX_ARCH = "i686" ]; then
|
|
DEST_CPU="ia32"
|
|
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
|
DEST_CPU="arm64"
|
|
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
|
DEST_CPU="x64"
|
|
else
|
|
termux_error_exit "Unsupported arch '$TERMUX_ARCH'"
|
|
fi
|
|
|
|
rm -f ./out/*/args.gn
|
|
DART_MAKE_PLATFORM_SDK=true python2 ./tools/build.py --mode release --arch=$DEST_CPU --os=android create_sdk
|
|
}
|
|
|
|
termux_step_make_install() {
|
|
cd sdk
|
|
|
|
local DEST_CPU
|
|
if [ $TERMUX_ARCH = "arm" ]; then
|
|
DEST_CPU="ARM"
|
|
elif [ $TERMUX_ARCH = "i686" ]; then
|
|
DEST_CPU="IA32"
|
|
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
|
DEST_CPU="ARM64"
|
|
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
|
DEST_CPU="X64"
|
|
else
|
|
termux_error_exit "Unsupported arch '$TERMUX_ARCH'"
|
|
fi
|
|
|
|
chmod +x ./out/ReleaseAndroid${DEST_CPU}/dart-sdk/bin/*
|
|
cp -r ./out/ReleaseAndroid${DEST_CPU}/dart-sdk ${TERMUX_PREFIX}/lib
|
|
|
|
for file in ${TERMUX_PREFIX}/lib/dart-sdk/bin/*; do
|
|
if [[ -f "$file" ]]; then
|
|
echo -e "#!${TERMUX_PREFIX}/bin/sh\nexec $file \"\$@\"" > ${TERMUX_PREFIX}/bin/$(basename $file)
|
|
chmod +x ${TERMUX_PREFIX}/bin/$(basename $file)
|
|
fi
|
|
done
|
|
}
|
|
|
|
termux_step_post_make_install() {
|
|
install -Dm600 $TERMUX_PKG_BUILDER_DIR/dart-pub-bin.sh \
|
|
$TERMUX_PREFIX/etc/profile.d/dart-pub-bin.sh
|
|
}
|