Fridrich Strba 2019-10-10 18:42:10 +00:00 committed by Git OBS Bridge
commit 668e9be8a7
9 changed files with 822 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

3
5.4.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d03d88b9050b3f186f2415e0efc0921d59568cc784a2a63881ca0909763467d9
size 93324146

238
jna-build.patch Normal file
View 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
View 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
View File

@ -0,0 +1,2 @@
# Rpm doesn't detect the library dependency on Java packages
addFilter("^jna.*: W: explicit-lib-dependency libjnidispatch")

View 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
View 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
View 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