Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F158045605
D55938.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
13 KB
Referenced Files
None
Subscribers
None
D55938.id.diff
View Options
diff --git a/Mk/Uses/java.mk b/Mk/Uses/java.mk
--- a/Mk/Uses/java.mk
+++ b/Mk/Uses/java.mk
@@ -30,7 +30,7 @@
# JAVA_VERSION List of space-separated suitable java versions for the
# port. An optional "+" allows you to specify a range of
# versions. (allowed values: 8[+] 11[+] 17[+]
-# 21[+] 22[+] 23[+] 24[+] 25[+])
+# 21[+] 22[+] 23[+] 24[+] 25[+] 26[+])
#
# JAVA_OS List of space-separated suitable JDK port operating systems
# for the port. (allowed values: native linux)
@@ -201,7 +201,7 @@
. endif
# The complete list of Java versions, os and vendors supported.
-__JAVA_VERSION_LIST= 8 11 17 21 22 23 24 25
+__JAVA_VERSION_LIST= 8 11 17 21 22 23 24 25 26
_JAVA_VERSION_LIST= ${__JAVA_VERSION_LIST} ${__JAVA_VERSION_LIST:S/$/+/}
_JAVA_OS_LIST= native linux
_JAVA_VENDOR_LIST= openjdk oracle
@@ -224,6 +224,8 @@
VERSION=24 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_25_INFO= PORT=java/openjdk25 HOME=${LOCALBASE}/openjdk25 \
VERSION=25 OS=native VENDOR=openjdk
+_JAVA_PORT_NATIVE_OPENJDK_JDK_26_INFO= PORT=java/openjdk26 HOME=${LOCALBASE}/openjdk26 \
+ VERSION=26 OS=native VENDOR=openjdk
_JAVA_PORT_LINUX_ORACLE_JDK_8_INFO= PORT=java/linux-oracle-jdk18 HOME=${LOCALBASE}/linux-oracle-jdk1.8.0 \
VERSION=8 OS=linux VENDOR=oracle
@@ -245,6 +247,7 @@
JAVA_PORT_NATIVE_OPENJDK_JDK_23 \
JAVA_PORT_NATIVE_OPENJDK_JDK_24 \
JAVA_PORT_NATIVE_OPENJDK_JDK_25 \
+ JAVA_PORT_NATIVE_OPENJDK_JDK_26 \
JAVA_PORT_LINUX_ORACLE_JDK_8
_JAVA_PORTS_ALL= ${JAVA_PREFERRED_PORTS} \
JAVA_PORT_NATIVE_OPENJDK_JDK_${JAVA_DEFAULT} \
@@ -308,7 +311,7 @@
. undef _JAVA_PORTS_INSTALLED
. undef _JAVA_PORTS_POSSIBLE
. if defined(JAVA_VERSION)
-_JAVA_VERSION= ${JAVA_VERSION:S/^8+/8 11+/:S/^11+/11 17+/:S/^17+/17 21+/:S/^21+/21 22+/:S/^22+/22 23+/:S/^23+/23 24+/:S/^24+/24 25+/:S/^25+/25/}
+_JAVA_VERSION= ${JAVA_VERSION:S/^8+/8 11+/:S/^11+/11 17+/:S/^17+/17 21+/:S/^21+/21 22+/:S/^22+/22 23+/:S/^23+/23 24+/:S/^24+/24 25+/:S/^25+/25 26+/:S/^26+/26/}
. else
_JAVA_VERSION= ${__JAVA_VERSION_LIST}
. endif
diff --git a/java/Makefile b/java/Makefile
--- a/java/Makefile
+++ b/java/Makefile
@@ -88,6 +88,7 @@
SUBDIR += openjdk23
SUBDIR += openjdk24
SUBDIR += openjdk25
+ SUBDIR += openjdk26
SUBDIR += openjdk8
SUBDIR += openjdk8-jre
SUBDIR += openjfx14
diff --git a/java/openjdk26/Makefile b/java/openjdk26/Makefile
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/Makefile
@@ -0,0 +1,206 @@
+PORTNAME= openjdk
+DISTVERSIONPREFIX= jdk-
+DISTVERSION= ${JDK_FULL_VERSION:S/.0.0//}
+CATEGORIES= java devel
+PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION}
+MASTER_SITES= LOCAL/openjdk:boot
+DISTFILES= ${BOOTSTRAPJDKFILE}:boot
+
+MAINTAINER= java@FreeBSD.org
+COMMENT= ${COMMENT_${FLAVOR}} ${JDK_MAJOR_VERSION}
+COMMENT_jdk= Java Development Kit
+COMMENT_headless= Java Development Kit (headless version)
+COMMENT_jre= Java Runtime Environment
+COMMENT_jre_headless= Java Runtime Environment (headless version)
+
+WWW= https://openjdk.java.net/projects/jdk/26/
+
+LICENSE= GPLv2
+
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
+
+# This port supports the following flavors:
+#
+# - jdk (default) Full OpenJDK including dev tools and x11 support
+# - headless Full OpenJDK including dev tools, but without x11 support
+# - jre Java Runtime Environment including x11 support
+# - jre_headless Jave Runtime Environment without x11 support
+FLAVORS= jdk jre headless jre_headless
+
+headless_PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-headless
+jre_PKGNAMESUFFIX= -jre
+jre_headless_PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-jre-headless
+
+FLAVOR?= ${BUILD_JRE:?jre:${FLAVORS:[1]}}
+
+BUILD_DEPENDS= ${LOCALBASE}/include/cups/cups.h:print/cups \
+ bash:shells/bash \
+ gsed:textproc/gsed \
+ zip:archivers/zip
+
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libgif.so:graphics/giflib \
+ libharfbuzz.so:print/harfbuzz \
+ liblcms2.so:graphics/lcms2 \
+ libpng.so:graphics/png
+
+RUN_DEPENDS= javavm:java/javavmwrapper
+.if ${FLAVOR:M*headless} == ""
+RUN_DEPENDS+= xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype
+.endif
+
+USES= autoreconf:build compiler:features cpe gmake iconv jpeg pkgconfig xorg
+
+CPE_VENDOR= oracle
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+
+USE_XORG= x11 xext xi xrandr xrender xt xtst
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-ccache \
+ --disable-javac-server \
+ --with-alsa=${LOCALBASE} \
+ --with-boot-jdk=${BOOTSTRAPJDKDIR} \
+ --with-cups=${LOCALBASE} \
+ --with-debug-level=release \
+ --with-fontconfig=${LOCALBASE} \
+ --with-freetype=system \
+ --with-giflib-include=${LOCALBASE}/include \
+ --with-giflib-lib=${LOCALBASE}/lib \
+ --with-giflib=system \
+ --with-harfbuzz=system \
+ --with-lcms=system \
+ --with-libjpeg=system \
+ --with-libpng=system \
+ --with-native-debug-symbols=none \
+ --with-num-cores=${MAKE_JOBS_NUMBER} \
+ --with-vendor-bug-url="${JDK_BUG_URL}" \
+ --with-vendor-name="OpenJDK BSD Porting Team" \
+ --with-vendor-url="https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/" \
+ --with-vendor-vm-bug-url="${JDK_BUG_URL}" \
+ --with-version-string=${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} \
+ --with-zlib=system \
+ --x-includes=${LOCALBASE}/include \
+ --x-libraries=${LOCALBASE}/lib
+.if ${FLAVOR:M*headless}
+CONFIGURE_ARGS+= --enable-headless-only
+.endif
+
+CONFIGURE_ENV= ac_cv_path_SED=${LOCALBASE}/bin/gsed
+CONFIGURE_TARGET= ${JDK_ARCH}-portbld-${OPSYS:tl}${OSREL}
+
+# Suppress passing -j to do-build target via Mk/bsd.port.mk
+# In the JDK build the number of parallel jobs is passed in via configure --with-num-cores=N
+_MAKE_JOBS= #
+MAKE_ENV= CLASSPATH="" \
+ JAVA_HOME="" \
+ LD_LIBRARY_PATH="" \
+ LOG=cmdlines \
+ MAKEFLAGS=""
+
+.if ${FLAVOR:Mjre*}
+ALL_TARGET= legacy-images
+.else
+ALL_TARGET= images
+.endif
+JDK_BUILD_TYPE= release
+
+JDK_ARCH= ${ARCH:S/amd64/x86_64/:S/i386/x86/:S/powerpc64/ppc64/}
+BOOTSTRAPJDKFILE= openjdk25-25.0.1+8.f.1.${JDK_ARCH}.tar.xz
+JDK_OSARCH= bsd-${JDK_ARCH}
+JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE}
+.if ${FLAVOR:Mjre*}
+BUILD_JRE= true
+JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jre
+.else
+JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jdk
+.endif
+INSTALLDIR= ${PREFIX}/${PKGBASE}
+BOOTSTRAPJDKDIR= ${WRKDIR}/boot-jdk
+
+NO_CCACHE= yes
+NOPRECIOUSMAKEVARS= yes
+
+JDK_MAJOR_VERSION= 26
+JDK_MINOR_VERSION= 0
+JDK_PATCH_VERSION= 0
+JDK_BUILD_NUMBER= 35
+BSD_JDK_VERSION= 1
+JDK_FULL_VERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION}
+
+JDK_BUG_URL= https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Ports%20%26%20Packages&component=Individual%20Port(s)&short_desc=java/${PORTNAME}${JDK_MAJOR_VERSION}%3A%20
+
+.ifnmake portclippy
+JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION}
+.endif
+
+.include <bsd.port.pre.mk>
+
+JDK_BUILD_JVM= server
+
+MAKE_ENV+= --with-toolchain-type=${COMPILER_TYPE}
+CONFIGURE_ARGS+= --with-toolchain-type=${COMPILER_TYPE}
+CONFIGURE_ARGS+= --disable-warnings-as-errors
+
+.if ${COMPILER_TYPE} == gcc
+USE_GCC= yes
+CONFIGURE_ARGS+= --with-extra-cflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \
+ --with-extra-cxxflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \
+ --with-extra-ldflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} -L${LOCALBASE}/lib/gcc${GCC_DEFAULT}"
+.else
+MAKE_ENV+= USE_CLANG=true
+EXTRA_CFLAGS+= -Wno-unused-but-set-parameter
+EXTRA_CFLAGS+= -Wno-bitwise-instead-of-logical \
+ -Wno-error=deprecated-non-prototype
+CONFIGURE_ARGS+= --with-extra-cflags="${EXTRA_CFLAGS}"
+CONFIGURE_ARGS+= --with-extra-cxxflags="${EXTRA_CFLAGS}"
+.endif
+
+.if ${ARCH} == aarch64
+CONFIGURE_ARGS+= --disable-dtrace
+.endif
+
+.if empty(ICONV_LIB)
+ICONV_CFLAGS= -DLIBICONV_PLUG
+.else
+ICONV_CFLAGS= -I${LOCALBASE}/include
+ICONV_LDFLAGS= -L${LOCALBASE}/lib
+ICONV_LIBS= ${ICONV_LIB}
+.endif
+
+post-patch:
+ @${RM} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.cpp
+ @${MV} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.hpp \
+ ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/javaThread_bsd_ppc.hpp
+
+ @${FIND} ${WRKSRC} -name '*.orig' -delete
+ @${CHMOD} 755 ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/configure \
+ ${WRKSRC}/src/hotspot/os/bsd/os_bsd.cpp
+ @${REINPLACE_CMD} -e 's|%%ICONV_CFLAGS%%|${ICONV_CFLAGS}|' \
+ -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \
+ -e 's|%%ICONV_LIBS%%|${ICONV_LIBS}|' \
+ ${WRKSRC}/make/autoconf/libraries.m4
+
+post-build:
+.if defined(OPENJDK_SYMLINK_CACERTS)
+ @${RM} ${JDK_IMAGEDIR}/lib/security/cacerts
+ @${LN} -sf ${OPENJDK_SYMLINK_CACERTS} ${JDK_IMAGEDIR}/lib/security/cacerts
+.endif
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${INSTALLDIR}
+ @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR}
+ @cd ${STAGEDIR}${INSTALLDIR} && \
+ ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \;
+ @${CHMOD} ${BINMODE} ${STAGEDIR}${INSTALLDIR}/lib/jspawnhelper
+ @${ECHO} "@javavm ${INSTALLDIR}/bin/java" >> ${TMPPLIST}
+ @${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \
+ ${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST}
+
+.include <bsd.port.post.mk>
diff --git a/java/openjdk26/distinfo b/java/openjdk26/distinfo
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1773920001
+SHA256 (openjdk25-25.0.1+8.f.1.aarch64.tar.xz) = cb1d88e0e299a0c2347dbbaa17c3650403a28e8065076cf7898478646c473b2b
+SIZE (openjdk25-25.0.1+8.f.1.aarch64.tar.xz) = 189254412
+SHA256 (openjdk25-25.0.1+8.f.1.ppc64.tar.xz) = ae3e9658208889233f374b172b06f10b36fb19061d830252384a5e98aebe7184
+SIZE (openjdk25-25.0.1+8.f.1.ppc64.tar.xz) = 186892692
+SHA256 (openjdk25-25.0.1+8.f.1.ppc64le.tar.xz) = dabfb39d05b31c41c76d6c172af3836b2a6fda9dc86111d7b5730ca780de6223
+SIZE (openjdk25-25.0.1+8.f.1.ppc64le.tar.xz) = 188302548
+SHA256 (openjdk25-25.0.1+8.f.1.x86_64.tar.xz) = 0449e5a9257d8eb7ed1518af1e4e9e546ee63e4bfaf21e1021e9ab45d2840f27
+SIZE (openjdk25-25.0.1+8.f.1.x86_64.tar.xz) = 191262784
+SHA256 (freebsd-openjdk-jdk-26+35-1_GH0.tar.gz) = c5db71942e814bcc44c6788536a062678e43856dfaa08549e77fc90e838e0816
+SIZE (freebsd-openjdk-jdk-26+35-1_GH0.tar.gz) = 121724470
diff --git a/java/openjdk26/files/patch-configure b/java/openjdk26/files/patch-configure
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/files/patch-configure
@@ -0,0 +1,14 @@
+--- configure.orig 2025-10-24 11:51:54 UTC
++++ configure
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!%%LOCALBASE%%/bin/bash
+ #
+ # Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+@@ -36,4 +36,4 @@ fi
+ # Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c.
+ # This trick is needed to get autoconf to co-operate properly.
+ # The ${-:+-$-} construction passes on bash options.
+-bash ${-:+-$-} -c ". \"${this_script_dir}/make/autoconf/configure\"" "${this_script_dir}/configure" CHECKME "${this_script_dir}" "$@"
++%%LOCALBASE%%/bin/bash ${-:+-$-} -c ". \"${this_script_dir}/make/autoconf/configure\"" "${this_script_dir}/configure" CHECKME "${this_script_dir}" "$@"
diff --git a/java/openjdk26/files/patch-make_autoconf_flags-cflags.m4 b/java/openjdk26/files/patch-make_autoconf_flags-cflags.m4
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/files/patch-make_autoconf_flags-cflags.m4
@@ -0,0 +1,12 @@
+--- make/autoconf/flags-cflags.m4.orig 2025-09-16 10:24:48 UTC
++++ make/autoconf/flags-cflags.m4
+@@ -780,6 +780,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
+ # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
+ $1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=power8 -mtune=power10"
+ fi
++ if test "x$FLAGS_CPU" = xppc64; then
++ $1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=powerpc64 -mtune=power5"
++ fi
+ fi
+ if test "x$OPENJDK_TARGET_OS" = xaix; then
+ $1_CFLAGS_CPU="-mcpu=pwr8"
diff --git a/java/openjdk26/files/patch-make_autoconf_libraries.m4 b/java/openjdk26/files/patch-make_autoconf_libraries.m4
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/files/patch-make_autoconf_libraries.m4
@@ -0,0 +1,15 @@
+--- make/autoconf/libraries.m4.orig 2025-10-24 12:39:13 UTC
++++ make/autoconf/libraries.m4
+@@ -212,9 +212,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=
diff --git a/java/openjdk26/files/patch-src_hotspot_os_bsd_os__bsd.cpp b/java/openjdk26/files/patch-src_hotspot_os_bsd_os__bsd.cpp
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/files/patch-src_hotspot_os_bsd_os__bsd.cpp
@@ -0,0 +1,11 @@
+--- src/hotspot/os/bsd/os_bsd.cpp.orig 2021-09-29 21:25:10 UTC
++++ src/hotspot/os/bsd/os_bsd.cpp
+@@ -361,7 +361,7 @@
+ #elif defined(__NetBSD__)
+ #define DEFAULT_LIBPATH "/usr/lib:/usr/pkg/lib"
+ #else
+- #define DEFAULT_LIBPATH "/usr/lib:/usr/local/lib"
++ #define DEFAULT_LIBPATH "/usr/lib:%%LOCALBASE%%/lib"
+ #endif
+ #else
+ #define DEFAULT_LIBPATH OVERRIDE_LIBPATH
diff --git a/java/openjdk26/pkg-descr b/java/openjdk26/pkg-descr
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/pkg-descr
@@ -0,0 +1 @@
+An open-source implementation of the Java Platform, Standard Edition.
diff --git a/java/openjdk26/pkg-message b/java/openjdk26/pkg-message
new file mode 100644
--- /dev/null
+++ b/java/openjdk26/pkg-message
@@ -0,0 +1,15 @@
+[
+{ type: install
+ message: <<EOM
+This OpenJDK implementation may require procfs(5) mounted on /proc.
+
+If you have not done it yet, please do the following:
+
+ mount -t procfs proc /proc
+
+To make it permanent, you need the following lines in /etc/fstab:
+
+ proc /proc procfs rw 0 0
+EOM
+}
+]
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, May 28, 9:47 PM (16 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33593104
Default Alt Text
D55938.id.diff (13 KB)
Attached To
Mode
D55938: java/openjdk26: Add port Add port for OpenJDK 26.
Attached
Detach File
Event Timeline
Log In to Comment