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-2018 Oracle and/or its affiliates." LICENSE="GNU GPL v2" REVISION="2" jdkBuild="jdk-${portVersion%.*}+${portVersion##*.}" srcGitRev="0017624dfd84988ce11249b9086ceb2a417a2d52" SOURCE_URI="https://github.com/korli/haiku-jdk10u/archive/$srcGitRev.tar.gz" CHECKSUM_SHA256="58995de30f5a922f8ed9d59e11e3f637aae51b44b0cfa88e8190157312b52041" SOURCE_DIR="haiku-jdk10u-$srcGitRev" SOURCE_FILENAME="jdk10u-$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" SOURCE_URI_3="https://web.cs.ucla.edu/~eggert/tz/release/2018g/tzdata2018g-rearguard.tar.gz" CHECKSUM_SHA256_3="2df3ae0fa3e8a76e5f8b3bdb3bfc93afad3adccd14a02b74a5e64049851ffa9d" SOURCE_DIR_3="" ADDITIONAL_FILES=" elf.h " ARCHITECTURES="!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=" openjdk10$secondaryArchSuffix = $portVersion compat >= 10 java:environment = 10 " REQUIRES=" openjdk10${secondaryArchSuffix}_jre == $portVersion " PROVIDES_default=" openjdk10${secondaryArchSuffix}_default = $portVersion cmd:jar = $portVersion compat >= 10 cmd:jarsigner = $portVersion compat >= 10 cmd:java = $portVersion compat >= 10 cmd:javac = $portVersion compat >= 10 cmd:javadoc = $portVersion compat >= 10 cmd:javah = $portVersion compat >= 10 cmd:javap = $portVersion compat >= 10 cmd:jcmd = $portVersion compat >= 10 cmd:jconsole = $portVersion compat >= 10 cmd:jdb = $portVersion compat >= 10 cmd:jinfo = $portVersion compat >= 10 cmd:jmap = $portVersion compat >= 10 cmd:jps = $portVersion compat >= 10 cmd:jstack = $portVersion compat >= 10 cmd:jstat = $portVersion compat >= 10 cmd:jstatd = $portVersion compat >= 10 cmd:keytool = $portVersion compat >= 10 cmd:orbd = $portVersion compat >= 10 cmd:pack200 = $portVersion compat >= 10 cmd:rmic = $portVersion compat >= 10 cmd:rmid = $portVersion compat >= 10 cmd:rmiregistry = $portVersion compat >= 10 cmd:schemagen = $portVersion compat >= 10 cmd:serialver = $portVersion compat >= 10 cmd:servertool = $portVersion compat >= 10 cmd:tnameserv = $portVersion compat >= 10 cmd:unpack200 = $portVersion compat >= 10 cmd:wsgen = $portVersion compat >= 10 cmd:wsimport = $portVersion compat >= 10 cmd:xjc = $portVersion compat >= 10 " REQUIRES_default=" openjdk10${secondaryArchSuffix} == $portVersion " CONFLICTS_default=" openjdk8${secondaryArchSuffix}_default openjdk9${secondaryArchSuffix}_default " PROVIDES_jre=" openjdk10${secondaryArchSuffix}_jre = $portVersion compat >= 10 java:runtime = 10 " 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=" openjdk10${secondaryArchSuffix}_sources = $portVersion compat >= 10 " REQUIRES_sources=" openjdk10$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel java:environment == 9 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 cmd:pkg_config$secondaryArchSuffix " TEST_REQUIRES=" cmd:true " BUILD() { source /system/data/profile.d/openjdk9.sh export PATH=$JDK9_HOME/bin:$PATH export COMPANY=HaikuPorts ln -sfn $sourceDir2 jtreg cp $portDir/additional-files/elf.h src/hotspot/share/utilities cp -f $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 -Xmx${maxHeapSize} -version freeTypeHeaders=$(finddir B_SYSTEM_HEADERS_DIRECTORY)$secondaryArchSubDir/freetype2 freeTypeLib=$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir bash ./make/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 make images } INSTALL() { # install the generated SDK image dir jdkDir=$libDir/openjdk10 mkdir -p $jdkDir cp -a build/haiku-*/images/jre/* $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 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 JDK10_HOME jdk10Profile=$dataDir/profile.d/openjdk10.sh echo "JDK10_HOME=$jdkDir" > $jdk10Profile echo "export JDK10_HOME" >> $jdk10Profile # create a profile.d file that sets up JRE10_HOME jre10Profile=$dataDir/profile.d/openjre10.sh echo "JRE10_HOME=$(getPackagePrefix jre)/$relativeLibDir/openjdk10" > $jre10Profile echo "export JRE10_HOME" >> $jre10Profile 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/appletviewer \ $jdkDir/bin/idlj \ $jdkDir/bin/java \ $jdkDir/bin/jjs \ $jdkDir/bin/jrunscript \ $jdkDir/bin/keytool \ $jdkDir/bin/orbd \ $jdkDir/bin/pack200 \ $jdkDir/bin/rmid \ $jdkDir/bin/rmiregistry \ $jdkDir/bin/servertool \ $jdkDir/bin/tnameserv \ $jdkDir/bin/unpack200 \ $jdkDir/conf \ $jdkDir/legal \ $jdkDir/lib \ $jdkDir/release \ $dataDir/profile.d/openjre10.sh \ $man_runtime \ $jdkDir/man/ja \ 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 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 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 }