diff options
Diffstat (limited to 'java')
48 files changed, 1077 insertions, 137 deletions
diff --git a/java/Makefile b/java/Makefile index 432e6794f049..829261f9440b 100644 --- a/java/Makefile +++ b/java/Makefile @@ -75,7 +75,6 @@ SUBDIR += linux-oracle-jre18 SUBDIR += linux-oracle-serverjre10 SUBDIR += mmake - SUBDIR += mx4j SUBDIR += netbeans SUBDIR += netrexx SUBDIR += netty diff --git a/java/dbvis/Makefile b/java/dbvis/Makefile index 9d86fc854342..75996b2d32a2 100644 --- a/java/dbvis/Makefile +++ b/java/dbvis/Makefile @@ -1,5 +1,5 @@ PORTNAME= dbvis -DISTVERSION= 25.2 +DISTVERSION= 25.2.2 CATEGORIES= java databases MASTER_SITES= https://www.dbvis.com/product_download/${PORTNAME}-${DISTVERSION}/media/ \ https://storage.googleapis.com/${PORTNAME}-download/product_download/${PORTNAME}-${DISTVERSION}/media/ @@ -25,9 +25,12 @@ WRKSRC= ${WRKDIR}/DbVisualizer PLIST_FILES= bin/dbvis do-install: - cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} - cd ${STAGEDIR}${PREFIX}/bin && ${LN} -s ../share/dbvis/dbvis dbvis - ${CHMOD} a+x ${STAGEDIR}${DATADIR}/dbvis + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} \ + "! ( -name dbvis -o -name dbviscmd.sh -o -name dbvisgui.sh )") + ${INSTALL_SCRIPT} ${WRKSRC}/dbvis ${STAGEDIR}${DATADIR} + ${INSTALL_SCRIPT} ${WRKSRC}/dbviscmd.sh ${STAGEDIR}${DATADIR} + ${INSTALL_SCRIPT} ${WRKSRC}/dbvisgui.sh ${STAGEDIR}${DATADIR} + ${RLN} ${STAGEDIR}${DATADIR}/dbvis ${STAGEDIR}${PREFIX}/bin/dbvis post-install: ${FIND} ${STAGEDIR}${DATADIR} -not -type d \ diff --git a/java/dbvis/distinfo b/java/dbvis/distinfo index 8c117038a040..d5a281643c7a 100644 --- a/java/dbvis/distinfo +++ b/java/dbvis/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750800000 -SHA256 (dbvis_linux_25_2.tar.gz) = af8ed4c4d8bc4e7f3a018a43b9ee4bfefb34dd906fbf4c36c5018c10cbdd22c2 -SIZE (dbvis_linux_25_2.tar.gz) = 116693845 +TIMESTAMP = 1752525252 +SHA256 (dbvis_linux_25_2_2.tar.gz) = e9e59e38b40dd97f4d4f4067dc632a2a4255a455fd3925b1911116ec1f437a84 +SIZE (dbvis_linux_25_2_2.tar.gz) = 116830510 diff --git a/java/eclipse/Makefile b/java/eclipse/Makefile index 586736265dd6..7b4ae20d3e4f 100644 --- a/java/eclipse/Makefile +++ b/java/eclipse/Makefile @@ -1,5 +1,5 @@ PORTNAME= eclipse -DISTVERSION= 4.35 +DISTVERSION= 4.36 CATEGORIES= java devel ECLIPSE_TAG= R${DISTVERSION:S|.|_|g} diff --git a/java/eclipse/distinfo b/java/eclipse/distinfo index 0a2394b33a62..5408ac479ff0 100644 --- a/java/eclipse/distinfo +++ b/java/eclipse/distinfo @@ -1,29 +1,29 @@ -TIMESTAMP = 1743576596 -SHA256 (eclipse/chirontt-eclipse.platform.releng.aggregator-4.35-R4_35_maintenance_GH0.tar.gz) = 2fcb4b9958d13e58f758c3c1a0c10b941c0d5a745b128aa93a73a4ae9f67212c -SIZE (eclipse/chirontt-eclipse.platform.releng.aggregator-4.35-R4_35_maintenance_GH0.tar.gz) = 26236823 -SHA256 (eclipse/eclipse-jdt-eclipse.jdt-R4_35_GH0.tar.gz) = 46823539473fd9a4e3f976f14e7bdad3c6730a22163413cae1e0334e68132c84 -SIZE (eclipse/eclipse-jdt-eclipse.jdt-R4_35_GH0.tar.gz) = 39729 -SHA256 (eclipse/eclipse-jdt-eclipse.jdt.core-R4_35_GH0.tar.gz) = 8ba8a83865d2922d0f0b86985b34372aa3c3ea6e25f6a0512752ea9ab27b9c07 -SIZE (eclipse/eclipse-jdt-eclipse.jdt.core-R4_35_GH0.tar.gz) = 15659847 -SHA256 (eclipse/eclipse-jdt-eclipse.jdt.core.binaries-R4_35_GH0.tar.gz) = 5d76780c7bde91d35fe13d78c10c0bf47115e9d444389243c8df67e92ba1f569 -SIZE (eclipse/eclipse-jdt-eclipse.jdt.core.binaries-R4_35_GH0.tar.gz) = 34885476 -SHA256 (eclipse/eclipse-jdt-eclipse.jdt.debug-R4_35_GH0.tar.gz) = 08162d9029ccbbf61338e1281f3c17e6271ea726e8a1ec0cf71c824bc63b1e27 -SIZE (eclipse/eclipse-jdt-eclipse.jdt.debug-R4_35_GH0.tar.gz) = 2177096 -SHA256 (eclipse/eclipse-jdt-eclipse.jdt.ui-R4_35_GH0.tar.gz) = 460f3dd79ab48a68c7f91b7633c5d01faa1770741d0cfcc37174a23fdbe5e893 -SIZE (eclipse/eclipse-jdt-eclipse.jdt.ui-R4_35_GH0.tar.gz) = 24041044 -SHA256 (eclipse/chirontt-eclipse.pde-R4_35_maintenance_GH0.tar.gz) = be94fb6edd85240c995125ba04c90806e68f13acc86333f3cdd755b11a07d68c -SIZE (eclipse/chirontt-eclipse.pde-R4_35_maintenance_GH0.tar.gz) = 35112342 -SHA256 (eclipse/chirontt-eclipse.platform-R4_35_maintenance_GH0.tar.gz) = 6f4c89696253e60053b89dfb961f9542d033eef2e62a75869883fbc1867166e5 -SIZE (eclipse/chirontt-eclipse.platform-R4_35_maintenance_GH0.tar.gz) = 16489404 -SHA256 (eclipse/chirontt-eclipse.platform.swt-R4_35_maintenance_GH0.tar.gz) = e390e06d0344899758b02409ba879c889f2ee106a3126f328dbb6a1156d5b872 -SIZE (eclipse/chirontt-eclipse.platform.swt-R4_35_maintenance_GH0.tar.gz) = 9218730 -SHA256 (eclipse/chirontt-eclipse.platform.ui-R4_35_maintenance_GH0.tar.gz) = 65fd3630cf3bc4bc0e6578cc8b253f4a5ff9ccecfaa2ecde2caa21038c83c65d -SIZE (eclipse/chirontt-eclipse.platform.ui-R4_35_maintenance_GH0.tar.gz) = 15572004 -SHA256 (eclipse/chirontt-equinox-R4_35_maintenance_GH0.tar.gz) = c751ee64dcd8a99ede5683d87227b0aba91cfab75295aaf8eb26ad91c0a42ce6 -SIZE (eclipse/chirontt-equinox-R4_35_maintenance_GH0.tar.gz) = 3593501 -SHA256 (eclipse/chirontt-equinox.binaries-R4_35_maintenance_GH0.tar.gz) = 679126ad2bb35b946a9e02c3e0177db06ea10a248ac58bc4f7f41fe2b9f9e295 -SIZE (eclipse/chirontt-equinox.binaries-R4_35_maintenance_GH0.tar.gz) = 1621098 -SHA256 (eclipse/chirontt-p2-R4_35_maintenance_GH0.tar.gz) = 9df1e4eef2095f0090b373f18a5806b1c947a8412a3f3143436f2d9b07b8dba8 -SIZE (eclipse/chirontt-p2-R4_35_maintenance_GH0.tar.gz) = 53845413 -SHA256 (eclipse/NorbertXYZ-eclipse-maven-4.35_GH0.tar.gz) = 121a6015ee06fbc157afab0f44eb6e4afde98e7a969f91de315c816f4ba87d70 -SIZE (eclipse/NorbertXYZ-eclipse-maven-4.35_GH0.tar.gz) = 495455311 +TIMESTAMP = 1752913239 +SHA256 (eclipse/chirontt-eclipse.platform.releng.aggregator-4.36-R4_36_maintenance_GH0.tar.gz) = 58d6734c7dd334d416b7d0255b3d71b11ee20cb7b790c0c7c6679727d0fd3611 +SIZE (eclipse/chirontt-eclipse.platform.releng.aggregator-4.36-R4_36_maintenance_GH0.tar.gz) = 26211750 +SHA256 (eclipse/eclipse-jdt-eclipse.jdt-R4_36_GH0.tar.gz) = d537c10f1f7bd9159e1877c6fe8ebeafea7132e98ff5ebe6b9b09717203c5677 +SIZE (eclipse/eclipse-jdt-eclipse.jdt-R4_36_GH0.tar.gz) = 39974 +SHA256 (eclipse/eclipse-jdt-eclipse.jdt.core-R4_36_GH0.tar.gz) = c2e292fd897bf6987c2f5828b3efd6a61634837f7c973842bf6fb8c11acee28f +SIZE (eclipse/eclipse-jdt-eclipse.jdt.core-R4_36_GH0.tar.gz) = 15673901 +SHA256 (eclipse/eclipse-jdt-eclipse.jdt.core.binaries-R4_36_GH0.tar.gz) = c191bc12667e600f63844dea12b01f821094773e8bf02e5eb0ec981aaf97c2bc +SIZE (eclipse/eclipse-jdt-eclipse.jdt.core.binaries-R4_36_GH0.tar.gz) = 34885784 +SHA256 (eclipse/eclipse-jdt-eclipse.jdt.debug-R4_36_GH0.tar.gz) = 705d965e1941593f58eb03bf4287f220a285ff7d6f9edc2d0d7e033f4e314946 +SIZE (eclipse/eclipse-jdt-eclipse.jdt.debug-R4_36_GH0.tar.gz) = 2377734 +SHA256 (eclipse/eclipse-jdt-eclipse.jdt.ui-R4_36_GH0.tar.gz) = 034ab6325f5d4c30129d89dcb89d1ee3a7a2554a4ad6d5af5a4e7d17d8cc7a7c +SIZE (eclipse/eclipse-jdt-eclipse.jdt.ui-R4_36_GH0.tar.gz) = 25031173 +SHA256 (eclipse/chirontt-eclipse.pde-R4_36_maintenance_GH0.tar.gz) = f0bd123252afe25b730d1cd56a5e2e134914b2199846cb9f10402a5e0a373fef +SIZE (eclipse/chirontt-eclipse.pde-R4_36_maintenance_GH0.tar.gz) = 36060538 +SHA256 (eclipse/chirontt-eclipse.platform-R4_36_maintenance_GH0.tar.gz) = 582f5eb27de0316b228fc3fa0d962a18ed2c2cd320644a575e95139f63de9a35 +SIZE (eclipse/chirontt-eclipse.platform-R4_36_maintenance_GH0.tar.gz) = 16630323 +SHA256 (eclipse/chirontt-eclipse.platform.swt-R4_36_maintenance_GH0.tar.gz) = 011eba684af94e73f26dd878c941a59845ab899cdba33f45d2976c2560fd0fb0 +SIZE (eclipse/chirontt-eclipse.platform.swt-R4_36_maintenance_GH0.tar.gz) = 10658980 +SHA256 (eclipse/chirontt-eclipse.platform.ui-R4_36_maintenance_GH0.tar.gz) = c66604fb01f6d5614cb67b201c1f94273e5ea3721fe6e115ba1b24a766bc6477 +SIZE (eclipse/chirontt-eclipse.platform.ui-R4_36_maintenance_GH0.tar.gz) = 16572318 +SHA256 (eclipse/chirontt-equinox-R4_36_maintenance_GH0.tar.gz) = f6f276d6d8d69fa0cc4c9fdd1693d8bb8be98074fc9b8ce86cf2e709ab627118 +SIZE (eclipse/chirontt-equinox-R4_36_maintenance_GH0.tar.gz) = 3634382 +SHA256 (eclipse/chirontt-equinox.binaries-R4_36_maintenance_GH0.tar.gz) = 40d14c0ce3963220c21df37274348dd014973ffd20c4cc1a17ceb2ae9c7990d7 +SIZE (eclipse/chirontt-equinox.binaries-R4_36_maintenance_GH0.tar.gz) = 1620956 +SHA256 (eclipse/chirontt-p2-R4_36_maintenance_GH0.tar.gz) = 74ec993e52abb83641e12e0438bc4a9f0075a2476a17fb1c6bde4f05ff872eac +SIZE (eclipse/chirontt-p2-R4_36_maintenance_GH0.tar.gz) = 54033925 +SHA256 (eclipse/NorbertXYZ-eclipse-maven-4.36_GH0.tar.gz) = 0d26e1f29db214bcf8f842eca5c352f947ca9cd0906ce6d0df9b0b44bc9f9c7d +SIZE (eclipse/NorbertXYZ-eclipse-maven-4.36_GH0.tar.gz) = 531877628 diff --git a/java/icedtea-web/Makefile b/java/icedtea-web/Makefile index 86f93e784652..72213cdd4e27 100644 --- a/java/icedtea-web/Makefile +++ b/java/icedtea-web/Makefile @@ -1,7 +1,7 @@ PORTNAME= icedtea-web PORTVERSION= 1.8.8 DISTVERSIONPREFIX= icedtea-web- -PORTREVISION= 26 +PORTREVISION= 27 CATEGORIES= java www MAINTAINER= java@FreeBSD.org diff --git a/java/mx4j/Makefile b/java/mx4j/Makefile deleted file mode 100644 index 705cc062fbae..000000000000 --- a/java/mx4j/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -PORTNAME= mx4j -PORTVERSION= 3.0.2 -PORTREVISION= 1 -CATEGORIES= java devel -MASTER_SITES= SF/${PORTNAME}/MX4J%20Binary/${PORTVERSION} - -MAINTAINER= ports@FreeBSD.org -COMMENT= Open Source implementation of the Java Management Extensions (JMX) -WWW= https://mx4j.sourceforge.net - -DEPRECATED= Abandoned upstream, no activity since 2010 -EXPIRATION_DATE=2025-06-30 - -USES= java - -NO_BUILD= yes - -JARFILES= mx4j-examples.jar mx4j-impl.jar mx4j-jmx.jar \ - mx4j-remote.jar mx4j-rimpl.jar mx4j-rjmx.jar \ - mx4j-soap.war mx4j-tools.jar mx4j.jar - -PLIST_FILES= ${JARFILES:S,^,%%JAVAJARDIR%%/,} -PORTDOCS= * -PORTEXAMPLES= * - -OPTIONS_DEFINE= DOCS EXAMPLES - -do-install: - (cd ${WRKSRC}/lib && ${INSTALL_DATA} ${JARFILES} ${STAGEDIR}${JAVAJARDIR}) - (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) - (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) - -.include <bsd.port.mk> diff --git a/java/mx4j/distinfo b/java/mx4j/distinfo deleted file mode 100644 index ba556f0e5baa..000000000000 --- a/java/mx4j/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (mx4j-3.0.2.tar.gz) = 282bd68e517aba3d0f5bbf76f90c3c09e446c529e7796467ab7de65398bb1115 -SIZE (mx4j-3.0.2.tar.gz) = 4555894 diff --git a/java/mx4j/pkg-descr b/java/mx4j/pkg-descr deleted file mode 100644 index 786e7ee0509e..000000000000 --- a/java/mx4j/pkg-descr +++ /dev/null @@ -1,10 +0,0 @@ -MX4J is a project to build an Open Source implementation of the -Java(TM) Management Extensions (JMX) and of the JMX Remote API -(JSR 160) specifications, and to build tools relating to JMX. - -JMX is an optional package for J2SE that provides a standard -way to manage applications. It can also be used to wrap legacy -systems and provide a standard interface to the outside world, -enabling the development of web services. JMX allows developers -to write more modular and loosely coupled system components and -reduce the complexity of large, interoperating systems. diff --git a/java/netbeans/Makefile b/java/netbeans/Makefile index 1a1dffbbdc13..0a87858e51b3 100644 --- a/java/netbeans/Makefile +++ b/java/netbeans/Makefile @@ -4,7 +4,7 @@ CATEGORIES= java devel MASTER_SITES= APACHE/netbeans/netbeans/${PORTVERSION}/ DISTNAME= netbeans-${DISTVERSION}-bin -MAINTAINER= kwm@FreeBSD.org +MAINTAINER= ports@FreeBSD.org COMMENT= Modular, standards-based integrated development environment WWW= https://netbeans.apache.org/ diff --git a/java/openjdk11/Makefile b/java/openjdk11/Makefile index 25c3ae414590..a5d9e29dc2aa 100644 --- a/java/openjdk11/Makefile +++ b/java/openjdk11/Makefile @@ -1,6 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk11/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk11/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..4983d68853d1 --- /dev/null +++ b/java/openjdk11/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2025-04-19 23:57:10 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -261,23 +262,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -487,6 +508,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 dirent64* dentp; diff --git a/java/openjdk11/pkg-message b/java/openjdk11/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk11/pkg-message +++ b/java/openjdk11/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk17/Makefile b/java/openjdk17/Makefile index 5f9671287f89..6fe93311d295 100644 --- a/java/openjdk17/Makefile +++ b/java/openjdk17/Makefile @@ -1,6 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} 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 new file mode 100644 index 000000000000..80ae4c90cdf7 --- /dev/null +++ b/java/openjdk17/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c @@ -0,0 +1,20 @@ +--- 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 new file mode 100644 index 000000000000..1131ff26e268 --- /dev/null +++ b/java/openjdk17/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,91 @@ +--- 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 <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #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; diff --git a/java/openjdk17/pkg-message b/java/openjdk17/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk17/pkg-message +++ b/java/openjdk17/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk18/Makefile b/java/openjdk18/Makefile index f2afc74762f9..2ef6fa17ed08 100644 --- a/java/openjdk18/Makefile +++ b/java/openjdk18/Makefile @@ -1,7 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk18/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk18/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..0e4c9e8aa76a --- /dev/null +++ b/java/openjdk18/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2022-07-20 22:54:48 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -178,23 +179,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -404,6 +425,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; diff --git a/java/openjdk18/pkg-message b/java/openjdk18/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk18/pkg-message +++ b/java/openjdk18/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk19/Makefile b/java/openjdk19/Makefile index 76e891045906..73c086d5d5ed 100644 --- a/java/openjdk19/Makefile +++ b/java/openjdk19/Makefile @@ -1,7 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk19/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk19/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..0e4c9e8aa76a --- /dev/null +++ b/java/openjdk19/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2022-07-20 22:54:48 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -178,23 +179,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -404,6 +425,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; diff --git a/java/openjdk19/pkg-message b/java/openjdk19/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk19/pkg-message +++ b/java/openjdk19/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk20/Makefile b/java/openjdk20/Makefile index cc25cb796b82..a4035e25e6bf 100644 --- a/java/openjdk20/Makefile +++ b/java/openjdk20/Makefile @@ -1,6 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk20/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk20/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..421548d0f4a5 --- /dev/null +++ b/java/openjdk20/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -177,23 +178,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -403,6 +424,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; diff --git a/java/openjdk20/pkg-message b/java/openjdk20/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk20/pkg-message +++ b/java/openjdk20/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk21/Makefile b/java/openjdk21/Makefile index c8dccf841f5f..3f4f39194c65 100644 --- a/java/openjdk21/Makefile +++ b/java/openjdk21/Makefile @@ -3,6 +3,7 @@ DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} +PORTREVISION= 1 MAINTAINER= java@FreeBSD.org COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION} diff --git a/java/openjdk21/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c b/java/openjdk21/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c new file mode 100644 index 000000000000..80ae4c90cdf7 --- /dev/null +++ b/java/openjdk21/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c @@ -0,0 +1,20 @@ +--- 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/openjdk21/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk21/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..421548d0f4a5 --- /dev/null +++ b/java/openjdk21/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -177,23 +178,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -403,6 +424,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; diff --git a/java/openjdk21/pkg-message b/java/openjdk21/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk21/pkg-message +++ b/java/openjdk21/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk22/Makefile b/java/openjdk22/Makefile index 1abbc17ca84e..d81cbb146655 100644 --- a/java/openjdk22/Makefile +++ b/java/openjdk22/Makefile @@ -1,6 +1,7 @@ PORTNAME= openjdk DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk22/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk22/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..421548d0f4a5 --- /dev/null +++ b/java/openjdk22/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -177,23 +178,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -403,6 +424,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; diff --git a/java/openjdk22/pkg-message b/java/openjdk22/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk22/pkg-message +++ b/java/openjdk22/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjdk23/Makefile b/java/openjdk23/Makefile index 5706851ce9df..009beccc3d76 100644 --- a/java/openjdk23/Makefile +++ b/java/openjdk23/Makefile @@ -3,7 +3,7 @@ DISTVERSIONPREFIX= jdk- DISTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} CATEGORIES= java devel PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 MAINTAINER= java@FreeBSD.org COMMENT= Java Development Kit ${JDK_MAJOR_VERSION} diff --git a/java/openjdk23/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c b/java/openjdk23/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c new file mode 100644 index 000000000000..80ae4c90cdf7 --- /dev/null +++ b/java/openjdk23/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c @@ -0,0 +1,20 @@ +--- 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/openjdk23/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk23/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..421548d0f4a5 --- /dev/null +++ b/java/openjdk23/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -177,23 +178,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -403,6 +424,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; diff --git a/java/openjdk23/pkg-message b/java/openjdk23/pkg-message index 2ea3d87d89c8..c072654ad070 100644 --- a/java/openjdk23/pkg-message +++ b/java/openjdk23/pkg-message @@ -1,17 +1,14 @@ [ { type: install message: <<EOM -This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and -procfs(5) mounted on /proc. +This OpenJDK implementation may require 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 EOM } diff --git a/java/openjdk24/Makefile b/java/openjdk24/Makefile index a3a1acc22792..454ef1d87149 100644 --- a/java/openjdk24/Makefile +++ b/java/openjdk24/Makefile @@ -35,7 +35,7 @@ CPE_VENDOR= oracle USE_GITHUB= yes GH_ACCOUNT= freebsd GH_PROJECT= openjdk -GH_TAGNAME= jdk-24.0.1-ga-freebsd-1 +GH_TAGNAME= jdk-24.0.2-ga-freebsd-1 NO_CCACHE= yes @@ -60,8 +60,8 @@ NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 24 JDK_MINOR_VERSION= 0 -JDK_PATCH_VERSION= 1 -JDK_BUILD_NUMBER= 9 +JDK_PATCH_VERSION= 2 +JDK_BUILD_NUMBER= 12 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 diff --git a/java/openjdk24/distinfo b/java/openjdk24/distinfo index 2fa838f9fba2..869ee42cffd6 100644 --- a/java/openjdk24/distinfo +++ b/java/openjdk24/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1745490330 -SHA256 (freebsd-openjdk-jdk-24.0.1+9-1-jdk-24.0.1-ga-freebsd-1_GH0.tar.gz) = f9a5a14ba9205bcb6bced5a153d0d726d03c9ffdd459171683a9ade9ac31ea4e -SIZE (freebsd-openjdk-jdk-24.0.1+9-1-jdk-24.0.1-ga-freebsd-1_GH0.tar.gz) = 120804490 +TIMESTAMP = 1752740904 +SHA256 (freebsd-openjdk-jdk-24.0.2+12-1-jdk-24.0.2-ga-freebsd-1_GH0.tar.gz) = 2d8ae839763932bbc5d85f1a129a0ec9c972af59b40eb2b3e7bacb238a67f132 +SIZE (freebsd-openjdk-jdk-24.0.2+12-1-jdk-24.0.2-ga-freebsd-1_GH0.tar.gz) = 120897722 diff --git a/java/openjdk24/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c b/java/openjdk24/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c new file mode 100644 index 000000000000..80ae4c90cdf7 --- /dev/null +++ b/java/openjdk24/files/patch-src_jdk.jdwp.agent_unix_native_libjdwp_exec__md.c @@ -0,0 +1,20 @@ +--- 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/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c new file mode 100644 index 000000000000..421548d0f4a5 --- /dev/null +++ b/java/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c @@ -0,0 +1,89 @@ +--- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC ++++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c +@@ -58,6 +58,7 @@ + #include <unistd.h> + + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -177,23 +178,43 @@ 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -403,6 +424,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; diff --git a/java/openjdk24/pkg-message b/java/openjdk24/pkg-message index 2ea3d87d89c8..a266eda414d0 100644 --- a/java/openjdk24/pkg-message +++ b/java/openjdk24/pkg-message @@ -1,17 +1,14 @@ [ { type: install message: <<EOM -This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and -procfs(5) mounted on /proc. +This OpenJDK implementation may requires 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 EOM } diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile index 7e8727685aa0..4c820c1fbb69 100644 --- a/java/openjdk8/Makefile +++ b/java/openjdk8/Makefile @@ -1,5 +1,6 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER}.${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel MASTER_SITES= LOCAL/jkim:jtreg PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} diff --git a/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c b/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c new file mode 100644 index 000000000000..c542431a3ca3 --- /dev/null +++ b/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c @@ -0,0 +1,90 @@ +--- jdk/src/solaris/native/sun/management/OperatingSystemImpl.c.orig 2025-04-19 16:48:54 UTC ++++ jdk/src/solaris/native/sun/management/OperatingSystemImpl.c +@@ -57,6 +57,7 @@ + #include <stdlib.h> + #include <unistd.h> + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -266,23 +267,45 @@ Java_sun_management_OperatingSystemImpl_getCommittedVi + } + 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; ++ total += kve->kve_end - kve->kve_start; ++ } ++ free(buf); + return total; + #else /* _ALLBSD_SOURCE */ + /* +@@ -486,6 +509,21 @@ Java_sun_management_OperatingSystemImpl_getOpenFileDes + 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 dbuf; diff --git a/java/openjdk8/pkg-message b/java/openjdk8/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk8/pkg-message +++ b/java/openjdk8/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. 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 EOM } diff --git a/java/openjfx14/Makefile b/java/openjfx14/Makefile index f59a0ef4239d..13cbd11ceaa5 100644 --- a/java/openjfx14/Makefile +++ b/java/openjfx14/Makefile @@ -1,6 +1,6 @@ PORTNAME= openjfx DISTVERSION= 14.0.2.1+1 -PORTREVISION= 16 +PORTREVISION= 17 CATEGORIES= java x11-toolkits devel MASTER_SITES= https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.7.1/:core \ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.7.1/:grouping \ @@ -23,8 +23,6 @@ WWW= https://openjdk.java.net/projects/openjfx/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN= Fails to build with libxml2 2.13+, error: no matching constructor for initialization of 'XMLDocumentParserScope' - ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc64 powerpc64le BUILD_DEPENDS= zip:archivers/zip \ diff --git a/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessor.h b/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessor.h new file mode 100644 index 000000000000..cc2e056db3e0 --- /dev/null +++ b/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessor.h @@ -0,0 +1,14 @@ +--- modules/javafx.web/src/main/native/Source/WebCore/xml/XSLTProcessor.h.orig 2020-07-17 10:21:33 UTC ++++ modules/javafx.web/src/main/native/Source/WebCore/xml/XSLTProcessor.h +@@ -62,7 +62,11 @@ class XSLTProcessor : public RefCounted<XSLTProcessor> + + void reset(); + ++#if LIBXML_VERSION >= 21200 ++ static void parseErrorFunc(void* userData, const xmlError*); ++#else + static void parseErrorFunc(void* userData, xmlError*); ++#endif + static void genericErrorFunc(void* userData, const char* msg, ...); + + // Only for libXSLT callbacks diff --git a/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessorLibxslt.cpp b/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessorLibxslt.cpp new file mode 100644 index 000000000000..d74934a317b2 --- /dev/null +++ b/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_xml_XSLTProcessorLibxslt.cpp @@ -0,0 +1,14 @@ +--- modules/javafx.web/src/main/native/Source/WebCore/xml/XSLTProcessorLibxslt.cpp.orig 2020-07-17 10:21:33 UTC ++++ modules/javafx.web/src/main/native/Source/WebCore/xml/XSLTProcessorLibxslt.cpp +@@ -60,7 +60,11 @@ void XSLTProcessor::genericErrorFunc(void*, const char + // It would be nice to do something with this error message. + } + ++#if LIBXML_VERSION >= 21200 ++void XSLTProcessor::parseErrorFunc(void* userData, const xmlError* error) ++#else + void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) ++#endif + { + PageConsoleClient* console = static_cast<PageConsoleClient*>(userData); + if (!console) |