| 1 | TERMUX_PKG_HOMEPAGE=http://tools.android.com/tech-docs/jackandjill |
| 2 | TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" |
| 3 | # Use the date of the below git commit as the version number: |
| 4 | TERMUX_PKG_VERSION=20161003 |
| 5 | TERMUX_PKG_SRCURL=https://android.googlesource.com/toolchain/jack/+archive/08a4eb10dafa25e2d9be4026010bd41714ed0b31.tar.gz |
| 6 | TERMUX_PKG_PLATFORM_INDEPENDENT=true |
| 7 | |
| 8 | termux_step_extract_package() { |
| 9 | mkdir -p $TERMUX_PKG_SRCDIR |
| 10 | cd $TERMUX_PKG_SRCDIR |
| 11 | |
| 12 | filename=`basename $TERMUX_PKG_SRCURL` |
| 13 | file=$TERMUX_PKG_CACHEDIR/$filename |
| 14 | test ! -f $file && termux_download $TERMUX_PKG_SRCURL $file $TERMUX_PKG_SHA256 |
| 15 | tar xf $file |
| 16 | |
| 17 | rm sched/src/com/android/sched/util/log/tracer/probe/GcDurationProbe.java |
| 18 | } |
| 19 | |
| 20 | termux_step_make () { |
| 21 | local ANT_VERSION=1.9.7 |
| 22 | local ANT_TAR=$TERMUX_PKG_CACHEDIR/ant-${ANT_VERSION}.bin.tar.bz2 |
| 23 | if [ ! -f $ANT_TAR ]; then |
| 24 | termux_download http://apache.mirrors.spacedump.net//ant/binaries/apache-ant-1.9.7-bin.tar.bz2 \ |
| 25 | $ANT_TAR \ |
| 26 | be2ff3026cc655dc002bbcce100bd6724d448c63f702aa82b6d9899b22db7808 |
| 27 | fi |
| 28 | cd $TERMUX_PKG_TMPDIR |
| 29 | tar xf $ANT_TAR |
| 30 | local ANT=$PWD/apache-ant-${ANT_VERSION}/bin/ant |
| 31 | |
| 32 | cd $TERMUX_PKG_SRCDIR |
| 33 | $ANT jack jill |
| 34 | TERMUX_JACK=$PWD/jack/dist/jack.jar |
| 35 | TERMUX_JILL=$PWD/jill/dist/jill.jar |
| 36 | |
| 37 | # Create $USR/share/dex for dex files, and $USR/share/jack for .jack library files produced by jill: |
| 38 | mkdir -p $TERMUX_PREFIX/share/{dex,jack} |
| 39 | $TERMUX_DX \ |
| 40 | -JXmx4096M --num-threads=4 \ |
| 41 | --dex \ |
| 42 | --output=$TERMUX_PREFIX/share/dex/jack.jar \ |
| 43 | $TERMUX_JACK |
| 44 | |
| 45 | cd $TERMUX_PKG_TMPDIR |
| 46 | rm -rf android-jar |
| 47 | mkdir android-jar |
| 48 | cd android-jar |
| 49 | |
| 50 | # We need the android.jar clases in jill format (.jack extension) for jack to compile against. |
| 51 | cp $ANDROID_HOME/platforms/android-23/android.jar . |
| 52 | # Remove resources not needed for compilation to reduce size: |
| 53 | unzip -q android.jar |
| 54 | rm -Rf android.jar resources.arsc res assets |
| 55 | zip -r -q android.jar . |
| 56 | |
| 57 | java -jar $TERMUX_JILL $TERMUX_PKG_TMPDIR/android-jar/android.jar --output $TERMUX_PREFIX/share/jack/android.jack |
| 58 | mkdir -p $TERMUX_PREFIX/bin |
| 59 | install $TERMUX_PKG_BUILDER_DIR/jack.sh $TERMUX_PREFIX/bin/jack |
| 60 | perl -p -i -e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PREFIX/bin/jack |
| 61 | } |