Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dart Package #3714

Merged
19 commits merged into from
Apr 26, 2019
72 changes: 72 additions & 0 deletions packages/dart/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
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.2.0
TERMUX_PKG_BUILD_DEPENDS="python, python2"
TERMUX_PKG_SKIP_SRC_EXTRACT=1
TERMUX_PKG_BUILD_IN_SRC=yes
DART_MAKE_PLATFORM_SDK=true

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
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
}