mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
openjdk8: bump version
This commit is contained in:
261
dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe
Normal file
261
dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe
Normal file
@@ -0,0 +1,261 @@
|
||||
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"
|
||||
srcGitRev="7be761ca9b5ab3f3765cf151395a9fa0bfa9d589"
|
||||
SOURCE_URI="https://github.com/korli/jdk8u/archive/$srcGitRev.tar.gz"
|
||||
#SOURCE_URI="git+https://github.com/korli/jdk8u.git#tag=haiku-port"
|
||||
CHECKSUM_SHA256="a59bbe37e9e1c1e65e64267f9e0ffdae9c638faa37a053534f2cc84588f856d8"
|
||||
#PATCHES="openjdk8-1.8.u442_b00.patchset"
|
||||
SOURCE_DIR="jdk8u-$srcGitRev"
|
||||
SOURCE_FILENAME="jdk8u-$srcGitRev.tar.gz"
|
||||
SOURCE_URI_2="https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-12.0.2/jtreg-4.2-b13-517.tar.gz"
|
||||
CHECKSUM_SHA256_2="296eede5c20476625264dd2db1ba88239dcffc9ddad0f8d3c503be991d0dbf89"
|
||||
SOURCE_DIR_2="jtreg"
|
||||
ADDITIONAL_FILES="
|
||||
elf.h
|
||||
"
|
||||
|
||||
ARCHITECTURES="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
|
||||
dejavu
|
||||
"
|
||||
|
||||
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 == 8
|
||||
ca_root_certificates
|
||||
devel:libfontconfig$secondaryArchSuffix
|
||||
devel:libfreetype$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
# devel:libssp_nonshared$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cpio
|
||||
cmd:make
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:sed
|
||||
cmd:tar
|
||||
cmd:zip
|
||||
cmd:gawk
|
||||
cmd:hostname
|
||||
cmd:find
|
||||
cmd:unzip
|
||||
cmd:unzipsfx
|
||||
cmd:head
|
||||
cmd:file
|
||||
cmd:which
|
||||
cmd:autoconf
|
||||
cmd:grep
|
||||
"
|
||||
|
||||
TEST_REQUIRES="
|
||||
cmd:true
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
source /system/data/profile.d/openjdk8.sh
|
||||
export PATH=$JDK8_HOME/bin:$PATH
|
||||
|
||||
ln -sfn $sourceDir2 jtreg
|
||||
|
||||
cp $portDir/additional-files/elf.h hotspot/src/share/vm/utilities
|
||||
|
||||
# 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=4
|
||||
|
||||
make VERBOSE= 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
|
||||
source /system/data/profile.d/openjdk8.sh
|
||||
export PATH=$JDK8_HOME/bin:$PATH
|
||||
|
||||
cd ../src
|
||||
#make test-only JOBS=1 TEST=langtools_jtreg # Test results: passed: 470; failed: 3; error: 1
|
||||
#make test-only JOBS=1 TEST=jdk_lang # Test results: passed: 472; failed: 2
|
||||
#make test-only JOBS=2 TEST=jdk_util # Test results: passed: 677; failed: 1
|
||||
#make test-only JOBS=1 TEST=jdk_math # OK
|
||||
#make test-only JOBS=1 TEST=jdk_io # Test results: passed: 326; failed: 2
|
||||
#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
|
||||
}
|
||||
Reference in New Issue
Block a user