libssh: official mirror is down (#1057)
[termux-packages] / disabled-packages / openjdk-9-jre-headless / build.sh
CommitLineData
ffcb22f1 1TERMUX_PKG_HOMEPAGE=http://openjdk.java.net
efb97f17 2TERMUX_PKG_DESCRIPTION="OpenJDK 9 Java Runtime Environment (prerelease)"
1f3323ce 3_jbuild=168
ffcb22f1 4_hg_tag="jdk-9+${_jbuild}"
d4b5d52c 5_jvm_dir="lib/jvm/openjdk-9"
1f3323ce 6TERMUX_PKG_VERSION="9.2017.5.12"
efb97f17
VB
7TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
8TERMUX_PKG_HOMEPAGE=http://openjdk.java.net/projects/jdk9
d4b5d52c
VB
9TERMUX_PKG_DEPENDS="freetype, libpng, ca-certificates-java"
10TERMUX_PKG_CONFFILES="$_jvm_dir/lib/jvm.cfg"
b8589503 11TERMUX_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 23TERMUX_PKG_CLANG=no
d4b5d52c 24TERMUX_PKG_RM_AFTER_INSTALL="$_jvm_dir/demo $_jvm_dir/sample"
d4b5d52c
VB
25_cups_ver=2.2.3
26
1f3323ce
VB
27changesets=('d3e4e68dc2a4'
28 'b2218d41edef'
29 '2982a1d6ecfc'
30 '69b4c97b87b5'
31 '912cf69806d5'
32 '5d9d2a65fb26'
33 '0e522ff8b9f5'
34 '131e25008015')
35
36sha256sums=('6e38d7ff3ae082206b43973fd43c07c88d1e5b30985e0c4d8357c364f51cf66c'
37 '3173a9b6bc380ebdda014c512f0f88871a8ebdea3fda0d9ad350dba42a3493d6'
38 'ff1342410d63ccec54f3e043b74fbc0549b01260bb15170515c68a8dfb4f7b0b'
39 'cda559ee5cae0f8ab0c7ea19d70eaff58e7a44462786c78dfa8811f24d548aef'
40 'a24208276b465e64085890d7daf5c4d25eb8abf629d636477f85e8849a7c978a'
41 'a1b1a77118183000cf20bac7e10e7272145dc64e1120ccb4559b8df7160a48db'
42 '3f4517e94efb689a291dce74ac2a12e496767d417a05d7fc6c74c483f3d14cca'
43 '961adb3a0facfec181ff3b999b6fa079dffb1ff4a8f5607905f5ea28dcc597bf'
d4b5d52c 44 '66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f')
77b0e696
VB
45
46reponames=(dev corba hotspot jdk jaxws jaxp langtools nashorn cups)
47
48_url_src=http://hg.openjdk.java.net/mobile/dev
49
50TERMUX_PKG_SRCURL=$_url_src/archive/${changesets[0]}.tar.bz2
51TERMUX_PKG_SHA256=${sha256sums[0]}
52TERMUX_PKG_FOLDERNAME=dev-${changesets[0]}
ffcb22f1
VB
53
54termux_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
77termux_step_replace_guess_scripts () {
78 return
ffcb22f1
VB
79}
80
81termux_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
85DEVKIT_NAME="Android ${TERMUX_ARCH^^}"
86DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin"
77b0e696 87DEVKIT_SYSROOT="\$DEVKIT_ROOT/sysroot"
ffcb22f1
VB
88HERE
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
100 # remove sa_proc support
101 rm $TERMUX_PKG_SRCDIR/hotspot/make/lib/Lib-jdk.hotspot.agent.gmk
ffcb22f1
VB
102}
103
104termux_step_configure () {
77b0e696 105 bash $TERMUX_PKG_SRCDIR/configure \
ffcb22f1 106 --prefix=$TERMUX_PREFIX \
1f3323ce 107 --openjdk-target=$BUILD_TRIPLE \
ffcb22f1
VB
108 --libexecdir=$TERMUX_PREFIX/libexec \
109 --with-devkit=$ANDROID_DEVKIT \
77b0e696
VB
110 --with-extra-cflags="$CPPFLAGS $CFLAGS" \
111 --with-extra-cxxflags="$CPPFLAGS $CXXFLAGS" \
ffcb22f1 112 --with-extra-ldflags="$LDFLAGS" \
1f3323ce 113 --with-jvm-features="$JVM_FEATURES" \
ffcb22f1
VB
114 $TERMUX_PKG_EXTRA_CONFIGURE_ARGS
115}
116
117termux_step_make () {
118 make JOBS=$TERMUX_MAKE_PROCESSES images
119}
120
d4b5d52c
VB
121termux_step_post_make_install () {
122 # move jvm install dir
123 mkdir -p $TERMUX_PREFIX/lib/jvm
124 rm -rf "$TERMUX_PREFIX/lib/jvm/openjdk-9"
125 mv $TERMUX_PREFIX/jvm/openjdk-9-internal $TERMUX_PREFIX/$_jvm_dir
126
127 # place src.zip in standard location mimicking ubuntu
128 mv $TERMUX_PREFIX/$_jvm_dir/lib/src.zip $TERMUX_PREFIX/$_jvm_dir/src.zip
129
130 # create shell wrappers for binaries
131 for binary in $TERMUX_PREFIX/$_jvm_dir/bin/*; do
132 binary=`basename $binary`
133 rm -f $TERMUX_PREFIX/bin/$binary
134 echo "export JAVA_HOME=\$PREFIX/$_jvm_dir" > $TERMUX_PREFIX/bin/$binary
135 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/jli" >> $TERMUX_PREFIX/bin/$binary
136 echo "\$JAVA_HOME/bin/$binary \"\$@\"" >> $TERMUX_PREFIX/bin/$binary
137 chmod u+x $TERMUX_PREFIX/bin/$binary
138 done
139
140 # use cacerts provided by ca-certificates-java
141 ln -sf "$TERMUX_PREFIX/$_jvm_dir/lib/security/jssecacerts" "$TERMUX_PREFIX/$_jvm_dir/lib/security/cacerts"
142}