Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F132906087
D44263.id135498.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
26 KB
Referenced Files
None
Subscribers
None
D44263.id135498.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,180 @@
+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
+
+EXTRACT_DEPENDS= ${LOCALBASE}/lib/libdraco.so:archivers/draco \
+ ${LOCALBASE}/lib/libopenal.so:audio/openal-soft \
+ ${LOCALBASE}/lib/libopus.so:audio/opus \
+ ${LOCALBASE}/lib/libhwloc.so:devel/hwloc2 \
+ ${LOCALBASE}/lib/libffi.a:devel/libffi \
+ ${LOCALBASE}/lib/libbgfx.so:graphics/bgfx \
+ ${LOCALBASE}/lib/libglfw.so:graphics/glfw \
+ ${LOCALBASE}/lib/libktx.so:graphics/khronos-texture \
+ ${LOCALBASE}/lib/libopenxr_loader.so:graphics/openxr \
+ ${LOCALBASE}/lib/libshaderc_shared.so:graphics/shaderc \
+ ${LOCALBASE}/lib/libspirv-cross-c-shared.so:graphics/spirv-cross \
+ ${LOCALBASE}/lib/libassimp.so:multimedia/assimp \
+ ${LOCALBASE}/lib/libfreetype.so:print/freetype2 \
+ ${LOCALBASE}/lib/libharfbuzz.so:print/harfbuzz
+BUILD_DEPENDS= ${LOCALBASE}/openjdk8/bin/java:java/openjdk8 \
+ kotlinc-jvm:lang/kotlin
+LIB_DEPENDS= libdbus-1.so:devel/dbus
+
+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 -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
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl
+ ${LN} -s ${LOCALBASE}/lib/libffi.a \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/libffi.a
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/assimp
+ ${LN} -s ${LOCALBASE}/lib/libassimp.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/assimp/libassimp.so
+ ${LN} -s ${LOCALBASE}/lib/libdraco.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/assimp/libdraco.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/bgfx
+ ${LN} -s ${LOCALBASE}/lib/libbgfx.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/bgfx/libbgfx.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/freetype
+ ${LN} -s ${LOCALBASE}/lib/libfreetype.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/freetype/libfreetype.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/glfw
+ ${LN} -s ${LOCALBASE}/lib/libglfw.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/glfw/libglfw.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/harfbuzz
+ ${LN} -s ${LOCALBASE}/lib/libharfbuzz.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/harfbuzz/libharfbuzz.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/hwloc
+ ${LN} -s ${LOCALBASE}/lib/libhwloc.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/hwloc/libhwloc.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/jemalloc
+ ${CP} /lib/libc.so.* \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/jemalloc/libjemalloc.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/ktx
+ ${LN} -s ${LOCALBASE}/lib/libktx.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/ktx/libktx.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/openal
+ ${LN} -s ${LOCALBASE}/lib/libopenal.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/openal/libopenal.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/openxr
+ ${LN} -s ${LOCALBASE}/lib/libopenxr_loader.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/openxr/libopenxr_loader.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/opus
+ ${LN} -s ${LOCALBASE}/lib/libopus.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/opus/libopus.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/shaderc
+ ${LN} -s ${LOCALBASE}/lib/libshaderc_shared.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/shaderc/libshaderc.so
+
+ ${MKDIR} ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/spvc
+ ${LN} -s ${LOCALBASE}/lib/libspirv-cross-c-shared.so \
+ ${WRKSRC}/bin/libs/native/freebsd/${_ARCH_DIR}/org/lwjgl/spvc/libspirv-cross.so
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/config/build-definitions.xml
+
+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-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,67 @@
+--- 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, "malloc_message"),
++ malloc = apiGetFunctionAddress(JEMALLOC, "malloc"),
++ calloc = apiGetFunctionAddress(JEMALLOC, "calloc"),
++ posix_memalign = apiGetFunctionAddress(JEMALLOC, "posix_memalign"),
++ aligned_alloc = apiGetFunctionAddress(JEMALLOC, "aligned_alloc"),
++ realloc = apiGetFunctionAddress(JEMALLOC, "realloc"),
++ free = apiGetFunctionAddress(JEMALLOC, "free"),
++ free_sized = apiGetFunctionAddress(JEMALLOC, "free_sized"),
++ free_aligned_sized = apiGetFunctionAddress(JEMALLOC, "free_aligned_sized"),
++ mallocx = apiGetFunctionAddress(JEMALLOC, "mallocx"),
++ rallocx = apiGetFunctionAddress(JEMALLOC, "rallocx"),
++ xallocx = apiGetFunctionAddress(JEMALLOC, "xallocx"),
++ sallocx = apiGetFunctionAddress(JEMALLOC, "sallocx"),
++ dallocx = apiGetFunctionAddress(JEMALLOC, "dallocx"),
++ sdallocx = apiGetFunctionAddress(JEMALLOC, "sdallocx"),
++ nallocx = apiGetFunctionAddress(JEMALLOC, "nallocx"),
++ mallctl = apiGetFunctionAddress(JEMALLOC, "mallctl"),
++ mallctlnametomib = apiGetFunctionAddress(JEMALLOC, "mallctlnametomib"),
++ mallctlbymib = apiGetFunctionAddress(JEMALLOC, "mallctlbymib"),
++ malloc_stats_print = apiGetFunctionAddress(JEMALLOC, "malloc_stats_print"),
++ malloc_usable_size = apiGetFunctionAddress(JEMALLOC, "malloc_usable_size");
+
+ }
+
+@@ -109,7 +109,7 @@ public class JEmalloc {
+ // 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, "malloc")), apiGetFunctionAddress(JEMALLOC, "free"));
+ }
+ }
+
+@@ -1008,4 +1008,4 @@ public class JEmalloc {
+ return (a + 1) << 20;
+ }
+
+-}
+\ No newline at end of file
++}
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,154 @@
+@comment lib/lwjgl/libjemalloc.so
+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-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-assimp-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-assimp.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-bgfx-natives-freebsd.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-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-freetype-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-freetype.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-glfw-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-glfw-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-glfw.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-harfbuzz-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-harfbuzz-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-harfbuzz.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-hwloc-natives-freebsd.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-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jemalloc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-jemalloc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-ktx-natives-freebsd.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-natives-freebsd.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-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openxr-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-openxr.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-opus-natives-freebsd.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-natives-freebsd.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-shaderc-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-shaderc.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-sources.jar
+%%JAVAJARDIR%%/lwjgl/lwjgl-spvc-natives-freebsd.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
Wed, Oct 22, 1:39 AM (3 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24036164
Default Alt Text
D44263.id135498.diff (26 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