Page MenuHomeFreeBSD

D44263.id135739.diff
No OneTemporary

D44263.id135739.diff

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.&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
--- /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

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)

Event Timeline