Browse Source

openjdk-9-jre-headless (#895)

* openjdk-9: move to ubuntu package naming and layout convention

update to latest changesets (tag 162)
update cups headers to 2.2.3
split into jre, jdk and source packages
use the client jvm, renove libffi dependency
create wrappers for binaries for LD_LIBRARY_PATH
various fixes to get it working

* openjdk-9: depend on ca-certificates-java
android-5
Vishal Biswas 8 years ago
committed by Fredrik Fornwall
parent
commit
d4b5d52c22
  1. 86
      disabled-packages/openjdk-9-jre-headless/build.sh
  2. 0
      disabled-packages/openjdk-9-jre-headless/getgr_r.patch
  3. 12
      disabled-packages/openjdk-9-jre-headless/hotspot-jvm_home.patch
  4. 11
      disabled-packages/openjdk-9-jre-headless/jdk-java_home.patch
  5. 33
      disabled-packages/openjdk-9-jre-headless/openjdk-9-jdk-headless.subpackage.sh
  6. 4
      disabled-packages/openjdk-9-jre-headless/openjdk-9-source.subpackage.sh
  7. 12
      disabled-packages/openjdk-9-jre-headless/osName.patch

86
disabled-packages/openjdk-9-headless/build.sh → disabled-packages/openjdk-9-jre-headless/build.sh

@ -1,11 +1,13 @@
TERMUX_PKG_HOMEPAGE=http://openjdk.java.net
TERMUX_PKG_DESCRIPTION="OpenJDK 9 Java Runtime Environment (prerelease)"
_jbuild=160
_jbuild=162
_hg_tag="jdk-9+${_jbuild}"
TERMUX_PKG_VERSION="9.2017.3.20"
_jvm_dir="lib/jvm/openjdk-9"
TERMUX_PKG_VERSION="9.2017.4.3"
TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
TERMUX_PKG_HOMEPAGE=http://openjdk.java.net/projects/jdk9
TERMUX_PKG_DEPENDS="freetype, libpng, libffi"
TERMUX_PKG_DEPENDS="freetype, libpng, ca-certificates-java"
TERMUX_PKG_CONFFILES="$_jvm_dir/lib/jvm.cfg"
# currently upstream has no support building for these arches on android
# this will change in the future
TERMUX_PKG_BLACKLISTED_ARCHES="aarch64 x86_64"
@ -14,32 +16,35 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
--disable-option-checking
--disable-warnings-as-errors
--enable-headless-only
--with-libffi=$TERMUX_PREFIX
--with-freetype=$TERMUX_PREFIX
--with-libpng=system
--with-zlib=system
--with-jdk-variant=normal
--with-jvm-variants=client
"
TERMUX_PKG_CLANG=no
_cups_ver=2.2.2
changesets=('b273cb907f72'
'18f02bc43fe9'
'033d015c6d8b'
'ac4c88ea156c'
'7d5352c54fc8'
'51b63f1b8001'
'2340259b3155'
'd6ef419af865')
sha256sums=('1fe425e4cade15bc552083b067270b1049a9ae2a4f721a48c55709cc593f1657'
'1dff59f743f03a284caa70184873d24e9d3733485f15c9c3519843ea2986e0d7'
'f417fce184e755b279d681819470f4a6f2d8ba6aa2624b520c67bfc184cb3ab2'
'7de8fd296a1b9602851797d88268fae4fac171706bfeb80b20c352ff070ab60f'
'efe917c6c776485069bfa147065e7ebfa9d7b3d937eec6db4f143b847548c0a2'
'801261a2e65688264ba33fe50ef87bbf3ff703cb6b70d0661b365ca17d776b16'
'a3961c7ff0e2f8c80f99e49e321dc0c2e15c752a90f6ff6b95d77f54e10e1650'
'a4e817b9f2e66f46646b4043081aa8be8e6502221d85d1f606f5e808b0b23f2a'
'f589bb7d5d1dc3aa0915d7cf2b808571ef2e1530cd1a6ebe76ae8f9f4994e4f6')
TERMUX_PKG_RM_AFTER_INSTALL="$_jvm_dir/demo $_jvm_dir/sample"
_cups_ver=2.2.3
changesets=('d9c3e4f30936'
'493011dee80e'
'dc3346496843'
'0d44d05a4c96'
'3890f96e8995'
'92a38c75cd27'
'24582dd2649a'
'5e5e436543da')
sha256sums=('36ca35e4fe90ae1b1966d9f909c108f39fe411b2e783faa49102d2088909be8e'
'9d24cab2e16c17f51d591b9786005062bee3e60e394d1b78dddbdfb01b9a5ea6'
'312204f76d4f23be09aa7121273ac791588de5c6a3c25d49b3087a6eb547bb7a'
'9ef21b7013ef2a0b0870d4741fc961d1fce0fcb91f44a1f8cdad865455583246'
'8d925111270630a171b0165b740bdd5d8d07c4aa1f9ea3caa86076b9f896d3ed'
'1fec470e1480472ec7e4ff402bc4b6de5e095cfd5f787bdc250814eb9479a3c0'
'db95a143078cdf3cefff5479c5350b678b1a779fcdcf7e066049559a537d81e1'
'115601bbce2f5d9df66ce49d4ca6f6db327f1e17865537911160f0cde919e7bf'
'66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f')
reponames=(dev corba hotspot jdk jaxws jaxp langtools nashorn cups)
@ -71,7 +76,7 @@ termux_step_post_extract_package () {
$TERMUX_TAR xf $file -C $TERMUX_PKG_SRCDIR
}
# override this step to since openjdk provides their own customized guess scripts
# override this step to since openjdk provides its own customized guess scripts
termux_step_replace_guess_scripts () {
return
}
@ -79,14 +84,6 @@ termux_step_replace_guess_scripts () {
termux_step_pre_configure () {
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-cups-include=$TERMUX_PKG_SRCDIR/cups-$_cups_ver"
# might be required
# libffi dependency is required if zero interpreter is used
#if [ -o "$TERMUX_ARCH" == 'i686' -o "$TERMUX_ARCH" == 'x86_64' ]; then
# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=' --with-jvm-variants=client'
#else
# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=' --with-jvm-variants=zero'
#fi
cat > "$TERMUX_STANDALONE_TOOLCHAIN/devkit.info" <<HERE
DEVKIT_NAME="Android ${TERMUX_ARCH^^}"
DEVKIT_TOOLCHAIN_PATH="\$DEVKIT_ROOT/$TERMUX_HOST_PLATFORM/bin"
@ -102,7 +99,6 @@ termux_step_configure () {
bash $TERMUX_PKG_SRCDIR/configure \
--prefix=$TERMUX_PREFIX \
--openjdk-target=$TERMUX_HOST_PLATFORM \
--with-jdk-variant=normal \
--libexecdir=$TERMUX_PREFIX/libexec \
--with-devkit=$ANDROID_DEVKIT \
--with-extra-cflags="$CPPFLAGS $CFLAGS" \
@ -115,3 +111,25 @@ termux_step_make () {
make JOBS=$TERMUX_MAKE_PROCESSES images
}
termux_step_post_make_install () {
# move jvm install dir
mkdir -p $TERMUX_PREFIX/lib/jvm
rm -rf "$TERMUX_PREFIX/lib/jvm/openjdk-9"
mv $TERMUX_PREFIX/jvm/openjdk-9-internal $TERMUX_PREFIX/$_jvm_dir
# place src.zip in standard location mimicking ubuntu
mv $TERMUX_PREFIX/$_jvm_dir/lib/src.zip $TERMUX_PREFIX/$_jvm_dir/src.zip
# create shell wrappers for binaries
for binary in $TERMUX_PREFIX/$_jvm_dir/bin/*; do
binary=`basename $binary`
rm -f $TERMUX_PREFIX/bin/$binary
echo "export JAVA_HOME=\$PREFIX/$_jvm_dir" > $TERMUX_PREFIX/bin/$binary
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/jli" >> $TERMUX_PREFIX/bin/$binary
echo "\$JAVA_HOME/bin/$binary \"\$@\"" >> $TERMUX_PREFIX/bin/$binary
chmod u+x $TERMUX_PREFIX/bin/$binary
done
# use cacerts provided by ca-certificates-java
ln -sf "$TERMUX_PREFIX/$_jvm_dir/lib/security/jssecacerts" "$TERMUX_PREFIX/$_jvm_dir/lib/security/cacerts"
}

0
disabled-packages/openjdk-9-headless/getgr_r.patch → disabled-packages/openjdk-9-jre-headless/getgr_r.patch

12
disabled-packages/openjdk-9-jre-headless/hotspot-jvm_home.patch

@ -0,0 +1,12 @@
shoutout to @its-pointless (live_the_dream)
--- ./hotspot/src/share/vm/runtime/os.cpp 2017-03-30 20:45:45.000000000 +0530
+++ ../os.cpp 2017-03-31 11:04:17.097618021 +0530
@@ -74,7 +74,7 @@
int os::_processor_count = 0;
int os::_initial_active_processor_count = 0;
size_t os::_page_sizes[os::page_sizes_max];
-const char * os::_java_home = NULL;
+const char * os::_java_home = "@TERMUX_PREFIX@/lib/jvm/openjdk-9";
#ifndef PRODUCT
julong os::num_mallocs = 0; // # of calls to malloc/realloc

11
disabled-packages/openjdk-9-jre-headless/jdk-java_home.patch

@ -0,0 +1,11 @@
--- ./jdk/src/java.base/unix/native/libjli/java_md_solinux.c 2017-03-30 20:45:48.000000000 +0530
+++ ../java_md_solinux.c 2017-03-31 09:15:07.979651293 +0530
@@ -163,7 +163,7 @@
*/
#ifdef __ANDROID__
-static char * __java_home = NULL;
+static char * __java_home = "@TERMUX_PREFIX@/lib/jvm/openjdk-9";
#endif
void SetJavaHome(char *arg) {

33
disabled-packages/openjdk-9-jre-headless/openjdk-9-jdk-headless.subpackage.sh

@ -0,0 +1,33 @@
TERMUX_SUBPKG_INCLUDE="$_jvm_dir/bin/idlj bin/idlj
$_jvm_dir/bin/jar bin/jar
$_jvm_dir/bin/jarsigner bin/jarsigner
$_jvm_dir/bin/javac bin/javac
$_jvm_dir/bin/javadoc bin/javadoc
$_jvm_dir/bin/javah bin/javah
$_jvm_dir/bin/javap bin/javap
$_jvm_dir/bin/jcmd bin/jcmd
$_jvm_dir/bin/jdb bin/jdb
$_jvm_dir/bin/jdeprscan bin/jdeprscan
$_jvm_dir/bin/jdeps bin/jdeps
$_jvm_dir/bin/jhsdb bin/jhsdb
$_jvm_dir/bin/jimage bin/jimage
$_jvm_dir/bin/jinfo bin/jinfo
$_jvm_dir/bin/jlink bin/jlink
$_jvm_dir/bin/jmap bin/jmap
$_jvm_dir/bin/jmod bin/jmod
$_jvm_dir/bin/jps bin/jps
$_jvm_dir/bin/jrunscript bin/jrunscript
$_jvm_dir/bin/jshell bin/jshell
$_jvm_dir/bin/jstack bin/jstack
$_jvm_dir/bin/jstat bin/jstat
$_jvm_dir/bin/jstatd bin/jstatd
$_jvm_dir/bin/policytool bin/policytool
$_jvm_dir/bin/rmic bin/rmic
$_jvm_dir/bin/schemagen bin/schemagen
$_jvm_dir/bin/serialver bin/serialver
$_jvm_dir/bin/wsgen bin/wsgen
$_jvm_dir/bin/wsimport bin/wsimport
$_jvm_dir/bin/xjc bin/xjc
$_jvm_dir/include"
TERMUX_SUBPKG_DEPENDS="openjdk-9-jre-headless"
TERMUX_SUBPKG_DESCRIPTION="OpenJDK Development Kit (JDK) (headless)"

4
disabled-packages/openjdk-9-jre-headless/openjdk-9-source.subpackage.sh

@ -0,0 +1,4 @@
TERMUX_SUBPKG_INCLUDE="$_jvm_dir/src.zip"
TERMUX_SUBPKG_DEPENDS="openjdk-9-jre-headless"
TERMUX_SUBPKG_DESCRIPTION="OpenJDK Development Kit (JDK) source files"
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=yes

12
disabled-packages/openjdk-9-jre-headless/osName.patch

@ -0,0 +1,12 @@
thanks @fornwall for finding this
--- ./jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java 2017-03-30 20:45:48.000000000 +0530
+++ ../ProcessImpl.java 2017-04-01 23:04:39.565293249 +0530
@@ -157,7 +157,7 @@
static Platform get() {
String osName = GetPropertyAction.privilegedGetProperty("os.name");
- if (osName.equals("Linux")) { return LINUX; }
+ if (osName.equals("Linux") || osName.equals("Android")) { return LINUX; }
if (osName.contains("OS X")) { return BSD; }
if (osName.equals("SunOS")) { return SOLARIS; }
if (osName.equals("AIX")) { return AIX; }
Loading…
Cancel
Save