pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lwjgl2: create with jMonkeyEngine/lwjgl2 2.9.5
Module Name: pkgsrc-wip
Committed By: Mahied Maruf <contact%mechite.com@localhost>
Pushed By: mechite
Date: Wed Nov 11 05:45:09 2026 +0000
Changeset: 6057068f07142b9f6b4275348984b8a379819fde
Added Files:
lwjgl2/COMMIT_MSG
lwjgl2/DESCR
lwjgl2/MESSAGE
lwjgl2/Makefile
lwjgl2/PLIST
lwjgl2/distinfo
lwjgl2/patches/patch-build.xml
lwjgl2/patches/patch-platform__build_bsd__ant_build.xml
lwjgl2/patches/patch-src_java_org_lwjgl_LWJGLUtil.java
lwjgl2/patches/patch-src_java_org_lwjgl_util_applet_AppletLoader.java
lwjgl2/patches/patch-src_native_linux_opengl_extgl__glx.c
Log Message:
lwjgl2: create with jMonkeyEngine/lwjgl2 2.9.5
This package has been tested as working.
Co-authored-by: Enzo van der Tuin <enzo.van.der.tuin%siriushq.org@localhost>
Signed-off-by: Mahied Maruf <mahied.maruf%siriushq.org@localhost>
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=6057068f07142b9f6b4275348984b8a379819fde
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
lwjgl2/COMMIT_MSG | 10 +++
lwjgl2/DESCR | 5 ++
lwjgl2/MESSAGE | 13 ++++
lwjgl2/Makefile | 46 +++++++++++++
lwjgl2/PLIST | 10 +++
lwjgl2/distinfo | 10 +++
lwjgl2/patches/patch-build.xml | 79 ++++++++++++++++++++++
.../patch-platform__build_bsd__ant_build.xml | 79 ++++++++++++++++++++++
.../patch-src_java_org_lwjgl_LWJGLUtil.java | 15 ++++
...rc_java_org_lwjgl_util_applet_AppletLoader.java | 15 ++++
.../patch-src_native_linux_opengl_extgl__glx.c | 15 ++++
11 files changed, 297 insertions(+)
diffs:
diff --git a/lwjgl2/COMMIT_MSG b/lwjgl2/COMMIT_MSG
new file mode 100644
index 0000000000..cb44cf60f3
--- /dev/null
+++ b/lwjgl2/COMMIT_MSG
@@ -0,0 +1,10 @@
+games/lwjgl2: create with jMonkeyEngine/lwjgl2 2.9.5
+
+LWJGL 2 (The Lightweight Java Game Library) provides high-performance
+OpenGL, OpenCL and OpenAL libraries for Java. Add a copy with patches
+against the jMonkeyEngine "maintained" repository, a binary-compatible
+release of LWJGL 2 that also lacks NetBSD support. The patches may be
+upstreamed in the future.
+
+Packaged in wip by Mahied Maruf <mahied.maruf%siriushq.org@localhost>
+Packaged in wip by Enzo van der Tuin <enzo.van.der.tuin%siriushq.org@localhost>
diff --git a/lwjgl2/DESCR b/lwjgl2/DESCR
new file mode 100644
index 0000000000..2074d21e1c
--- /dev/null
+++ b/lwjgl2/DESCR
@@ -0,0 +1,5 @@
+The Lightweight Java Game Library (LWJGL) is a solution aimed directly
+at professional and amateur Java programmers alike to enable commercial
+quality games to be written in Java. LWJGL provides developers access
+to high performance crossplatform libraries such as OpenGL, OpenCL and
+OpenAL, allowing for state of the art 3D games and 3D sound.
diff --git a/lwjgl2/MESSAGE b/lwjgl2/MESSAGE
new file mode 100644
index 0000000000..f667dee5a4
--- /dev/null
+++ b/lwjgl2/MESSAGE
@@ -0,0 +1,13 @@
+===========================================================================
+$NetBSD$
+
+/lib contains the native (.so) libraries of LWJGL 2.
+/share/lwjgl2 contains modified versions of the Java libraries.
+
+The modified JARs are responsible for loading the natives and recognizing
+NetBSD correctly, and must be linked against by dependent Java programs,
+replacing generic upstream releases of the LWJGL 2 JARs.
+
+This package hosts the jMonkeyEngine "maintained" fork of LWJGL 2, which is
+binary-compatible with programs expecting 2.9.3 or 2.9.4-nightly.
+===========================================================================
diff --git a/lwjgl2/Makefile b/lwjgl2/Makefile
new file mode 100644
index 0000000000..d10e994075
--- /dev/null
+++ b/lwjgl2/Makefile
@@ -0,0 +1,46 @@
+# $NetBSD$
+
+DISTNAME= lwjgl2-2.9.5
+CATEGORIES= games java graphics
+MASTER_SITES= ${MASTER_SITE_GITHUB:=jMonkeyEngine/}
+GITHUB_PROJECT= lwjgl2
+GITHUB_TAG= v2.9.5
+
+MAINTAINER= netbsd_pkgsrc%siriushq.org@localhost
+HOMEPAGE= https://legacy.lwjgl.org
+COMMENT= Lightweight Java Game Library v2 (LWJGL 2)
+LICENSE= modified-bsd
+
+USE_LANGUAGES= c java
+USE_JAVA= build
+PKG_JVMS_ACCEPTED= openjdk8
+TOOL_DEPENDS+= apache-ant-[0-9]*:../../devel/apache-ant
+INSTALLATION_DIRS= lib share/lwjgl2
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${PREFIX}/bin/ant \
+ generate-all compile compile_native jars
+
+do-install:
+ ${INSTALL_LIB} \
+ ${WRKSRC}/libs/netbsd/*.so \
+ ${DESTDIR}${PREFIX}/lib/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/libs/*.jar \
+ ${DESTDIR}${PREFIX}/share/lwjgl2/
+
+# Additional target to verify the installation works correctly. This
+# can be ran by a user to test their binaries, but is not intended to
+# be an automated test. `make lwjgl-test` opens a window and hangs
+# if the user has run `make install` already.
+lwjgl-test:
+ ${PKG_JAVA_HOME}/bin/java \
+ -cp "${PREFIX}/share/lwjgl2/*" \
+ org.lwjgl.test.WindowCreationTest
+
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXcursor/buildlink3.mk"
+.include "../../mk/java-vm.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/lwjgl2/PLIST b/lwjgl2/PLIST
new file mode 100644
index 0000000000..0fa25e4493
--- /dev/null
+++ b/lwjgl2/PLIST
@@ -0,0 +1,10 @@
+@comment $NetBSD$
+lib/liblwjgl64.so
+share/lwjgl2/lwjgl.jar
+share/lwjgl2/lwjgl_util.jar
+share/lwjgl2/lwjgl_util_applet.jar
+share/lwjgl2/lwjgl_test.jar
+share/lwjgl2/lzma.jar
+share/lwjgl2/jinput.jar
+share/lwjgl2/AppleJavaExtensions.jar
+share/lwjgl2/asm-debug-all.jar
diff --git a/lwjgl2/distinfo b/lwjgl2/distinfo
new file mode 100644
index 0000000000..bf87ea24e7
--- /dev/null
+++ b/lwjgl2/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+BLAKE2s (lwjgl2-2.9.5.tar.gz) = d7dcbb6389779db1bf7acc192013a3c1e0a4e74bff506783522cbd7052055654
+SHA512 (lwjgl2-2.9.5.tar.gz) = 6375139e0ac646c4e2e538deccd47dff58a52da3699a08a9847130fa165c632a1aec876fe83d429e3f64813be5dba315526e71c711af7f44dcf433af3a4d8df2
+Size (lwjgl2-2.9.5.tar.gz) = 15548870 bytes
+SHA1 (patch-build.xml) = 61ab4988930d5046be0bbc479faa3550197181ae
+SHA1 (patch-platform__build_bsd__ant_build.xml) = 7001d49996675a6e425da3036b00202319675aca
+SHA1 (patch-src_java_org_lwjgl_LWJGLUtil.java) = 76fea9c523df0d86e57105b9ca228c22a874bffa
+SHA1 (patch-src_java_org_lwjgl_util_applet_AppletLoader.java) = 213a9b68c8bf319004bf36702556d462fdcf0c9a
+SHA1 (patch-src_native_linux_opengl_extgl__glx.c) = bab5a5caa0a665a7d013dda663c5e338669ac6c8
diff --git a/lwjgl2/patches/patch-build.xml b/lwjgl2/patches/patch-build.xml
new file mode 100644
index 0000000000..1e2a801b3b
--- /dev/null
+++ b/lwjgl2/patches/patch-build.xml
@@ -0,0 +1,79 @@
+$NetBSD$
+
+Create NetBSD platform and use shared BSD Ant rules.
+
+--- build.xml.orig 2026-11-11 02:34:05.480883390 +0000
++++ build.xml
+@@ -33,6 +33,7 @@
+ <mkdir dir="${lwjgl.temp}/native/windows" taskname="initialiazing temp/windows folder" />
+ <mkdir dir="${lwjgl.temp}/native/linux" taskname="initialiazing temp/linux folder" />
+ <mkdir dir="${lwjgl.temp}/native/freebsd" taskname="initialiazing temp/freebsd folder" />
++ <mkdir dir="${lwjgl.temp}/native/netbsd" taskname="initialiazing temp/netbsd folder" />
+ <mkdir dir="${lwjgl.temp}/native/openbsd" taskname="initialiazing temp/openbsd folder" />
+ <mkdir dir="${lwjgl.temp}/native/macosx" taskname="initialiazing temp/macosx folder" />
+ <mkdir dir="${lwjgl.temp}/native/solaris" taskname="initialiazing temp/solaris folder" />
+@@ -255,6 +256,11 @@
+ <patternset refid="lwjgl-openbsd.fileset" />
+ </fileset>
+ </copy>
++ <copy todir="${lwjgl.temp}/native/netbsd" failonerror="false">
++ <fileset dir="${lwjgl.lib}/netbsd">
++ <patternset refid="lwjgl-netbsd.fileset" />
++ </fileset>
++ </copy>
+ <copy todir="${lwjgl.temp}/native/macosx">
+ <fileset dir="${lwjgl.lib}/macosx">
+ <patternset refid="lwjgl-macosx.fileset" />
+@@ -431,6 +437,8 @@
+ lwjgl.native.linux.version = ${lwjgl.native.linux.version}
+ lwjgl.java.freebsd.version = ${lwjgl.java.linux.version}
+ lwjgl.native.freebsd.version = ${lwjgl.native.linux.version}
++ lwjgl.java.netbsd.version = ${lwjgl.java.linux.version}
++ lwjgl.native.netbsd.version = ${lwjgl.native.linux.version}
+ lwjgl.java.openbsd.version = ${lwjgl.java.linux.version}
+ lwjgl.native.openbsd.version = ${lwjgl.native.linux.version}
+ lwjgl.java.macosx.version = ${lwjgl.java.macosx.version}
+@@ -499,6 +507,11 @@
+ </condition>
+ <antcall target="-compile_native_freebsd" />
+
++ <condition property="lwjgl.platform.netbsd">
++ <os name="NetBSD" />
++ </condition>
++ <antcall target="-compile_native_netbsd" />
++
+ <condition property="lwjgl.platform.openbsd">
+ <os name="OpenBSD" />
+ </condition>
+@@ -541,6 +554,14 @@
+ </copy>
+ </target>
+
++ <!-- Compiles LWJGL on NetBSD platforms -->
++ <target name="-compile_native_netbsd" if="lwjgl.platform.netbsd">
++ <ant antfile="platform_build/bsd_ant/build.xml" inheritAll="false"/>
++ <copy todir="${lwjgl.lib}/netbsd">
++ <fileset dir="${lwjgl.bin}/lwjgl" includes="liblwjgl*.so"/>
++ </copy>
++ </target>
++
+ <!-- Compiles LWJGL on OpenBSD platforms -->
+ <target name="-compile_native_openbsd" if="lwjgl.platform.openbsd">
+ <ant antfile="platform_build/bsd_ant/build.xml" inheritAll="false"/>
+@@ -681,16 +702,4 @@
+ <bottom><![CDATA[<i>Copyright © 2002-2009 lwjgl.org. All Rights Reserved.</i>]]></bottom>
+ </javadoc>
+ </target>
+-
+- <!-- get and copy nightly binaries into libs folder -->
+- <target name="copy-nightly-binaries" depends="-initialize" description="Copies latest successful nightly binaries into appropriate libs folder">
+- <delete file="${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" failonerror="false"/>
+- <get src="http://ci.newdawnsoftware.com/job/LWJGL-git-dist/lastBuild/artifact/dist/lwjgl-${lwjgl.version}.zip" dest="${lwjgl.temp}" verbose="true"/>
+- <unzip src="${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" dest="${lwjgl.lib}" overwrite="true">
+- <patternset>
+- <include name="**/native/**/*lwjgl*"/>
+- </patternset>
+- <globmapper from="lwjgl-${lwjgl.version}/native/*" to="*"/>
+- </unzip>
+- </target>
+ </project>
diff --git a/lwjgl2/patches/patch-platform__build_bsd__ant_build.xml b/lwjgl2/patches/patch-platform__build_bsd__ant_build.xml
new file mode 100644
index 0000000000..23914fb2e2
--- /dev/null
+++ b/lwjgl2/patches/patch-platform__build_bsd__ant_build.xml
@@ -0,0 +1,79 @@
+$NetBSD$
+
+Create NetBSD platform, and change /usr/X11R6->/usr/X11R7.
+
+--- platform_build/bsd_ant/build.xml.orig 2023-01-13 08:18:50.000000000 +0000
++++ 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="-L/usr/X11R7/lib -L/usr/local/lib -Wl,-R/usr/X11R7/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread -L${java.home}/lib/i386 -ljawt" />
++ <property name="libs64" value="-L/usr/X11R7/lib -L/usr/local/lib -Wl,-R/usr/X11R7/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">
+@@ -51,6 +51,13 @@
+
+ <condition property="build.32bit.only">
+ <and>
++ <os name="NetBSD"/>
++ <equals arg1="${hwplatform}" arg2="i386"/>
++ </and>
++ </condition>
++
++ <condition property="build.32bit.only">
++ <and>
+ <os name="OpenBSD"/>
+ <equals arg1="${hwplatform}" arg2="i386"/>
+ </and>
+@@ -66,6 +73,13 @@
+
+ <condition property="build.64bit.only">
+ <and>
++ <os name="NetBSD"/>
++ <equals arg1="${hwplatform}" arg2="amd64"/>
++ </and>
++ </condition>
++
++ <condition property="build.64bit.only">
++ <and>
+ <os name="OpenBSD"/>
+ <equals arg1="${hwplatform}" arg2="amd64"/>
+ </and>
+@@ -81,12 +95,15 @@
+ <arg line="${cflags32} ${cflags_pthread}"/>
+ <arg value="-I${java.home}/include"/>
+ <arg value="-I${java.home}/include/freebsd"/>
++ <arg value="-I${java.home}/include/netbsd"/>
+ <arg value="-I${java.home}/include/openbsd"/>
+ <arg value="-I${java.home}/../include"/>
+ <arg value="-I${java.home}/../include/freebsd"/>
++ <arg value="-I${java.home}/../include/netbsd"/>
+ <arg value="-I${java.home}/../include/openbsd"/>
+ <arg value="-I/usr/local/include"/>
+- <arg value="-I/usr/X11R6/include"/>
++ <arg value="-I/usr/X11R7/include"/>
++ <arg value="-I${native}"/>
+ <arg value="-I${native}/common"/>
+ <arg value="-I${native}/common/opengl"/>
+ <arg value="-I${native}/linux"/>
+@@ -116,12 +133,15 @@
+ <arg line="${cflags64} ${cflags_pthread}"/>
+ <arg value="-I${java.home}/include"/>
+ <arg value="-I${java.home}/include/freebsd"/>
++ <arg value="-I${java.home}/include/netbsd"/>
+ <arg value="-I${java.home}/include/openbsd"/>
+ <arg value="-I${java.home}/../include"/>
+ <arg value="-I${java.home}/../include/freebsd"/>
++ <arg value="-I${java.home}/../include/netbsd"/>
+ <arg value="-I${java.home}/../include/openbsd"/>
+ <arg value="-I/usr/local/include"/>
+- <arg value="-I/usr/X11R6/include"/>
++ <arg value="-I/usr/X11R7/include"/>
++ <arg value="-I${native}"/>
+ <arg value="-I${native}/common"/>
+ <arg value="-I${native}/common/opengl"/>
+ <arg value="-I${native}/linux"/>
diff --git a/lwjgl2/patches/patch-src_java_org_lwjgl_LWJGLUtil.java b/lwjgl2/patches/patch-src_java_org_lwjgl_LWJGLUtil.java
new file mode 100644
index 0000000000..ae2062205a
--- /dev/null
+++ b/lwjgl2/patches/patch-src_java_org_lwjgl_LWJGLUtil.java
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Detect `os.name=NetBSD` appropriately.
+
+--- src/java/org/lwjgl/LWJGLUtil.java.orig 2026-11-11 02:52:17.131751206 +0000
++++ src/java/org/lwjgl/LWJGLUtil.java
+@@ -272,7 +272,7 @@ public class LWJGLUtil {
+ final String osName = getPrivilegedProperty("os.name");
+ if ( osName.startsWith("Windows") )
+ PLATFORM = PLATFORM_WINDOWS;
+- else if ( osName.startsWith("Linux") || osName.startsWith("FreeBSD") || osName.startsWith("OpenBSD") || osName.startsWith("SunOS") || osName.startsWith("Unix") )
++ else if ( osName.startsWith("Linux") || osName.startsWith("FreeBSD") || osName.startsWith("NetBSD") || osName.startsWith("OpenBSD") || osName.startsWith("SunOS") || osName.startsWith("Unix") )
+ PLATFORM = PLATFORM_LINUX;
+ else if ( osName.startsWith("Mac OS X") || osName.startsWith("Darwin") )
+ PLATFORM = PLATFORM_MACOSX;
diff --git a/lwjgl2/patches/patch-src_java_org_lwjgl_util_applet_AppletLoader.java b/lwjgl2/patches/patch-src_java_org_lwjgl_util_applet_AppletLoader.java
new file mode 100644
index 0000000000..448c6511aa
--- /dev/null
+++ b/lwjgl2/patches/patch-src_java_org_lwjgl_util_applet_AppletLoader.java
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Detect `os.name=NetBSD` and handle appropriately.
+
+--- src/java/org/lwjgl/util/applet/AppletLoader.java.orig 2026-11-11 02:53:21.978010095 +0000
++++ src/java/org/lwjgl/util/applet/AppletLoader.java
+@@ -778,6 +778,8 @@ public class AppletLoader extends Applet
+ nativeJarList = getParameter("al_solaris");
+ } else if (osName.startsWith("FreeBSD")) {
+ nativeJarList = getParameter("al_freebsd");
++ } else if (osName.startsWith("NetBSD")) {
++ nativeJarList = getParameter("al_netbsd");
+ } else if (osName.startsWith("OpenBSD")) {
+ nativeJarList = getParameter("al_openbsd");
+ } else {
diff --git a/lwjgl2/patches/patch-src_native_linux_opengl_extgl__glx.c b/lwjgl2/patches/patch-src_native_linux_opengl_extgl__glx.c
new file mode 100644
index 0000000000..378039891e
--- /dev/null
+++ b/lwjgl2/patches/patch-src_native_linux_opengl_extgl__glx.c
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Detect `__NetBSD__` macro. `dlopen` OpenGL as "libGL.so".
+
+--- src/native/linux/opengl/extgl_glx.c.orig 2026-11-11 02:54:19.896995865 +0000
++++ src/native/linux/opengl/extgl_glx.c
+@@ -220,7 +220,7 @@ bool extgl_Open(JNIEnv *env) {
+ *
+ * DRI drivers need this flag to work properly
+ */
+-#ifdef __OpenBSD__
++#if defined(__OpenBSD__) || defined(__NetBSD__)
+ lib_gl_handle = dlopen("libGL.so", RTLD_LAZY | RTLD_GLOBAL);
+ #else
+ lib_gl_handle = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
Home |
Main Index |
Thread Index |
Old Index