From 8efe8d39fde0588dda227fb020f378f803ba118d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 9 Apr 2025 19:12:14 +0200 Subject: [PATCH] openjdk8: bump version --- dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe | 261 ++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe diff --git a/dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe b/dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe new file mode 100644 index 000000000..d93ad135a --- /dev/null +++ b/dev-lang/openjdk/openjdk8-1.8.u442_b00.recipe @@ -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 +}