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.6.24"
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 TERMUX_PKG_EXTRA_CONFIGURE_ARGS
="
13 --disable-hotspot-gtest
14 --disable-option-checking
15 --disable-warnings-as-errors
16 --enable-headless-only
17 --with-freetype=$TERMUX_PREFIX
20 --with-jdk-variant=normal
21 --with-jvm-variants=server
24 TERMUX_PKG_RM_AFTER_INSTALL
="$_jvm_dir/demo $_jvm_dir/sample"
27 changesets
=('b0ac0fef5b92'
36 sha256sums
=('b269c630374c181840c126f8e82cd799147b556482cad3231c577741d0718373'
37 '7da8245591a3ea3c6c7d0aea6cd2c653e0039a2ea5511ff2cea988223b02c388'
38 '021b9b8f943087fc7967fe3640d68ab989b791ed1133966a402e1b49f4c6154e'
39 '77200280da08f56dd298a748b99a8107dddd113872d619677e0a02eeee88bc84'
40 '435d2e98df810ce45c36af511acbf8cf9b19c68371f9692e95c6aeef2b8fd473'
41 '43a89436e6f9c11939c7d93a4daa748bc3155e8f1d6fc6e6507310b3addf31a2'
42 'c8341d99f315575a11d1f33b243f4cbdab25240caf53668eea8e09a9ecfaf2c5'
43 '52eeb4ea0c77054f7abb847f9798cedf653ac50de56a6e2d69b7277822738314'
44 '66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f')
46 reponames
=(dev corba hotspot jdk jaxws jaxp langtools nashorn cups
)
48 _url_src
=http
://hg.openjdk.java.net
/mobile
/dev
50 TERMUX_PKG_SRCURL
=$_url_src/archive
/${changesets[0]}.
tar.bz2
51 TERMUX_PKG_SHA256
=${sha256sums[0]}
52 TERMUX_PKG_FOLDERNAME
=dev-
${changesets[0]}
54 termux_step_post_extract_package
() {
55 cd "$TERMUX_PKG_TMPDIR"
56 # download and extract repo archives
57 for index
in {1.
.7}; do
58 local sum=${sha256sums[index]}
59 local repo
=${reponames[index]}
60 local change
=${changesets[index]}
61 local file=$TERMUX_PKG_CACHEDIR/$repo-$change.
tar.bz2
62 local url
=${_url_src}/$repo/archive
/$change.
tar.bz2
64 termux_download
$url $file $sum
65 tar xf
$file -C
$TERMUX_PKG_SRCDIR
66 mv $TERMUX_PKG_SRCDIR/$repo-$change $TERMUX_PKG_SRCDIR/$repo
69 # setup cups source dir
70 file=$TERMUX_PKG_CACHEDIR/cups-
$_cups_ver-source.
tar.gz
71 url
="https://github.com/apple/cups/releases/download/v$_cups_ver/`basename $file`"
72 termux_download
$url $file ${sha256sums[8]}
73 tar xf
$file -C
$TERMUX_PKG_SRCDIR
76 # override this step to since openjdk provides its own customized guess scripts
77 termux_step_replace_guess_scripts
() {
81 termux_step_pre_configure
() {
82 TERMUX_PKG_EXTRA_CONFIGURE_ARGS
+=" --with-cups-include=$TERMUX_PKG_SRCDIR/cups-$_cups_ver"
84 cat > "$TERMUX_STANDALONE_TOOLCHAIN/devkit.info" <<HERE
85 DEVKIT_NAME="Android ${TERMUX_ARCH^^}"
86 DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin"
87 DEVKIT_SYSROOT="\$DEVKIT_ROOT/sysroot"
90 export ANDROID_DEVKIT
=$TERMUX_STANDALONE_TOOLCHAIN
92 if [ -n
"$TERMUX_DEBUG" ]; then TERMUX_PKG_EXTRA_CONFIGURE_ARGS
+=" --with-debug-level=slowdebug"; fi
93 BUILD_TRIPLE
=$TERMUX_ARCH-linux
-gnu
94 test "$TERMUX_ARCH" == "arm" && BUILD_TRIPLE
+="eabi"
96 JVM_FEATURES
="compiler1,compiler2,jvmti,fprof,vm-structs,jni-check,services,management,all-gcs,nmt,cds"
97 # enable features specific to some arches
98 if [ "$TERMUX_ARCH" == "aarch64" ] ||
[ "$TERMUX_ARCH" == "x86_64" ]; then JVM_FEATURES
+=",jvmci,graal"; fi
100 test "$TERMUX_ARCH" == "aarch64" && CFLAGS
="$CFLAGS -DUSE_LIBRARY_BASED_TLS_ONLY"
102 # remove sa_proc support
103 rm $TERMUX_PKG_SRCDIR/hotspot
/make/lib
/Lib-jdk.hotspot.agent.gmk
106 termux_step_configure
() {
107 bash
$TERMUX_PKG_SRCDIR/configure \
108 --prefix
=$TERMUX_PREFIX \
109 --openjdk-target
=$BUILD_TRIPLE \
110 --libexecdir
=$TERMUX_PREFIX/libexec \
111 --with-devkit
=$ANDROID_DEVKIT \
112 --with-extra-cflags
="$CPPFLAGS $CFLAGS" \
113 --with-extra-cxxflags
="$CPPFLAGS $CXXFLAGS" \
114 --with-extra-ldflags
="$LDFLAGS" \
115 --with-jvm-features
="$JVM_FEATURES" \
116 $TERMUX_PKG_EXTRA_CONFIGURE_ARGS
119 termux_step_make
() {
120 make JOBS
=$TERMUX_MAKE_PROCESSES images
123 termux_step_post_make_install
() {
124 # move jvm install dir
125 mkdir
-p
$TERMUX_PREFIX/lib
/jvm
126 rm -rf
"$TERMUX_PREFIX/lib/jvm/openjdk-9"
127 mv $TERMUX_PREFIX/jvm
/openjdk-9-internal
$TERMUX_PREFIX/$_jvm_dir
129 # place src.zip in standard location mimicking ubuntu
130 mv $TERMUX_PREFIX/$_jvm_dir/lib
/src.
zip $TERMUX_PREFIX/$_jvm_dir/src.
zip
132 # create shell wrappers for binaries
133 for binary
in $TERMUX_PREFIX/$_jvm_dir/bin
/*; do
134 binary
=`basename $binary`
135 rm -f
$TERMUX_PREFIX/bin
/$binary
136 echo "export JAVA_HOME=\$PREFIX/$_jvm_dir" > $TERMUX_PREFIX/bin
/$binary
137 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/jli" >> $TERMUX_PREFIX/bin
/$binary
138 echo "\$JAVA_HOME/bin/$binary \"\$@\"" >> $TERMUX_PREFIX/bin
/$binary
139 chmod u
+x
$TERMUX_PREFIX/bin
/$binary
142 # use cacerts provided by ca-certificates-java
143 ln -sf
"$TERMUX_PREFIX/$_jvm_dir/lib/security/jssecacerts" "$TERMUX_PREFIX/$_jvm_dir/lib/security/cacerts"