# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= openjdk VERSION= 21.0.3 KEYWORDS= java devel VARIANTS= standard SDESC[standard]= OpenJDK Java Development Kit (version 21) HOMEPAGE= https://openjdk.org/ CONTACT= nobody DOWNLOAD_GROUPS= main ravendist SITES[main]= GITHUB/jrmarino:jdk21u:52ea54f SITES[ravendist]= https://leaf.dragonflybsd.org/~marino/raven-distfiles/openjdk/20/ DISTFILE[1]= generated:main DISTFILE[2]= bootstrap-openjdk-20.0.2-FreeBSD-amd64.tzst:ravendist DISTFILE[3]= bootstrap-openjdk-20.0.2-dragonfly-x86_64.tzst:ravendist DISTFILE[4]= bootstrap-openjdk-20.0.2-Linux-amd64.tzst:ravendist DISTFILE[5]= bootstrap-openjdk-20.0.2-NetBSD-amd64.tzst:ravendist DF_INDEX= 1 SPKGS[standard]= complete primary legal man examples OPTIONS_AVAILABLE= FREEBSD DRAGONFLY NETBSD LINUX MIDNIGHT UNSUPPORTED OPTIONS_STANDARD= FREEBSD DRAGONFLY NETBSD LINUX MIDNIGHT UNSUPPORTED OPTGROUP_RADIO= SYSTEM OPTDESCR[SYSTEM]= System and architecture selection OPTGROUP[SYSTEM]= FREEBSD DRAGONFLY NETBSD LINUX MIDNIGHT UNSUPPORTED OPT_ON[freebsd]= FREEBSD OPT_ON[sunos]= UNSUPPORTED OPT_ON[linux]= LINUX OPT_ON[netbsd]= NETBSD OPT_ON[dragonfly]= DRAGONFLY OPT_ON[midnightbsd]= MIDNIGHT BUILD_DEPENDS= alsa-lib:dev:standard fontconfig:dev:standard freetype:dev:standard harfbuzz:dev:standard lcms2:dev:standard bash:primary:standard zip:single:standard cups:dev:standard ccache:primary:standard BUILDRUN_DEPENDS= alsa-lib:primary:standard fontconfig:primary:standard freetype:primary:standard harfbuzz:primary:standard lcms2:primary:standard cups:primary:standard RUN_DEPENDS= xorg-truetype-fonts:single:standard USES= cpe jpeg gif png gmake pkgconfig zlib autoreconf:build XORG_COMPONENTS= x11 xext xi xrandr xrender xt xtst LICENSE= GPLv2:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo CPE_PRODUCT= openjdk CPE_VENDOR= oracle FPC_EQUIVALENT= java/openjdk20 SKIP_CCACHE= yes MUST_CONFIGURE= yes CONFIGURE_ARGS= --prefix={{PREFIX}} --openjdk-target={{CONFIGURE_TARGET}} --disable-javac-server --disable-warnings-as-errors --with-alsa={{LOCALBASE}} --with-cups={{LOCALBASE}} --with-fontconfig={{LOCALBASE}} --with-freetype=system --with-freetype-include={{LOCALBASE}}/include --with-freetype-lib={{LOCALBASE}}/lib --with-libjpeg=system --with-giflib=system --with-giflib-include={{LOCALBASE}}/include --with-giflib-lib={{LOCALBASE}}/lib --with-harfbuzz=system --with-libpng=system --with-zlib=system --with-lcms=system --x-includes={{LOCALBASE}}/include --x-libraries={{LOCALBASE}}/lib --with-version-string=21.0.3+9 --with-native-debug-symbols=none --with-debug-level=release --with-vendor-name="OpenJDK BSD Porting Team" --with-vendor-url="https://github.com/battleblow/jdk20u/" --with-vendor-bug-url="https://github.com/Ravenports/ravensource/issues" --with-vendor-vm-bug-url="https://github.com/Ravenports/ravensource/issues" --with-extra-cflags="{{CFLAGS}}" --with-extra-cxxflags="{{CXXFLAGS}}" --with-extra-ldflags="{{LDFLAGS}}" --with-num-cores={{MAKE_JOBS_NUMBER}} --with-default-make-target=product-images --with-toolchain-type=gcc --with-memory-size=8192 --with-copyright-year=2024 --with-source-date=1713294000 PLIST_SUB= SCTP={{SCTP}} BASE=openjdk HOTSPOT_AGENT={{HOTSPOT_AGENT}} LDFLAGS= -Wl,-rpath,{{LOCALBASE}}/openjdk/lib/server [NETBSD].DESCRIPTION= Build on NetBSD/AMD64 [NETBSD].CONFIGURE_ARGS_ON= --with-boot-jdk={{WRKDIR}}/openjdk20 --disable-precompiled-headers [NETBSD].DF_INDEX_ON= 5 [NETBSD].MAKEFILE_ON= JDK_OSARCH=bsd-x86_64 JDK_BUILDDIR={{WRKSRC}}/build/{{JDK_OSARCH}}-server-release SCTP="@comment " HOTSPOT_AGENT="@comment " [NETBSD].USES_ON= iconv [MIDNIGHT].DESCRIPTION= Build on MidnightBSD/AMD64 [MIDNIGHT].BROKEN_ON= SIGBUS fatal error, problem frame java.util.HashMap.computeIfAbsent [MIDNIGHT].CONFIGURE_ARGS_ON= --with-boot-jdk={{WRKDIR}}/openjdk20 --disable-precompiled-headers --build=x86_64-raven-freebsd12.3 [MIDNIGHT].DF_INDEX_ON= 2 [MIDNIGHT].MAKEFILE_ON= JDK_OSARCH=bsd-x86_64 JDK_BUILDDIR={{WRKSRC}}/build/{{JDK_OSARCH}}-server-release CONFIGURE_TARGET=x86_64-raven-freebsd12.3 [MIDNIGHT].USES_ON= iconv [UNSUPPORTED].DESCRIPTION= Unsupported operating system / architecture [UNSUPPORTED].BROKEN_ON= This operating system and/or architecture is not supported [DRAGONFLY].DESCRIPTION= Build on DragonFly/x86-64 [DRAGONFLY].CONFIGURE_ARGS_ON= --with-boot-jdk={{WRKDIR}}/openjdk20 --disable-precompiled-headers [DRAGONFLY].DF_INDEX_ON= 3 [DRAGONFLY].MAKEFILE_ON= JDK_OSARCH=bsd-x86_64 JDK_BUILDDIR={{WRKSRC}}/build/{{JDK_OSARCH}}-server-release SCTP="@comment " [DRAGONFLY].USES_ON= iconv [FREEBSD].DESCRIPTION= Build on FreeBSD/AMD64 [FREEBSD].CONFIGURE_ARGS_ON= --with-boot-jdk={{WRKDIR}}/openjdk20 --disable-precompiled-headers [FREEBSD].DF_INDEX_ON= 2 [FREEBSD].MAKEFILE_ON= JDK_OSARCH=bsd-x86_64 JDK_BUILDDIR={{WRKSRC}}/build/{{JDK_OSARCH}}-server-release [FREEBSD].USES_ON= iconv [LINUX].DESCRIPTION= Build on Linux/x86-64 [LINUX].CONFIGURE_ARGS_ON= --with-boot-jdk={{WRKDIR}}/openjdk20 [LINUX].DF_INDEX_ON= 4 [LINUX].MAKEFILE_ON= JDK_OSARCH=linux-x86_64 JDK_BUILDDIR={{WRKSRC}}/build/{{JDK_OSARCH}}-server-release do-build: (cd ${BUILD_WRKSRC} && ${SETENV} CC=${CC} CXX=${CXX} CPP=${CPP} CCACHE_DIR=${CCACHE_DIR} \ ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g}) pre-configure-NETBSD-ON: # Until NetBSD 10, hash-style=gnu isn't supported ${REINPLACE_CMD} -e 's| -Wl,--hash-style=gnu||' ${WRKSRC}/make/autoconf/flags-ldflags.m4 do-configure: (cd ${CONFIGURE_WRKSRC} && ${SETENV} CC=${CC} CXX=${CXX} CPP=${CPP} CCACHE_DIR=${CCACHE_DIR} \ ${LOCALBASE}/bin/bash ./configure ${CONFIGURE_ARGS}) pre-configure: ${FIND} ${WRKSRC} -name '*.orig' -delete ${CHMOD} 755 ${WRKSRC}/configure ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \ -e 's|/usr/pkg/lib|${LOCALBASE}/lib|' \ ${WRKSRC}/src/hotspot/os/bsd/os_bsd.cpp ${REINPLACE_CMD} -e 's|%%ICONV_CFLAGS%%|-I${ICONV_INCLUDE_PATH}|' \ -e 's|%%ICONV_LDFLAGS%%|-L${ICONV_LIBRARY_PATH}|' \ -e 's|%%ICONV_LIBS%%|${ICONV_LIB}|' \ ${WRKSRC}/make/autoconf/libraries.m4 # replace autoconf templates ${CP} ${MK_TEMPLATES}/config.guess ${WRKSRC}/make/autoconf/build-aux/autoconf-config.guess ${CP} ${MK_TEMPLATES}/config.sub ${WRKSRC}/make/autoconf/build-aux/autoconf-config.sub post-extract: ${CAT} ${WRKSRC}/ASSEMBLY_EXCEPTION ${WRKSRC}/ADDITIONAL_LICENSE_INFO > ${WRKDIR}/TERMS do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/openjdk (cd ${JDK_BUILDDIR}/images/jdk && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/openjdk) ${FIND} ${STAGEDIR}${PREFIX}/openjdk/bin -type f -exec ${CHMOD} ${BINMODE} {} \; ${CHMOD} ${BINMODE} ${STAGEDIR}${PREFIX}/openjdk/lib/jspawnhelper # strip shared objects and executables @if [ "${STRIP_CMD}" != "${TRUE}" ]; then \ ${FIND} ${STAGEDIR}${PREFIX}/openjdk -type f | while read f; \ do \ check=$$(file "$$f" | grep "dynamically linked,.*not stripped"); \ if [ -n "$$check" ]; then \ ${ECHO_CMD} "Stripping symbols from $$f"; \ ${STRIP_CMD} "$$f"; \ fi; \ done; \ fi post-install-DRAGONFLY-ON: ${CP} -a ${STAGEDIR}${PREFIX}/openjdk/include/freebsd \ ${STAGEDIR}${PREFIX}/openjdk/include/dragonfly [FILE:347:descriptions/desc.primary] Open-source implementation of the Java Platform, Standard Edition. This package provides OpenJDK 18 LTS. This package is NOT certified to be compatible with any Java standard. Use at own risk. Mandatory trademark notice: "OpenJDK is a trademark or registered trademark of Oracle America, Inc. in the United States and other countries." [FILE:69:descriptions/desc.legal] This package contains the license information of the jdk components. [FILE:597:distinfo] 5a34bebd78fb873ec55b67a131deb4d23aaac4178d41c09d04987155c9467cf6 112515363 jrmarino-jdk21u-52ea54f.tar.gz 450e058bbb738daeaae0181137b28861648ed989066628b6a1c2ad420154c63f 173526122 bootstrap-openjdk-20.0.2-FreeBSD-amd64.tzst 1a62413b0672e9a780347abedd3a0537b186582dfd2e3ae251748117f66c5422 173213235 bootstrap-openjdk-20.0.2-dragonfly-x86_64.tzst 85e90f1ddb4b337550999422c0e2b8669f9dc1389a9f2fc039e8c3977648efd2 176402522 bootstrap-openjdk-20.0.2-Linux-amd64.tzst 2f22f59966c4992712061cd2b72479ecada7d0580049d8661d2c667dcb95df49 168612907 bootstrap-openjdk-20.0.2-NetBSD-amd64.tzst [FILE:3906:manifests/plist.primary] %%BASE%%/release %%BASE%%/bin/ jar jarsigner java javac javadoc javap jcmd jconsole jdb jdeprscan jdeps jfr jimage jinfo jlink jmap jmod jps jrunscript jshell jstack jstat jstatd jwebserver keytool rmiregistry serialver %%BASE%%/conf/ jaxp.properties logging.properties net.properties sound.properties %%BASE%%/conf/management/ jmxremote.access jmxremote.password.template management.properties %%BASE%%/conf/security/ java.policy java.security %%BASE%%/conf/security/policy/README.txt %%BASE%%/conf/security/policy/limited/ default_US_export.policy default_local.policy exempt_local.policy %%BASE%%/conf/security/policy/unlimited/ default_US_export.policy default_local.policy %%BASE%%/include/ classfile_constants.h jawt.h jdwpTransport.h jni.h jvmti.h jvmticmlr.h %%BASE%%/jmods/ java.base.jmod java.compiler.jmod java.datatransfer.jmod java.desktop.jmod java.instrument.jmod java.logging.jmod java.management.jmod java.management.rmi.jmod java.naming.jmod java.net.http.jmod java.prefs.jmod java.rmi.jmod java.scripting.jmod java.se.jmod java.security.jgss.jmod java.security.sasl.jmod java.smartcardio.jmod java.sql.jmod java.sql.rowset.jmod java.transaction.xa.jmod java.xml.crypto.jmod java.xml.jmod jdk.accessibility.jmod jdk.attach.jmod jdk.charsets.jmod jdk.compiler.jmod jdk.crypto.cryptoki.jmod jdk.crypto.ec.jmod jdk.dynalink.jmod jdk.editpad.jmod jdk.httpserver.jmod jdk.incubator.vector.jmod jdk.internal.ed.jmod jdk.internal.jvmstat.jmod jdk.internal.le.jmod jdk.internal.opt.jmod jdk.internal.vm.ci.jmod jdk.internal.vm.compiler.jmod jdk.internal.vm.compiler.management.jmod jdk.jartool.jmod jdk.javadoc.jmod jdk.jcmd.jmod jdk.jconsole.jmod jdk.jdeps.jmod jdk.jdi.jmod jdk.jdwp.agent.jmod jdk.jfr.jmod jdk.jlink.jmod jdk.jshell.jmod jdk.jsobject.jmod jdk.jstatd.jmod jdk.localedata.jmod jdk.management.agent.jmod jdk.management.jfr.jmod jdk.management.jmod jdk.naming.dns.jmod jdk.naming.rmi.jmod jdk.net.jmod jdk.nio.mapmode.jmod jdk.random.jmod jdk.sctp.jmod jdk.security.auth.jmod jdk.security.jgss.jmod jdk.unsupported.desktop.jmod jdk.unsupported.jmod jdk.xml.dom.jmod jdk.zipfs.jmod %%BASE%%/lib/ classlist ct.sym jrt-fs.jar jspawnhelper jvm.cfg libattach.so libawt.so libawt_headless.so libawt_xawt.so libdt_socket.so libextnet.so libfontmanager.so libinstrument.so libj2gss.so libj2pcsc.so libj2pkcs11.so libjaas.so libjava.so libjavajpeg.so libjawt.so libjdwp.so libjimage.so libjli.so libjsig.so libjsound.so liblcms.so libmanagement.so libmanagement_agent.so libmanagement_ext.so libmlib_image.so libnet.so libnio.so libprefs.so librmi.so libsplashscreen.so libsyslookup.so libverify.so libzip.so modules psfont.properties.ja psfontj2d.properties src.zip tzdb.dat %%BASE%%/lib/jfr/ default.jfc profile.jfc %%BASE%%/lib/security/ blocked.certs cacerts default.policy public_suffix_list.dat %%BASE%%/lib/server/ libjsig.so libjvm.so %%HOTSPOT_AGENT%%%%BASE%%/bin/jhsdb %%HOTSPOT_AGENT%%%%BASE%%/jmods/jdk.hotspot.agent.jmod %%HOTSPOT_AGENT%%%%BASE%%/lib/libsaproc.so %%ONLY-DRAGONFLY%%%%BASE%%/include/dragonfly/ jawt_md.h jni_md.h %%ONLY-DRAGONFLY%%%%BASE%%/include/freebsd/ jawt_md.h jni_md.h %%ONLY-DRAGONFLY%%%%BASE%%/lib/ fontconfig.bfc fontconfig.properties.src %%ONLY-FREEBSD%%%%BASE%%/include/freebsd/ jawt_md.h jni_md.h %%ONLY-FREEBSD%%%%BASE%%/lib/ fontconfig.bfc fontconfig.properties.src %%ONLY-LINUX%%%%BASE%%/bin/jpackage %%ONLY-LINUX%%%%BASE%%/conf/sdp/sdp.conf.template %%ONLY-LINUX%%%%BASE%%/include/linux/ jawt_md.h jni_md.h %%ONLY-LINUX%%%%BASE%%/jmods/jdk.jpackage.jmod %%ONLY-LINUX%%%%BASE%%/lib/ jexec libjsvml.so %%ONLY-NETBSD%%%%BASE%%/include/netbsd/ jawt_md.h jni_md.h %%ONLY-NETBSD%%%%BASE%%/lib/ fontconfig.bfc fontconfig.properties.src %%SCTP%%%%BASE%%/lib/libsctp.so [FILE:6204:manifests/plist.legal] %%BASE%%/legal/java.base/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE aes.md asm.md c-libutl.md cldr.md icu.md public_suffix.md unicode.md %%BASE%%/legal/java.compiler/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.datatransfer/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.desktop/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE colorimaging.md mesa3d.md pipewire.md xwd.md %%BASE%%/legal/java.instrument/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.logging/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.management/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.management.rmi/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.naming/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.net.http/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.prefs/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.rmi/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.scripting/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.se/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.security.jgss/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.security.sasl/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.smartcardio/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE pcsclite.md %%BASE%%/legal/java.sql/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.sql.rowset/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.transaction.xa/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/java.xml/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE bcel.md dom.md jcup.md xalan.md xerces.md %%BASE%%/legal/java.xml.crypto/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE santuario.md %%BASE%%/legal/jdk.accessibility/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.attach/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.charsets/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.compiler/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.crypto.cryptoki/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE pkcs11cryptotoken.md pkcs11wrapper.md %%BASE%%/legal/jdk.crypto.ec/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.dynalink/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE dynalink.md %%BASE%%/legal/jdk.editpad/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.httpserver/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.incubator.vector/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.internal.ed/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.internal.jvmstat/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.internal.le/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE jline.md %%BASE%%/legal/jdk.internal.opt/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE jopt-simple.md %%BASE%%/legal/jdk.internal.vm.ci/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.internal.vm.compiler/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.internal.vm.compiler.management/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jartool/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.javadoc/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE jquery.md jqueryUI.md %%BASE%%/legal/jdk.jcmd/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jconsole/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jdeps/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jdi/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jdwp.agent/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jfr/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jlink/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jshell/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jsobject/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.jstatd/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.localedata/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE cldr.md thaidict.md %%BASE%%/legal/jdk.management/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.management.agent/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.management.jfr/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.naming.dns/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.naming.rmi/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.net/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.nio.mapmode/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.random/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.sctp/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.security.auth/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.security.jgss/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.unsupported/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.unsupported.desktop/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.xml.dom/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%BASE%%/legal/jdk.zipfs/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%HOTSPOT_AGENT%%%%BASE%%/legal/jdk.hotspot.agent/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE %%ONLY-LINUX%%%%BASE%%/legal/jdk.jpackage/ ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE [FILE:365:manifests/plist.man] %%BASE%%/man/man1/ jar.1 jarsigner.1 java.1 javac.1 javadoc.1 javap.1 jcmd.1 jconsole.1 jdb.1 jdeprscan.1 jdeps.1 jfr.1 jinfo.1 jlink.1 jmap.1 jmod.1 jps.1 jrunscript.1 jshell.1 jstack.1 jstat.1 jstatd.1 jwebserver.1 keytool.1 rmiregistry.1 serialver.1 %%HOTSPOT_AGENT%%%%BASE%%/man/man1/jhsdb.1 %%ONLY-LINUX%%%%BASE%%/man/man1/jpackage.1 [FILE:2141:manifests/plist.examples] %%BASE%%/demo/README %%BASE%%/demo/jfc/CodePointIM/ CodePointIM.jar README.html README_ja.html README_zh_CN.html src.zip %%BASE%%/demo/jfc/FileChooserDemo/ FileChooserDemo.jar README.txt src.zip %%BASE%%/demo/jfc/Font2DTest/ Font2DTest.jar README.txt src.zip %%BASE%%/demo/jfc/J2Ddemo/ J2Ddemo.jar README.txt src.zip %%BASE%%/demo/jfc/Metalworks/ Metalworks.jar README.txt src.zip %%BASE%%/demo/jfc/Notepad/ Notepad.jar README.txt src.zip %%BASE%%/demo/jfc/SampleTree/ README.txt SampleTree.jar src.zip %%BASE%%/demo/jfc/Stylepad/ README.txt Stylepad.jar src.zip %%BASE%%/demo/jfc/SwingSet2/ README.txt SwingSet2.jar src.zip %%BASE%%/demo/jfc/TableExample/ README.txt TableExample.jar src.zip %%BASE%%/demo/jfc/TransparentRuler/ README.txt TransparentRuler.jar src.zip %%BASE%%/demo/nbproject/ README.txt project.xml %%BASE%%/demo/nbproject/jfc/FileChooserDemo/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/FileChooserDemo/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/Font2DTest/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/Font2DTest/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/Metalworks/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/Metalworks/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/Notepad/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/Notepad/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/SampleTree/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/SampleTree/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/TableExample/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/TableExample/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml %%BASE%%/demo/nbproject/jfc/TransparentRuler/ build.properties build.xml %%BASE%%/demo/nbproject/jfc/TransparentRuler/nbproject/ file-targets.xml jdk.xml netbeans-targets.xml project.xml [FILE:600:patches/patch-make_autoconf_flags-cflags.m4] --- make/autoconf/flags-cflags.m4.orig 2024-04-29 14:34:19 UTC +++ make/autoconf/flags-cflags.m4 @@ -37,7 +37,7 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS], if test "x$TOOLCHAIN_TYPE" = xgcc; then # Default works for linux, might work on other platforms as well. SHARED_LIBRARY_FLAGS='-shared' - SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1' + SET_EXECUTABLE_ORIGIN='-Wl,-z,origin -Wl,-rpath,\$$ORIGIN[$]1' SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1' SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' [FILE:517:patches/patch-make_autoconf_libraries.m4] --- make/autoconf/libraries.m4.orig 2024-04-29 14:34:19 UTC +++ make/autoconf/libraries.m4 @@ -215,9 +215,9 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS], ICONV_LDFLAGS="-L/usr/local/lib" ICONV_LIBS=-liconv elif test "x$OPENJDK_TARGET_OS_ENV" = "xbsd.freebsd"; then - ICONV_CFLAGS=-DLIBICONV_PLUG - ICONV_LDFLAGS= - ICONV_LIBS= + ICONV_CFLAGS=%%ICONV_CFLAGS%% + ICONV_LDFLAGS=%%ICONV_LDFLAGS%% + ICONV_LIBS=%%ICONV_LIBS%% else ICONV_CFLAGS= ICONV_LDFLAGS= [FILE:671:patches/patch-make_modules_java.desktop_lib_Awt2dLibraries.gmk] --- make/modules/java.desktop/lib/Awt2dLibraries.gmk.orig 2024-04-29 14:34:19 UTC +++ make/modules/java.desktop/lib/Awt2dLibraries.gmk @@ -562,7 +562,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ LDFLAGS_aix := -Wl$(COMMA)-berok, \ LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \ - LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ + LIBS_unix := -lfontconfig -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation -framework CoreGraphics, \ LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ $(WIN_AWT_LIB), \ [FILE:6908:patches/patch-src_java.desktop_share_native_libfontmanager_freetypeScaler.c] --- src/java.desktop/share/native/libfontmanager/freetypeScaler.c.orig 2024-04-29 14:34:19 UTC +++ src/java.desktop/share/native/libfontmanager/freetypeScaler.c @@ -43,6 +43,7 @@ #include FT_SYNTHESIS_H #include FT_LCD_FILTER_H #include FT_MODULE_H +#include #include "fontscaler.h" @@ -92,6 +93,133 @@ typedef struct FTScalerContext { int ptsz; /* size in points */ } FTScalerContext; +typedef struct { + FT_Render_Mode ftRenderMode; + int ftLoadFlags; + FT_LcdFilter ftLcdFilter; +} RenderingProperties; + +static FcPattern* matchedPattern(const FcChar8* family, double ptSize) { + FcPattern* pattern = FcPatternCreate(); + if (!pattern) + return 0; + + FcPatternAddString(pattern, FC_FAMILY, family); + FcPatternAddBool(pattern, FC_SCALABLE, FcTrue); + FcPatternAddDouble(pattern, FC_SIZE, ptSize); + + FcConfigSubstitute(0, pattern, FcMatchPattern); + FcDefaultSubstitute(pattern); + + FcResult res; + FcPattern *match = FcFontMatch(0, pattern, &res); + FcPatternDestroy(pattern); + return (res == FcResultMatch) ? match : NULL; +} + +static void readFontconfig(const FcChar8* family, double ptSize, jint aaType, RenderingProperties* rp) { + FcPattern *pattern = matchedPattern(family, ptSize); + + FT_Render_Mode ftRenderMode = FT_RENDER_MODE_NORMAL; + int ftLoadFlags = FT_LOAD_DEFAULT; + FT_LcdFilter ftLcdFilter = FT_LCD_FILTER_DEFAULT; + FcBool fcAntialias = 0; + char horizontal = 1; + + // subpixel order + if (aaType == TEXT_AA_ON) + ftRenderMode = FT_RENDER_MODE_NORMAL; + else if (aaType == TEXT_AA_OFF) + ftRenderMode = FT_RENDER_MODE_MONO; + else { + int fcRGBA = FC_RGBA_UNKNOWN; + if (pattern) + FcPatternGetInteger(pattern, FC_RGBA, 0, &fcRGBA); + switch (fcRGBA) { + case FC_RGBA_NONE: + ftRenderMode = FT_RENDER_MODE_NORMAL; + break; + case FC_RGBA_RGB: + case FC_RGBA_BGR: + ftRenderMode = FT_RENDER_MODE_LCD; + horizontal = 1; + break; + case FC_RGBA_VRGB: + case FC_RGBA_VBGR: + ftRenderMode = FT_RENDER_MODE_LCD_V; + horizontal = 0; + break; + default: + ftRenderMode = FT_RENDER_MODE_NORMAL; + break; + } + } + + // loading mode + if (aaType == TEXT_AA_OFF) + ftLoadFlags |= FT_LOAD_TARGET_MONO; + else { + int fcHintStyle = FC_HINT_NONE; + if (pattern) + FcPatternGetInteger(pattern, FC_HINT_STYLE, 0, &fcHintStyle); + switch (fcHintStyle) { + case FC_HINT_NONE: + ftLoadFlags |= FT_LOAD_NO_HINTING; + break; + case FC_HINT_SLIGHT: + ftLoadFlags |= FT_LOAD_TARGET_LIGHT; + break; + case FC_HINT_MEDIUM: + ftLoadFlags |= FT_LOAD_TARGET_NORMAL; + break; + case FC_HINT_FULL: + if (aaType == TEXT_AA_ON) + ftLoadFlags |= FT_LOAD_TARGET_NORMAL; + else + ftLoadFlags |= horizontal ? FT_LOAD_TARGET_LCD : FT_LOAD_TARGET_LCD_V; + break; + default: + ftLoadFlags |= FT_LOAD_TARGET_NORMAL; + break; + } + } + + // autohinting + FcBool fcAutohint = 0; + if (pattern && FcPatternGetBool(pattern, FC_AUTOHINT, 0, &fcAutohint) == FcResultMatch) + if (fcAutohint) + ftLoadFlags |= FT_LOAD_FORCE_AUTOHINT; + + // LCD filter + int fcLCDFilter = FC_LCD_DEFAULT; + if (pattern) + FcPatternGetInteger(pattern, FC_LCD_FILTER, 0, &fcLCDFilter); + switch (fcLCDFilter) { + case FC_LCD_NONE: + ftLcdFilter = FT_LCD_FILTER_NONE; + break; + case FC_LCD_DEFAULT: + ftLcdFilter = FT_LCD_FILTER_DEFAULT; + break; + case FC_LCD_LIGHT: + ftLcdFilter = FT_LCD_FILTER_LIGHT; + break; + case FC_LCD_LEGACY: + ftLcdFilter = FT_LCD_FILTER_LEGACY; + break; + default: + ftLcdFilter = FT_LCD_FILTER_DEFAULT; + break; + } + + if (pattern) + FcPatternDestroy(pattern); + + rp->ftRenderMode = ftRenderMode; + rp->ftLoadFlags = ftLoadFlags; + rp->ftLcdFilter = ftLcdFilter; +} + #ifdef DEBUG /* These are referenced in the freetype sources if DEBUG macro is defined. To simplify work with debugging version of freetype we define @@ -946,29 +1074,12 @@ static jlong renderFlags |= FT_LOAD_NO_HINTING; } - if (!context->useSbits) { - renderFlags |= FT_LOAD_NO_BITMAP; - } + RenderingProperties renderingProperties; + readFontconfig((const FcChar8 *) scalerInfo->face->family_name, + context->ptsz, context->aaType, &renderingProperties); - /* NB: in case of non identity transform - we might also prefer to disable transform before hinting, - and apply it explicitly after hinting is performed. - Or we can disable hinting. */ - - /* select appropriate hinting mode */ - if (context->aaType == TEXT_AA_OFF) { - target = FT_LOAD_TARGET_MONO; - } else if (context->aaType == TEXT_AA_ON) { - target = FT_LOAD_TARGET_NORMAL; - } else if (context->aaType == TEXT_AA_LCD_HRGB || - context->aaType == TEXT_AA_LCD_HBGR) { - target = FT_LOAD_TARGET_LCD; - } else { - target = FT_LOAD_TARGET_LCD_V; - } - renderFlags |= target; - - error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderFlags); + FT_Library_SetLcdFilter(scalerInfo->library, renderingProperties.ftLcdFilter); + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); if (error) { //do not destroy scaler yet. //this can be problem of particular context (e.g. with bad transform) @@ -993,10 +1104,10 @@ static jlong glyphInfo = getNullGlyphImage(); return ptr_to_jlong(glyphInfo); } - error = FT_Render_Glyph(ftglyph, FT_LOAD_TARGET_MODE(target)); - if (error != 0) { - return ptr_to_jlong(getNullGlyphImage()); - } + } + error = FT_Render_Glyph(ftglyph, renderingProperties.ftRenderMode); + if (error != 0) { + return ptr_to_jlong(getNullGlyphImage()); } if (renderImage) { @@ -1217,9 +1328,11 @@ static FT_Outline* getFTOutline(JNIEnv* return NULL; } - renderFlags = FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP; + RenderingProperties renderingProperties; + readFontconfig((const FcChar8 *) scalerInfo->face->family_name, + context->ptsz, context->aaType, &renderingProperties); - error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderFlags); + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); if (error) { return NULL; } [FILE:362:files/pkg-message-primary] This OpenJDK implementation makes use of fdescfs(5) mounted on /dev/fd and procfs(5) mounted on /proc. For BSD users, if you have not done it yet, please do the following: mount -t fdescfs fdesc /dev/fd mount -t procfs proc /proc To make it permanent, you need the following lines in /etc/fstab: fdesc /dev/fd fdescfs rw 0 0 proc /proc procfs rw 0 0 [FILE:111:files/special.mk] .if defined(BUILD_WITH_CCACHE) CONFIGURE_ARGS+= --enable-ccache .else CONFIGURE_ARGS+= --disable-ccache .endif [FILE:881:netbsd/patch-src_hotspot_cpu_x86_sharedRuntime__x86__64.cpp] --- src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp.orig 2024-04-29 14:34:19 UTC +++ src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp @@ -3537,7 +3537,7 @@ void SharedRuntime::montgomery_multiply( int divisor = sizeof(julong) * 4; guarantee(longwords <= 8192 / divisor, "must be"); int total_allocation = longwords * sizeof (julong) * 4; - julong *scratch = (julong *)alloca(total_allocation); + julong *scratch = (julong *)__builtin_alloca(total_allocation); // Local scratch arrays julong @@ -3567,7 +3567,7 @@ void SharedRuntime::montgomery_square(ji int divisor = sizeof(julong) * 3; guarantee(longwords <= (8192 / divisor), "must be"); int total_allocation = longwords * sizeof (julong) * 3; - julong *scratch = (julong *)alloca(total_allocation); + julong *scratch = (julong *)__builtin_alloca(total_allocation); // Local scratch arrays julong [FILE:393:netbsd/patch-src_hotspot_share_runtime_os.cpp] --- src/hotspot/share/runtime/os.cpp.orig 2024-04-29 14:34:19 UTC +++ src/hotspot/share/runtime/os.cpp @@ -854,7 +854,7 @@ bool os::print_function_and_library_name // is worse than (raw) C-heap allocation in that case). char* p = buf; if (p == nullptr) { - p = (char*)::alloca(O_BUFLEN); + p = (char*)__builtin_alloca(O_BUFLEN); buflen = O_BUFLEN; } int offset = 0; [FILE:423:netbsd/patch-src_java.base_unix_native_libjava_path__util.c] --- src/java.base/unix/native/libjava/path_util.c.orig 2024-04-29 14:34:19 UTC +++ src/java.base/unix/native/libjava/path_util.c @@ -122,7 +122,7 @@ collapse(char *path) nc = collapsible(names); if (nc < 2) return; /* Nothing to do */ - ix = (char **)alloca(nc * sizeof(char *)); + ix = (char **)__builtin_alloca(nc * sizeof(char *)); splitNames(names, ix); for (i = 0; i < nc; i++) {