openjdk: depends on ca_root_certificates_java.

* the runtime_loader doesn't find libs required by libjvm.so on x86
secondary arch. for now we provide symlinks to workaround the problem.
This commit is contained in:
Jerome Duval
2018-10-31 20:44:12 +01:00
parent 1163bec465
commit c2675c3b03

View File

@@ -10,7 +10,7 @@ license. OpenJDK is the official Java SE 8 reference implementation."
HOMEPAGE="https://openjdk.java.net/"
COPYRIGHT="2015 Oracle and/or its affiliates."
LICENSE="GNU GPL v2"
REVISION="3"
REVISION="4"
SOURCE_URI="https://bitbucket.org/hamishm/haiku-jdk8u/get/6e3a7c2446ea.zip"
CHECKSUM_SHA256="68cb8171d84b1a0c12e20b2ecc968a12ed8f64d39858a6e3af9e287877c2245e"
SOURCE_DIR="hamishm-haiku-jdk8u-6e3a7c2446ea"
@@ -105,6 +105,7 @@ REQUIRES="
lib:libiconv$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libz$secondaryArchSuffix
ca_root_certificates_java
"
SUMMARY_sources="JDK source files, demos and examples"
@@ -190,26 +191,19 @@ BUILD()
INSTALL()
{
export DISABLE_ASLR=1
# install the generated SDK image dir
jdkDir=$libDir/openjdk
mkdir -p $(dirname $jdkDir)
cp -a build/haiku-*/images/j2sdk-image $jdkDir
# set up the cacerts file
cacerts=$jdkDir/jre/lib/security/cacerts
certDir=certs
# set up the cacerts link
ln -sf $dataDir/ssl/java/cacerts $jdkDir/jre/lib/security/
mkdir -p $certDir
csplit -f $certDir/ /system/data/ssl/CARootCertificates.pem "/-----BEGIN CERTIFICATE-----/" {*}
rm $certDir/00
for cert in $certDir/*; do
$jdkDir/bin/keytool -import -noprompt -keystore $cacerts \
-storepass "changeit" -file $cert -alias "$cert"
done
# workaround: libstdc++.so.6 and its dependencies needed to load libjvm.so
mkdir -p $jdkDir/bin/lib
ln -sf $libDir/libstdc++.so.6 $libDir/libgcc_s.so.1 $libDir/libroot.so \
$jdkDir/bin/lib/
# symlink the executables to binDir
mkdir -p $prefix/bin