Skip to content

Commits on Source 10

lwjgl (2.9.3+dfsg-4) unstable; urgency=medium
* Team upload.
* Fixed the build failures with Java 9/10/11 (Closes: #893302)
* Simplified the OS X and ASM patches
* Filter the upstream tarball with the Files-Excluded field in d/copyright
* Standards-Version updated to 4.2.1
* Use salsa.debian.org Vcs-* URLs
-- Emmanuel Bourg <ebourg@apache.org> Wed, 10 Oct 2018 00:44:57 +0200
lwjgl (2.9.3+dfsg-3) unstable; urgency=medium
* Team upload.
......
bin/
dist/
doc/
libs/
res/
src/native/generated/
src/generated/
temp/
......@@ -4,31 +4,30 @@ Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders:
Michael Gilbert <mgilbert@debian.org>,
tony mancill <tmancill@debian.org>,
tony mancill <tmancill@debian.org>
Build-Depends:
debhelper (>= 11),
javahelper,
ant,
ant-optional,
openjdk-8-jdk,
debhelper (>= 11),
default-jdk,
default-jdk-doc,
javahelper,
libjinput-java,
libxrandr-dev,
libxxf86vm-dev,
libxcursor-dev,
libxrandr-dev,
libxt-dev,
Build-Depends-Indep:
default-jdk-doc
Standards-Version: 4.1.5
Vcs-Git: https://anonscm.debian.org/git/pkg-java/lwjgl.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/lwjgl.git
libxxf86vm-dev
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/java-team/lwjgl.git
Vcs-Browser: https://salsa.debian.org/java-team/lwjgl
Homepage: https://www.lwjgl.org
Package: liblwjgl-java
Architecture: all
Depends:
${misc:Depends},
libjinput-java,
liblwjgl-java-jni (>= ${source:Version})
liblwjgl-java-jni (>= ${source:Version}),
${misc:Depends}
Description: Lightweight Java Game Library
The Lightweight Java Game Library (LWJGL) is a solution aimed directly at
professional and amateur Java programmers alike to enable commercial quality
......@@ -40,9 +39,7 @@ Description: Lightweight Java Game Library
Package: liblwjgl-java-jni
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Lightweight Java Game Library (jni)
The Lightweight Java Game Library (LWJGL) is a solution aimed directly at
professional and amateur Java programmers alike to enable commercial quality
......@@ -57,8 +54,7 @@ Description: Lightweight Java Game Library (jni)
Package: liblwjgl-java-doc
Architecture: all
Section: doc
Depends:
${misc:Depends}
Depends: ${misc:Depends}
Suggests: liblwjgl-java
Recommends: default-jdk-doc
Description: Lightweight Java Game Library (javadoc)
......
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0
Upstream-Name: lwjgl - Lightweight Java Game Library
Upstream-Contact: LWJGL developers <info@lwjgl.org>
Files-Excluded: *.class
*.jar
src/generated/*
src/native/generated/*
Files: *
Copyright: 2002-2015, Lightweight Java Game Library Project
......@@ -154,5 +158,3 @@ License: Expat
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
From: Markus Koschany <apo@debian.org>
Date: Sat, 9 Apr 2016 19:07:56 +0200
Subject: allarchs
Try to support all Debian architectures.
Description: Try to support all Debian architectures
Author: Markus Koschany <apo@debian.org>
Forwarded: no
---
platform_build/linux_ant/build.xml | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/platform_build/linux_ant/build.xml b/platform_build/linux_ant/build.xml
index e5ce8d1..72eb346 100644
--- a/platform_build/linux_ant/build.xml
+++ b/platform_build/linux_ant/build.xml
@@ -6,12 +6,14 @@
......
Description: Workaround for a regression in the annotation processor with Java 9+
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893302
--- a/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
+++ b/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
@@ -300,8 +300,8 @@
}
// TODO: Back-port LWJGL 3's generation file handling (generate in-memory and avoid touching files if nothing has changed)
- java_writer = new PrintWriter(env.getFiler().createSourceFile(Utils.getQualifiedClassName(e), env.getElementUtils().getPackageOf(e)).openWriter());
- generateJavaSource(e, java_writer);
+ outputJava.getParentFile().mkdirs();
+ generateJavaSource(e, new PrintWriter(new java.io.FileWriter(outputJava)));
if ( methods.size() > 0 ) {
boolean noNative = true;
From: Markus Koschany <apo@debian.org>
Date: Sat, 9 Apr 2016 19:29:18 +0200
Subject: build failure
This file doesn't exist and causes a FTBFS.
Description: build-updatesite.xml doesn't exist and causes a build failure
Author: Markus Koschany <apo@debian.org>
Forwarded: not-needed
---
build.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.xml b/build.xml
index c78b2dc..8d5aa03 100644
--- a/build.xml
+++ b/build.xml
@@ -7,7 +7,7 @@
......
Description: Disables the pack200 task
Author: Markus Koschany <apo@debian.org>
Forwarded: not-needed
--- a/platform_build/build-applet.xml
+++ b/platform_build/build-applet.xml
@@ -1,7 +1,7 @@
<project name="applet">
<!-- Create our packer task -->
- <taskdef name="pack200" classname="com.sun.tools.apache.ant.pack200.Pack200Task" classpath="platform_build/Pack200Task.jar"/>
+ <!--<taskdef name="pack200" classname="com.sun.tools.apache.ant.pack200.Pack200Task" classpath="platform_build/Pack200Task.jar"/>-->
<target name="applet">
<antcall target="-applet">
Description: Fixes the compatibility with Java 9 (sun.reflect.FieldAccessor is no longer accessible)
Author: Emmanuel Bourg <ebourg@pache.org>
Forwarded: no
--- a/src/java/org/lwjgl/MemoryUtilSun.java
+++ b/src/java/org/lwjgl/MemoryUtilSun.java
@@ -37,7 +37,6 @@
import java.nio.Buffer;
import sun.misc.Unsafe;
-import sun.reflect.FieldAccessor;
/**
* MemoryUtil.Accessor implementations that depend on sun.misc.
@@ -103,33 +102,4 @@
}
- /** Implementation using reflection on ByteBuffer, FieldAccessor is used directly. */
- private static class AccessorReflectFast implements MemoryUtil.Accessor {
-
- private final FieldAccessor addressAccessor;
-
- AccessorReflectFast() {
- Field address;
- try {
- address = MemoryUtil.getAddressField();
- } catch (NoSuchFieldException e) {
- throw new UnsupportedOperationException(e);
- }
- address.setAccessible(true);
-
- try {
- Method m = Field.class.getDeclaredMethod("acquireFieldAccessor", boolean.class);
- m.setAccessible(true);
- addressAccessor = (FieldAccessor)m.invoke(address, true);
- } catch (Exception e) {
- throw new UnsupportedOperationException(e);
- }
- }
-
- public long getAddress(final Buffer buffer) {
- return addressAccessor.getLong(buffer);
- }
-
- }
-
-}
\ No newline at end of file
+}
Description: Link the javadoc with the system JDK documentation
From: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Date: Sat, 9 Apr 2016 18:50:43 +0200
Subject: javadoc
Forwarded: not-needed
---
build.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/build.xml b/build.xml
index 7f6bb68..736c91a 100644
--- a/build.xml
+++ b/build.xml
@@ -672,6 +672,7 @@
......
Description: Generate the native headers with 'javac -h' instead of javah (removed from Java 10)
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/build.xml
+++ b/build.xml
@@ -297,6 +297,7 @@
<!-- Generates the native headers from source files -->
<target name="headers" description="invokes javah on java classes" depends="compile">
+<!--
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/linux">
<class name="org.lwjgl.LinuxSysImplementation" />
<class name="org.lwjgl.opengl.LinuxEvent" />
@@ -373,6 +374,7 @@
<class name="org.lwjgl.opengles.GLContext"/>
<class name="org.lwjgl.opengles.CallbackUtil"/>
</javah>
+-->
</target>
<target name="touch-version">
@@ -403,21 +405,21 @@
</tokenfilter>
</filterchain>
</loadfile>
- <loadfile srcfile="${lwjgl.src.native}/windows/org_lwjgl_WindowsSysImplementation.h" property="lwjgl.native.windows.version">
+ <loadfile srcfile="${lwjgl.src.native}/org_lwjgl_WindowsSysImplementation.h" property="lwjgl.native.windows.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_WindowsSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
</loadfile>
- <loadfile srcfile="${lwjgl.src.native}/linux/org_lwjgl_LinuxSysImplementation.h" property="lwjgl.native.linux.version">
+ <loadfile srcfile="${lwjgl.src.native}/org_lwjgl_LinuxSysImplementation.h" property="lwjgl.native.linux.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_LinuxSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
</loadfile>
- <loadfile srcfile="${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h" property="lwjgl.native.macosx.version">
+ <loadfile srcfile="${lwjgl.src.native}/org_lwjgl_MacOSXSysImplementation.h" property="lwjgl.native.macosx.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_MacOSXSysImplementation_JNI_VERSION"/>
@@ -464,7 +466,7 @@
<!-- Compiles the Java source code -->
<target name="compile" description="Compiles the java source code" depends="-initialize">
- <javac debug="yes" destdir="${lwjgl.bin}" source="1.5" target="1.5" classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar" taskname="core">
+ <javac debug="yes" destdir="${lwjgl.bin}" source="1.5" target="1.5" classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar" taskname="core" nativeHeaderDir="${lwjgl.src.native}">
<!--<compilerarg value="-Xlint:unchecked"/>-->
<src path="${lwjgl.src}/java/"/>
<src path="${lwjgl.src}/generated/"/>
--- a/src/java/org/lwjgl/LinuxSysImplementation.java
+++ b/src/java/org/lwjgl/LinuxSysImplementation.java
@@ -43,6 +43,7 @@
* $Id$
*/
final class LinuxSysImplementation extends J2SESysImplementation {
+ @java.lang.annotation.Native
private static final int JNI_VERSION = 19;
static {
--- a/platform_build/linux_ant/build.xml
+++ b/platform_build/linux_ant/build.xml
@@ -143,6 +143,7 @@
<arg value="-I${java.home}/../include/solaris"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengl"/>
+ <arg value="-I${native}"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengl"/>
<mapper type="glob" from="*.c" to="*.o"/>
--- a/src/java/org/lwjgl/input/Cursor.java
+++ b/src/java/org/lwjgl/input/Cursor.java
@@ -51,12 +51,15 @@
public class Cursor {
/** 1 bit transparency for native cursor */
+ @java.lang.annotation.Native
public static final int CURSOR_ONE_BIT_TRANSPARENCY = 1;
/** 8 bit alhpa native cursor */
+ @java.lang.annotation.Native
public static final int CURSOR_8_BIT_ALPHA = 2;
/** animation native cursor */
+ @java.lang.annotation.Native
public static final int CURSOR_ANIMATION = 4;
/** First element to display */
--- a/src/native/common/org_lwjgl_BufferUtils.c
+++ b/src/native/common/org_lwjgl_BufferUtils.c
@@ -1,4 +1,3 @@
-#include "org_lwjgl_BufferUtils.h"
#include "common_tools.h"
JNIEXPORT void JNICALL Java_org_lwjgl_BufferUtils_zeroBuffer0(JNIEnv *env, jclass clazz, jobject buffer, jlong offset, jlong size) {
--- a/src/native/common/org_lwjgl_opencl_CallbackUtil.c
+++ b/src/native/common/org_lwjgl_opencl_CallbackUtil.c
@@ -39,7 +39,6 @@
#include <jni.h>
#include "common_tools.h"
#include "extcl.h"
-#include "org_lwjgl_opencl_CallbackUtil.h"
static jmethodID contextCallbackJ;
static jmethodID memObjectDestructorCallbackJ;
--- a/src/java/org/lwjgl/MacOSXSysImplementation.java
+++ b/src/java/org/lwjgl/MacOSXSysImplementation.java
@@ -43,6 +43,7 @@
* $Id$
*/
final class MacOSXSysImplementation extends J2SESysImplementation {
+ @java.lang.annotation.Native
private static final int JNI_VERSION = 25;
static {
This diff is collapsed.
From: Markus Koschany <apo@debian.org>
Date: Sat, 9 Apr 2016 18:59:10 +0200
Subject: nomacosx
We don't support MacOSX.
Description: Disables Mac OS X support
Author: Markus Koschany <apo@debian.org>
Forwarded: not-needed
---
build.xml | 12 ++++++------
platform_build/build-applet.xml | 4 ++--
src/java/org/lwjgl/MacOSXSysImplementation.java | 4 ++--
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/build.xml b/build.xml
index 736c91a..2b5105e 100644
--- a/build.xml
+++ b/build.xml
@@ -331,7 +331,7 @@
<class name="org.lwjgl.opengl.WindowsPeerInfo"/>
</javah>
- <javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/macosx">
+ <!--<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/macosx">
<class name="org.lwjgl.MacOSXSysImplementation" />
<class name="org.lwjgl.opengl.MacOSXCanvasPeerInfo" />
<class name="org.lwjgl.opengl.MacOSXPeerInfo" />
@@ -341,7 +341,7 @@
<class name="org.lwjgl.opengl.MacOSXNativeKeyboard" />
<class name="org.lwjgl.opengl.MacOSXNativeMouse" />
<class name="org.lwjgl.opengl.MacOSXMouseEventQueue" />
- </javah>
+ </javah>-->
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.headers}">
<class name="org.lwjgl.opengl.AWTSurfaceLock" />
@@ -394,13 +394,13 @@
</tokenfilter>
</filterchain>
</loadfile>
- <loadfile srcfile="${lwjgl.src}/java/org/lwjgl/MacOSXSysImplementation.java" property="lwjgl.java.macosx.version">
+ <!--<loadfile srcfile="${lwjgl.src}/java/org/lwjgl/MacOSXSysImplementation.java" property="lwjgl.java.macosx.version">
<filterchain>
<tokenfilter>
<containsstring contains="JNI_VERSION ="/>
</tokenfilter>
</filterchain>
- </loadfile>
+ </loadfile>-->
<loadfile srcfile="${lwjgl.src.native}/windows/org_lwjgl_WindowsSysImplementation.h" property="lwjgl.native.windows.version">
<filterchain>
<tokenfilter>
@@ -415,13 +415,13 @@
</tokenfilter>
</filterchain>
</loadfile>
- <loadfile srcfile="${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h" property="lwjgl.native.macosx.version">
+ <!--<loadfile srcfile="${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h" property="lwjgl.native.macosx.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_MacOSXSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
- </loadfile>
+ </loadfile>-->
<echo>
lwjgl.java.windows.version = ${lwjgl.java.windows.version}
lwjgl.native.windows.version = ${lwjgl.native.windows.version}
diff --git a/platform_build/build-applet.xml b/platform_build/build-applet.xml
index 588347d..5f95b13 100644
--- a/platform_build/build-applet.xml
+++ b/platform_build/build-applet.xml
@@ -1,7 +1,7 @@
<project name="applet">
<!-- Create our packer task -->
- <taskdef name="pack200" classname="com.sun.tools.apache.ant.pack200.Pack200Task" classpath="platform_build/Pack200Task.jar"/>
+ <!--<taskdef name="pack200" classname="com.sun.tools.apache.ant.pack200.Pack200Task" classpath="platform_build/Pack200Task.jar"/>-->
<target name="applet">
<antcall target="-applet">
@@ -144,4 +144,4 @@
<param name="output" value="applet/advance/solaris_natives.jar.lzma"/>
</antcall>
</target>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/java/org/lwjgl/MacOSXSysImplementation.java b/src/java/org/lwjgl/MacOSXSysImplementation.java
index b92cdee..599abe2 100644
--- a/src/java/org/lwjgl/MacOSXSysImplementation.java
+++ b/src/java/org/lwjgl/MacOSXSysImplementation.java
@@ -31,7 +31,7 @@
@@ -31,7 +31,6 @@
*/
package org.lwjgl;
-import com.apple.eio.FileManager;
+//import com.apple.eio.FileManager;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
@@ -57,7 +57,7 @@ final class MacOSXSysImplementation extends J2SESysImplementation {
@@ -57,8 +56,8 @@
public boolean openURL(String url) {
try {
- FileManager.openURL(url);
+ //FileManager.openURL(url);
return true;
- return true;
+ LWJGLUtil.log("LWJGL build for Debian doesn't support OS X system integration");
+ return false;
} catch (Exception e) {
LWJGLUtil.log("Exception occurred while trying to invoke browser: " + e);
return false;
From: Markus Koschany <apo@debian.org>
Date: Sat, 9 Apr 2016 19:13:26 +0200
Subject: ppc64el
Support the ppc64el platform. Not absolutely sure if this is still needed
though.
Description: Support the ppc64el platform. Not absolutely sure if this is still needed though.
Author: Markus Koschany <apo@debian.org>
Forwarded: not-needed
---
platform_build/linux_ant/build.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/platform_build/linux_ant/build.xml b/platform_build/linux_ant/build.xml
index 72eb346..2e9a22e 100644
--- a/platform_build/linux_ant/build.xml
+++ b/platform_build/linux_ant/build.xml
@@ -23,6 +23,10 @@
......
javadoc.patch
nomacosx.patch
disable-pack200-task.patch
allarchs.patch
ppc64el.patch
systemjinput.patch
build-failure.patch
no-asm-support.patch
java9-compatibility.patch
annotation-processor-workaround.patch
javah.patch
From: Markus Koschany <apo@debian.org>
Date: Sat, 9 Apr 2016 19:19:25 +0200
Subject: systemjinput
Use Debian's jinput.jar.
Description: Use Debian's jinput.jar
Author: Markus Koschany <apo@debian.org>
Forwarded: not-needed
---
build.xml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build.xml b/build.xml
index 2b5105e..c78b2dc 100644
--- a/build.xml
+++ b/build.xml
@@ -138,6 +138,7 @@
......
#!/usr/bin/make -f
NAME := $(shell dpkg-parsechangelog| sed -n '/^Source/{s/Source: \(.*\)/\1/p}')
VERSION := $(shell dpkg-parsechangelog| sed -n '/^Version/{s/Version: \(.*\)-[0-9]*$$/\1/;s/+dfsg//p}')
TMPDIR := $(NAME)-$(VERSION)
TAR := ../$(NAME)_$(VERSION).orig.tar.gz
TARDFSG := ../$(NAME)_$(VERSION)+dfsg.orig.tar.gz
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-$(DEB_HOST_ARCH)
export PATH:=$(JAVA_HOME)/bin:$(PATH)
# NOTE: jutils is explicitly included here (without a depends in our control
# file) because jinput.jar lacks jutils in its own "Class-Path" (bug #626002)
# 2016-04-09: Although #626002 appears to be fixed jutils.jar is still required
......@@ -21,28 +11,10 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
dh $@ --with javahelper
override_dh_auto_build:
ant jars
ant compile_native
ant javadoc
dh_auto_build -- jars compile_native javadoc
override_dh_auto_install:
jh_installjavadoc -plib$(NAME)-java-doc doc/javadoc
jh_installjavadoc -pliblwjgl-java-doc doc/javadoc
override_dh_auto_clean:
find src/native/ -name '*org_lwjgl_*.h' -delete
rm -rf src/native/generated src/generated doc bin libs dist res temp
jh_clean
get-orig-source:
rm -f $(TAR)
uscan --verbose --download-version $(VERSION) \
--force-download --repack --no-symlink --rename
mkdir $(TMPDIR) && tar -C $(TMPDIR) -zxf $(TAR) && rm $(TAR)
cd $(TMPDIR) && find . -type f -exec fromdos {} \;
echo "The following files will not be included in Debian tarball:"
cd $(TMPDIR) && find . \( -name '*.class' -o -name '*.jar' \
-o -path './src/generated/*' -o -path './src/native/generated/*' \) \
-print -delete
ZIP=--best tar --exclude-vcs --exclude src/generated \
--exclude src/native/generated -zcf $(TARDFSG) $(TMPDIR)
rm -rf $(TMPDIR)
version=4
opts="dversionmangle=s/\+dfsg//" \
opts="repack,compression=xz,dversionmangle=s/\+dfsg//" \
http://sf.net/java-game-lib/lwjgl-source-(\d.*).zip