diff --git a/java/openjdk17/Makefile b/java/openjdk17/Makefile index 4edc6a57de5d..b28a2c3a2475 100644 --- a/java/openjdk17/Makefile +++ b/java/openjdk17/Makefile @@ -1,195 +1,194 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} -PORTREVISION= 4 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} MAINTAINER= java@FreeBSD.org COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION} WWW= https://openjdk.java.net/projects/jdk/17/ LICENSE= GPLv2 ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc64 powerpc64le BUILD_DEPENDS= zip:archivers/zip \ autoconf>0:devel/autoconf \ ${LOCALBASE}/include/cups/cups.h:print/cups \ bash:shells/bash \ gsed:textproc/gsed 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 \ xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype USES= compiler:features cpe gmake iconv jpeg pkgconfig xorg USE_XORG= x11 xext xi xrandr xrender xt xtst CPE_VENDOR= oracle USE_GITHUB= yes GH_ACCOUNT= battleblow GH_PROJECT= jdk17u NO_CCACHE= yes # 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= LANG="C" \ LC_ALL="C" \ CLASSPATH="" \ JAVA_HOME="" \ LD_LIBRARY_PATH="" \ CC=${CC} \ CXX=${CXX} \ CPP=${CPP} \ LOG=cmdlines \ MAKEFLAGS="" JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/:S/i386/x86/:S/powerpc64/ppc64/} JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE} .if defined(BUILD_JRE) JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jre .else JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jdk .endif INSTALLDIR= ${PREFIX}/${PKGBASE} NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 17 JDK_MINOR_VERSION= 0 -JDK_PATCH_VERSION= 16 -JDK_BUILD_NUMBER= 8 +JDK_PATCH_VERSION= 17 +JDK_BUILD_NUMBER= 10 BSD_JDK_VERSION= 1 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 GNU_CONFIGURE= yes CONFIGURE_ENV= CC=${CC} \ CXX=${CXX} \ CPP=${CPP} \ ac_cv_path_SED=${LOCALBASE}/bin/gsed CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} \ --disable-ccache \ --disable-javac-server \ --disable-hotspot-gtest \ --with-alsa=${LOCALBASE} \ --with-cups=${LOCALBASE} \ --with-fontconfig=${LOCALBASE} \ --with-freetype=system \ --with-freetype-include=${LOCALBASE}/include/freetype2 \ --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-num-cores=${MAKE_JOBS_NUMBER} \ --with-zlib=system \ --with-lcms=system \ --x-includes=${LOCALBASE}/include \ --x-libraries=${LOCALBASE}/lib \ --with-version-string=${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} \ --with-native-debug-symbols=none \ --with-debug-level=release \ --with-vendor-name="OpenJDK BSD Porting Team" \ --with-vendor-url="https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/" \ --with-vendor-bug-url="${JDK_BUG_URL}" \ --with-vendor-vm-bug-url="${JDK_BUG_URL}" JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION} .if defined(BUILD_JRE) ALL_TARGET= legacy-images .else ALL_TARGET= images .endif JDK_BUILD_TYPE= release .include # portsfallout.com shows flapping builds on 13.5 and 14.2 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500000 MAKE_JOBS_NUMBER_LIMIT= 3 .endif BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk17 ${LOCALBASE}/bootstrap-openjdk17 # do we have valid native jdk installed? .for BJDK in ${BOOTSTRAP_JDKS} . if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac) BOOTSTRAPJDKDIR= ${BJDK} . endif .endfor # if no valid jdk found, set dependency .if !defined(BOOTSTRAPJDKDIR) BOOTSTRAPJDKDIR?= ${LOCALBASE}/bootstrap-openjdk17 BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:java/bootstrap-openjdk17 .endif 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-ldflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} -L${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \ --with-extra-cflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \ --with-extra-cxxflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" .else MAKE_ENV+= USE_CLANG=true .endif .if ${ARCH} == aarch64 CONFIGURE_ARGS+= --with-boot-jdk-jvmargs=-XX:-UseCompressedClassPointers --disable-dtrace MAKE_ENV+= JAVA_TOOL_OPTIONS="-XX:-UseCompressedClassPointers" .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: @${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 diff --git a/java/openjdk17/distinfo b/java/openjdk17/distinfo index 46fec0c5d7c9..3dd968836649 100644 --- a/java/openjdk17/distinfo +++ b/java/openjdk17/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1753420206 -SHA256 (battleblow-jdk17u-jdk-17.0.16+8-1_GH0.tar.gz) = 037d6ddb613ebe58a6bde1919312cce978a74f7cdc6e5f5990933e24dabbc2e2 -SIZE (battleblow-jdk17u-jdk-17.0.16+8-1_GH0.tar.gz) = 107976153 +TIMESTAMP = 1762108077 +SHA256 (battleblow-jdk17u-jdk-17.0.17+10-1_GH0.tar.gz) = 99bd33ce8cc618576e8693b9af1bb48059cb5011286009d46a0fabd2d8d36ba8 +SIZE (battleblow-jdk17u-jdk-17.0.17+10-1_GH0.tar.gz) = 108082578 diff --git a/java/openjdk17/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c b/java/openjdk17/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c deleted file mode 100644 index 80ae4c90cdf7..000000000000 --- a/java/openjdk17/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c +++ /dev/null @@ -1,20 +0,0 @@ ---- src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c.orig 2025-06-27 12:18:08 UTC -+++ src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c -@@ -70,6 +70,9 @@ closeDescriptors(void) - int - closeDescriptors(void) - { -+#if defined(__FreeBSD__) -+ closefrom(STDERR_FILENO + 1); -+#else - DIR *dp; - struct dirent *dirp; - /* leave out standard input/output/error descriptors */ -@@ -114,6 +117,7 @@ closeDescriptors(void) - - (void)closedir(dp); - -+#endif - return 1; // success - } - diff --git a/java/openjdk17/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk17/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c deleted file mode 100644 index 1131ff26e268..000000000000 --- a/java/openjdk17/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c +++ /dev/null @@ -1,91 +0,0 @@ ---- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2025-04-19 18:17:03 UTC -+++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c -@@ -58,6 +58,7 @@ - #include - - #ifdef __FreeBSD__ -+#include - #include - #endif - -@@ -178,23 +179,45 @@ Java_com_sun_management_internal_OperatingSystemImpl_g - } - return t_info.virtual_size; - #elif defined(__FreeBSD__) -- FILE *fp; -- unsigned long end, start; -- jlong total = 0; -+ int mib[4]; -+ struct kinfo_vmentry *kve; -+ long total = 0; -+ size_t len = 0; -+ int error; -+ char *buf, *bp, *eb; - -- if ((fp = fopen("/proc/curproc/map", "r")) == NULL) { -- throw_internal_error(env, "Unable to open /proc/curproc/map"); -+ mib[0] = CTL_KERN; -+ mib[1] = KERN_PROC; -+ mib[2] = KERN_PROC_VMMAP; -+ mib[3] = getpid(); -+ error = sysctl(mib, 4, NULL, &len, NULL, 0); -+ if (error) { -+ throw_internal_error(env, "Cannot sysctl(kern.proc.vvmap)"); - return -1; - } -- -- for (;;) { -- // Ignore everything except start and end entries -- if (fscanf(fp, "0x%lx 0x%lx %*[^\n]\n", &start, &end) != 2 || start > end) -- break; -- total += end - start; -+ len = len * 4 / 3; -+ buf = malloc(len); -+ if (buf == NULL) { -+ throw_internal_error(env, "Fail to allocate memory"); -+ return -1; - } -- -- fclose(fp); -+ error = sysctl(mib, 4, buf, &len, NULL, 0); -+ if (error) { -+ throw_internal_error(env, "Cannot sysctl(kern.proc.vvmap)"); -+ return -1; -+ } -+ bp = buf; -+ eb = buf + len; -+ while (bp < eb) { -+ kve = (struct kinfo_vmentry *)(uintptr_t)bp; -+ if (kve->kve_structsize == 0) -+ break; -+ bp += kve->kve_structsize; -+ /* if (kve->kve_type != KVME_TYPE_VNODE) -+ continue;*/ -+ total += kve->kve_end - kve->kve_start; -+ } -+ free(buf); - return total; - #else /* _ALLBSD_SOURCE */ - /* -@@ -404,6 +427,21 @@ Java_com_sun_management_internal_OperatingSystemImpl_g - return nfiles; - #elif defined(__OpenBSD__) - return getdtablecount(); -+#elif defined(__FreeBSD__) -+ int mib[4]; -+ int error; -+ int nfds; -+ size_t len; -+ -+ len = sizeof(nfds); -+ mib[0] = CTL_KERN; -+ mib[1] = KERN_PROC; -+ mib[2] = KERN_PROC_NFDS; -+ mib[3] = 0; -+ -+ if (sysctl(mib, 4, &nfds, &len, NULL, 0) == -1) -+ return -1; -+ return nfds; - #else /* solaris/linux */ - DIR *dirp; - struct dirent* dentp;