diff --git a/Add-support-for-riscv64.patch b/Add-support-for-riscv64.patch new file mode 100644 index 0000000..2c3a435 --- /dev/null +++ b/Add-support-for-riscv64.patch @@ -0,0 +1,58 @@ +From ea30e748f7fb066f958ff064bcde7574dd1c6e68 Mon Sep 17 00:00:00 2001 +From: "Manuel A. Fernandez Montecelo" +Date: Fri, 9 Dec 2022 08:19:34 -0500 +Subject: [PATCH] Add support for riscv64 + +--- + src/main/java/com/kenai/jffi/Platform.java | 5 +++++ + src/main/java/com/kenai/jffi/internal/StubLoader.java | 4 ++++ + 2 files changed, 9 insertions(+) + +diff --git a/src/main/java/com/kenai/jffi/Platform.java b/src/main/java/com/kenai/jffi/Platform.java +index 3d44d57..5881ac4 100644 +--- a/src/main/java/com/kenai/jffi/Platform.java ++++ b/src/main/java/com/kenai/jffi/Platform.java +@@ -110,6 +110,8 @@ public abstract class Platform { + AARCH64(64), + /** MIPS64EL */ + MIPS64EL(64), ++ /** RISCV64 */ ++ RISCV64(64), + /** Unknown CPU */ + UNKNOWN(64); + +@@ -255,6 +257,9 @@ public abstract class Platform { + + } else if (Util.equalsIgnoreCase("mips64", archString, LOCALE) || Util.equalsIgnoreCase("mips64el", archString, LOCALE)) { + return CPU.MIPS64EL; ++ ++ } else if (Util.equalsIgnoreCase("riscv64", archString, LOCALE)) { ++ return CPU.RISCV64; + } + + +diff --git a/src/main/java/com/kenai/jffi/internal/StubLoader.java b/src/main/java/com/kenai/jffi/internal/StubLoader.java +index 3ca1d6d..ac78a2a 100644 +--- a/src/main/java/com/kenai/jffi/internal/StubLoader.java ++++ b/src/main/java/com/kenai/jffi/internal/StubLoader.java +@@ -165,6 +165,8 @@ public class StubLoader { + AARCH64, + /** MIPS 64-bit little endian */ + MIPS64EL, ++ /** RISC-V 64-bit little endian */ ++ RISCV64, + /** Unknown CPU */ + UNKNOWN; + +@@ -237,6 +239,8 @@ public class StubLoader { + return CPU.AARCH64; + } else if (Util.equalsIgnoreCase("mips64", archString, LOCALE) || Util.equalsIgnoreCase("mips64el", archString, LOCALE)) { + return CPU.MIPS64EL; ++ } else if (Util.equalsIgnoreCase("riscv64", archString, LOCALE)) { ++ return CPU.RISCV64; + + } + +-- +2.40.1 + diff --git a/jffi.spec b/jffi.spec index cd0a6c3..61f9e05 100644 --- a/jffi.spec +++ b/jffi.spec @@ -2,7 +2,7 @@ %global sover 1.2 Name: jffi Version: 1.3.0 -Release: 1 +Release: 2 Summary: Java Foreign Function Interface License: LGPL-3.0-or-later OR Apache-2.0 URL: http://github.com/jnr/jffi @@ -14,6 +14,7 @@ Patch2: jffi-fix-compilation-flags.patch Patch3: jffi-1.2.12-no_javah.patch Patch4: jffi-fix-system-ffi.patch Patch5: add-loongarch64-support-for-jffi.patch +Patch6: Add-support-for-riscv64.patch BuildRequires: ant ant-junit fdupes gcc libffi-devel make maven-local unzip mvn(junit:junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) @@ -46,6 +47,9 @@ This package contains the API documentation for %{name}. %ifarch loongarch64 %patch5 -p1 %endif +%ifarch riscv64 +%patch6 -p1 +%endif sed -i.cpu -e '/m\$(MODEL)/d' jni/GNUmakefile libtest/GNUmakefile rm -rf archive/* jni/libffi/ jni/win32/ lib/CopyLibs/ lib/junit* find ./ -name '*.jar' -exec rm -f '{}' \; @@ -89,6 +93,9 @@ ant -Duse.system.libffi=1 test %doc COPYING.GPL COPYING.LESSER LICENSE %changelog +* Sun Oct 08 2023 laokz - 1.3.0-2 +- Backport v1.3.11 patch to support riscv64 + * Tue Sep 26 2023 Ge Wang - 1.3.0-1 - update to version 1.3.0