Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153352740
D44263.id135739.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
27 KB
Referenced Files
None
Subscribers
None
D44263.id135739.diff
View Options
diff --git a/games/lwjgl3/Makefile b/games/lwjgl3/Makefile
new file mode 100644
--- /dev/null
+++ b/games/lwjgl3/Makefile
@@ -0,0 +1,126 @@
+PORTNAME= lwjgl
+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= vvd@FreeBSD.org
+COMMENT= Lightweight Java Game Library
+WWW= https://www.lwjgl.org
+
+LICENSE= BSD3CLAUSE
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= Upstream support FreeBSD on amd64 only: https://github.com/LWJGL/lwjgl3/issues/421
+
+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+
+
+USE_GITHUB= yes
+GH_ACCOUNT= LWJGL
+GH_PROJECT= ${PORTNAME}${PKGNAMESUFFIX}
+GH_TAGNAME= de8bd86
+
+MAKE_ARGS= -Dbuild.offline=yes \
+ -Djavadoc.skip=true \
+ -Dlibffi.path=${LOCALBASE}/lib \
+ -Dlocal.kotlin=${LOCALBASE}/share/kotlin
+MAKE_ENV+= JAVA8_HOME=${LOCALBASE}/openjdk8
+
+LIBSDIR= ${WRKSRC}/bin/libs/native/freebsd/*/org/lwjgl
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == amd64
+_ARCH_DIR= x64
+.elif ${ARCH} == i386
+_ARCH_DIR= x86
+MAKE_ENV+= ANT_OPTS=-Xmx2G
+.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|/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}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+.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
new file mode 100644
--- /dev/null
+++ b/games/lwjgl3/distinfo
@@ -0,0 +1,33 @@
+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-config_build-definitions.xml b/games/lwjgl3/files/patch-config_build-definitions.xml
new file mode 100644
--- /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
--- /dev/null
+++ b/games/lwjgl3/files/patch-config_freebsd_build.xml
@@ -0,0 +1,21 @@
+--- config/freebsd/build.xml.orig 2023-12-18 14:22:59 UTC
++++ config/freebsd/build.xml
+@@ -159,16 +159,10 @@
+ <include name="${module.lwjgl}/jawt/src/generated/c/*.c" if:true="${binding.jawt}"/>
+ </fileset>
+ </source>
+- <beforeLink>
+- <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">
+- <include name="libffi.a"/>
+- </fileset>
+ <arg value="-ldl"/>
++ <arg value="-lffi"/>
++ <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
--- /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
--- /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.<i>.*" 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
--- /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
--- /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-update-dependencies.xml b/games/lwjgl3/files/patch-update-dependencies.xml
new file mode 100644
--- /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
new file mode 100644
--- /dev/null
+++ b/games/lwjgl3/pkg-descr
@@ -0,0 +1,12 @@
+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
--- /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
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Apr 21, 4:03 PM (23 m, 51 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31919568
Default Alt Text
D44263.id135739.diff (27 KB)
Attached To
Mode
D44263: games/lwjgl3: new port - required for games/minecraft-client 1.20.x
Attached
Detach File
Event Timeline
Log In to Comment