This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and
procfs(5) mounted on /proc.
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
cleanup: remove expired versions of OpenJDK (12 through 16)
Adjust ports depending on expired versions of OpenJDK:
- biology/snpeff: 12+ -> 17+
- devel/RStudio: 12 -> 11
- www/closure-compiler: 13 -> 11+
Allow java/openjdk17 to use java/openjdk17-bootstrap on i386
too, this builds just fine on 13.1-i386
Remove jdk12-doc as it is no longer relevant.
Clean up Java version calculations in bsd.java.mk
Reviewed by: jwb, java (glewis)
Differential Revision: https://reviews.freebsd.org/D35280
openjdk: mark as deprecated all EOLed version of openjdk
The current supported version of openjdk are:
8 (LTS) up to 31 march 2025
11 (LTS) up to 30 september 2026
17 (LTS) up to 20 september 2031
18 up to 30 september 2022
All other version have expired long ago
java/openjdk*: work around UB in markOopDesc, fix builds with clang 13
During an exp-run for llvm 13 (see bug 258209), it turned out that
java/openjdk11 through openjdk13 fail to build with clang 13:
=== Output from failing command(s) repeated here ===
* For target jdk__packages_attribute.done:
These crashes are all caused by the markOop/markOopDesc classes, which
are used to keep track of objects, and which are 'marked' using the low
few bits. (See
https://github.com/openjdk/jdk13u/blob/master/src/hotspot/share/oops/markOop.hpp
).
After some laborious bisecting, I found out that these crashes start
(Only the first 15 lines of the commit message are shown above )
java/openjdk12: fix build with clang 12
During an exp-run for llvm 12 (see bug 255570), it turned out that
java/openjdk11 does not build with clang 12.0.0:
Creating support/demos/image/jfc/J2Ddemo/J2Ddemo.jar
/usr/local/bin/bash: line 5: 49140 Abort trap (core dumped)
/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/interim-image/bin/java
-XX:DumpLoadedClassList=/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/classlist.raw
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true -cp
/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/classlist.jar
build.tools.classlist.HelloClasslist > /dev/null 2>&1 >
/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/default_jli_trace.txt
gmake[4]: *** [GenerateLinkOptData.gmk:66:
/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/classlist]
Error 134
This is due to missing backports of upstream commits:
commit c484d8904285652246c3af212a4211b9a8955149
Author: Thomas Stuefe <stuefe@openjdk.org>
Date: Tue Mar 16 05:49:01 2021 +0000
(Only the first 15 lines of the commit message are shown above )
Multiple ports: improve regex compliance
These changes largely fall into just two categories:
1. Need textproc/gsed for GNU extensions
2. Extraneous escapes that can go away
For #1, there's a further subdivision into those that require autoconf magic
and those that can get away with BINARY_ALIAS=sed=${LOCALBASE}/bin/gsed.
-CURRENT will soon gain GNU extensions, but these will take longer to get to
all supported releases; we must switch them to gsed to ensure we're actually
properly building them as intended.
For #2, I've fixed these as I can and we should upstream these fixes.
(Only the first 15 lines of the commit message are shown above )
Update devel/gmake to 4.3.
Some changes have been made in this release that break backwards
compatibility. Let USES=gmake force users to upgrade to this version so
port maintainers don't have to support older versions.
PR: 245725
Exp-run by: antoine
Approved by: portmgr (antoine)
java/openjdk12: fix compilation for powerpc64 elfv2
Because of issue with macros in precompiled.hpp, --disable-precompiled-headers
is necessary.
Since openjdk compiles for elfv1 by default on big-endian ppc64, use a patch to
compile for elfv2.
PR: 243183
Approved by: glewis (maintainer)
Reinstate guidance to have /proc mounted
* Having /proc mounted is not generally critical, but there is at least one
piece of functionality that does rely on its presence at the moment
(e.g. OperatingSystemMXBean)
Add USES=xorg USES=gl, ports categories j
Add USES=xorg and USES=gl to ports in categories starting with 'j'
While here, try to sprinkle other USES (mostly gnome and sdl) as needed.
Fix build on FreeBSD 12.x/powerpc64 on POWER8+ machines
* Make sure has_mfdscr() returns false on these machines as using it on
FreeBSD 12.x will cause problems (e.g. SIGILL).
PR: 239368
Sponsored by: The FreeBSD Foundation
Prepare for aarch64 support
* Add necessary configure arguments for aarch64
* Add patches needed to compile on aarch64. These have been upstreamed but
are not in a release yet.
Remove guidance about needing procfs
* Remove portions of pkg-message that mention needing /proc mounted.
This hasn't been the case for a while afaik (I don't have it mounted
and haven't observed any related problems).
* Set NO_CCACHE to match configure being passed --disable-ccache
Fixes the build for people trying to use ccache
PR: 239387
Submitted by: Jonathan Chen <jonc@chen.org.nz>
* Update to 12.0.0.33.2
* Sort LIB_DEPENDS and USE_XORG.
* Add a dependency in alsa-lib now that sound is supported on FreeBSD.
* Don't disable dtrace now that it is supported on FreeBSD.
* Less intrusive iconv change.