[jna] add fix for older libffi
Levente Farkas
lfarkas at fedoraproject.org
Mon Jul 15 13:14:43 UTC 2013
commit b6c85c9134f9d365b062b128ae431d99a4de6400
Author: Levente Farkas <lfarkas at lfarkas.org>
Date: Mon Jul 15 15:14:02 2013 +0200
add fix for older libffi
jna-4.0.0-ffi.patch | 12 ++++++++++++
jna.spec | 8 ++++++--
2 files changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/jna-4.0.0-ffi.patch b/jna-4.0.0-ffi.patch
new file mode 100644
index 0000000..05457f0
--- /dev/null
+++ b/jna-4.0.0-ffi.patch
@@ -0,0 +1,12 @@
+diff -up ./native/callback.c.ffi ./native/callback.c
+--- ./native/callback.c.ffi 2013-07-15 14:41:13.643452439 +0200
++++ ./native/callback.c 2013-07-15 14:47:23.254830318 +0200
+@@ -253,7 +253,7 @@ create_callback(JNIEnv* env, jobject obj
+ case 'D': cb->fptr_offset = OFFSETOF(env, CallDoubleMethod); break;
+ default: cb->fptr_offset = OFFSETOF(env, CallObjectMethod); break;
+ }
+- status = ffi_prep_cif_var(&cb->java_cif, java_abi, 2, argc+3, java_ffi_rtype, cb->java_arg_types);
++ status = ffi_prep_cif(&cb->java_cif, java_abi, argc+3, java_ffi_rtype, cb->java_arg_types);
+ if (!ffi_error(env, "callback setup (2)", status)) {
+ ffi_prep_closure_loc(cb->closure, &cb->cif, callback_dispatch, cb,
+ cb->x_closure);
diff --git a/jna.spec b/jna.spec
index 971e6a6..efe0dbd 100644
--- a/jna.spec
+++ b/jna.spec
@@ -1,3 +1,5 @@
+%global innerversion 4.0
+
Name: jna
Version: 4.0.0
Release: 1%{?dist}
@@ -13,7 +15,7 @@ URL: https://jna.dev.java.net/
# mv twall-jna-* jna-%{version}
# rm -rf jna-%{version}/{dist/*,www}
# tar cjf ~/rpm/SOURCES/jna-%{version}.tar.gz jna-%{version}
-Source0: https://github.com/twall/jna/archive/%{name}-%{version}.tar.gz
+Source0: https://github.com/twall/jna/archive/%{name}-%{innerversion}.tar.gz
Source1: package-list
Patch0: jna-3.5.0-build.patch
# This patch is Fedora-specific for now until we get the huge
@@ -29,6 +31,7 @@ Patch3: jna-3.5.2-gcj-javadoc.patch
# junit cames from rpm
Patch4: jna-4.0.0-junit.patch
Patch5: jna-4.0.0-charfix.patch
+Patch6: jna-4.0.0-ffi.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# We manually require libffi because find-requires doesn't work
@@ -84,7 +87,7 @@ This package contains the contributed examples for %{name}.
%prep
-%setup -q -n %{name}-%{version}
+%setup -q -n %{name}-%{innerversion}
cp %{SOURCE1} .
%patch0 -p1 -b .build
%patch1 -p1 -b .loadlib
@@ -94,6 +97,7 @@ chmod -Rf a+rX,u+w,g-w,o-w .
%patch3 -p0 -b .gcj-javadoc
%patch4 -p1 -b .junit
%patch5 -p1 -b .charfix
+%patch6 -p1 -b .ffi
# all java binaries must be removed from the sources
#find . -name '*.jar' -delete
More information about the scm-commits
mailing list