diff --git a/packages/jack/CaseInsensitiveDirectFSCodec.java.patch b/packages/jack/CaseInsensitiveDirectFSCodec.java.patch new file mode 100644 index 000000000..e0f992861 --- /dev/null +++ b/packages/jack/CaseInsensitiveDirectFSCodec.java.patch @@ -0,0 +1,12 @@ +diff -u -r ../raw/sched/src/com/android/sched/util/codec/CaseInsensitiveDirectFSCodec.java ./sched/src/com/android/sched/util/codec/CaseInsensitiveDirectFSCodec.java +--- ../raw/sched/src/com/android/sched/util/codec/CaseInsensitiveDirectFSCodec.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./sched/src/com/android/sched/util/codec/CaseInsensitiveDirectFSCodec.java 2016-10-03 17:25:26.969577397 -0400 +@@ -64,7 +64,7 @@ + public VFS checkString(@Nonnull CodecContext context, @Nonnull String string) + throws ParsingException { + try { +- Service service = messageDigestCodec.checkString(context, "SHA"); ++ Service service = messageDigestCodec.checkString(context, "MD5"); + return new CaseInsensitiveFS(codec.checkString(context, string), + /* nbGroup = */ 1, /* szGroup = */ 2, new MessageDigestFactory(service), + /* debug = */ false); diff --git a/packages/jack/build.sh b/packages/jack/build.sh index 104a162ca..99069ee5e 100755 --- a/packages/jack/build.sh +++ b/packages/jack/build.sh @@ -1,14 +1,30 @@ -# Issue: -# java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl -# perhaps because BatchProcessingEnvImpl uses javax.tools which does not exist on android? TERMUX_PKG_HOMEPAGE=http://tools.android.com/tech-docs/jackandjill TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" -TERMUX_PKG_VERSION=$TERMUX_ANDROID_BUILD_TOOLS_VERSION +# Use the date of the below git commit as the version number: +TERMUX_PKG_VERSION=20161003 +TERMUX_PKG_SRCURL=https://android.googlesource.com/toolchain/jack/+archive/08a4eb10dafa25e2d9be4026010bd41714ed0b31.tar.gz TERMUX_PKG_PLATFORM_INDEPENDENT=true +termux_step_extract_package() { + mkdir -p $TERMUX_PKG_SRCDIR + cd $TERMUX_PKG_SRCDIR + + filename=`basename $TERMUX_PKG_SRCURL` + file=$TERMUX_PKG_CACHEDIR/$filename + test ! -f $file && termux_download $TERMUX_PKG_SRCURL $file $TERMUX_PKG_SHA256 + tar xf $file + + rm sched/src/com/android/sched/util/log/tracer/probe/GcDurationProbe.java +} + termux_step_make () { + cd $TERMUX_PKG_SRCDIR + ant jack jill + TERMUX_JACK=$PWD/jack/dist/jack.jar + TERMUX_JILL=$PWD/jill/dist/jill.jar + # Create $USR/share/dex for dex files, and $USR/share/jack for .jack library files produced by jill: - mkdir -p $TERMUX_PREFIX/share/{dex,jack} + mkdir -p $TERMUX_PREFIX/share/{dex,jack} $TERMUX_DX \ -JXmx4096M --num-threads=4 \ --dex \ diff --git a/packages/jack/jack.library.digest.algo.patch b/packages/jack/jack.library.digest.algo.patch new file mode 100644 index 000000000..3b739400d --- /dev/null +++ b/packages/jack/jack.library.digest.algo.patch @@ -0,0 +1,12 @@ +diff -u -r ../raw/jack/src/com/android/jack/library/JackLibraryFactory.java ./jack/src/com/android/jack/library/JackLibraryFactory.java +--- ../raw/jack/src/com/android/jack/library/JackLibraryFactory.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./jack/src/com/android/jack/library/JackLibraryFactory.java 2016-10-03 17:15:04.255000764 -0400 +@@ -55,7 +55,7 @@ + @Nonnull + public static final MessageDigestPropertyId MESSAGE_DIGEST_ALGO = MessageDigestPropertyId + .create("jack.library.digest.algo", "Message digest algorithm use in Jack library") +- .requiredIf(GENERATE_JACKLIB_DIGEST.getValue().isTrue()).addDefaultValue("SHA") ++ .requiredIf(GENERATE_JACKLIB_DIGEST.getValue().isTrue()).addDefaultValue("MD5") + .addCategory(DumpInLibrary.class); + + @Nonnull diff --git a/packages/jack/jack.sh b/packages/jack/jack.sh index f0a50a884..0e4ffe41f 100755 --- a/packages/jack/jack.sh +++ b/packages/jack/jack.sh @@ -5,9 +5,6 @@ exec dalvikvm -Xmx256m \ -cp @TERMUX_PREFIX@/share/dex/jack.jar \ com.android.jack.Main \ -cp @TERMUX_PREFIX@/share/jack/android.jack \ - -D jack.library.digest.algo=MD5 \ - -D jack.source.digest.algo=MD5 \ - -D sched.vfs.case-insensitive.algo=MD5 \ -D jack.annotation-processor=off \ - --output-dex=`pwd` \ -$@ + -D jack.classpath.default-libraries=off \ + $@ diff --git a/packages/jack/jack.source.digest.algo.patch b/packages/jack/jack.source.digest.algo.patch new file mode 100644 index 000000000..89b4ff990 --- /dev/null +++ b/packages/jack/jack.source.digest.algo.patch @@ -0,0 +1,10 @@ +diff -u -r ../raw/jack/src/com/android/jack/digest/OriginDigestFeature.java ./jack/src/com/android/jack/digest/OriginDigestFeature.java +--- ../raw/jack/src/com/android/jack/digest/OriginDigestFeature.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./jack/src/com/android/jack/digest/OriginDigestFeature.java 2016-10-03 17:18:14.296094146 -0400 +@@ -38,5 +38,5 @@ + @Nonnull + public static final MessageDigestPropertyId ORIGIN_DIGEST_ALGO = MessageDigestPropertyId + .create("jack.source.digest.algo", "Digest algorithm use for source identification") +- .requiredIf(OriginDigestFeature.ORIGIN_DIGEST.getValue().isTrue()).addDefaultValue("SHA"); ++ .requiredIf(OriginDigestFeature.ORIGIN_DIGEST.getValue().isTrue()).addDefaultValue("MD5"); + } diff --git a/packages/jack/remove-gc-prob.patch b/packages/jack/remove-gc-prob.patch new file mode 100644 index 000000000..f5b156b96 --- /dev/null +++ b/packages/jack/remove-gc-prob.patch @@ -0,0 +1,32 @@ +diff -u -r ../raw/sched/src/com/android/sched/util/log/tracer/ProbeManager.java ./sched/src/com/android/sched/util/log/tracer/ProbeManager.java +--- ../raw/sched/src/com/android/sched/util/log/tracer/ProbeManager.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./sched/src/com/android/sched/util/log/tracer/ProbeManager.java 2016-10-03 17:05:07.716121072 -0400 +@@ -41,7 +41,7 @@ + private static final PropertyId PROBE_MANAGER = PropertyId.create( + "sched.tracer.probes", "Define which probes use for tracing", + new ProbeManagerCodec()).addDefaultValue( +- "event-count,gc-duration,thread-cpu-time"); ++ ""); + + @Nonnull + public static final ThreadLocal enable = new ThreadLocal() { +diff -u -r ../raw/sched/src/com/android/sched/util/log/tracer/TemplateFtl.java ./sched/src/com/android/sched/util/log/tracer/TemplateFtl.java +--- ../raw/sched/src/com/android/sched/util/log/tracer/TemplateFtl.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./sched/src/com/android/sched/util/log/tracer/TemplateFtl.java 2016-10-03 17:03:38.829479240 -0400 +@@ -18,7 +18,6 @@ + + import com.android.sched.util.log.tracer.probe.EventCountProbe; + import com.android.sched.util.log.tracer.probe.GcCountProbe; +-import com.android.sched.util.log.tracer.probe.GcDurationProbe; + import com.android.sched.util.log.tracer.probe.HeapAllocationCountProbe; + import com.android.sched.util.log.tracer.probe.HeapAllocationSizeProbe; + import com.android.sched.util.log.tracer.probe.HeapMemoryProbe; +@@ -55,8 +54,6 @@ + new MappingProbe[]{new MappingProbe(HeapAllocationSizeProbe.class, "memory")}, null), + HEAP_ALLOCATION_COUNT("Heap allocation count usage", "count.html.ftl", "heap-alloc-count.html", + new MappingProbe[]{new MappingProbe(HeapAllocationCountProbe.class, "count")}, null), +- GC_TIME("Garbage Collector duration", "time.html.ftl", "time-gc.html", +- new MappingProbe[]{new MappingProbe(GcDurationProbe.class, "time")}, null), + GC_COUNT("Garbage Collector count", "count.html.ftl", "count-gc.html", + new MappingProbe[]{new MappingProbe(GcCountProbe.class, "count")}, null), + CONTENTION_DURATION("Contention duration", "time.html.ftl", "time-contention.html", diff --git a/packages/jack/sched.vfs.case-insensitive.algo.patch b/packages/jack/sched.vfs.case-insensitive.algo.patch new file mode 100644 index 000000000..ea8cbf946 --- /dev/null +++ b/packages/jack/sched.vfs.case-insensitive.algo.patch @@ -0,0 +1,12 @@ +diff -u -r ../raw/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java ./sched/src/com/android/sched/vfs/CaseInsensitiveFS.java +--- ../raw/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java 2016-10-03 10:53:49.000000000 -0400 ++++ ./sched/src/com/android/sched/vfs/CaseInsensitiveFS.java 2016-10-03 17:21:25.053176313 -0400 +@@ -78,7 +78,7 @@ + @Nonnull + public static final MessageDigestPropertyId ALGO = MessageDigestPropertyId.create( + "sched.vfs.case-insensitive.algo", "Algorithm used to encode a path name").addDefaultValue( +- "SHA"); ++ "MD5"); + + @Nonnull + public static final BooleanPropertyId DEBUG = BooleanPropertyId.create(