mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-06 06:58:57 +02:00
299 lines
9.8 KiB
Bash
299 lines
9.8 KiB
Bash
SUMMARY="An open-source implementation of the Java Platform, SE"
|
|
DESCRIPTION="OpenJDK (Open Java Development Kit) is a free and open source \
|
|
implementation of the Java Platform, Standard Edition (Java SE). It is the \
|
|
result of an effort Sun Microsystems began in 2006.
|
|
|
|
The implementation is licensed under the GNU General Public License (GNU GPL) \
|
|
with a linking exception. Were it not for the GPL linking exception, components \
|
|
that linked to the Java class library would be subject to the terms of the GPL \
|
|
license. OpenJDK is the official Java SE 8 reference implementation."
|
|
HOMEPAGE="https://openjdk.java.net/"
|
|
COPYRIGHT="2007-2015 Oracle and/or its affiliates."
|
|
LICENSE="GNU GPL v2"
|
|
REVISION="1"
|
|
jdkUpdate="222"
|
|
jdkBuild="b10"
|
|
jdkUpdateBuild="jdk8u$jdkUpdate-$jdkBuild"
|
|
srcGitRev="116cac78773ba08604a39cc5ae2a002350fb6f80"
|
|
SOURCE_URI="https://github.com/korli/haiku-jdk8u/archive/$srcGitRev.tar.gz"
|
|
CHECKSUM_SHA256="584bcd1ea718507df4627cd51cc33c472e4a6846ad975378380236b3c634e847"
|
|
SOURCE_DIR="haiku-jdk8u-$srcGitRev"
|
|
SOURCE_FILENAME="jdk8u-$jdkUpdateBuild-$srcGitRev.tar.gz"
|
|
srcGitRev2="6bbb9778d6addcb7a35085619f90f84f226265ae"
|
|
SOURCE_URI_2="https://github.com/korli/haiku-jdk8u-hotspot/archive/$srcGitRev2.tar.gz"
|
|
CHECKSUM_SHA256_2="5575e330fd4dad42efeb655f2543a0ea8c09b82c149da349ee006bfb8793999d"
|
|
SOURCE_DIR_2="haiku-jdk8u-hotspot-$srcGitRev2"
|
|
SOURCE_FILENAME_2="hotspot-$jdkUpdateBuild-$srcGitRev2.tar.gz"
|
|
srcGitRev3="6df6e763b3a28dddcc7a783df37763dabb993bb0"
|
|
SOURCE_URI_3="https://github.com/korli/haiku-jdk8u-jdk/archive/$srcGitRev3.tar.gz"
|
|
CHECKSUM_SHA256_3="e82b154ed003f412dc64a4927b66c2cd9cb655e15174a0d0c311d4ced9082bd5"
|
|
SOURCE_DIR_3="haiku-jdk8u-jdk-$srcGitRev3"
|
|
SOURCE_FILENAME_3="jdk-$jdkUpdateBuild-$srcGitRev3.tar.gz"
|
|
SOURCE_URI_4="https://hg.openjdk.java.net/jdk8u/jdk8u/langtools/archive/$jdkUpdateBuild.tar.bz2"
|
|
CHECKSUM_SHA256_4="06ccc78080f6262b97b3d8f7ba19880a696e751fe9baf3e5f5779f0f3d82440a"
|
|
SOURCE_DIR_4="langtools-$jdkUpdateBuild"
|
|
SOURCE_FILENAME_4="langtools-$jdkUpdateBuild.tar.bz2"
|
|
SOURCE_URI_5="https://hg.openjdk.java.net/jdk8u/jdk8u/corba/archive/$jdkUpdateBuild.tar.bz2"
|
|
CHECKSUM_SHA256_5="3c1b394fcda8d06915ae9a38601e61f6392f0d067ae382973891e685036c8a17"
|
|
SOURCE_DIR_5="corba-$jdkUpdateBuild"
|
|
SOURCE_FILENAME_5="corba-$jdkUpdateBuild.tar.bz2"
|
|
SOURCE_URI_6="https://hg.openjdk.java.net/jdk8u/jdk8u/jaxp/archive/$jdkUpdateBuild.tar.bz2"
|
|
CHECKSUM_SHA256_6="53ae64dbd5dea30598e76ce5722eeb44512996ae7023ca16e855fdc785229f63"
|
|
SOURCE_DIR_6="jaxp-$jdkUpdateBuild"
|
|
SOURCE_FILENAME_6="jaxp-$jdkUpdateBuild.tar.bz2"
|
|
SOURCE_URI_7="https://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/archive/$jdkUpdateBuild.tar.bz2"
|
|
CHECKSUM_SHA256_7="ffcedbba9f4b98581a26227465c07f8eb351c85d97de7c911e642f3ef9b9ad17"
|
|
SOURCE_DIR_7="jaxws-$jdkUpdateBuild"
|
|
SOURCE_FILENAME_7="jaxws-$jdkUpdateBuild.tar.bz2"
|
|
SOURCE_URI_8="https://hg.openjdk.java.net/jdk8u/jdk8u/nashorn/archive/$jdkUpdateBuild.tar.bz2"
|
|
CHECKSUM_SHA256_8="0ec43c7e282c95af3f347c3164b0296155d0a281e432e3cefc2eb34ca2a64716"
|
|
SOURCE_DIR_8="nashorn-$jdkUpdateBuild"
|
|
SOURCE_FILENAME_8="nashorn-$jdkUpdateBuild.tar.bz2"
|
|
SOURCE_URI_9="https://ftp.osuosl.org/pub/blfs/conglomeration/openjdk/jtreg-4.2-b13-433.tar.gz"
|
|
CHECKSUM_SHA256_9="ddf76660d4f519302b9c6310febcde3ff45313c435fff4e157854d1ff50785b1"
|
|
SOURCE_DIR_9="jtreg"
|
|
SOURCE_URI_10="https://web.cs.ucla.edu/~eggert/tz/release/2019a/tzdata2019a-rearguard.tar.gz"
|
|
CHECKSUM_SHA256_10="9469c3f911c8c19376578a74254171abe8e539a6d4fd8a3deffef999ab4b7f61"
|
|
SOURCE_DIR_10=""
|
|
ADDITIONAL_FILES="
|
|
elf.h
|
|
"
|
|
|
|
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
DISABLE_SOURCE_PACKAGE="yes"
|
|
# at least as long as Ant and a complete SDK image are part of the "sources" package
|
|
|
|
PROVIDES="
|
|
openjdk8$secondaryArchSuffix = $portVersion compat >= 1.8
|
|
java:environment = 8
|
|
"
|
|
REQUIRES="
|
|
openjdk8${secondaryArchSuffix}_jre == $portVersion
|
|
"
|
|
|
|
PROVIDES_default="
|
|
openjdk8${secondaryArchSuffix}_default = $portVersion
|
|
cmd:jar = $portVersion compat >= 1.8
|
|
cmd:jarsigner = $portVersion compat >= 1.8
|
|
cmd:java = $portVersion compat >= 1.8
|
|
cmd:javac = $portVersion compat >= 1.8
|
|
cmd:javadoc = $portVersion compat >= 1.8
|
|
cmd:javah = $portVersion compat >= 1.8
|
|
cmd:javap = $portVersion compat >= 1.8
|
|
cmd:jcmd = $portVersion compat >= 1.8
|
|
cmd:jconsole = $portVersion compat >= 1.8
|
|
cmd:jdb = $portVersion compat >= 1.8
|
|
cmd:jinfo = $portVersion compat >= 1.8
|
|
cmd:jmap = $portVersion compat >= 1.8
|
|
cmd:jps = $portVersion compat >= 1.8
|
|
cmd:jstack = $portVersion compat >= 1.8
|
|
cmd:jstat = $portVersion compat >= 1.8
|
|
cmd:jstatd = $portVersion compat >= 1.8
|
|
cmd:keytool = $portVersion compat >= 1.8
|
|
cmd:orbd = $portVersion compat >= 1.8
|
|
cmd:pack200 = $portVersion compat >= 1.8
|
|
cmd:rmic = $portVersion compat >= 1.8
|
|
cmd:rmid = $portVersion compat >= 1.8
|
|
cmd:rmiregistry = $portVersion compat >= 1.8
|
|
cmd:schemagen = $portVersion compat >= 1.8
|
|
cmd:serialver = $portVersion compat >= 1.8
|
|
cmd:servertool = $portVersion compat >= 1.8
|
|
cmd:tnameserv = $portVersion compat >= 1.8
|
|
cmd:unpack200 = $portVersion compat >= 1.8
|
|
cmd:wsgen = $portVersion compat >= 1.8
|
|
cmd:wsimport = $portVersion compat >= 1.8
|
|
cmd:xjc = $portVersion compat >= 1.8
|
|
"
|
|
REQUIRES_default="
|
|
openjdk8${secondaryArchSuffix} == $portVersion
|
|
"
|
|
REPLACES_default="
|
|
openjdk${secondaryArchSuffix}
|
|
"
|
|
|
|
PROVIDES_jre="
|
|
openjdk8${secondaryArchSuffix}_jre = $portVersion compat >= 1.8
|
|
java:runtime = 8
|
|
"
|
|
REQUIRES_jre="
|
|
haiku$secondaryArchSuffix
|
|
lib:libfreetype$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:libjpeg$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
ca_root_certificates_java
|
|
"
|
|
|
|
SUMMARY_sources="JDK source files, demos and examples"
|
|
PROVIDES_sources="
|
|
openjdk8${secondaryArchSuffix}_sources = $portVersion compat >= 1.8
|
|
"
|
|
REQUIRES_sources="
|
|
openjdk8$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
java:environment == 7
|
|
ca_root_certificates
|
|
devel:libfontconfig$secondaryArchSuffix
|
|
devel:libfreetype$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cpio
|
|
cmd:make
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:sed
|
|
cmd:tar
|
|
cmd:zip
|
|
cmd:awk
|
|
cmd:hostname
|
|
cmd:find
|
|
cmd:unzip
|
|
cmd:unzipsfx
|
|
cmd:head
|
|
cmd:file
|
|
cmd:which
|
|
cmd:autoconf
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
cmd:true
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
source /system/data/profile.d/openjdk7.sh
|
|
export PATH=$JDK7_HOME/bin:$PATH
|
|
|
|
# prepare the directory structure
|
|
ln -sfn $sourceDir2 hotspot
|
|
ln -sfn $sourceDir3 jdk
|
|
ln -sfn $sourceDir4 langtools
|
|
ln -sfn $sourceDir5 corba
|
|
ln -sfn $sourceDir6 jaxp
|
|
ln -sfn $sourceDir7 jaxws
|
|
ln -sfn $sourceDir8 nashorn
|
|
ln -sfn $sourceDir9 jtreg
|
|
|
|
cp $portDir/additional-files/elf.h hotspot/src/share/vm/utilities
|
|
cp -f $sourceDir10/* $sourceDir3/make/data/tzdata/
|
|
|
|
# If ASLR is enabled, the JVM can fail to find a large enough area for
|
|
# the heap.
|
|
export DISABLE_ASLR=1
|
|
|
|
# Verify that we can allocate a large enough heap before starting.
|
|
maxHeapSize=960M
|
|
java -XX:ThreadStackSize=1536 -XX:MaxPermSize=160m \
|
|
-Xmx${maxHeapSize} -version
|
|
|
|
freeTypeHeaders=$(finddir B_SYSTEM_HEADERS_DIRECTORY)$secondaryArchSubDir/freetype2
|
|
freeTypeLib=$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir
|
|
|
|
#OpenJDK has an internal limitation of 256 characters in a path. And with the default src dir we go past it.
|
|
cd ..
|
|
mv $sourceDir src
|
|
cd src
|
|
ln -s src $sourceDir
|
|
|
|
bash ./common/autoconf/autogen.sh
|
|
bash ./configure --with-boot-jdk-jvmargs="-Xmx${maxHeapSize}" \
|
|
--with-freetype-include="${freeTypeHeaders}" \
|
|
--with-freetype-lib="${freeTypeLib}" \
|
|
--disable-freetype-bundling \
|
|
--with-jtreg=./jtreg \
|
|
--with-update-version="$jdkUpdate" \
|
|
--with-build-number="$jdkBuild" \
|
|
--with-milestone="fcs" \
|
|
--with-jobs=1
|
|
|
|
make DEBUG_BINARIES=true SCTP_WERROR= images
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
# install the generated SDK image dir
|
|
jdkDir=$libDir/openjdk8
|
|
|
|
mkdir -p $(dirname $jdkDir)
|
|
cp -a build/haiku-*/images/j2sdk-image $jdkDir
|
|
|
|
# set up the cacerts link
|
|
ln -sf $dataDir/ssl/java/cacerts $jdkDir/jre/lib/security/
|
|
|
|
# symlink the executables to binDir
|
|
mkdir -p $prefix/bin
|
|
bins="jar jarsigner javac javadoc javah javap jcmd jconsole jdb jinfo \
|
|
jmap jps jstack jstat jstatd rmic schemagen serialver wsgen wsimport \
|
|
xjc"
|
|
bins_runtime="java keytool orbd pack200 rmid rmiregistry servertool \
|
|
tnameserv unpack200"
|
|
man_runtime=""
|
|
for b in $bins $bins_runtime; do
|
|
symlinkRelative -s $jdkDir/bin/$b $prefix/bin
|
|
done
|
|
for b in $bins_runtime; do
|
|
man_runtime+=" $jdkDir/man/man1/$b.1 $jdkDir/man/ja_JP.UTF-8/man1/$b.1"
|
|
done
|
|
|
|
mkdir -p $dataDir/profile.d
|
|
|
|
# create a profile.d file that sets up JAVA_HOME
|
|
jdkProfile=$dataDir/profile.d/openjdk.sh
|
|
echo "JAVA_HOME=$jdkDir" > $jdkProfile
|
|
echo "export JAVA_HOME" >> $jdkProfile
|
|
|
|
# create a profile.d file that sets up JDK8_HOME
|
|
jdk8Profile=$dataDir/profile.d/openjdk8.sh
|
|
echo "JDK8_HOME=$jdkDir" > $jdk8Profile
|
|
echo "export JDK8_HOME" >> $jdk8Profile
|
|
|
|
# create a profile.d file that sets up JRE8_HOME
|
|
jre8Profile=$dataDir/profile.d/openjre8.sh
|
|
echo "JRE8_HOME=$jdkDir" > $jre8Profile
|
|
echo "export JRE8_HOME" >> $jre8Profile
|
|
|
|
packageEntries jre \
|
|
$jdkDir/jre \
|
|
$man_runtime \
|
|
$jdkDir/man/ja \
|
|
$dataDir/profile.d/openjre8.sh
|
|
|
|
packageEntries default \
|
|
$prefix/bin \
|
|
$dataDir/profile.d/openjdk.sh
|
|
|
|
packageEntries sources \
|
|
$jdkDir/src.zip \
|
|
$jdkDir/sample \
|
|
$jdkDir/demo
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
export DISABLE_ASLR=1
|
|
cd ../src
|
|
make test-only JOBS=1 TEST=langtools_jtreg
|
|
make test-only JOBS=1 TEST=jdk_lang
|
|
make test-only JOBS=1 TEST=jdk_util
|
|
make test-only JOBS=1 TEST=jdk_math # OK
|
|
make test-only JOBS=1 TEST=jdk_io
|
|
make test-only JOBS=1 TEST=jdk_nio
|
|
make test-only JOBS=1 TEST=jdk_net
|
|
make test-only JOBS=1 TEST=jdk_time # OK
|
|
make test-only JOBS=1 TEST=jdk_rmi
|
|
make test-only JOBS=1 TEST=jdk_security
|
|
make test-only JOBS=1 TEST=jdk_text # OK
|
|
make test-only JOBS=1 TEST=jdk_management
|
|
make test-only JOBS=1 TEST=jdk_instrument
|
|
make test-only JOBS=1 TEST=jdk_jmx
|
|
make test-only JOBS=1 TEST=jdk_jdi
|
|
}
|