Update to upstream version 5.4.0

This commit is contained in:
Marian Koncek 2019-01-17 14:41:31 +01:00
parent 291ce372d3
commit 796b1bce03
9 changed files with 59 additions and 66 deletions

2
.gitignore vendored
View File

@ -13,3 +13,5 @@ jna-3.2.7.tar.bz2
/jna-4.4.0-clean.tar.xz
/jna-4.5.0-clean.tar.xz
/jna-4.5.1-clean.tar.xz
/jna-5.2.0-clean.tar.xz
/jna-5.4.0-clean.tar.xz

View File

@ -8,7 +8,7 @@ Subject: [PATCH 1/6] Adapt build
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/native/Makefile b/native/Makefile
index 6f9ad25..3712a9e 100644
index 1bea2dc..cb3afed 100644
--- a/native/Makefile
+++ b/native/Makefile
@@ -97,7 +97,7 @@ CDEFINES=-D_REENTRANT
@ -20,7 +20,7 @@ index 6f9ad25..3712a9e 100644
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)
@@ -455,7 +455,6 @@ $(BUILD)/$(JNA_JNI_VERSION).stamp:
@@ -457,7 +457,6 @@ $(BUILD)/$(JNA_JNI_VERSION).stamp:
$(LIBRARY): $(JNIDISPATCH_OBJS) $(FFI_LIB)
$(LD) $(LDFLAGS) $(JNIDISPATCH_OBJS) $(FFI_LIB) $(LIBS)
@ -29,5 +29,5 @@ index 6f9ad25..3712a9e 100644
$(TESTLIB): $(BUILD)/testlib.o
$(LD) $(LDFLAGS) $< $(LIBS)
--
2.14.3
2.20.1

View File

@ -4,21 +4,19 @@ Date: Mon, 16 Jan 2017 11:31:32 +0100
Subject: [PATCH 2/6] Load system library
---
src/com/sun/jna/Native.java | 97 ++-------------------------------------------
1 file changed, 4 insertions(+), 93 deletions(-)
src/com/sun/jna/Native.java | 80 ++-----------------------------------
1 file changed, 4 insertions(+), 76 deletions(-)
diff --git a/src/com/sun/jna/Native.java b/src/com/sun/jna/Native.java
index 91b195f..9ac3815 100644
index eae060f..11bcc5b 100644
--- a/src/com/sun/jna/Native.java
+++ b/src/com/sun/jna/Native.java
@@ -829,101 +829,12 @@ public final class Native implements Version {
/**
@@ -912,84 +912,12 @@ public final class Native implements Version {
* 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.
* 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")) {
@ -26,7 +24,7 @@ index 91b195f..9ac3815 100644
- removeTemporaryFiles();
- }
- catch(IOException e) {
- System.err.println("JNA Warning: IOException removing temporary files: " + e.getMessage());
- LOG.log(Level.WARNING, "JNA Warning: IOException removing temporary files", e);
- }
- }
-
@ -39,20 +37,14 @@ index 91b195f..9ac3815 100644
- String dir = dirs.nextToken();
- File file = new File(new File(dir), System.mapLibraryName(libName).replace(".dylib", ".jnilib"));
- String path = file.getAbsolutePath();
- if (DEBUG_JNA_LOAD) {
- System.out.println("Looking in " + path);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Looking in {0}", path);
- if (file.exists()) {
- try {
- if (DEBUG_JNA_LOAD) {
- System.out.println("Trying " + path);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying {0}", path);
- System.setProperty("jnidispatch.path", path);
- System.load(path);
- jnidispatchPath = path;
- if (DEBUG_JNA_LOAD) {
- System.out.println("Found jnidispatch at " + 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
@ -70,37 +62,28 @@ index 91b195f..9ac3815 100644
- ext = "dylib";
- }
- path = path.substring(0, path.lastIndexOf(orig)) + ext;
- if (DEBUG_JNA_LOAD) {
- System.out.println("Looking in " + path);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Looking in {0}", path);
- if (new File(path).exists()) {
- try {
- if (DEBUG_JNA_LOAD) {
- System.out.println("Trying " + path);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying {0}", path);
- System.setProperty("jnidispatch.path", path);
- System.load(path);
- jnidispatchPath = path;
- if (DEBUG_JNA_LOAD) {
- System.out.println("Found jnidispatch at " + path);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Found jnidispatch at {0}", path);
- return;
- } catch (UnsatisfiedLinkError ex) {
- System.err.println("File found at " + path + " but not loadable: " + ex.getMessage());
- LOG.log(Level.WARNING, "File found at " + path + " but not loadable: " + ex.getMessage(), ex);
- }
- }
- }
- }
- }
- if (!Boolean.getBoolean("jna.nosys")) {
- String jnaNosys = System.getProperty("jna.nosys", "true");
- if ((!Boolean.parseBoolean(jnaNosys)) || Platform.isAndroid()) {
- try {
- if (DEBUG_JNA_LOAD) {
- System.out.println("Trying (via loadLibrary) " + libName);
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Trying (via loadLibrary) {0}", libName);
- System.loadLibrary(libName);
- if (DEBUG_JNA_LOAD) {
- System.out.println("Found jnidispatch on system path");
- }
- LOG.log(DEBUG_JNA_LOAD_LEVEL, "Found jnidispatch on system path");
- return;
- }
- catch(UnsatisfiedLinkError e) {
@ -113,10 +96,10 @@ index 91b195f..9ac3815 100644
- throw new UnsatisfiedLinkError("Unable to locate JNA native support library");
- }
+ jnidispatchPath = "@LIBDIR@/" + System.mapLibraryName("jnidispatch");
+ System.load(jnidispatchPath);
+ System.load(jnidispatchPath);
}
static final String JNA_TMPLIB_PREFIX = "jna";
--
2.14.3
2.20.1

View File

@ -8,17 +8,17 @@ Subject: [PATCH 3/6] Tests headless
1 file changed, 1 insertion(+)
diff --git a/build.xml b/build.xml
index 63a9cc7..ab9cf52 100644
index d5c2bbc..835c02b 100644
--- a/build.xml
+++ b/build.xml
@@ -1128,6 +1128,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
@@ -1202,6 +1202,7 @@ cd ..
<sysproperty key="jna.nosys" value="true"/>
<sysproperty key="jna.builddir" file="${build}"/>
<sysproperty key="jna.nativedir" file="${build.native}"/>
<jvmarg value="${vmopt.arch}"/>
+ <jvmarg value="-Djava.awt.headless=true"/>
<classpath><path refid="test.runpath"/></classpath>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
--
2.14.3
2.20.1

View File

@ -8,10 +8,10 @@ Subject: [PATCH 4/6] Fix javadoc build
1 file changed, 1 insertion(+)
diff --git a/build.xml b/build.xml
index ab9cf52..d1fe4aa 100644
index 835c02b..cecafd0 100644
--- a/build.xml
+++ b/build.xml
@@ -1233,6 +1233,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
@@ -1307,6 +1307,7 @@ cd ..
<group title="Platform Specific" packages="com.sun.jna.platform.*"/>
<arg value="-notimestamp"/>
@ -20,5 +20,5 @@ index ab9cf52..d1fe4aa 100644
<jar jarfile="${platform-javadoc-jar}">
<fileset dir="${javadoc}" />
--
2.14.3
2.20.1

View File

@ -3,18 +3,17 @@ From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 10 Jul 2017 11:48:43 +0200
Subject: [PATCH 5/6] Fix duplicate manifest entry
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1469022
---
build.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/build.xml b/build.xml
index d1fe4aa..c0a0b78 100644
index cecafd0..ad5794e 100644
--- a/build.xml
+++ b/build.xml
@@ -571,9 +571,9 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
includes="*jnidispatch*"
prefix="com/sun/jna/w32ce-arm"/>
@@ -586,9 +586,9 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
includes="LICENSE,LGPL2.1,AL2.0"
prefix="META-INF"/>
</jar>
- <zip zipfile="${build}/${minjar}">
+ <jar zipfile="${build}/${minjar}" filesetmanifest="merge">
@ -25,5 +24,5 @@ index d1fe4aa..c0a0b78 100644
<target name="aar" depends="jar" description="Build Android Archive">
--
2.14.3
2.20.1

View File

@ -8,15 +8,16 @@ Subject: [PATCH 6/6] Remove -Werror
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/native/Makefile b/native/Makefile
index 3712a9e..73a906f 100644
index cb3afed..028c201 100644
--- a/native/Makefile
+++ b/native/Makefile
@@ -336,10 +336,10 @@ endif
ifeq ($(CC),gcc)
@@ -337,11 +337,11 @@ ifeq ($(CC),gcc)
GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
ifneq ($(GCC_MAJOR_VERSION),4)
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable
ifneq ($(GCC_MAJOR_VERSION),3)
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable
endif
endif
else
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
@ -25,5 +26,5 @@ index 3712a9e..73a906f 100644
# Enable 64-bit builds if the arch demands it
--
2.14.3
2.20.1

View File

@ -2,18 +2,20 @@
%bcond_without reflections
Name: jna
Version: 4.5.1
Release: 10%{?dist}
Version: 5.4.0
Release: 1%{?dist}
Summary: Pure Java access to native libraries
# Most of code is dual-licensed under either LGPL 2.1+ only or Apache
# License 2.0. WeakIdentityHashMap.java was taken from Apache CXF,
# which is pure Apache License 2.0.
License: (LGPLv2+ or ASL 2.0) and ASL 2.0
URL: https://github.com/java-native-access/jna/
# ./generate-tarball.sh
Source0: %{name}-%{version}-clean.tar.xz
Source1: package-list
Source2: generate-tarball.sh
Patch0: 0001-Adapt-build.patch
# This patch is Fedora-specific for now until we get the huge
# JNI library location mess sorted upstream
@ -78,7 +80,7 @@ This package contains the contributed examples for %{name}.
%prep
%setup -q -n %{name}-%{version}
%setup -q
cp %{SOURCE1} .
%patch0 -p1 -b .build
%patch1 -p1 -b .loadlib
@ -119,11 +121,14 @@ export JAVA_HOME=%{_jvmdir}/java
# We pass -Ddynlink.native which comes from our patch because
# upstream doesn't want to default to dynamic linking.
# -Drelease removes the .SNAPSHOT suffix from maven artifact names
#ant -Dcflags_extra.native="%{optflags}" -Ddynlink.native=true native compile javadoc jar contrib-jars
ant -Dcompatibility=1.6 -Dplatform.compatibility=1.6 -Dcflags_extra.native="%{optflags}" -Ddynlink.native=true native dist
ant -Drelease -Dcompatibility=1.6 -Dplatform.compatibility=1.6\
-Dcflags_extra.native="%{optflags}" -Ddynlink.native=true native dist
# remove compiled contribs
find contrib -name build -exec rm -rf {} \; || :
%install
# NOTE: JNA has highly custom code to look for native jars in this
# directory. Since this roughly matches the jpackage guidelines,
@ -154,6 +159,9 @@ install -m 755 build/native*/libjnidispatch*.so %{buildroot}%{_libdir}/%{name}/
%changelog
* Thu Aug 01 2019 Marian Koncek <mkoncek@redhat.com> - 5.4.0-1
- Update to upstream version 5.4.0
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (jna-4.5.1-clean.tar.xz) = e27a5635ebcb746dd7c1de9d408ef803039fe46b865aca4d7352ffda6439f1b4d3e19b2543d7de2790505c3e5d1f4d4749b5cc3e5d2bccfba878d6c6bcb2fcdd
SHA512 (jna-5.4.0-clean.tar.xz) = bcf01008965e83eb954a212bc58862c923e9c72b1486eebccbe000b6eeda356b4b5ee22a1190ec59bdd4d47249fdd0e1b6b2f9fe7cc1eb82a0fc50062f5b6b12