1 TERMUX_PKG_HOMEPAGE
=http
://openjdk.java.net
2 TERMUX_PKG_DESCRIPTION
="OpenJDK 9 Java Runtime Environment (prerelease)"
4 _hg_tag
="jdk-9+${_jbuild}"
5 _jvm_dir
="lib/jvm/openjdk-9"
6 TERMUX_PKG_VERSION
="9.2017.4.3"
7 TERMUX_PKG_MAINTAINER
="Vishal Biswas @vishalbiswas"
8 TERMUX_PKG_HOMEPAGE
=http
://openjdk.java.net
/projects
/jdk9
9 TERMUX_PKG_DEPENDS
="freetype, libpng, ca-certificates-java"
10 TERMUX_PKG_CONFFILES
="$_jvm_dir/lib/jvm.cfg"
11 # currently upstream has no support building for these arches on android
12 # this will change in the future
13 TERMUX_PKG_BLACKLISTED_ARCHES
="aarch64 x86_64"
14 TERMUX_PKG_EXTRA_CONFIGURE_ARGS
="
15 --disable-hotspot-gtest
16 --disable-option-checking
17 --disable-warnings-as-errors
18 --enable-headless-only
19 --with-freetype=$TERMUX_PREFIX
22 --with-jdk-variant=normal
23 --with-jvm-variants=client
26 TERMUX_PKG_RM_AFTER_INSTALL
="$_jvm_dir/demo $_jvm_dir/sample"
30 changesets
=('d9c3e4f30936'
39 sha256sums
=('36ca35e4fe90ae1b1966d9f909c108f39fe411b2e783faa49102d2088909be8e'
40 '9d24cab2e16c17f51d591b9786005062bee3e60e394d1b78dddbdfb01b9a5ea6'
41 '312204f76d4f23be09aa7121273ac791588de5c6a3c25d49b3087a6eb547bb7a'
42 '9ef21b7013ef2a0b0870d4741fc961d1fce0fcb91f44a1f8cdad865455583246'
43 '8d925111270630a171b0165b740bdd5d8d07c4aa1f9ea3caa86076b9f896d3ed'
44 '1fec470e1480472ec7e4ff402bc4b6de5e095cfd5f787bdc250814eb9479a3c0'
45 'db95a143078cdf3cefff5479c5350b678b1a779fcdcf7e066049559a537d81e1'
46 '115601bbce2f5d9df66ce49d4ca6f6db327f1e17865537911160f0cde919e7bf'
47 '66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f')
49 reponames
=(dev corba hotspot jdk jaxws jaxp langtools nashorn cups
)
51 _url_src
=http
://hg.openjdk.java.net
/mobile
/dev
53 TERMUX_PKG_SRCURL
=$_url_src/archive
/${changesets[0]}.
tar.bz2
54 TERMUX_PKG_SHA256
=${sha256sums[0]}
55 TERMUX_PKG_FOLDERNAME
=dev-
${changesets[0]}
57 termux_step_post_extract_package
() {
58 cd "$TERMUX_PKG_TMPDIR"
59 # download and extract repo archives
60 for index
in {1.
.7}; do
61 local sum=${sha256sums[index]}
62 local repo
=${reponames[index]}
63 local change
=${changesets[index]}
64 local file=$TERMUX_PKG_CACHEDIR/$repo-$change.
tar.bz2
65 local url
=${_url_src}/$repo/archive
/$change.
tar.bz2
67 termux_download
$url $file $sum
68 $TERMUX_TAR xf
$file -C
$TERMUX_PKG_SRCDIR
69 mv $TERMUX_PKG_SRCDIR/$repo-$change $TERMUX_PKG_SRCDIR/$repo
72 # setup cups source dir
73 file=$TERMUX_PKG_CACHEDIR/cups-
$_cups_ver-source.
tar.gz
74 url
="https://github.com/apple/cups/releases/download/v$_cups_ver/`basename $file`"
75 termux_download
$url $file ${sha256sums[8]}
76 $TERMUX_TAR xf
$file -C
$TERMUX_PKG_SRCDIR
79 # override this step to since openjdk provides its own customized guess scripts
80 termux_step_replace_guess_scripts
() {
84 termux_step_pre_configure
() {
85 TERMUX_PKG_EXTRA_CONFIGURE_ARGS
+=" --with-cups-include=$TERMUX_PKG_SRCDIR/cups-$_cups_ver"
87 cat > "$TERMUX_STANDALONE_TOOLCHAIN/devkit.info" <<HERE
88 DEVKIT_NAME="Android ${TERMUX_ARCH^^}"
89 DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin"
90 DEVKIT_SYSROOT="\$DEVKIT_ROOT/sysroot"
93 export ANDROID_DEVKIT
=$TERMUX_STANDALONE_TOOLCHAIN
95 if [ -n
"$TERMUX_DEBUG" ]; then TERMUX_PKG_EXTRA_CONFIGURE_ARGS
+=" --with-debug-level=slowdebug"; fi
98 termux_step_configure
() {
99 bash
$TERMUX_PKG_SRCDIR/configure \
100 --prefix
=$TERMUX_PREFIX \
101 --openjdk-target
=$TERMUX_HOST_PLATFORM \
102 --libexecdir
=$TERMUX_PREFIX/libexec \
103 --with-devkit
=$ANDROID_DEVKIT \
104 --with-extra-cflags
="$CPPFLAGS $CFLAGS" \
105 --with-extra-cxxflags
="$CPPFLAGS $CXXFLAGS" \
106 --with-extra-ldflags
="$LDFLAGS" \
107 $TERMUX_PKG_EXTRA_CONFIGURE_ARGS
110 termux_step_make
() {
111 make JOBS
=$TERMUX_MAKE_PROCESSES images
114 termux_step_post_make_install
() {
115 # move jvm install dir
116 mkdir
-p
$TERMUX_PREFIX/lib
/jvm
117 rm -rf
"$TERMUX_PREFIX/lib/jvm/openjdk-9"
118 mv $TERMUX_PREFIX/jvm
/openjdk-9-internal
$TERMUX_PREFIX/$_jvm_dir
120 # place src.zip in standard location mimicking ubuntu
121 mv $TERMUX_PREFIX/$_jvm_dir/lib
/src.
zip $TERMUX_PREFIX/$_jvm_dir/src.
zip
123 # create shell wrappers for binaries
124 for binary
in $TERMUX_PREFIX/$_jvm_dir/bin
/*; do
125 binary
=`basename $binary`
126 rm -f
$TERMUX_PREFIX/bin
/$binary
127 echo "export JAVA_HOME=\$PREFIX/$_jvm_dir" > $TERMUX_PREFIX/bin
/$binary
128 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/jli" >> $TERMUX_PREFIX/bin
/$binary
129 echo "\$JAVA_HOME/bin/$binary \"\$@\"" >> $TERMUX_PREFIX/bin
/$binary
130 chmod u
+x
$TERMUX_PREFIX/bin
/$binary
133 # use cacerts provided by ca-certificates-java
134 ln -sf
"$TERMUX_PREFIX/$_jvm_dir/lib/security/jssecacerts" "$TERMUX_PREFIX/$_jvm_dir/lib/security/cacerts"