Permalink
Comparing changes
Open a pull request
- 1 commit
- 1 file changed
- 0 commit comments
- 1 contributor
Commits on Apr 06, 2019
Unified
Split
Showing
with
260 additions
and 0 deletions.
- +260 −0 dev-lang/openjdk/openjdk12-12.0.0.33.recipe
| @@ -0,0 +1,260 @@ | ||
| 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="1" | ||
| jdkBuild="jdk-${portVersion%.*}+${portVersion##*.}" | ||
| srcGitRev="56cc1cdcf27d1979e9f53739616ab6195d024107" | ||
| SOURCE_URI="https://github.com/korli/haiku-jdk12u/archive/$srcGitRev.tar.gz" | ||
| CHECKSUM_SHA256="64e06f995306d3157fc8da9f61dae5801726d80ee65b4898b288baeee8476132" | ||
| SOURCE_DIR="haiku-jdk12u-$srcGitRev" | ||
| SOURCE_FILENAME="jdk12u-$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/2018i/tzdata2018i-rearguard.tar.gz" | ||
| CHECKSUM_SHA256_3="ca912bdf33237fb17bdb7890f530e2763d6b0450ee4ef05a5fddf2fe01e2e2b3" | ||
| SOURCE_DIR_3="" | ||
| 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=" | ||
| openjdk12$secondaryArchSuffix = $portVersion compat >= 12 | ||
| java:environment = 12 | ||
| " | ||
| REQUIRES=" | ||
| openjdk12${secondaryArchSuffix}_jre == $portVersion | ||
| " | ||
|
|
||
| PROVIDES_default=" | ||
| openjdk12${secondaryArchSuffix}_default = $portVersion | ||
| cmd:jar = $portVersion compat>= 12 | ||
| cmd:jarsigner = $portVersion compat>= 12 | ||
| cmd:java = $portVersion compat >= 12 | ||
| cmd:javac = $portVersion compat >= 12 | ||
| cmd:javadoc = $portVersion compat >= 12 | ||
| cmd:javah = $portVersion compat >= 12 | ||
| cmd:javap = $portVersion compat >= 12 | ||
| cmd:jcmd = $portVersion compat >= 12 | ||
| cmd:jconsole = $portVersion compat >= 12 | ||
| cmd:jdb = $portVersion compat >= 12 | ||
| cmd:jinfo = $portVersion compat >= 12 | ||
| cmd:jmap = $portVersion compat >= 12 | ||
| cmd:jps = $portVersion compat >= 12 | ||
| cmd:jstack = $portVersion compat >= 12 | ||
| cmd:jstat = $portVersion compat >= 12 | ||
| cmd:jstatd = $portVersion compat >= 12 | ||
| cmd:keytool = $portVersion compat >= 12 | ||
| cmd:pack200 = $portVersion compat >= 12 | ||
| cmd:rmic = $portVersion compat >= 12 | ||
| cmd:rmid = $portVersion compat >= 12 | ||
| cmd:rmiregistry = $portVersion compat >= 12 | ||
| cmd:serialver = $portVersion compat >= 12 | ||
| cmd:unpack200 = $portVersion compat >= 12 | ||
| " | ||
| REQUIRES_default=" | ||
| openjdk12$secondaryArchSuffix == $portVersion | ||
| " | ||
| CONFLICTS_default=" | ||
| openjdk8${secondaryArchSuffix}_default | ||
| openjdk9${secondaryArchSuffix}_default | ||
| openjdk10${secondaryArchSuffix}_default | ||
| openjdk11${secondaryArchSuffix}_default | ||
| " | ||
|
|
||
| PROVIDES_jre=" | ||
| openjdk12${secondaryArchSuffix}_jre = $portVersion compat >= 12 | ||
| java:runtime = 12 | ||
| " | ||
| 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=" | ||
| openjdk12${secondaryArchSuffix}_sources = $portVersion compat >= 12 | ||
| " | ||
| REQUIRES_sources=" | ||
| openjdk12$secondaryArchSuffix | ||
| " | ||
|
|
||
| BUILD_REQUIRES=" | ||
| haiku${secondaryArchSuffix}_devel | ||
| java:environment == 11 | ||
| 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/openjdk11.sh | ||
| export PATH=$JDK11_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. | ||
| 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/openjdk12 | ||
|
|
||
| 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 JDK12_HOME | ||
| jdkProfile=$dataDir/profile.d/openjdk12.sh | ||
| echo "JDK12_HOME=$jdkDir" > $jdkProfile | ||
| echo "export JDK12_HOME" >> $jdkProfile | ||
|
|
||
| # create a profile.d file that sets up JRE12_HOME | ||
| jreProfile=$dataDir/profile.d/openjre12.sh | ||
| echo "JRE12_HOME=$(getPackagePrefix jre)/$relativeLibDir/openjdk12" > $jreProfile | ||
| echo "export JRE12_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/openjre12.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-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 | ||
| } |