Hello community,

here is the log from the commit of package libjnidispatch for openSUSE:Factory 
checked in at 2018-01-10 23:36:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libjnidispatch (Old)
 and      /work/SRC/openSUSE:Factory/.libjnidispatch.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libjnidispatch"

Wed Jan 10 23:36:37 2018 rev:20 rq:563084 version:4.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libjnidispatch/libjnidispatch.changes    
2018-01-03 13:39:50.497196031 +0100
+++ /work/SRC/openSUSE:Factory/.libjnidispatch.new/libjnidispatch.changes       
2018-01-10 23:36:44.307602240 +0100
@@ -1,0 +2,8 @@
+Tue Jan  9 16:30:43 UTC 2018 - [email protected]
+
+- Added patch:
+  * jna-4.5.0-nojavah.patch
+    + Fix build with jdk10
+       + Generate relevant header files during javac run
+
+-------------------------------------------------------------------

New:
----
  jna-4.5.0-nojavah.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libjnidispatch.spec ++++++
--- /var/tmp/diff_new_pack.C596xu/_old  2018-01-10 23:36:45.919526611 +0100
+++ /var/tmp/diff_new_pack.C596xu/_new  2018-01-10 23:36:45.919526611 +0100
@@ -29,18 +29,18 @@
 Source2:        libjnidispatch-rpmlintrc
 Patch0:         jna-build.patch
 Patch1:         jna-getpeer.patch
+Patch2:         jna-4.5.0-nojavah.patch
 BuildRequires:  ant
 BuildRequires:  ant-junit
 BuildRequires:  dos2unix
 BuildRequires:  fdupes
-BuildRequires:  java-devel >= 1.6
+BuildRequires:  java-devel >= 1.8
 BuildRequires:  javapackages-local
 BuildRequires:  javapackages-tools
 BuildRequires:  junit
 BuildRequires:  libffi-devel
 BuildRequires:  xorg-x11-libX11-devel
 BuildRequires:  xorg-x11-libXt-devel
-BuildConflicts: java-devel >= 10
 Requires:       java >= 1.6
 Provides:       jna-native = %{version}-%{release}
 Obsoletes:      jna-native < %{version}-%{release}
@@ -87,6 +87,7 @@
 # Then apply patch
 %patch0 -p1 -b .orig
 %patch1 -p1
+%patch2 -p1
 
 #FIXME: DirectTest fails
 #rm test/com/sun/jna/DirectTest.java test/com/sun/jna/PerformanceTest.java

++++++ jna-4.5.0-nojavah.patch ++++++
diff -urEbwB jna-4.5.0/build.xml jna-4.5.0.new/build.xml
--- jna-4.5.0/build.xml 2018-01-09 17:11:21.219709300 +0100
+++ jna-4.5.0.new/build.xml     2018-01-09 17:15:20.658167071 +0100
@@ -364,6 +364,7 @@
            source="${compatibility}"
            target="${compatibility}"
            destdir="${classes}"
+           nativeheaderdir="${build.native}"
            includeantruntime="false"
            deprecation="on" 
            debug="${debug}"
@@ -513,91 +514,10 @@
   </target>
 
   <target name="javah" depends="compile" unless="-native">
-    <javah classpath="${classes}" destdir="${build.native}" force="yes">
-      <class name="com.sun.jna.Function"/>
-      <class name="com.sun.jna.Native"/>
-      <class name="com.sun.jna.win32.DLLCallback"/>
-    </javah>
-    <condition property="grep" value="/usr/sfw/bin/ggrep">
-      <os name="SunOS"/>
-    </condition>
-    <condition property="grep" value="ggrep">
-      <os name="OpenBSD"/>
-    </condition>
-    <property name="grep" value="grep"/>
-    <condition property="grep.required" value="false" else="true">
-      <os name="AIX"/>
-    </condition>
-    <!-- args are based on GNU grep, other versions may differ -->
-    <apply dir="${build.native}" executable="${grep}" parallel="true"
-           failonerror="${grep.required}" relative="true" output="${md5.file}">
-      <arg value="-A"/>
-      <arg value="1"/>
-      <arg value="JNIEXPORT"/>
-      <fileset dir="${build.native}" includes="*.h"/>
-    </apply>
-    <!-- Clean up gcj javah output to match that of Sun's javah -->
-    <fixcrlf file="${md5.file}" eol="unix"/>
-    <replaceregexp match="^((.*\.h):JNIEXPORT[^(]+)( +\(.*)"
-                   replace="\1&#xa;\2- \3&#xa;--"
-                  byline="true"
-                   file="${md5.file}"/>
-    <replaceregexp match="(JNIEnv *\*) *env"
-                   replace="\1"
-                  byline="true"
-                   file="${md5.file}"/>
-    <replaceregexp match="&#xa;--&#xa;.*\.h-$"
-                   replace=""
-                  flags="m"
-                   file="${md5.file}"/>
-    <checksum property="md5" file="${md5.file}" />
-    <condition property="jni.valid" value="true">
-      <or>
-        <os name="AIX"/>
-        <equals arg1="${jni.md5}" arg2="${md5}" trim="true"/>
-        <equals arg1="${jni.md5}" arg2=""/>
-      </or>
-    </condition>
   </target>
 
   <!-- Invalidate native libraries when native API changes -->
   <target name="-native-api-check" depends="javah" unless="jni.valid">
-    <echo>Invalidating native code, new checksum is ${md5}</echo>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/darwin.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/win32-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/win32-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/w32ce-arm.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-arm.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-armel.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-aarch64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-ia64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-ppc.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-ppc64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-ppc64le.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-sparcv9.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-mips64el.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/linux-s390x.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/freebsd-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/freebsd-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/openbsd-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/openbsd-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/sunos-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/sunos-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/sunos-sparc.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/sunos-sparcv9.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-arm.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-armv7.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-aarch64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-x86.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-x86-64.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-mips.jar" overwrite="true"/>
-    <copy file="${lib.native}/out-of-date.jar" 
tofile="${lib.native}/android-mips64.jar" overwrite="true"/>
-    <delete failOnError="false" includeEmptyDirs="true">
-      <fileset dir="${build.native}" includes="*.o,*jnidispatch*"/>
-    </delete>
-    <fail>API for native code has changed, or javah output is inconsistent.  
Re-run this build after checking ${md5.file} or updating jni.version and 
jni.md5 in build.xml</fail>
   </target>
 
   <target name=":rsrc">
@@ -779,7 +699,6 @@
 
     <exec executable="${make}" dir="${native}" failonerror="true">
       <arg value="JAVA_HOME=${jdk.home}"/>
-      <arg value="JAVAH=${build.native}"/>
       <arg value="DEBUG=${debug.native}"/>
       <arg value="CFLAGS_EXTRA=${cflags_extra.native}"/>
       <arg value="DYNAMIC_LIBFFI=${dynlink.native}"/>
diff -urEbwB jna-4.5.0/src/com/sun/jna/Function.java 
jna-4.5.0.new/src/com/sun/jna/Function.java
--- jna-4.5.0/src/com/sun/jna/Function.java     2018-01-09 17:11:21.279709300 
+0100
+++ jna-4.5.0.new/src/com/sun/jna/Function.java 2018-01-09 17:25:58.913813214 
+0100
@@ -21,6 +21,7 @@
  */
 package com.sun.jna;
 
+import java.lang.annotation.Native;
 import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.Map;
@@ -60,18 +61,18 @@
     }
 
     /** Maximum number of arguments supported by a JNA function call. */
-    public static final int MAX_NARGS = 256;
+    @Native public static final int MAX_NARGS = 256;
 
     /** Standard C calling convention. */
-    public static final int C_CONVENTION = 0;
+    @Native public static final int C_CONVENTION = 0;
     /** First alternate convention (currently used only for w32 stdcall). */
-    public static final int ALT_CONVENTION = 0x3F;
+    @Native public static final int ALT_CONVENTION = 0x3F;
 
-    private static final int MASK_CC = 0x3F;
+    @Native private static final int MASK_CC = 0x3F;
     /** Whether to throw an exception if last error is non-zero after call. */
-    public static final int THROW_LAST_ERROR = 0x40;
+    @Native public static final int THROW_LAST_ERROR = 0x40;
     /** Mask for number of fixed args (1-3) for varargs calls. */
-    public static final int USE_VARARGS = 0x180;
+    @Native public static final int USE_VARARGS = 0x180;
 
     static final Integer INTEGER_TRUE = Integer.valueOf(-1);
     static final Integer INTEGER_FALSE = Integer.valueOf(0);
@@ -236,7 +237,7 @@
         this.functionName = functionName;
         this.callFlags = callFlags;
         this.options = library.options;
-        this.encoding = encoding != null ? encoding : 
Native.getDefaultStringEncoding();
+        this.encoding = encoding != null ? encoding : 
com.sun.jna.Native.getDefaultStringEncoding();
         try {
             this.peer = library.getSymbolAddress(functionName);
         } catch(UnsatisfiedLinkError e) {
@@ -272,7 +273,7 @@
         this.peer = functionAddress.peer;
         this.options = Collections.EMPTY_MAP;
         this.encoding = encoding != null
-            ? encoding : Native.getDefaultStringEncoding();
+            ? encoding : com.sun.jna.Native.getDefaultStringEncoding();
     }
 
     private void checkCallingConvention(int convention)
@@ -405,24 +406,24 @@
         Object result = null;
        int callFlags = this.callFlags | ((fixedArgs & 0x3) << 7);
         if (returnType == null || returnType==void.class || 
returnType==Void.class) {
-            Native.invokeVoid(this, this.peer, callFlags, args);
+            com.sun.jna.Native.invokeVoid(this, this.peer, callFlags, args);
             result = null;
         } else if (returnType==boolean.class || returnType==Boolean.class) {
-            result = valueOf(Native.invokeInt(this, this.peer, callFlags, 
args) != 0);
+            result = valueOf(com.sun.jna.Native.invokeInt(this, this.peer, 
callFlags, args) != 0);
         } else if (returnType==byte.class || returnType==Byte.class) {
-            result = Byte.valueOf((byte)Native.invokeInt(this, this.peer, 
callFlags, args));
+            result = Byte.valueOf((byte)com.sun.jna.Native.invokeInt(this, 
this.peer, callFlags, args));
         } else if (returnType==short.class || returnType==Short.class) {
-            result = Short.valueOf((short)Native.invokeInt(this, this.peer, 
callFlags, args));
+            result = Short.valueOf((short)com.sun.jna.Native.invokeInt(this, 
this.peer, callFlags, args));
         } else if (returnType==char.class || returnType==Character.class) {
-            result = Character.valueOf((char)Native.invokeInt(this, this.peer, 
callFlags, args));
+            result = 
Character.valueOf((char)com.sun.jna.Native.invokeInt(this, this.peer, 
callFlags, args));
         } else if (returnType==int.class || returnType==Integer.class) {
-            result = Integer.valueOf(Native.invokeInt(this, this.peer, 
callFlags, args));
+            result = Integer.valueOf(com.sun.jna.Native.invokeInt(this, 
this.peer, callFlags, args));
         } else if (returnType==long.class || returnType==Long.class) {
-            result = Long.valueOf(Native.invokeLong(this, this.peer, 
callFlags, args));
+            result = Long.valueOf(com.sun.jna.Native.invokeLong(this, 
this.peer, callFlags, args));
         } else if (returnType==float.class || returnType==Float.class) {
-            result = Float.valueOf(Native.invokeFloat(this, this.peer, 
callFlags, args));
+            result = Float.valueOf(com.sun.jna.Native.invokeFloat(this, 
this.peer, callFlags, args));
         } else if (returnType==double.class || returnType==Double.class) {
-            result = Double.valueOf(Native.invokeDouble(this, this.peer, 
callFlags, args));
+            result = Double.valueOf(com.sun.jna.Native.invokeDouble(this, 
this.peer, callFlags, args));
         } else if (returnType==String.class) {
             result = invokeString(callFlags, args, false);
         } else if (returnType==WString.class) {
@@ -435,7 +436,7 @@
         } else if (Structure.class.isAssignableFrom(returnType)) {
             if (Structure.ByValue.class.isAssignableFrom(returnType)) {
                 Structure s =
-                    Native.invokeStructure(this, this.peer, callFlags, args,
+                    com.sun.jna.Native.invokeStructure(this, this.peer, 
callFlags, args,
                                            Structure.newInstance(returnType));
                 s.autoRead();
                 result = s;
@@ -473,7 +474,7 @@
                 result = p.getPointerArray(0);
             }
         } else if (allowObjects) {
-            result = Native.invokeObject(this, this.peer, callFlags, args);
+            result = com.sun.jna.Native.invokeObject(this, this.peer, 
callFlags, args);
             if (result != null
                 && !returnType.isAssignableFrom(result.getClass())) {
                 throw new ClassCastException("Return type " + returnType
@@ -487,7 +488,7 @@
     }
 
     private Pointer invokePointer(int callFlags, Object[] args) {
-        long ptr = Native.invokePointer(this, this.peer, callFlags, args);
+        long ptr = com.sun.jna.Native.invokePointer(this, this.peer, 
callFlags, args);
         return ptr == 0 ? null : new Pointer(ptr);
     }
 
@@ -615,7 +616,7 @@
                                                + argClass.getComponentType());
         } else if (allowObjects) {
             return arg;
-        } else if (!Native.isSupportedNativeType(arg.getClass())) {
+        } else if (!com.sun.jna.Native.isSupportedNativeType(arg.getClass())) {
             throw new IllegalArgumentException("Unsupported argument type "
                                                + arg.getClass().getName()
                                                + " at parameter " + index
@@ -801,7 +802,7 @@
     private static class NativeMappedArray extends Memory implements 
PostCallRead {
         private final NativeMapped[] original;
         public NativeMappedArray(NativeMapped[] arg) {
-            super(Native.getNativeSize(arg.getClass(), arg));
+            super(com.sun.jna.Native.getNativeSize(arg.getClass(), arg));
             this.original = arg;
             setValue(0, original, original.getClass());
         }

Reply via email to