Commit | Line | Data |
---|---|---|
ffcb22f1 | 1 | TERMUX_PKG_HOMEPAGE=http://openjdk.java.net |
efb97f17 | 2 | TERMUX_PKG_DESCRIPTION="OpenJDK 9 Java Runtime Environment (prerelease)" |
b6004d12 | 3 | _jbuild=174 |
ffcb22f1 | 4 | _hg_tag="jdk-9+${_jbuild}" |
d4b5d52c | 5 | _jvm_dir="lib/jvm/openjdk-9" |
b6004d12 | 6 | TERMUX_PKG_VERSION="9.2017.6.24" |
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" |
d4b5d52c VB |
25 | _cups_ver=2.2.3 |
26 | ||
b6004d12 VB |
27 | changesets=('b0ac0fef5b92' |
28 | 'dc78a3dd6b3a' | |
29 | 'a81769cc0015' | |
30 | 'ee95c24502f3' | |
31 | 'a5d361b9d1f7' | |
32 | '736412a8dcce' | |
33 | '83f6eb009d8f' | |
34 | '734b3209b6ed') | |
35 | ||
36 | sha256sums=('b269c630374c181840c126f8e82cd799147b556482cad3231c577741d0718373' | |
37 | '7da8245591a3ea3c6c7d0aea6cd2c653e0039a2ea5511ff2cea988223b02c388' | |
38 | '021b9b8f943087fc7967fe3640d68ab989b791ed1133966a402e1b49f4c6154e' | |
39 | '77200280da08f56dd298a748b99a8107dddd113872d619677e0a02eeee88bc84' | |
40 | '435d2e98df810ce45c36af511acbf8cf9b19c68371f9692e95c6aeef2b8fd473' | |
41 | '43a89436e6f9c11939c7d93a4daa748bc3155e8f1d6fc6e6507310b3addf31a2' | |
42 | 'c8341d99f315575a11d1f33b243f4cbdab25240caf53668eea8e09a9ecfaf2c5' | |
43 | '52eeb4ea0c77054f7abb847f9798cedf653ac50de56a6e2d69b7277822738314' | |
d4b5d52c | 44 | '66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f') |
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]} | |
52 | TERMUX_PKG_FOLDERNAME=dev-${changesets[0]} | |
ffcb22f1 VB |
53 | |
54 | termux_step_post_extract_package () { | |
77b0e696 VB |
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 | |
63 | ||
64 | termux_download $url $file $sum | |
2f122eed | 65 | tar xf $file -C $TERMUX_PKG_SRCDIR |
77b0e696 | 66 | mv $TERMUX_PKG_SRCDIR/$repo-$change $TERMUX_PKG_SRCDIR/$repo |
ffcb22f1 VB |
67 | done |
68 | ||
77b0e696 VB |
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]} | |
2f122eed | 73 | tar xf $file -C $TERMUX_PKG_SRCDIR |
77b0e696 VB |
74 | } |
75 | ||
d4b5d52c | 76 | # override this step to since openjdk provides its own customized guess scripts |
77b0e696 VB |
77 | termux_step_replace_guess_scripts () { |
78 | return | |
ffcb22f1 VB |
79 | } |
80 | ||
81 | termux_step_pre_configure () { | |
77b0e696 VB |
82 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-cups-include=$TERMUX_PKG_SRCDIR/cups-$_cups_ver" |
83 | ||
ffcb22f1 VB |
84 | cat > "$TERMUX_STANDALONE_TOOLCHAIN/devkit.info" <<HERE |
85 | DEVKIT_NAME="Android ${TERMUX_ARCH^^}" | |
86 | DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin" | |
77b0e696 | 87 | DEVKIT_SYSROOT="\$DEVKIT_ROOT/sysroot" |
ffcb22f1 VB |
88 | HERE |
89 | ||
90 | export ANDROID_DEVKIT=$TERMUX_STANDALONE_TOOLCHAIN | |
91 | ||
77b0e696 | 92 | if [ -n "$TERMUX_DEBUG" ]; then TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-debug-level=slowdebug"; fi |
1f3323ce VB |
93 | BUILD_TRIPLE=$TERMUX_ARCH-linux-gnu |
94 | test "$TERMUX_ARCH" == "arm" && BUILD_TRIPLE+="eabi" | |
95 | ||
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 | |
99 | ||
b6004d12 VB |
100 | test "$TERMUX_ARCH" == "aarch64" && CFLAGS="$CFLAGS -DUSE_LIBRARY_BASED_TLS_ONLY" |
101 | ||
1f3323ce VB |
102 | # remove sa_proc support |
103 | rm $TERMUX_PKG_SRCDIR/hotspot/make/lib/Lib-jdk.hotspot.agent.gmk | |
ffcb22f1 VB |
104 | } |
105 | ||
106 | termux_step_configure () { | |
77b0e696 | 107 | bash $TERMUX_PKG_SRCDIR/configure \ |
ffcb22f1 | 108 | --prefix=$TERMUX_PREFIX \ |
1f3323ce | 109 | --openjdk-target=$BUILD_TRIPLE \ |
ffcb22f1 VB |
110 | --libexecdir=$TERMUX_PREFIX/libexec \ |
111 | --with-devkit=$ANDROID_DEVKIT \ | |
77b0e696 VB |
112 | --with-extra-cflags="$CPPFLAGS $CFLAGS" \ |
113 | --with-extra-cxxflags="$CPPFLAGS $CXXFLAGS" \ | |
ffcb22f1 | 114 | --with-extra-ldflags="$LDFLAGS" \ |
1f3323ce | 115 | --with-jvm-features="$JVM_FEATURES" \ |
ffcb22f1 VB |
116 | $TERMUX_PKG_EXTRA_CONFIGURE_ARGS |
117 | } | |
118 | ||
119 | termux_step_make () { | |
120 | make JOBS=$TERMUX_MAKE_PROCESSES images | |
121 | } | |
122 | ||
d4b5d52c VB |
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 | |
128 | ||
129 | # place src.zip in standard location mimicking ubuntu | |
130 | mv $TERMUX_PREFIX/$_jvm_dir/lib/src.zip $TERMUX_PREFIX/$_jvm_dir/src.zip | |
131 | ||
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 | |
140 | done | |
141 | ||
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" | |
144 | } |