aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Druzenko <vvd@FreeBSD.org>2024-03-14 17:14:40 +0000
committerVladimir Druzenko <vvd@FreeBSD.org>2024-03-14 17:21:38 +0000
commit680dc7bb031d0f708c2dd38f055ec8d63ee68b8a (patch)
tree51fd43ef3233d42fc0136db5d412c443f26245a1
parentdae9e94dee9b0b5da30557653107b7419e260ca0 (diff)
downloadports-680dc7bb031d0f708c2dd38f055ec8d63ee68b8a.tar.gz
ports-680dc7bb031d0f708c2dd38f055ec8d63ee68b8a.zip
games/lwjgl3: update to 3.3.4.20231218
This port required for games/minecraft-client (Java Minecraft Client) 1.20.x run on FreeBSD without linux compatibility layer. Upstream support FreeBSD on amd64 only, but on linux they support i386, arm* and ppc* too - if somebody can and want to add support for other arches - welcome. PR: 275279 269879 269900 Approved by: arrowd (mentor) Differential Revision: https://reviews.freebsd.org/D44263
-rw-r--r--games/Makefile1
-rw-r--r--games/lwjgl3/Makefile154
-rw-r--r--games/lwjgl3/distinfo36
-rw-r--r--games/lwjgl3/files/patch-build.xml10
-rw-r--r--games/lwjgl3/files/patch-config_build-definitions.xml12
-rw-r--r--games/lwjgl3/files/patch-config_freebsd_build.xml23
-rw-r--r--games/lwjgl3/files/patch-modules_lwjgl_core_src_main_java_org_lwjgl_system_MemoryManage.java12
-rw-r--r--games/lwjgl3/files/patch-modules_lwjgl_jemalloc_src_generated_java_org_lwjgl_system_jemalloc_JEmalloc.java69
-rw-r--r--games/lwjgl3/files/patch-modules_lwjgl_shaderc_src_generated_java_org_lwjgl_util_shaderc_Shaderc.java11
-rw-r--r--games/lwjgl3/files/patch-modules_lwjgl_spvc_src_generated_java_org_lwjgl_util_spvc_Spvc.java11
-rw-r--r--games/lwjgl3/files/patch-platform_build__bsd_ant__build.xml22
-rw-r--r--games/lwjgl3/files/patch-update-dependencies.xml20
-rw-r--r--games/lwjgl3/pkg-descr13
-rw-r--r--games/lwjgl3/pkg-plist140
14 files changed, 445 insertions, 89 deletions
diff --git a/games/Makefile b/games/Makefile
index e91f3b413c00..dd9d770fffeb 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -602,6 +602,7 @@
SUBDIR += lugaru
SUBDIR += luola
SUBDIR += lwjgl
+ SUBDIR += lwjgl3
SUBDIR += macopix
SUBDIR += madbomber
SUBDIR += maelstrom
diff --git a/games/lwjgl3/Makefile b/games/lwjgl3/Makefile
index 0ca10c803db1..d9d7a0b6a9fe 100644
--- a/games/lwjgl3/Makefile
+++ b/games/lwjgl3/Makefile
@@ -1,79 +1,127 @@
PORTNAME= lwjgl
-DISTVERSION= 2.9.4.20161208
+DISTVERSION= 3.3.4.20231218
CATEGORIES= games java
+MASTER_SITES= https://repo1.maven.org/:source1
+PKGNAMESUFFIX= 3
+DISTFILES= maven2/com/beust/jcommander/1.78/jcommander-1.78.jar:source1 \
+ maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar:source1 \
+ maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:source1 \
+ maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:source1 \
+ maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar:source1 \
+ maven2/org/joml/joml/1.10.5/joml-1.10.5-sources.jar:source1 \
+ maven2/org/joml/joml/1.10.5/joml-1.10.5.jar:source1 \
+ maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37-sources.jar:source1 \
+ maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar:source1 \
+ maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar:source1 \
+ maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:source1 \
+ maven2/org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar:source1 \
+ maven2/org/testng/testng/7.5/testng-7.5-sources.jar:source1 \
+ maven2/org/testng/testng/7.5/testng-7.5.jar:source1 \
+ maven2/org/webjars/jquery/3.5.1/jquery-3.5.1.jar:source1
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
-MAINTAINER= freebsd@skinc.ru
+MAINTAINER= vvd@FreeBSD.org
COMMENT= Lightweight Java Game Library
-WWW= https://legacy.lwjgl.org
+WWW= https://www.lwjgl.org
LICENSE= BSD3CLAUSE
-ONLY_FOR_ARCHS= amd64 i386 powerpc64 powerpc64le
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= Upstream support FreeBSD on amd64 only: https://github.com/LWJGL/lwjgl3/issues/421
-BUILD_DEPENDS= ${JAVAJARDIR}/jutils/jutils.jar:games/jutils \
- ${JAVAJARDIR}/jinput/jinput.jar:games/jinput
-RUN_DEPENDS:= ${BUILD_DEPENDS}
+BUILD_DEPENDS= ${LOCALBASE}/openjdk8/bin/java:java/openjdk8 \
+ kotlinc-jvm:lang/kotlin
+LIB_DEPENDS= libdraco.so:archivers/draco \
+ libopenal.so:audio/openal-soft \
+ libopus.so:audio/opus \
+ libdbus-1.so:devel/dbus \
+ libhwloc.so:devel/hwloc2 \
+ libffi.so:devel/libffi \
+ libbgfx.so:graphics/bgfx \
+ libglfw.so:graphics/glfw \
+ libktx.so:graphics/khronos-texture \
+ libopenxr_loader.so:graphics/openxr \
+ libshaderc_shared.so:graphics/shaderc \
+ libspirv-cross-c-shared.so:graphics/spirv-cross \
+ libassimp.so:multimedia/assimp \
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz
+
+USES= gl gnome
+USE_ANT= yes
+USE_GL= gl
+USE_GNOME= glib20 gtk30
+USE_JAVA= 17+
-USES= dos2unix xorg
USE_GITHUB= yes
GH_ACCOUNT= LWJGL
-GH_TAGNAME= 2df01dd
+GH_PROJECT= ${PORTNAME}${PKGNAMESUFFIX}
+GH_TAGNAME= de8bd86
-DOS2UNIX_REGEX= .*.[^jp][^an][^rg]$
-USE_JAVA= yes
-USE_LDCONFIG= yes
-USE_ANT= yes
-USE_XORG= xcursor xrandr xxf86vm
-MAKE_ENV+= CLASSPATH=${JAVAJARDIR}/jutils/jutils.jar:${JAVAJARDIR}/jinput/jinput.jar:${WRKSRC}/${DISTNAME}/jar/
-ALL_TARGET= jars compile_native
+MAKE_ARGS= -Dbuild.offline=true \
+ -Djavadoc.skip=true \
+ -Duse.libffi.so=true \
+ -Dlibffi.path=${LOCALBASE}/lib \
+ -Dlocal.kotlin=${LOCALBASE}/share/kotlin
+MAKE_ENV+= JAVA8_HOME=${LOCALBASE}/openjdk8
-PLIST_FILES= ${JAVAJARDIR}/${PORTNAME}/${PORTNAME}.jar \
- ${JAVAJARDIR}/${PORTNAME}/${PORTNAME}_test.jar \
- ${JAVAJARDIR}/${PORTNAME}/${PORTNAME}_util.jar \
- ${JAVAJARDIR}/${PORTNAME}/${PORTNAME}_util_applet.jar
-PLIST_DIRS= ${JAVAJARDIR}/${PORTNAME} \
- lib/${PORTNAME}
+LIBSDIR= ${WRKSRC}/bin/libs/native/freebsd/*/org/lwjgl
.include <bsd.port.pre.mk>
-.if ${ARCH} == i386
-PLIST_FILES+= lib/${PORTNAME}/lib${PORTNAME}.so
+.if ${ARCH} == amd64
+_ARCH_DIR= x64
+.elif ${ARCH} == i386
+_ARCH_DIR= x86
+MAKE_ENV+= ANT_OPTS=-Xmx2G
.endif
-.if ${ARCH} == amd64 || ${ARCH:Mpowerpc64*}
-PLIST_FILES+= lib/${PORTNAME}/lib${PORTNAME}64.so
-.endif
-
-.if ${ARCH:Mpowerpc64*}
-MAKE_ARGS+= -Dbuild.64bit.only=1
-.endif
+post-extract:
+ ${MKDIR} ${WRKSRC}/bin/libs/java
+ ${LN} -s ${DISTDIR}/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar \
+ ${WRKSRC}/bin/libs/java/jcommander.jar
+ ${LN} -s ${DISTDIR}/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar \
+ ${WRKSRC}/bin/libs/java/jsr305-sources.jar
+ ${LN} -s ${DISTDIR}/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar \
+ ${WRKSRC}/bin/libs/java/jsr305.jar
+ ${LN} -s ${DISTDIR}/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar \
+ ${WRKSRC}/bin/libs/java/jopt-simple.jar
+ ${LN} -s ${DISTDIR}/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar \
+ ${WRKSRC}/bin/libs/java/commons-math3.jar
+ ${LN} -s ${DISTDIR}/maven2/org/joml/joml/1.10.5/joml-1.10.5-sources.jar \
+ ${WRKSRC}/bin/libs/java/joml-sources.jar
+ ${LN} -s ${DISTDIR}/maven2/org/joml/joml/1.10.5/joml-1.10.5.jar \
+ ${WRKSRC}/bin/libs/java/joml.jar
+ ${LN} -s ${DISTDIR}/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37-sources.jar \
+ ${WRKSRC}/bin/libs/java/jmh-core-sources.jar
+ ${LN} -s ${DISTDIR}/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar \
+ ${WRKSRC}/bin/libs/java/jmh-core.jar
+ ${LN} -s ${DISTDIR}/maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar \
+ ${WRKSRC}/bin/libs/java/jmh-generator-annprocess.jar
+ ${LN} -s ${DISTDIR}/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar \
+ ${WRKSRC}/bin/libs/java/slf4j-api.jar
+ ${LN} -s ${DISTDIR}/maven2/org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar \
+ ${WRKSRC}/bin/libs/java/slf4j-jdk14.jar
+ ${LN} -s ${DISTDIR}/maven2/org/testng/testng/7.5/testng-7.5-sources.jar \
+ ${WRKSRC}/bin/libs/java/testng-sources.jar
+ ${LN} -s ${DISTDIR}/maven2/org/testng/testng/7.5/testng-7.5.jar \
+ ${WRKSRC}/bin/libs/java/testng.jar
+ ${LN} -s ${DISTDIR}/maven2/org/webjars/jquery/3.5.1/jquery-3.5.1.jar \
+ ${WRKSRC}/bin/libs/java/jquery.jar
post-patch:
- @${REINPLACE_CMD} -e 's|PREFIX|${PREFIX}|g' \
- -e '/executable/s/cc/${CC}/g' \
- ${WRKSRC}/platform_build/bsd_ant/build.xml
-.if ${ARCH} == powerpc64
- @${REINPLACE_CMD} -e 's|amd64|ppc64|g' \
- ${WRKSRC}/platform_build/bsd_ant/build.xml
-.elif ${ARCH} == powerpc64le
- @${REINPLACE_CMD} -e 's|amd64|ppc64le|g' \
- ${WRKSRC}/platform_build/bsd_ant/build.xml
-.endif
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/config/freebsd/build.xml \
+ ${WRKSRC}/modules/lwjgl/cuda/src/main/java/org/lwjgl/cuda/CUDA.java
do-install:
+ @cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${ANT} release ${MAKE_ARGS}
@${MKDIR} ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}
-.for _jar in ${PLIST_FILES:M*.jar}
- ${INSTALL_DATA} ${WRKSRC}/libs/${_jar:T} \
- ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}
-.endfor
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
-.if ${ARCH} == i386
- ${INSTALL_DATA} ${WRKSRC}/libs/freebsd/lib${PORTNAME}.so \
- ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
-.endif
-.if ${ARCH} == amd64 || ${ARCH:Mpowerpc64*}
- ${INSTALL_DATA} ${WRKSRC}/libs/freebsd/lib${PORTNAME}64.so \
- ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
-.endif
+.for x in ${WRKSRC}/bin/RELEASE/lwjgl*/*.jar
+ ${INSTALL_DATA} ${WRKSRC}${x} ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}/
+.endfor
+.for x in ${LIBSDIR}/liblwjgl.so ${LIBSDIR}/*/liblwjgl*.so
+ ${INSTALL_LIB} ${WRKSRC}${x} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/
+.endfor
.include <bsd.port.post.mk>
diff --git a/games/lwjgl3/distinfo b/games/lwjgl3/distinfo
index 62990c1abb77..be19673c1770 100644
--- a/games/lwjgl3/distinfo
+++ b/games/lwjgl3/distinfo
@@ -1,3 +1,33 @@
-TIMESTAMP = 1576013211
-SHA256 (LWJGL-lwjgl-2.9.4.20161208-2df01dd_GH0.tar.gz) = a4d03e9244a9e253abcfe7ee75d4413bd3db1fd8c38e67eedbd0c6c313c4e504
-SIZE (LWJGL-lwjgl-2.9.4.20161208-2df01dd_GH0.tar.gz) = 15052370
+TIMESTAMP = 1705410040
+SHA256 (maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar) = 766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7
+SIZE (maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar) = 19936
+SHA256 (maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar) = 1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b
+SIZE (maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar) = 18102
+SHA256 (maven2/org/testng/testng/7.5/testng-7.5.jar) = e549db50dcc421f9501d6af933af15e4fba96617577409d939724cd7e1a25033
+SIZE (maven2/org/testng/testng/7.5/testng-7.5.jar) = 941401
+SHA256 (maven2/org/testng/testng/7.5/testng-7.5-sources.jar) = b87c87ab56212a895cf535a4fedd4a9d4be77427257b11ce6574cb15834357cc
+SIZE (maven2/org/testng/testng/7.5/testng-7.5-sources.jar) = 486428
+SHA256 (maven2/com/beust/jcommander/1.78/jcommander-1.78.jar) = 7891debb84b5f83e9bd57593ebece3399abbe0fd938cf306b3534c57913b9615
+SIZE (maven2/com/beust/jcommander/1.78/jcommander-1.78.jar) = 83782
+SHA256 (maven2/org/webjars/jquery/3.5.1/jquery-3.5.1.jar) = 83168112220ac912a3dba0eebae90a4da5bf1e24b1bafd401e3d4f9f598bb2cb
+SIZE (maven2/org/webjars/jquery/3.5.1/jquery-3.5.1.jar) = 313070
+SHA256 (maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar) = d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0
+SIZE (maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar) = 41125
+SHA256 (maven2/org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar) = 5bf64690af4e59876b8902bb0db3dd39c686a40abfed97d3837eeeec7a2922ac
+SIZE (maven2/org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar) = 8436
+SHA256 (maven2/org/joml/joml/1.10.5/joml-1.10.5.jar) = cac9f22f83a7aa33eebda73c16ff5261e3cb4911b6bafcf4c79ea486099d0c9a
+SIZE (maven2/org/joml/joml/1.10.5/joml-1.10.5.jar) = 712082
+SHA256 (maven2/org/joml/joml/1.10.5/joml-1.10.5-sources.jar) = 08f15fcbc7b2154657c53706f4169142d9aa20cd8cfd1d4d4aa4aa60c949e622
+SIZE (maven2/org/joml/joml/1.10.5/joml-1.10.5-sources.jar) = 691986
+SHA256 (maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar) = dc0eaf2bbf0036a70b60798c785d6e03a9daf06b68b8edb0f1ba9eb3421baeb3
+SIZE (maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar) = 552986
+SHA256 (maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37-sources.jar) = fd4beda07b3b94cd0e32199401bbb2d9ed3371a770c8c320761b9442ff3e8e05
+SIZE (maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37-sources.jar) = 416281
+SHA256 (maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar) = 6a5604b5b804e0daca1145df1077609321687734a8b49387e49f10557c186c77
+SIZE (maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar) = 30881
+SHA256 (maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar) = df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28
+SIZE (maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar) = 78146
+SHA256 (maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar) = 1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308
+SIZE (maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar) = 2213560
+SHA256 (LWJGL-lwjgl3-3.3.4.20231218-de8bd86_GH0.tar.gz) = 77f796784b750b49c699b457f3cab3c19b378f4ea4f0f645dfc5c33e4d1947f2
+SIZE (LWJGL-lwjgl3-3.3.4.20231218-de8bd86_GH0.tar.gz) = 15322197
diff --git a/games/lwjgl3/files/patch-build.xml b/games/lwjgl3/files/patch-build.xml
deleted file mode 100644
index 3ed34b1ff2fd..000000000000
--- a/games/lwjgl3/files/patch-build.xml
+++ /dev/null
@@ -1,10 +0,0 @@
---- build.xml.orig 2014-04-04 16:45:10 UTC
-+++ build.xml
-@@ -7,7 +7,6 @@
- <import file="platform_build/build-applet.xml"/>
- <import file="platform_build/build-webstart.xml"/>
- <import file="platform_build/build-maven.xml"/>
-- <import file="eclipse-update/org.lwjgl.build/build-updatesite.xml"/>
-
- <!-- ================================================================== -->
- <!-- Everything below this line is targets. -->
diff --git a/games/lwjgl3/files/patch-config_build-definitions.xml b/games/lwjgl3/files/patch-config_build-definitions.xml
new file mode 100644
index 000000000000..a8664fe7cb93
--- /dev/null
+++ b/games/lwjgl3/files/patch-config_build-definitions.xml
@@ -0,0 +1,12 @@
+--- config/build-definitions.xml.orig 2023-12-18 14:22:59 UTC
++++ config/build-definitions.xml
+@@ -100,7 +100,8 @@ This script is included in /build.xml and /config/upda
+
+ <property name="lib" location="bin/libs" relative="true"/>
+
+- <property name="kotlinc" location="${lib}/kotlinc" relative="true"/>
++ <property name="kotlinc" location="${lib}/kotlinc" relative="true" unless:set="local.kotlin"/>
++ <property name="kotlinc" location="${local.kotlin}" relative="false" if:set="local.kotlin"/>
+
+ <property name="module.lwjgl" location="modules/lwjgl" relative="true"/>
+
diff --git a/games/lwjgl3/files/patch-config_freebsd_build.xml b/games/lwjgl3/files/patch-config_freebsd_build.xml
new file mode 100644
index 000000000000..e4ef6a9204eb
--- /dev/null
+++ b/games/lwjgl3/files/patch-config_freebsd_build.xml
@@ -0,0 +1,23 @@
+--- config/freebsd/build.xml.orig 2023-12-18 14:22:59 UTC
++++ config/freebsd/build.xml
+@@ -159,16 +159,18 @@
+ <include name="${module.lwjgl}/jawt/src/generated/c/*.c" if:true="${binding.jawt}"/>
+ </fileset>
+ </source>
+- <beforeLink>
++ <beforeLink unless:true="${use.libffi.so}">
+ <parallel threadsPerProcessor="2" failonany="true" unless:set="lib-dependencies-uptodate">
+ <update-dependency module="core" artifact="core/libffi.a"/>
+ </parallel>
+ </beforeLink>
+ <link>
+- <fileset dir="${lib.native}/org/lwjgl">
++ <fileset dir="${lib.native}/org/lwjgl" unless:true="${use.libffi.so}">
+ <include name="libffi.a"/>
+ </fileset>
+ <arg value="-ldl"/>
++ <arg value="-lffi" if:true="${use.libffi.so}"/>
++ <arg value="-L${libffi.path}" if:set="libffi.path"/>
+ </link>
+ </build>
+
diff --git a/games/lwjgl3/files/patch-modules_lwjgl_core_src_main_java_org_lwjgl_system_MemoryManage.java b/games/lwjgl3/files/patch-modules_lwjgl_core_src_main_java_org_lwjgl_system_MemoryManage.java
new file mode 100644
index 000000000000..0e976ea34e68
--- /dev/null
+++ b/games/lwjgl3/files/patch-modules_lwjgl_core_src_main_java_org_lwjgl_system_MemoryManage.java
@@ -0,0 +1,12 @@
+--- modules/lwjgl/core/src/main/java/org/lwjgl/system/MemoryManage.java.orig 2023-12-18 14:22:59 UTC
++++ modules/lwjgl/core/src/main/java/org/lwjgl/system/MemoryManage.java
+@@ -34,6 +34,9 @@ final class MemoryManage {
+ String className;
+ if (allocator == null || "jemalloc".equals(allocator)) {
+ className = "org.lwjgl.system.jemalloc.JEmallocAllocator";
++ if (Platform.get() == Platform.FREEBSD) {
++ Configuration.JEMALLOC_LIBRARY_NAME.set("libc.so.7");
++ }
+ } else if ("rpmalloc".equals(allocator)) {
+ className = "org.lwjgl.system.rpmalloc.RPmallocAllocator";
+ } else {
diff --git a/games/lwjgl3/files/patch-modules_lwjgl_jemalloc_src_generated_java_org_lwjgl_system_jemalloc_JEmalloc.java b/games/lwjgl3/files/patch-modules_lwjgl_jemalloc_src_generated_java_org_lwjgl_system_jemalloc_JEmalloc.java
new file mode 100644
index 000000000000..8de303595b8f
--- /dev/null
+++ b/games/lwjgl3/files/patch-modules_lwjgl_jemalloc_src_generated_java_org_lwjgl_system_jemalloc_JEmalloc.java
@@ -0,0 +1,69 @@
+--- modules/lwjgl/jemalloc/src/generated/java/org/lwjgl/system/jemalloc/JEmalloc.java.orig 2023-12-18 14:22:59 UTC
++++ modules/lwjgl/jemalloc/src/generated/java/org/lwjgl/system/jemalloc/JEmalloc.java
+@@ -40,27 +40,27 @@ public class JEmalloc {
+
+ /** Function address. */
+ public static final long
+- malloc_message = apiGetFunctionAddress(JEMALLOC, "je_malloc_message"),
+- malloc = apiGetFunctionAddress(JEMALLOC, "je_malloc"),
+- calloc = apiGetFunctionAddress(JEMALLOC, "je_calloc"),
+- posix_memalign = apiGetFunctionAddress(JEMALLOC, "je_posix_memalign"),
+- aligned_alloc = apiGetFunctionAddress(JEMALLOC, "je_aligned_alloc"),
+- realloc = apiGetFunctionAddress(JEMALLOC, "je_realloc"),
+- free = apiGetFunctionAddress(JEMALLOC, "je_free"),
+- free_sized = apiGetFunctionAddress(JEMALLOC, "je_free_sized"),
+- free_aligned_sized = apiGetFunctionAddress(JEMALLOC, "je_free_aligned_sized"),
+- mallocx = apiGetFunctionAddress(JEMALLOC, "je_mallocx"),
+- rallocx = apiGetFunctionAddress(JEMALLOC, "je_rallocx"),
+- xallocx = apiGetFunctionAddress(JEMALLOC, "je_xallocx"),
+- sallocx = apiGetFunctionAddress(JEMALLOC, "je_sallocx"),
+- dallocx = apiGetFunctionAddress(JEMALLOC, "je_dallocx"),
+- sdallocx = apiGetFunctionAddress(JEMALLOC, "je_sdallocx"),
+- nallocx = apiGetFunctionAddress(JEMALLOC, "je_nallocx"),
+- mallctl = apiGetFunctionAddress(JEMALLOC, "je_mallctl"),
+- mallctlnametomib = apiGetFunctionAddress(JEMALLOC, "je_mallctlnametomib"),
+- mallctlbymib = apiGetFunctionAddress(JEMALLOC, "je_mallctlbymib"),
+- malloc_stats_print = apiGetFunctionAddress(JEMALLOC, "je_malloc_stats_print"),
+- malloc_usable_size = apiGetFunctionAddress(JEMALLOC, "je_malloc_usable_size");
++ malloc_message = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "malloc_message"),
++ malloc = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "malloc"),
++ calloc = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "calloc"),
++ posix_memalign = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "posix_memalign"),
++ aligned_alloc = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "aligned_alloc"),
++ realloc = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "realloc"),
++ free = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "free"),
++ free_sized = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "free_sized"),
++ free_aligned_sized = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "free_aligned_sized"),
++ mallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "mallocx"),
++ rallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "rallocx"),
++ xallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "xallocx"),
++ sallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "sallocx"),
++ dallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "dallocx"),
++ sdallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "sdallocx"),
++ nallocx = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "nallocx"),
++ mallctl = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "mallctl"),
++ mallctlnametomib = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "mallctlnametomib"),
++ mallctlbymib = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "mallctlbymib"),
++ malloc_stats_print = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "malloc_stats_print"),
++ malloc_usable_size = apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "malloc_usable_size");
+
+ }
+
+@@ -105,11 +105,16 @@ public class JEmalloc {
+ /** Use as arena index in "stats.arenas.&lt;i&gt;.*" mallctl interfaces to select destroyed arenas. */
+ public static final int MALLCTL_ARENAS_DESTROYED = 0x1001;
+
++ private static String functionNamePrefix = "je_";
++
+ static {
++ if (Platform.get() == Platform.FREEBSD) {
++ functionNamePrefix = "";
++ }
+ // Force jemalloc to initialize before anyone else uses it.
+ // This avoids a dangerous race when the first jemalloc functions are called concurrently.
+ if (Platform.get() == Platform.WINDOWS) {
+- invokePV(invokePP(8L, apiGetFunctionAddress(JEMALLOC, "je_malloc")), apiGetFunctionAddress(JEMALLOC, "je_free"));
++ invokePV(invokePP(8L, apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "malloc")), apiGetFunctionAddress(JEMALLOC, functionNamePrefix + "free"));
+ }
+ }
+
diff --git a/games/lwjgl3/files/patch-modules_lwjgl_shaderc_src_generated_java_org_lwjgl_util_shaderc_Shaderc.java b/games/lwjgl3/files/patch-modules_lwjgl_shaderc_src_generated_java_org_lwjgl_util_shaderc_Shaderc.java
new file mode 100644
index 000000000000..262e86b4b7b8
--- /dev/null
+++ b/games/lwjgl3/files/patch-modules_lwjgl_shaderc_src_generated_java_org_lwjgl_util_shaderc_Shaderc.java
@@ -0,0 +1,11 @@
+--- modules/lwjgl/shaderc/src/generated/java/org/lwjgl/util/shaderc/Shaderc.java.orig 2023-12-18 14:22:59 UTC
++++ modules/lwjgl/shaderc/src/generated/java/org/lwjgl/util/shaderc/Shaderc.java
+@@ -20,7 +20,7 @@ import static org.lwjgl.system.MemoryUtil.*;
+ /** Native bindings to the libshaderc C API of the <a href="https://github.com/google/shaderc/">shaderc</a> library. */
+ public class Shaderc {
+
+- private static final SharedLibrary SHADERC = Library.loadNative(Shaderc.class, "org.lwjgl.shaderc", Configuration.SHADERC_LIBRARY_NAME.get(Platform.mapLibraryNameBundled("shaderc")), true);
++ private static final SharedLibrary SHADERC = Library.loadNative(Shaderc.class, "org.lwjgl.shaderc", Configuration.SHADERC_LIBRARY_NAME.get(Platform.mapLibraryNameBundled(Platform.get() == Platform.FREEBSD ? "shaderc_shared" : "shaderc")), true);
+
+ /** Contains the function pointers loaded from the shaderc {@link SharedLibrary}. */
+ public static final class Functions {
diff --git a/games/lwjgl3/files/patch-modules_lwjgl_spvc_src_generated_java_org_lwjgl_util_spvc_Spvc.java b/games/lwjgl3/files/patch-modules_lwjgl_spvc_src_generated_java_org_lwjgl_util_spvc_Spvc.java
new file mode 100644
index 000000000000..361420cf9ca1
--- /dev/null
+++ b/games/lwjgl3/files/patch-modules_lwjgl_spvc_src_generated_java_org_lwjgl_util_spvc_Spvc.java
@@ -0,0 +1,11 @@
+--- modules/lwjgl/spvc/src/generated/java/org/lwjgl/util/spvc/Spvc.java.orig 2023-12-18 14:22:59 UTC
++++ modules/lwjgl/spvc/src/generated/java/org/lwjgl/util/spvc/Spvc.java
+@@ -40,7 +40,7 @@ import static org.lwjgl.system.MemoryUtil.*;
+ */
+ public class Spvc {
+
+- private static final SharedLibrary SPVC = Library.loadNative(Spvc.class, "org.lwjgl.spvc", Configuration.SPVC_LIBRARY_NAME.get(Platform.mapLibraryNameBundled("spirv-cross")), true);
++ private static final SharedLibrary SPVC = Library.loadNative(Spvc.class, "org.lwjgl.spvc", Configuration.SPVC_LIBRARY_NAME.get(Platform.mapLibraryNameBundled(Platform.get() == Platform.FREEBSD ? "spirv-cross-c-shared" : "spirv-cross")), true);
+
+ /** Contains the function pointers loaded from the spvc {@link SharedLibrary}. */
+ public static final class Functions {
diff --git a/games/lwjgl3/files/patch-platform_build__bsd_ant__build.xml b/games/lwjgl3/files/patch-platform_build__bsd_ant__build.xml
deleted file mode 100644
index f700a84daf83..000000000000
--- a/games/lwjgl3/files/patch-platform_build__bsd_ant__build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
---- platform_build/bsd_ant/build.xml.orig 2019-12-10 20:24:26
-+++ platform_build/bsd_ant/build.xml
-@@ -4,8 +4,8 @@
- <property name="native" location="../../src/native"/>
- <property name="libname32" value="liblwjgl.so"/>
- <property name="libname64" value="liblwjgl64.so"/>
-- <property name="libs32" value="-L/usr/X11R6/lib -L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread -L${java.home}/lib/i386 -ljawt" />
-- <property name="libs64" value="-L/usr/X11R6/lib -L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -pthread -L${java.home}/lib/amd64 -ljawt" />
-+ <property name="libs32" value="-LPREFIX/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread -L${java.home}/lib/i386 -ljawt" />
-+ <property name="libs64" value="-LPREFIX/lib -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -pthread -L${java.home}/lib/amd64 -ljawt" />
- <property name="cflags32" value="-O2 -Wall -c -fPIC -std=c99 -Wunused"/>
-
- <target name="clean">
-@@ -39,7 +39,7 @@
- <os name="SunOS" />
- </condition>
-
-- <property name="linker_flags32" value="${version_script_flags32} -shared -O2 -Wall -o ${libname32} ${libs32} ${xf86vm_lib}"/>
-+ <property name="linker_flags32" value="${version_script_flags32} -shared -O2 -Wall -z notext -o ${libname32} ${libs32} ${xf86vm_lib}"/>
- <property name="linker_flags64" value="${version_script_flags64} -shared -O2 -Wall -o ${libname64} ${libs64} ${xf86vm_lib}"/>
-
- <condition property="build.32bit.only">
diff --git a/games/lwjgl3/files/patch-update-dependencies.xml b/games/lwjgl3/files/patch-update-dependencies.xml
new file mode 100644
index 000000000000..4c3943508b63
--- /dev/null
+++ b/games/lwjgl3/files/patch-update-dependencies.xml
@@ -0,0 +1,20 @@
+--- update-dependencies.xml.orig 2023-12-18 14:22:59 UTC
++++ update-dependencies.xml
+@@ -27,7 +27,7 @@
+ <target name="check-dependencies" description="Updates LWJGL dependencies, if required" unless="${build.offline}">
+ <!-- Checks if the Kotlin compiler must be updated -->
+ <local name="kotlinc-build-current"/>
+- <loadfile property="kotlinc-build-current" srcfile="${kotlinc}/build.txt" quiet="true" taskname="kotlinc"/>
++ <loadfile property="kotlinc-build-current" srcfile="${kotlinc}/build.txt" quiet="true" taskname="kotlinc" unless:set="local.kotlin"/>
+ <condition property="kotlinc-uptodate">
+ <and>
+ <isset property="kotlinc-build-current"/>
+@@ -54,7 +54,7 @@
+ <mkdir dir="${lib}"/>
+ <mkdir dir="${lib}/java"/>
+ <antcall target="-lib-download"/>
+- <antcall target="-kotlinc-download"/>
++ <antcall target="-kotlinc-download" unless:set="local.kotlin"/>
+ </target>
+
+ <!-- Downloads and extracts the Kotlin compiler. -->
diff --git a/games/lwjgl3/pkg-descr b/games/lwjgl3/pkg-descr
index 26f7d6ba117f..b821aa2e5eb0 100644
--- a/games/lwjgl3/pkg-descr
+++ b/games/lwjgl3/pkg-descr
@@ -1 +1,12 @@
-The Lightweight Java Game Library
+The Lightweight Java Game Library (LWJGL) is a Java library that enables
+cross-platform access to popular native APIs useful in the development
+of graphics (OpenGL, Vulkan), audio (OpenAL) and parallel computing
+(OpenCL) applications. This access is direct and high-performance, yet
+also wrapped in a type-safe and user-friendly layer, appropriate for the
+Java ecosystem.
+LWJGL is an enabling technology and provides low-level access. It is not
+a framework and does not provide higher-level utilities than what the
+native libraries expose. As such, novice programmers are encouraged to
+try one of the frameworks or game engines that make use of LWJGL, before
+working directly with the library.
+LWJGL is open source software and freely available at no charge.
diff --git a/games/lwjgl3/pkg-plist b/games/lwjgl3/pkg-plist
new file mode 100644
index 000000000000..845786e4b16f
--- /dev/null
+++ b/games/lwjgl3/pkg-plist
@@ -0,0 +1,140 @@
+lib/lwjgl/liblwjgl.so
+lib/lwjgl/liblwjgl_libdivide.so
+lib/lwjgl/liblwjgl_llvm.so
+lib/lwjgl/liblwjgl_lmdb.so
+lib/lwjgl/liblwjgl_lz4.so
+lib/lwjgl/liblwjgl_meow.so
+lib/lwjgl/liblwjgl_meshoptimizer.so
+lib/lwjgl/liblwjgl_nanovg.so
+lib/lwjgl/liblwjgl_nfd.so
+lib/lwjgl/liblwjgl_nfd_portal.so
+lib/lwjgl/liblwjgl_nuklear.so
+lib/lwjgl/liblwjgl_opengl.so
+lib/lwjgl/liblwjgl_opengles.so
+lib/lwjgl/liblwjgl_openvr.so
+lib/lwjgl/liblwjgl_par.so
+lib/lwjgl/liblwjgl_remotery.so
+lib/lwjgl/liblwjgl_rpmalloc.so
+lib/lwjgl/liblwjgl_sse.so
+lib/lwjgl/liblwjgl_stb.so
+lib/lwjgl/liblwjgl_tinyexr.so
+lib/lwjgl/liblwjgl_tinyfd.so
+lib/lwjgl/liblwjgl_tootle.so
+lib/lwjgl/liblwjgl_vma.so
+lib/lwjgl/liblwjgl_xxhash.so
+lib/lwjgl/liblwjgl_yoga.so
+lib/lwjgl/liblwjgl_zstd.so
+%%JAVAJARDIR%%/lwjgl/lwjgl.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-assimp-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-assimp.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-bgfx-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-bgfx.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-cuda-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-cuda.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-egl-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-egl.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-fmod-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-fmod.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-freetype-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-freetype.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-glfw-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-glfw.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-harfbuzz-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-harfbuzz.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-hwloc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-hwloc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jawt-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jawt.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jemalloc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jemalloc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-ktx-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-ktx.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-libdivide-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-libdivide-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-libdivide.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-llvm-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-llvm-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-llvm.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lmdb-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lmdb-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lmdb.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lz4-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lz4-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-lz4.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meow-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meow-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meow.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meshoptimizer-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meshoptimizer-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-meshoptimizer.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nanovg-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nanovg-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nanovg.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nfd-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nfd-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nfd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nuklear-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nuklear-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-nuklear.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-odbc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-odbc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openal-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openal.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opencl-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opencl.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengl-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengl-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengl.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengles-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengles-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opengles.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openvr-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openvr.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openxr-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openxr.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opus-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opus.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-par-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-par-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-par.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-remotery-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-remotery-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-remotery.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-rpmalloc-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-rpmalloc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-rpmalloc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-shaderc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-shaderc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-spvc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-spvc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-sse-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-sse-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-sse.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-stb-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-stb-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-stb.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyexr-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyexr-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyexr.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyfd-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyfd-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tinyfd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tootle-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tootle-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-tootle.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-vma-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-vma-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-vma.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-vulkan-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-vulkan.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-xxhash-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-xxhash-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-xxhash.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-yoga-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-yoga-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-yoga.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-zstd-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-zstd-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-zstd.jar