Commit | Line | Data |
---|---|---|
ffcb22f1 | 1 | TERMUX_PKG_HOMEPAGE=http://openjdk.java.net |
efb97f17 | 2 | TERMUX_PKG_DESCRIPTION="OpenJDK 9 Java Runtime Environment (prerelease)" |
9a92118f | 3 | _jbuild=181 |
ffcb22f1 | 4 | _hg_tag="jdk-9+${_jbuild}" |
d4b5d52c | 5 | _jvm_dir="lib/jvm/openjdk-9" |
9a92118f | 6 | TERMUX_PKG_VERSION="9.2017.8.20" |
efb97f17 VB |
7 | TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas" |
8 | TERMUX_PKG_HOMEPAGE=http://openjdk.java.net/projects/jdk9 | |
d4b5d52c VB |
9 | TERMUX_PKG_DEPENDS="freetype, libpng, ca-certificates-java" |
10 | TERMUX_PKG_CONFFILES="$_jvm_dir/lib/jvm.cfg" | |
b8589503 | 11 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" |
1f3323ce | 12 | --disable-aot |
b8589503 FF |
13 | --disable-hotspot-gtest |
14 | --disable-option-checking | |
15 | --disable-warnings-as-errors | |
16 | --enable-headless-only | |
77b0e696 | 17 | --with-freetype=$TERMUX_PREFIX |
b8589503 FF |
18 | --with-libpng=system |
19 | --with-zlib=system | |
d4b5d52c | 20 | --with-jdk-variant=normal |
1f3323ce | 21 | --with-jvm-variants=server |
b8589503 | 22 | " |
ffcb22f1 | 23 | TERMUX_PKG_CLANG=no |
d4b5d52c | 24 | TERMUX_PKG_RM_AFTER_INSTALL="$_jvm_dir/demo $_jvm_dir/sample" |
9a92118f | 25 | _cups_ver=2.2.4 |
26 | ||
27 | changesets=('e5455438db96' | |
28 | '5666eba44ac6' | |
29 | '8076a7391ba0' | |
30 | '17bb8a98d5e3' | |
31 | 'a1d64f45f9d5' | |
32 | '364631d8ff2e' | |
33 | '65bfdabaab9c' | |
34 | '17cc754c8936') | |
35 | ||
36 | sha256sums=('c759faa5bff4b3d7bcf87dce57e9d1a39600ef67ec68f96d6d12d07b1bf773ce' | |
37 | '34518bf8b27aa893f834f8f81293ac0e04a210ee4f2e11bb2c89331f87912d96' | |
38 | '3b649e34e2a1c8758c6311931d201a38432088ccb86a720afb1cb99fe193537f' | |
39 | 'bb330b8b516178304dc11c755994db20eccc696ae5c2a16b04a4a67b20b33b79' | |
40 | 'a213ebc4bf896c55855761891932a19f42ad5276d3fd155cfb604b27f4866d9d' | |
41 | '0bc1953e9f23d59dafc415a7a37ff2da23cf8782e0532e253a6d7d63aa0ea954' | |
42 | '739a5d275db4a2a81cf3c3ca17a78212b8c47092e5c10888b79e9599dd9dcc2d' | |
43 | 'fbc9b49a7f0fa1723e369d91068d51a11de40e931f281a3ed9650484b437cc7f' | |
44 | '596d4db72651c335469ae5f37b0da72ac9f97d73e30838d787065f559dea98cc') | |
77b0e696 VB |
45 | |
46 | reponames=(dev corba hotspot jdk jaxws jaxp langtools nashorn cups) | |
47 | ||
48 | _url_src=http://hg.openjdk.java.net/mobile/dev | |
49 | ||
50 | TERMUX_PKG_SRCURL=$_url_src/archive/${changesets[0]}.tar.bz2 | |
51 | TERMUX_PKG_SHA256=${sha256sums[0]} | |
ffcb22f1 VB |
52 | |
53 | termux_step_post_extract_package () { | |
77b0e696 VB |
54 | cd "$TERMUX_PKG_TMPDIR" |
55 | # download and extract repo archives | |
56 | for index in {1..7}; do | |
57 | local sum=${sha256sums[index]} | |
58 | local repo=${reponames[index]} | |
59 | local change=${changesets[index]} | |
60 | local file=$TERMUX_PKG_CACHEDIR/$repo-$change.tar.bz2 | |
61 | local url=${_url_src}/$repo/archive/$change.tar.bz2 | |
62 | ||
63 | termux_download $url $file $sum | |
2f122eed | 64 | tar xf $file -C $TERMUX_PKG_SRCDIR |
77b0e696 | 65 | mv $TERMUX_PKG_SRCDIR/$repo-$change $TERMUX_PKG_SRCDIR/$repo |
ffcb22f1 VB |
66 | done |
67 | ||
77b0e696 VB |
68 | # setup cups source dir |
69 | file=$TERMUX_PKG_CACHEDIR/cups-$_cups_ver-source.tar.gz | |
70 | url="https://github.com/apple/cups/releases/download/v$_cups_ver/`basename $file`" | |
71 | termux_download $url $file ${sha256sums[8]} | |
2f122eed | 72 | tar xf $file -C $TERMUX_PKG_SRCDIR |
77b0e696 VB |
73 | } |
74 | ||
d4b5d52c | 75 | # override this step to since openjdk provides its own customized guess scripts |
77b0e696 VB |
76 | termux_step_replace_guess_scripts () { |
77 | return | |
ffcb22f1 VB |
78 | } |
79 | ||
80 | termux_step_pre_configure () { | |
77b0e696 VB |
81 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-cups-include=$TERMUX_PKG_SRCDIR/cups-$_cups_ver" |
82 | ||
9a92118f | 83 | ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libc.so $TERMUX_PKG_TMPDIR/libpthread.so |
84 | ||
ffcb22f1 VB |
85 | cat > "$TERMUX_STANDALONE_TOOLCHAIN/devkit.info" <<HERE |
86 | DEVKIT_NAME="Android ${TERMUX_ARCH^^}" | |
87 | DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin" | |
77b0e696 | 88 | DEVKIT_SYSROOT="\$DEVKIT_ROOT/sysroot" |
ffcb22f1 VB |
89 | HERE |
90 | ||
91 | export ANDROID_DEVKIT=$TERMUX_STANDALONE_TOOLCHAIN | |
92 | ||
77b0e696 | 93 | if [ -n "$TERMUX_DEBUG" ]; then TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-debug-level=slowdebug"; fi |
1f3323ce VB |
94 | BUILD_TRIPLE=$TERMUX_ARCH-linux-gnu |
95 | test "$TERMUX_ARCH" == "arm" && BUILD_TRIPLE+="eabi" | |
96 | ||
97 | JVM_FEATURES="compiler1,compiler2,jvmti,fprof,vm-structs,jni-check,services,management,all-gcs,nmt,cds" | |
98 | # enable features specific to some arches | |
99 | if [ "$TERMUX_ARCH" == "aarch64" ] || [ "$TERMUX_ARCH" == "x86_64" ]; then JVM_FEATURES+=",jvmci,graal"; fi | |
100 | ||
101 | # remove sa_proc support | |
102 | rm $TERMUX_PKG_SRCDIR/hotspot/make/lib/Lib-jdk.hotspot.agent.gmk | |
ffcb22f1 | 103 | } |
ffcb22f1 | 104 | termux_step_configure () { |
922458df | 105 | if [ $TERMUX_ARCH = "x86_64" ]; then |
106 | ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib64/libc.so $TERMUX_PKG_TMPDIR/libpthread.so | |
107 | else | |
108 | ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libc.so $TERMUX_PKG_TMPDIR/libpthread.so | |
109 | fi | |
9a92118f | 110 | ARM64="" |
111 | if [ $TERMUX_ARCH = aarch64 ]; then | |
112 | export ARM64=" --with-cpu-port=arm64" | |
113 | fi | |
114 | ||
77b0e696 | 115 | bash $TERMUX_PKG_SRCDIR/configure \ |
9a92118f | 116 | $ARM64 \ |
ffcb22f1 | 117 | --prefix=$TERMUX_PREFIX \ |
1f3323ce | 118 | --openjdk-target=$BUILD_TRIPLE \ |
ffcb22f1 VB |
119 | --libexecdir=$TERMUX_PREFIX/libexec \ |
120 | --with-devkit=$ANDROID_DEVKIT \ | |
77b0e696 VB |
121 | --with-extra-cflags="$CPPFLAGS $CFLAGS" \ |
122 | --with-extra-cxxflags="$CPPFLAGS $CXXFLAGS" \ | |
9a92118f | 123 | --with-extra-ldflags="-L$TERMUX_PKG_TMPDIR $LDFLAGS -ldl" \ |
1f3323ce | 124 | --with-jvm-features="$JVM_FEATURES" \ |
ffcb22f1 VB |
125 | $TERMUX_PKG_EXTRA_CONFIGURE_ARGS |
126 | } | |
127 | ||
128 | termux_step_make () { | |
129 | make JOBS=$TERMUX_MAKE_PROCESSES images | |
130 | } | |
131 | ||
d4b5d52c VB |
132 | termux_step_post_make_install () { |
133 | # move jvm install dir | |
134 | mkdir -p $TERMUX_PREFIX/lib/jvm | |
135 | rm -rf "$TERMUX_PREFIX/lib/jvm/openjdk-9" | |
136 | mv $TERMUX_PREFIX/jvm/openjdk-9-internal $TERMUX_PREFIX/$_jvm_dir | |
137 | ||
138 | # place src.zip in standard location mimicking ubuntu | |
139 | mv $TERMUX_PREFIX/$_jvm_dir/lib/src.zip $TERMUX_PREFIX/$_jvm_dir/src.zip | |
140 | ||
141 | # create shell wrappers for binaries | |
142 | for binary in $TERMUX_PREFIX/$_jvm_dir/bin/*; do | |
143 | binary=`basename $binary` | |
144 | rm -f $TERMUX_PREFIX/bin/$binary | |
145 | echo "export JAVA_HOME=\$PREFIX/$_jvm_dir" > $TERMUX_PREFIX/bin/$binary | |
146 | echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/jli" >> $TERMUX_PREFIX/bin/$binary | |
9a92118f | 147 | echo "exec \$JAVA_HOME/bin/$binary \"\$@\"" >> $TERMUX_PREFIX/bin/$binary |
d4b5d52c VB |
148 | chmod u+x $TERMUX_PREFIX/bin/$binary |
149 | done | |
150 | ||
151 | # use cacerts provided by ca-certificates-java | |
152 | ln -sf "$TERMUX_PREFIX/$_jvm_dir/lib/security/jssecacerts" "$TERMUX_PREFIX/$_jvm_dir/lib/security/cacerts" | |
153 | } |