This commit is contained in:
commit
668e9be8a7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
3
5.4.0.tar.gz
Normal file
3
5.4.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d03d88b9050b3f186f2415e0efc0921d59568cc784a2a63881ca0909763467d9
|
||||
size 93324146
|
238
jna-build.patch
Normal file
238
jna-build.patch
Normal file
@ -0,0 +1,238 @@
|
||||
--- jna-5.4.0/build.xml 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/build.xml 2019-10-10 19:10:07.252492214 +0200
|
||||
@@ -357,7 +357,7 @@
|
||||
<target name="-setup" depends="-dynamic-properties">
|
||||
<path id="compile-test.path">
|
||||
<path id="test.libs">
|
||||
- <fileset dir="lib">
|
||||
+ <fileset dir="/usr/share/java">
|
||||
<include name="junit.jar"/>
|
||||
<include name="hamcrest-core-1.3.jar"/>
|
||||
</fileset>
|
||||
@@ -403,7 +403,7 @@
|
||||
</srcfiles>
|
||||
</uptodate>
|
||||
</target>
|
||||
- <target name="jar" depends="-setup,native,:jar" unless="-jar"
|
||||
+ <target name="jar" depends="-setup,compile,:jar" unless="-jar"
|
||||
description="Build primary jar">
|
||||
<!-- Bundle native components with primary jar to facilitate
|
||||
easy distribution to common platforms.
|
||||
@@ -436,155 +436,10 @@
|
||||
<!-- Note that no terminal "*" is included in this list,
|
||||
which will force failure on unsupported platforms.
|
||||
-->
|
||||
- <attribute name="Bundle-NativeCode"
|
||||
- value="
|
||||
-com/sun/jna/win32-x86/jnidispatch.dll;
|
||||
-processor=x86;osname=win32,
|
||||
-com/sun/jna/win32-x86-64/jnidispatch.dll;
|
||||
-processor=x86-64;osname=win32,
|
||||
-com/sun/jna/win32-x86/jnidispatch.dll;
|
||||
-processor=x86;osname=win,
|
||||
-com/sun/jna/win32-x86-64/jnidispatch.dll;
|
||||
-processor=x86-64;osname=win,
|
||||
-com/sun/jna/w32ce-arm/jnidispatch.dll;
|
||||
-processor=arm;osname=wince,
|
||||
-
|
||||
-com/sun/jna/sunos-x86/libjnidispatch.so;
|
||||
-processor=x86;osname=sunos,
|
||||
-com/sun/jna/sunos-x86-64/libjnidispatch.so;
|
||||
-processor=x86-64;osname=sunos,
|
||||
-com/sun/jna/sunos-sparc/libjnidispatch.so;
|
||||
-processor=sparc;osname=sunos,
|
||||
-com/sun/jna/sunos-sparcv9/libjnidispatch.so;
|
||||
-processor=sparcv9;osname=sunos,
|
||||
-
|
||||
-com/sun/jna/aix-ppc/libjnidispatch.a;
|
||||
-processor=ppc;osname=aix,
|
||||
-com/sun/jna/aix-ppc64/libjnidispatch.a;
|
||||
-processor=ppc64;osname=aix,
|
||||
-
|
||||
-com/sun/jna/linux-ppc/libjnidispatch.so;
|
||||
-processor=ppc;osname=linux,
|
||||
-com/sun/jna/linux-ppc64/libjnidispatch.so;
|
||||
-processor=ppc64;osname=linux,
|
||||
-com/sun/jna/linux-ppc64le/libjnidispatch.so;
|
||||
-processor=ppc64le;osname=linux,
|
||||
-com/sun/jna/linux-x86/libjnidispatch.so;
|
||||
-processor=x86;osname=linux,
|
||||
-com/sun/jna/linux-x86-64/libjnidispatch.so;
|
||||
-processor=x86-64;osname=linux,
|
||||
-com/sun/jna/linux-arm/libjnidispatch.so;
|
||||
-processor=arm;osname=linux,
|
||||
-com/sun/jna/linux-armel/libjnidispatch.so;
|
||||
-processor=armel;osname=linux,
|
||||
-com/sun/jna/linux-aarch64/libjnidispatch.so;
|
||||
-processor=aarch64;osname=linux,
|
||||
-com/sun/jna/linux-ia64/libjnidispatch.so;
|
||||
-processor=ia64;osname=linux,
|
||||
-com/sun/jna/linux-sparcv9/libjnidispatch.so;
|
||||
-processor=sparcv9;osname=linux,
|
||||
-com/sun/jna/linux-mips64el/libjnidispatch.so;
|
||||
-processor=mips64el;osname=linux,
|
||||
-com/sun/jna/linux-s390x/libjnidispatch.so;
|
||||
-processor=S390x;osname=linux,
|
||||
-
|
||||
-com/sun/jna/freebsd-x86/libjnidispatch.so;
|
||||
-processor=x86;osname=freebsd,
|
||||
-com/sun/jna/freebsd-x86-64/libjnidispatch.so;
|
||||
-processor=x86-64;osname=freebsd,
|
||||
-com/sun/jna/openbsd-x86/libjnidispatch.so;
|
||||
-processor=x86;osname=openbsd,
|
||||
-com/sun/jna/openbsd-x86-64/libjnidispatch.so;
|
||||
-processor=x86-64;osname=openbsd,
|
||||
-
|
||||
-com/sun/jna/darwin/libjnidispatch.jnilib;
|
||||
-osname=macosx;processor=x86;processor=x86-64;processor=ppc
|
||||
-"/>
|
||||
</manifest>
|
||||
<fileset dir="${classes}" excludes="${jar.omitted}">
|
||||
<patternset refid="jar-compiled"/>
|
||||
</fileset>
|
||||
- <zipfileset src="${lib.native}/win32-x86.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/win32-x86"/>
|
||||
- <zipfileset src="${lib.native}/aix-ppc.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/aix-ppc"/>
|
||||
- <zipfileset src="${lib.native}/aix-ppc64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/aix-ppc64"/>
|
||||
- <zipfileset src="${lib.native}/darwin.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/darwin"/>
|
||||
- <zipfileset src="${lib.native}/linux-x86.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-x86"/>
|
||||
- <zipfileset src="${lib.native}/linux-x86-64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-x86-64"/>
|
||||
- <zipfileset src="${lib.native}/linux-arm.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-arm"/>
|
||||
- <zipfileset src="${lib.native}/linux-armel.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-armel"/>
|
||||
- <zipfileset src="${lib.native}/linux-aarch64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-aarch64"/>
|
||||
- <zipfileset src="${lib.native}/linux-ia64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-ia64"/>
|
||||
- <zipfileset src="${lib.native}/linux-ppc.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-ppc"/>
|
||||
- <zipfileset src="${lib.native}/linux-ppc64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-ppc64"/>
|
||||
- <zipfileset src="${lib.native}/linux-ppc64le.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-ppc64le"/>
|
||||
- <zipfileset src="${lib.native}/linux-sparcv9.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-sparcv9"/>
|
||||
- <zipfileset src="${lib.native}/linux-mips64el.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-mips64el"/>
|
||||
- <zipfileset src="${lib.native}/linux-s390x.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/linux-s390x"/>
|
||||
- <zipfileset src="${lib.native}/sunos-x86.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/sunos-x86"/>
|
||||
- <zipfileset src="${lib.native}/sunos-x86-64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/sunos-x86-64"/>
|
||||
- <zipfileset src="${lib.native}/sunos-sparc.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/sunos-sparc"/>
|
||||
- <zipfileset src="${lib.native}/sunos-sparcv9.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/sunos-sparcv9"/>
|
||||
- <zipfileset src="${lib.native}/freebsd-x86.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/freebsd-x86"/>
|
||||
- <zipfileset src="${lib.native}/freebsd-x86-64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/freebsd-x86-64"/>
|
||||
- <zipfileset src="${lib.native}/openbsd-x86.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/openbsd-x86"/>
|
||||
- <zipfileset src="${lib.native}/openbsd-x86-64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/openbsd-x86-64"/>
|
||||
- <zipfileset src="${lib.native}/win32-x86-64.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/win32-x86-64"/>
|
||||
- <zipfileset src="${lib.native}/w32ce-arm.jar"
|
||||
- includes="*jnidispatch*"
|
||||
- prefix="com/sun/jna/w32ce-arm"/>
|
||||
- <zipfileset dir="."
|
||||
- includes="LICENSE,LGPL2.1,AL2.0"
|
||||
- prefix="META-INF"/>
|
||||
</jar>
|
||||
<zip zipfile="${build}/${minjar}">
|
||||
<zipfileset src="${build}/${jar}" excludes="**/*jnidispatch*"/>
|
||||
@@ -1057,7 +912,7 @@
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
- <target name="compile-tests" depends="compile,native,jar"
|
||||
+ <target name="compile-tests" depends="compile,jar"
|
||||
description="Compile all test code">
|
||||
<javac classpathref="compile-test.path"
|
||||
source="${test.compatibility}"
|
||||
@@ -1109,8 +964,6 @@
|
||||
<mkdir dir="${build}/jws"/>
|
||||
<copy todir="${build}/jws" file="${build}/${jar}"/>
|
||||
<copy todir="${build}/jws" file="${build}/${testjar}"/>
|
||||
- <copy todir="${build}/jws" file="lib/junit.jar"/>
|
||||
- <copy todir="${build}/jws" file="lib/clover.jar"/>
|
||||
<jar jarfile="${build}/jws/jnidispatch.jar">
|
||||
<fileset dir="${build.native}" includes="*jnidispatch.*"/>
|
||||
</jar>
|
||||
@@ -1311,7 +1164,6 @@
|
||||
<doctitle>JNA API Documentation</doctitle>
|
||||
<header>${header}</header>
|
||||
<bottom>${footer}</bottom>
|
||||
- <link href="http://download.oracle.com/javase/${compatibility}/docs/api/"/>
|
||||
|
||||
<packageset dir="${src}" defaultexcludes="yes">
|
||||
<patternset>
|
||||
@@ -1329,13 +1181,14 @@
|
||||
<group title="Platform Specific" packages="com.sun.jna.platform.*"/>
|
||||
|
||||
<arg value="-notimestamp"/>
|
||||
+ <arg value="--allow-script-in-comments"/>
|
||||
</javadoc>
|
||||
<jar jarfile="${platform-javadoc-jar}">
|
||||
<fileset dir="${javadoc}" />
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
- <target name="dist" depends="jar,aar,javadoc,contrib-jars,compile-tests,native"
|
||||
+ <target name="dist" depends="jar,aar,javadoc,contrib-jars,compile-tests"
|
||||
description="Build distribution files">
|
||||
<copy todir="${dist}" force="true" overwrite="true">
|
||||
<fileset dir="${build}" includes="${jar},${minjar},${aar}"/>
|
||||
Only in jna-5.4.0: build.xml.orig
|
||||
--- jna-5.4.0/native/Makefile 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/native/Makefile 2019-10-10 19:08:35.831965950 +0200
|
||||
@@ -97,7 +97,7 @@
|
||||
PCFLAGS=-W -Wall -Wno-unused -Wno-parentheses
|
||||
CFLAGS=$(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
||||
-DJNA_JNI_VERSION='"$(JNA_JNI_VERSION)"' -DCHECKSUM='"$(CHECKSUM)"'
|
||||
-LDFLAGS=-o $@ -shared
|
||||
+LDFLAGS=$(RPM_LD_FLAGS) -o $@ -shared
|
||||
ifeq ($(DYNAMIC_LIBFFI),true)
|
||||
CFLAGS += $(shell pkg-config --cflags libffi 2>/dev/null || echo)
|
||||
LIBS += $(shell pkg-config --libs libffi 2>/dev/null || echo -lffi)
|
||||
@@ -457,7 +457,6 @@
|
||||
|
||||
$(LIBRARY): $(JNIDISPATCH_OBJS) $(FFI_LIB)
|
||||
$(LD) $(LDFLAGS) $(JNIDISPATCH_OBJS) $(FFI_LIB) $(LIBS)
|
||||
- $(STRIP) $@
|
||||
|
||||
$(TESTLIB): $(BUILD)/testlib.o
|
||||
$(LD) $(LDFLAGS) $< $(LIBS)
|
74
jna-callback.patch
Normal file
74
jna-callback.patch
Normal file
@ -0,0 +1,74 @@
|
||||
--- jna-5.4.0/native/testlib.c 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/native/testlib.c 2019-10-10 18:45:58.780052342 +0200
|
||||
@@ -804,8 +804,8 @@
|
||||
}
|
||||
|
||||
EXPORT callback_t
|
||||
-callCallbackWithCallback(cb_callback_t cb) {
|
||||
- return (*cb)((callback_t)(void*)cb);
|
||||
+callCallbackWithCallback(cb_callback_t cb, callback_t arg) {
|
||||
+ return (*cb)(arg);
|
||||
}
|
||||
|
||||
static int32_t
|
||||
--- jna-5.4.0/test/com/sun/jna/CallbacksTest.java 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/test/com/sun/jna/CallbacksTest.java 2019-10-10 18:43:51.679371223 +0200
|
||||
@@ -194,9 +194,9 @@
|
||||
int callCallbackWithByReferenceArgument(CopyArgToByReference cb, int arg, IntByReference result);
|
||||
TestStructure.ByValue callCallbackWithStructByValue(TestStructure.TestCallback callback, TestStructure.ByValue cbstruct);
|
||||
interface CbCallback extends Callback {
|
||||
- CbCallback callback(CbCallback arg);
|
||||
+ Callback callback(Callback arg);
|
||||
}
|
||||
- CbCallback callCallbackWithCallback(CbCallback cb);
|
||||
+ Callback callCallbackWithCallback(CbCallback cb, Callback arg);
|
||||
|
||||
interface Int32CallbackX extends Callback {
|
||||
public int callback(int arg);
|
||||
@@ -843,7 +843,7 @@
|
||||
return arg;
|
||||
}
|
||||
};
|
||||
- TestLibrary.CbCallback cb2 = lib.callCallbackWithCallback(cb);
|
||||
+ TestLibrary.Callback cb2 = lib.callCallbackWithCallback(cb, cb);
|
||||
assertEquals("Callback reference should be reused", cb, cb2);
|
||||
}
|
||||
|
||||
@@ -859,7 +859,7 @@
|
||||
throw ERROR;
|
||||
}
|
||||
};
|
||||
- TestLibrary.CbCallback cb2 = lib.callCallbackWithCallback(cb);
|
||||
+ TestLibrary.Callback cb2 = lib.callCallbackWithCallback(cb, cb);
|
||||
String output = s.toString();
|
||||
assertTrue("Default handler not called", output.length() > 0);
|
||||
}
|
||||
@@ -890,7 +890,7 @@
|
||||
throw ERROR;
|
||||
}
|
||||
};
|
||||
- TestLibrary.CbCallback cb2 = lib.callCallbackWithCallback(cb);
|
||||
+ TestLibrary.Callback cb2 = lib.callCallbackWithCallback(cb, cb);
|
||||
assertNotNull("Exception handler not called", CALLBACK[0]);
|
||||
assertEquals("Wrong callback argument to handler", cb, CALLBACK[0]);
|
||||
assertEquals("Wrong exception passed to handler",
|
||||
@@ -935,7 +935,7 @@
|
||||
}
|
||||
};
|
||||
TestLibrary.CbCallback cb = new TestProxy();
|
||||
- TestLibrary.CbCallback cb2 = lib.callCallbackWithCallback(cb);
|
||||
+ TestLibrary.CbCallback cb2 = lib.callCallbackWithCallback(cb, cb);
|
||||
assertNotNull("Exception handler not called", CALLBACK[0]);
|
||||
assertEquals("Wrong callback argument to handler", cb, CALLBACK[0]);
|
||||
assertEquals("Wrong exception passed to handler",
|
||||
--- jna-5.4.0/test/com/sun/jna/DirectCallbacksTest.java 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/test/com/sun/jna/DirectCallbacksTest.java 2019-10-10 18:43:51.675371201 +0200
|
||||
@@ -65,7 +65,7 @@
|
||||
@Override
|
||||
public native TestStructure.ByValue callCallbackWithStructByValue(TestStructure.TestCallback callback, TestStructure.ByValue cbstruct);
|
||||
@Override
|
||||
- public native CbCallback callCallbackWithCallback(CbCallback cb);
|
||||
+ public native Callback callCallbackWithCallback(CbCallback cb, Callback arg);
|
||||
@Override
|
||||
public native Int32CallbackX returnCallback();
|
||||
@Override
|
2
jna-rpmlintrc
Normal file
2
jna-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
||||
# Rpm doesn't detect the library dependency on Java packages
|
||||
addFilter("^jna.*: W: explicit-lib-dependency libjnidispatch")
|
91
jna-system-libjnidispatch.patch
Normal file
91
jna-system-libjnidispatch.patch
Normal file
@ -0,0 +1,91 @@
|
||||
--- jna-5.4.0/src/com/sun/jna/Native.java 2019-07-19 21:22:03.000000000 +0200
|
||||
+++ jna-5.4.0/src/com/sun/jna/Native.java 2019-10-10 18:58:56.464572605 +0200
|
||||
@@ -912,84 +912,12 @@
|
||||
* Loads the JNA stub library.
|
||||
* First tries jna.boot.library.path, then the system path, then from the
|
||||
* jar file.
|
||||
+ * MODIFIED FROM UPSTREAM - we rip out all sorts of gunk here that is
|
||||
+ * unnecessary when JNA is properly installed with the OS.
|
||||
*/
|
||||
private static void loadNativeDispatchLibrary() {
|
||||
- if (!Boolean.getBoolean("jna.nounpack")) {
|
||||
- try {
|
||||
- removeTemporaryFiles();
|
||||
- }
|
||||
- catch(IOException e) {
|
||||
- LOG.log(Level.WARNING, "JNA Warning: IOException removing temporary files", e);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- String libName = System.getProperty("jna.boot.library.name", "jnidispatch");
|
||||
- String bootPath = System.getProperty("jna.boot.library.path");
|
||||
- if (bootPath != null) {
|
||||
- // String.split not available in 1.4
|
||||
- StringTokenizer dirs = new StringTokenizer(bootPath, File.pathSeparator);
|
||||
- while (dirs.hasMoreTokens()) {
|
||||
- String dir = dirs.nextToken();
|
||||
- File file = new File(new File(dir), System.mapLibraryName(libName).replace(".dylib", ".jnilib"));
|
||||
- String path = file.getAbsolutePath();
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Looking in {0}", path);
|
||||
- if (file.exists()) {
|
||||
- try {
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying {0}", path);
|
||||
- System.setProperty("jnidispatch.path", path);
|
||||
- System.load(path);
|
||||
- jnidispatchPath = path;
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Found jnidispatch at {0}", path);
|
||||
- return;
|
||||
- } catch (UnsatisfiedLinkError ex) {
|
||||
- // Not a problem if already loaded in anoteher class loader
|
||||
- // Unfortunately we can't distinguish the difference...
|
||||
- //System.out.println("File found at " + file + " but not loadable: " + ex.getMessage());
|
||||
- }
|
||||
- }
|
||||
- if (Platform.isMac()) {
|
||||
- String orig, ext;
|
||||
- if (path.endsWith("dylib")) {
|
||||
- orig = "dylib";
|
||||
- ext = "jnilib";
|
||||
- } else {
|
||||
- orig = "jnilib";
|
||||
- ext = "dylib";
|
||||
- }
|
||||
- path = path.substring(0, path.lastIndexOf(orig)) + ext;
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Looking in {0}", path);
|
||||
- if (new File(path).exists()) {
|
||||
- try {
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying {0}", path);
|
||||
- System.setProperty("jnidispatch.path", path);
|
||||
- System.load(path);
|
||||
- jnidispatchPath = path;
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Found jnidispatch at {0}", path);
|
||||
- return;
|
||||
- } catch (UnsatisfiedLinkError ex) {
|
||||
- LOG.log(Level.WARNING, "File found at " + path + " but not loadable: " + ex.getMessage(), ex);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- String jnaNosys = System.getProperty("jna.nosys", "true");
|
||||
- if ((!Boolean.parseBoolean(jnaNosys)) || Platform.isAndroid()) {
|
||||
- try {
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying (via loadLibrary) {0}", libName);
|
||||
- System.loadLibrary(libName);
|
||||
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Found jnidispatch on system path");
|
||||
- return;
|
||||
- }
|
||||
- catch(UnsatisfiedLinkError e) {
|
||||
- }
|
||||
- }
|
||||
- if (!Boolean.getBoolean("jna.noclasspath")) {
|
||||
- loadNativeDispatchLibraryFromClasspath();
|
||||
- }
|
||||
- else {
|
||||
- throw new UnsatisfiedLinkError("Unable to locate JNA native support library");
|
||||
- }
|
||||
+ jnidispatchPath = "@LIBDIR@/" + System.mapLibraryName("jnidispatch");
|
||||
+ System.load(jnidispatchPath);
|
||||
}
|
||||
|
||||
static final String JNA_TMPLIB_PREFIX = "jna";
|
252
jna.changes
Normal file
252
jna.changes
Normal file
@ -0,0 +1,252 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 10 18:33:20 UTC 2019 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Rename package to jna, since the jna package must be anyway
|
||||
archful
|
||||
- Upgrade to 5.4.0
|
||||
- Split the package into:
|
||||
* jna
|
||||
+ archful package
|
||||
+ provides and obsoletes the libjnidispatch package
|
||||
+ packages the libjnidispatch.so
|
||||
* jna-contrib
|
||||
+ noarch package
|
||||
+ contains the jna-platform examples
|
||||
- Removed patches:
|
||||
* jna-4.5.1-nojavah.patch
|
||||
* jna-getpeer.patch
|
||||
* jna-msgsize.patch
|
||||
+ not needed anymore with this version
|
||||
- Modified patches:
|
||||
* jna-build.patch
|
||||
* jna-callback.patch
|
||||
+ Adapted to changed context
|
||||
- Added patch:
|
||||
* jna-system-libjnidispatch.patch
|
||||
+ Load the libjnidispatch from system
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 13 19:03:23 UTC 2019 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Decide whether to apply the jna-4.5.0-nojavah.patch according
|
||||
to what java-devel version is used for build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 24 14:23:37 UTC 2018 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Install the provided pom*.xml files in order to make maven aware
|
||||
about the jna-platform too
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 26 11:50:51 UTC 2018 - msuchanek@suse.com
|
||||
|
||||
- Fix dealing with different java environments
|
||||
- Fix license warning
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 13 12:01:21 UTC 2018 - msuchanek@suse.com
|
||||
|
||||
- do not apply nojavah on Leap 42.3 - breaks build
|
||||
- quiet warnings
|
||||
+ jna-msgsize.patch
|
||||
+ jna-callback.patch
|
||||
+ delete jna-no-werror.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 12 06:17:20 UTC 2018 - fstrba@suse.com
|
||||
|
||||
- Upstrem version 4.5.1
|
||||
- Modified patch:
|
||||
* jna-4.5.0-nojavah.patch -> jna-4.5.1-nojavah.patch
|
||||
+ Rediff to changed context, rework dependency chain and do not
|
||||
try to load urls in the no-network build environment
|
||||
- Added patch:
|
||||
* jna-no-werror.patch
|
||||
+ Disable -Werror to enable build with two new warnings
|
||||
- Build with compatibility 1.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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 2 17:57:53 UTC 2018 - fstrba@suse.com
|
||||
|
||||
- Force build with jdk < 10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 30 13:12:41 UTC 2017 - ecsos@opensuse.org
|
||||
|
||||
- change version and name from jna-4.1.0.pom to jna-4.5.0.pom
|
||||
- fix require libjnidispatch-version in jna-package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 19 14:53:38 UTC 2017 - fstrba@suse.com
|
||||
|
||||
- Upstream version 4.5.0
|
||||
- Removed patch:
|
||||
* reproducible.patch
|
||||
+ integrated upstream
|
||||
- Added patch:
|
||||
* jna-getpeer.patch
|
||||
+ upstream workaround to the inaccessibility of the getPeer
|
||||
method
|
||||
+ Fix build with jdk9
|
||||
- Modified patch:
|
||||
* jna-build.patch
|
||||
+ rediff to the new context
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 19 12:19:45 UTC 2017 - fstrba@suse.com
|
||||
|
||||
- Build with source and target levels 1.6
|
||||
- Force building with java-devel < 1.9, since the code uses APIs
|
||||
removed in jdk9
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 11:48:29 UTC 2017 - dziolkowski@suse.com
|
||||
|
||||
- New build dependency: javapackages-local
|
||||
- drop conditionals for unsupported SUSE versions
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 24 21:03:28 UTC 2017 - msuchanek@suse.com
|
||||
|
||||
- Upstream version 4.2.2
|
||||
* adds some symbols needed by Arduino IDE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 18 15:07:15 UTC 2016 - bwiedemann@suse.com
|
||||
|
||||
- Add reproducible.patch to fix build-compare
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 8 23:31:55 UTC 2015 - p.drouand@gmail.com
|
||||
|
||||
- Update to version 4.2.1
|
||||
* Add support for linux-sparcv9.
|
||||
* Added `GetCommState`, `GetCommTimeouts` `SetCommState` and `SetCommTimeouts`
|
||||
to `com.sun.jna.platform.win32.Kernel32`. Added `DCB` structure to
|
||||
`com.sun.jna.platform.win32.WinBase.
|
||||
* Make loading debug flags mutable.
|
||||
* Added `host_processor_info` to `com.sun.jna.platform.mac.SystemB`.
|
||||
* Added JNA functional overview.
|
||||
* Update linux-arm natives omitted in 4.2.
|
||||
- Update jna-4.1.0-build.patch > jna-build.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 18 09:46:16 UTC 2015 - tchvatal@suse.com
|
||||
|
||||
- Fix build with new javapackages-tools
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 3 16:20:03 UTC 2014 - cbosdonnat@suse.com
|
||||
|
||||
- Updated to 4.1.0. See the changelog on:
|
||||
https://github.com/twall/jna/blob/master/CHANGES.md
|
||||
|
||||
- Updated jna-3.4.0-build.patch into jna-4.1.0-build.patch
|
||||
|
||||
- Added libjnidispatch.rpmlintrc to silence warning about explicit
|
||||
library dependency between jna and libjnidistach: rpm doesn't
|
||||
detect library dependencies on Java packages, we need to force it.
|
||||
|
||||
- Removed libffi patches: now using the libffi package.
|
||||
* libffi-aarch64.patch
|
||||
* libffi-ppc64le.patch
|
||||
|
||||
- Added rpmlint filters:
|
||||
* libjnidispatch-rpmlintrc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 8 10:50:16 UTC 2014 - tchvatal@suse.com
|
||||
|
||||
- Do not depend on ant-trax and run spec-cleaner.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 9 21:23:45 UTC 2013 - dvaleev@suse.com
|
||||
|
||||
- enable ppc64le
|
||||
|
||||
- added patches:
|
||||
* libffi-ppc64le.patch
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 11 10:21:12 UTC 2013 - mvyskocil@suse.com
|
||||
|
||||
- use add_maven_depmap from javapackages-tools
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 9 11:06:11 UTC 2013 - tchvatal@suse.com
|
||||
|
||||
- Move from jpackage-utils to javapackage-tools
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 11 15:11:35 UTC 2013 - schwab@suse.de
|
||||
|
||||
- libffi-aarch64.patch: import aarch64 support for libffi
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 12 18:15:53 UTC 2012 - dvaleev@suse.com
|
||||
|
||||
- enable ppc and ppc64 builds
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 14 13:10:40 UTC 2012 - mvyskocil@suse.com
|
||||
|
||||
- fix a build for non-suse distros
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 19 09:19:04 UTC 2012 - mvyskocil@suse.cz
|
||||
|
||||
- fix a build with jdk7
|
||||
- rename to libjnidispatch to follow packaging policy (provides jna-native)
|
||||
- jna and jna-javadoc are now noarch subpackages of it
|
||||
- don't strip a binary during a build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 9 13:53:29 UTC 2012 - mvyskocil@suse.cz
|
||||
|
||||
- Update to 3.4.0
|
||||
* moved object creation out into pure Java code reduce JNI crossing
|
||||
* add native peer value accessors for Pointer
|
||||
* avoid loading any system-provided JNA via jna.nosys=true
|
||||
* override default jnidispatch library name with jna.boot.library
|
||||
* throw an error if JNA is not with a library
|
||||
* linux/arm and linux/ppc 32-bit support
|
||||
* preliminary linux/ppc64 support
|
||||
* linux multi-arch support (kohsuke).
|
||||
* add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`.
|
||||
* and a lot of bugfixes (see /usr/share/packages/doc/jna/README.md)
|
||||
- fix bnc#745571 enable build of jna-native as well
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 8 06:44:52 UTC 2010 - mvyskocil@suse.cz
|
||||
|
||||
- update to 3.1.0 (jna-3.1.0-2.jpp6.src.rpm)
|
||||
* raw JNI mapping of static Java methods increased performance
|
||||
* library option to allow passing/return of Java Objects.
|
||||
* handling of uncaught callback exceptions (Issue 63).
|
||||
* object oriented interface to X server (see contrib/x11)
|
||||
* Memory class more accessible.
|
||||
* allow implicit library access to current process on linux (issue 98).
|
||||
* open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux.
|
||||
* allow NIO Buffer as Structure field (with limitations) (Issue 57)
|
||||
* add size_t size.
|
||||
* Bug Fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 1 09:32:27 CEST 2009 - mvyskocil@suse.cz
|
||||
|
||||
- fixed bnc#507734: jna declared LGPL but contains GPL files and binaries
|
||||
* removed all jars from source archive
|
||||
* added gpl to docdir
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 19 12:22:46 CEST 2009 - mvyskocil@suse.cz
|
||||
|
||||
- 'Initial SUSE packaging from jpackage.org 5.0'
|
||||
|
138
jna.spec
Normal file
138
jna.spec
Normal file
@ -0,0 +1,138 @@
|
||||
#
|
||||
# spec file for package jna
|
||||
#
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2000-2009, JPackage Project
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: jna
|
||||
Version: 5.4.0
|
||||
Release: 0
|
||||
Summary: Pure Java access to native libraries
|
||||
License: LGPL-2.1-or-later OR Apache-2.0
|
||||
URL: https://github.com/twall/jna
|
||||
Source0: https://github.com/twall/%{name}/archive/%{version}.tar.gz
|
||||
Source1000: libjnidispatch-rpmlintrc
|
||||
Patch0: jna-build.patch
|
||||
Patch5: jna-callback.patch
|
||||
Patch6: jna-system-libjnidispatch.patch
|
||||
BuildRequires: ant
|
||||
BuildRequires: ant-junit
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: java-devel >= 1.8
|
||||
BuildRequires: javapackages-local
|
||||
BuildRequires: junit
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: xorg-x11-libX11-devel
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
Requires: java >= 1.8
|
||||
Provides: jna-native = %{version}-%{release}
|
||||
Obsoletes: jna-native < %{version}-%{release}
|
||||
Provides: libjnidispatch = %{version}-%{release}
|
||||
Obsoletes: libjnidispatch < %{version}-%{release}
|
||||
|
||||
%description
|
||||
JNA provides Java programs easy access to native shared libraries
|
||||
(DLLs on Windows) without writing anything but Java code. JNA's
|
||||
design aims to provide native access in a natural way with a
|
||||
minimum of effort. No boilerplate or generated code is required.
|
||||
While some attention is paid to performance, correctness and ease
|
||||
of use take priority.
|
||||
|
||||
%package contrib
|
||||
Summary: Contrib for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description contrib
|
||||
This package contains the contributed examples for %{name}.
|
||||
|
||||
%package javadoc
|
||||
Summary: Javadocs for %{name}
|
||||
BuildArch: noarch
|
||||
|
||||
%description javadoc
|
||||
This package contains the javadocs for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
# Cleanup the dist tarball
|
||||
find . -name '*jar' | xargs rm
|
||||
rm -rf dist
|
||||
dos2unix OTHERS
|
||||
# Then apply patches
|
||||
%patch0 -p1 -b .orig
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
sed -i 's|@LIBDIR@|%{_libdir}/%{name}|' src/com/sun/jna/Native.java
|
||||
|
||||
%build
|
||||
build-jar-repository -s -p lib ant
|
||||
ant \
|
||||
jar \
|
||||
native \
|
||||
platform-jar \
|
||||
-Dcflags_extra.native="%{optflags}" \
|
||||
-Dbuild-native=true -Drelease \
|
||||
-Dcompatibility=1.6 -Dplatform.compatibility=1.6 \
|
||||
-Ddynlink.native=true \
|
||||
jar \
|
||||
native \
|
||||
platform-jar \
|
||||
javadoc
|
||||
|
||||
%install
|
||||
# NOTE: JNA has highly custom code to look for native jars in this
|
||||
# directory. Since this roughly matches the jpackage guidelines,
|
||||
# we'll leave it unchanged.
|
||||
install -d -m 755 %{buildroot}%{_libdir}/%{name}
|
||||
install -m 755 build/native*/libjnidispatch*.so %{buildroot}%{_libdir}/%{name}/
|
||||
|
||||
install -d -m 755 %{buildroot}%{_jnidir}/%{name}
|
||||
install -d -m 755 %{buildroot}%{_javadir}/%{name}
|
||||
install -p -m 644 build%{suffix}/jna-min.jar %{buildroot}%{_jnidir}/%{name}.jar
|
||||
ln -sf ../%{name}.jar %{buildroot}%{_jnidir}/%{name}/%{name}.jar
|
||||
ln -sf %{_jnidir}/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar
|
||||
install -p -m 644 ./contrib/platform/dist/jna-platform.jar %{buildroot}%{_javadir}/%{name}-platform.jar
|
||||
ln -sf ../%{name}-platform.jar %{buildroot}%{_javadir}/%{name}/%{name}-platform.jar
|
||||
|
||||
install -d -m 755 %{buildroot}%{_mavenpomdir}
|
||||
install -p -m 644 pom-jna.xml %{buildroot}/%{_mavenpomdir}/%{name}.pom
|
||||
install -p -m 644 pom-jna-platform.xml %{buildroot}/%{_mavenpomdir}/%{name}-platform.pom
|
||||
%add_maven_depmap %{name}.pom %{name}.jar
|
||||
%add_maven_depmap %{name}-platform.pom %{name}-platform.jar -a net.java.dev.jna:platform -f contrib
|
||||
|
||||
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
|
||||
cp -pr doc/javadoc/* %{buildroot}%{_javadocdir}/%{name}
|
||||
%fdupes -s %{buildroot}%{_javadocdir}
|
||||
|
||||
%files -f .mfiles
|
||||
%dir %{_libdir}/%{name}
|
||||
%{_libdir}/%{name}/libjnidispatch.so
|
||||
%{_jnidir}/%{name}
|
||||
%{_javadir}/%{name}.jar
|
||||
%license LICENSE
|
||||
%doc CHANGES.md OTHERS README.md TODO
|
||||
|
||||
%files contrib -f .mfiles-contrib
|
||||
%{_javadir}/%{name}
|
||||
|
||||
%files javadoc
|
||||
%{_javadocdir}/jna
|
||||
%license LICENSE
|
||||
|
||||
%changelog
|
Loading…
x
Reference in New Issue
Block a user