The following commit has been merged in the master branch:
commit 166fb6f980cd398769c389ef707761bffa80ba42
Author: Niels Thykier <ni...@thykier.net>
Date:   Thu Jan 26 16:38:14 2012 +0100

    Patch out undefined symbol EVIOCGUSAGE
    
    Signed-off-by: Niels Thykier <ni...@thykier.net>

diff --git a/debian/changelog b/debian/changelog
index 6343569..01465b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+jinput (20100502+dfsg-6) unstable; urgency=low
+
+  * Team upload.
+  * Applied patch from Geoffrey Thomas to remove use of an undefined
+    macro (or C-function).  (Closes: #633501)
+
+ -- Niels Thykier <ni...@thykier.net>  Thu, 26 Jan 2012 16:37:00 +0100
+
 jinput (20100502+dfsg-5) unstable; urgency=low
 
   * Add jutils to manifest classpath (Closes: #626002).
diff --git a/debian/patches/04jinput-remove-getDeviceUsageBits.patch 
b/debian/patches/04jinput-remove-getDeviceUsageBits.patch
new file mode 100644
index 0000000..819bf2c
--- /dev/null
+++ b/debian/patches/04jinput-remove-getDeviceUsageBits.patch
@@ -0,0 +1,74 @@
+Index: trunk/plugins/linux/src/java/net/java/games/input/LinuxEventDevice.java
+===================================================================
+--- trunk/plugins/linux/src/java/net/java/games/input/LinuxEventDevice.java    
(revision 247)
++++ trunk/plugins/linux/src/java/net/java/games/input/LinuxEventDevice.java    
(working copy)
+@@ -94,28 +94,6 @@
+       }
+ 
+       private final Controller.Type guessType() throws IOException {
+-              Controller.Type type_from_usages = guessTypeFromUsages();
+-              if (type_from_usages == Controller.Type.UNKNOWN)
+-                      return guessTypeFromComponents();
+-              else
+-                      return type_from_usages;
+-      }
+-      
+-      private final Controller.Type guessTypeFromUsages() throws IOException {
+-              byte[] usage_bits = getDeviceUsageBits();
+-              if (isBitSet(usage_bits, NativeDefinitions.USAGE_MOUSE))
+-                      return Controller.Type.MOUSE;
+-              else if (isBitSet(usage_bits, NativeDefinitions.USAGE_KEYBOARD))
+-                      return Controller.Type.KEYBOARD;
+-              else if (isBitSet(usage_bits, NativeDefinitions.USAGE_GAMEPAD))
+-                      return Controller.Type.GAMEPAD;
+-              else if (isBitSet(usage_bits, NativeDefinitions.USAGE_JOYSTICK))
+-                      return Controller.Type.STICK;
+-              else
+-                      return Controller.Type.UNKNOWN;
+-      }
+-
+-      private final Controller.Type guessTypeFromComponents() throws 
IOException {
+               List components = getComponents();
+               if (components.size() == 0)
+                       return Controller.Type.UNKNOWN;
+@@ -342,15 +320,6 @@
+       }
+       private final static native void nGetBits(long fd, int ev_type, byte[] 
evtype_bits) throws IOException;
+ 
+-      private final byte[] getDeviceUsageBits() throws IOException {
+-              byte[] bits = new byte[NativeDefinitions.USAGE_MAX/8 + 1];
+-              if (getVersion() >= 0x010001) {
+-                      nGetDeviceUsageBits(fd, bits);
+-              }
+-              return bits;
+-      }
+-      private final static native void nGetDeviceUsageBits(long fd, byte[] 
type_bits) throws IOException;
+-
+       public final synchronized void pollKeyStates() throws IOException {
+               nGetKeyStates(fd, key_states);
+       }
+Index: trunk/plugins/linux/src/native/net_java_games_input_LinuxEventDevice.c
+===================================================================
+--- trunk/plugins/linux/src/native/net_java_games_input_LinuxEventDevice.c     
(revision 247)
++++ trunk/plugins/linux/src/native/net_java_games_input_LinuxEventDevice.c     
(working copy)
+@@ -112,20 +112,6 @@
+       return num_effects;
+ }
+ 
+-JNIEXPORT void JNICALL 
Java_net_java_games_input_LinuxEventDevice_nGetDeviceUsageBits(JNIEnv *env, 
jclass unused, jlong fd_address, jbyteArray usages_array) {
+-#if EV_VERSION >= 0x010001
+-      int fd = (int)fd_address;
+-      jsize len = (*env)->GetArrayLength(env, usages_array);
+-      jbyte *usages = (*env)->GetByteArrayElements(env, usages_array, NULL);
+-      if (usages == NULL)
+-              return;
+-      int res = ioctl(fd, EVIOCGUSAGE(len), usages);
+-      (*env)->ReleaseByteArrayElements(env, usages_array, usages, 0);
+-      if (res == -1)
+-              throwIOException(env, "Failed to get device usages (%d)\n", 
errno);
+-#endif
+-}
+-
+ JNIEXPORT void JNICALL 
Java_net_java_games_input_LinuxEventDevice_nGetBits(JNIEnv *env, jclass unused, 
jlong fd_address, jint evtype, jbyteArray bits_array) {
+       int fd = (int)fd_address;
+       jsize len = (*env)->GetArrayLength(env, bits_array);
diff --git a/debian/patches/series b/debian/patches/series
index 4874ed0..b2ce8c6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 01build.xml.jni
 02build.xml.nonfree
 03javadoc
+04jinput-remove-getDeviceUsageBits.patch

-- 
jinput - Java Game Controller API

_______________________________________________
pkg-java-commits mailing list
pkg-java-comm...@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to