mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
259 lines
7.3 KiB
Bash
259 lines
7.3 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-2019 Oracle and/or its affiliates."
|
|
LICENSE="GNU GPL v2"
|
|
REVISION="4"
|
|
jdkBuild="jdk-${portVersion%.*}+${portVersion##*.}"
|
|
srcGitRev="eef0af92a21e031d88420178e4ee7a7d609189da"
|
|
SOURCE_URI="https://github.com/korli/haiku-jdk13u/archive/$srcGitRev.tar.gz"
|
|
CHECKSUM_SHA256="2129d01643d1317b254d7132cb2304fa79af152e917a57a0ac0558995b14f9a6"
|
|
SOURCE_DIR="haiku-jdk13u-$srcGitRev"
|
|
SOURCE_FILENAME="jdk13u-$jdkBuild-$srcGitRev.tar.gz"
|
|
SOURCE_URI_2="https://ftp.osuosl.org/pub/blfs/conglomeration/openjdk/jtreg-4.2-b13-433.tar.gz"
|
|
CHECKSUM_SHA256_2="ddf76660d4f519302b9c6310febcde3ff45313c435fff4e157854d1ff50785b1"
|
|
SOURCE_DIR_2="jtreg"
|
|
PATCHES="openjdk13-$portVersion.patchset"
|
|
ADDITIONAL_FILES="
|
|
elf.h
|
|
"
|
|
|
|
ARCHITECTURES="all !x86_gcc2 ?x86"
|
|
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="
|
|
openjdk13$secondaryArchSuffix = $portVersion compat >= 13
|
|
java:environment = 13
|
|
"
|
|
REQUIRES="
|
|
openjdk13${secondaryArchSuffix}_jre == $portVersion
|
|
"
|
|
|
|
PROVIDES_default="
|
|
openjdk13${secondaryArchSuffix}_default = $portVersion
|
|
cmd:jar = $portVersion compat >= 13
|
|
cmd:jarsigner = $portVersion compat >= 13
|
|
cmd:java = $portVersion compat >= 13
|
|
cmd:javac = $portVersion compat >= 13
|
|
cmd:javadoc = $portVersion compat >= 13
|
|
cmd:javah = $portVersion compat >= 13
|
|
cmd:javap = $portVersion compat >= 13
|
|
cmd:jcmd = $portVersion compat >= 13
|
|
cmd:jconsole = $portVersion compat >= 13
|
|
cmd:jdb = $portVersion compat >= 13
|
|
cmd:jinfo = $portVersion compat >= 13
|
|
cmd:jmap = $portVersion compat >= 13
|
|
cmd:jps = $portVersion compat >= 13
|
|
cmd:jstack = $portVersion compat >= 13
|
|
cmd:jstat = $portVersion compat >= 13
|
|
cmd:jstatd = $portVersion compat >= 13
|
|
cmd:keytool = $portVersion compat >= 13
|
|
cmd:pack200 = $portVersion compat >= 13
|
|
cmd:rmic = $portVersion compat >= 13
|
|
cmd:rmid = $portVersion compat >= 13
|
|
cmd:rmiregistry = $portVersion compat >= 13
|
|
cmd:serialver = $portVersion compat >= 13
|
|
cmd:unpack200 = $portVersion compat >= 13
|
|
"
|
|
REQUIRES_default="
|
|
openjdk13$secondaryArchSuffix == $portVersion
|
|
"
|
|
CONFLICTS_default="
|
|
openjdk8${secondaryArchSuffix}_default
|
|
openjdk9${secondaryArchSuffix}_default
|
|
openjdk10${secondaryArchSuffix}_default
|
|
openjdk11${secondaryArchSuffix}_default
|
|
openjdk12${secondaryArchSuffix}_default
|
|
"
|
|
|
|
PROVIDES_jre="
|
|
openjdk13${secondaryArchSuffix}_jre = $portVersion compat >= 13
|
|
java:runtime = 13
|
|
"
|
|
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="
|
|
openjdk13${secondaryArchSuffix}_sources = $portVersion compat >= 13
|
|
"
|
|
REQUIRES_sources="
|
|
openjdk13$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
java:environment == 12
|
|
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:gawk
|
|
cmd:hostname
|
|
cmd:find
|
|
cmd:unzip
|
|
cmd:unzipsfx
|
|
cmd:head
|
|
cmd:file
|
|
cmd:which
|
|
cmd:autoconf
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
cmd:true
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
source /system/data/profile.d/openjdk12.sh
|
|
export PATH=$JDK12_HOME/bin:$PATH
|
|
export COMPANY=HaikuPorts
|
|
|
|
ln -sfn $sourceDir2 jtreg
|
|
|
|
cp $portDir/additional-files/elf.h src/hotspot/share/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.
|
|
java -XX:ThreadStackSize=1536 -Xmx1024M -version
|
|
|
|
freeTypeHeaders=$(finddir B_SYSTEM_HEADERS_DIRECTORY)$secondaryArchSubDir/freetype2
|
|
freeTypeLib=$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir
|
|
|
|
bash ./configure \
|
|
--with-freetype-include="${freeTypeHeaders}" \
|
|
--with-freetype-lib="${freeTypeLib}" \
|
|
--with-jtreg=./jtreg \
|
|
--with-version-build="${portVersion//*.}" \
|
|
--with-version-pre="" \
|
|
--with-version-opt="" \
|
|
--with-num-cores=1 \
|
|
--disable-javac-server
|
|
|
|
make images LOG=info
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
# install the generated SDK image dir
|
|
jdkDir=$libDir/openjdk13
|
|
|
|
mkdir -p $jdkDir
|
|
cp -a build/haiku-*/images/jdk/* $jdkDir
|
|
|
|
# set up the cacerts link
|
|
ln -sf $dataDir/ssl/java/cacerts $jdkDir/conf/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 serialver"
|
|
bins_runtime="java keytool pack200 rmid rmiregistry 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"
|
|
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 JDK13_HOME
|
|
jdkProfile=$dataDir/profile.d/openjdk13.sh
|
|
echo "JDK13_HOME=$jdkDir" > $jdkProfile
|
|
echo "export JDK13_HOME" >> $jdkProfile
|
|
|
|
# create a profile.d file that sets up JRE13_HOME
|
|
jreProfile=$dataDir/profile.d/openjre13.sh
|
|
echo "JRE13_HOME=$(getPackagePrefix jre)/$relativeLibDir/openjdk13" > $jreProfile
|
|
echo "export JRE13_HOME" >> $jreProfile
|
|
|
|
find $jdkDir -name '*.diz' -o -name '*.debuginfo' -delete
|
|
# not for jre
|
|
mv $jdkDir/lib/libattach.so $jdkDir/lib/ct.sym $prefix
|
|
|
|
packageEntries sources \
|
|
$jdkDir/lib/src.zip \
|
|
$jdkDir/demo
|
|
|
|
packageEntries jre \
|
|
$jdkDir/bin/java \
|
|
$jdkDir/bin/jjs \
|
|
$jdkDir/bin/jrunscript \
|
|
$jdkDir/bin/keytool \
|
|
$jdkDir/bin/pack200 \
|
|
$jdkDir/bin/rmid \
|
|
$jdkDir/bin/rmiregistry \
|
|
$jdkDir/bin/unpack200 \
|
|
$jdkDir/conf \
|
|
$jdkDir/legal \
|
|
$jdkDir/lib \
|
|
$jdkDir/release \
|
|
$dataDir/profile.d/openjre13.sh \
|
|
$man_runtime
|
|
|
|
mkdir -p $jdkDir/lib
|
|
mv $prefix/libattach.so $prefix/ct.sym $jdkDir/lib/
|
|
|
|
packageEntries default \
|
|
$prefix/bin \
|
|
$dataDir/profile.d/openjdk.sh
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
export DISABLE_ASLR=1
|
|
make test JOBS=1 TEST=jdk_lang
|
|
make test-only JOBS=1 TEST=jdk_util
|
|
make test-only JOBS=1 TEST=jdk_math
|
|
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
|
|
make test-only JOBS=1 TEST=jdk_rmi
|
|
make test-only JOBS=1 TEST=jdk_security
|
|
make test-only JOBS=1 TEST=jdk_text
|
|
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
|
|
}
|