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 - fstrba@suse.com
+
+- 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 -->
-
- <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"/>
-
-
-
- <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());
}