diff --git a/0003-libEMF-Add-sw_64-support.patch b/0003-libEMF-Add-sw_64-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..dfb1d5e0a2899a834845509c0599084d2737f132 --- /dev/null +++ b/0003-libEMF-Add-sw_64-support.patch @@ -0,0 +1,41 @@ +diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h +--- a/include/libEMF/wine/winnt.h 2024-11-18 14:36:40.978903092 +0800 ++++ b/include/libEMF/wine/winnt.h 2024-11-18 14:47:14.007013642 +0800 +@@ -41,6 +41,10 @@ + # undef WORDS_BIGENDIAN + # undef BITFIELDS_BIGENDIAN + # undef ALLOW_UNALIGNED_ACCESS ++#elif defined(__sw_64__) ++# undef WORDS_BIGENDIAN ++# undef BITFIELDS_BIGENDIAN ++# undef ALLOW_UNALIGNED_ACCESS + #elif defined(__arm__) + # undef WORDS_BIGENDIAN + # undef BITFIELDS_BIGENDIAN +@@ -274,7 +278,7 @@ + typedef int INT, *PINT, *LPINT; + typedef unsigned int UINT, *PUINT, *LPUINT; + /* Not sure this is correct. Probably should depend on the compiler, too. */ +-#if defined( __LP64__) || defined(__alpha__) ++#if defined( __LP64__) || defined(__alpha__) || defined(__sw_64__) + typedef unsigned int DWORD, *PDWORD, *LPDWORD; + typedef unsigned int ULONG, *PULONG, *LPULONG; + #else +@@ -320,7 +324,7 @@ + typedef BYTE BOOLEAN, *PBOOLEAN; + typedef char CHAR, *PCHAR; + typedef short SHORT, *PSHORT; +-#if defined(__LP64__) || defined(__alpha__) ++#if defined(__LP64__) || defined(__alpha__) || defined(__sw_64__) + typedef int LONG, *PLONG, *LPLONG; + #else + typedef long LONG, *PLONG, *LPLONG; +@@ -935,7 +939,7 @@ + #endif /* __x86_64__ */ + + /* Alpha context definitions */ +-#if defined(__alpha__) ++#if defined(__alpha__) || defined(__sw_64__) + + #define CONTEXT_ALPHA 0x00020000 + diff --git a/0004-libEMF-Add-mips64el-support.patch b/0004-libEMF-Add-mips64el-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..570e4994eba76a55acadccd079d5e877609e2272 --- /dev/null +++ b/0004-libEMF-Add-mips64el-support.patch @@ -0,0 +1,14 @@ +diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h +--- a/include/libEMF/wine/winnt.h 2024-11-19 09:50:03.450910598 +0800 ++++ b/include/libEMF/wine/winnt.h 2024-11-19 10:16:32.120151366 +0800 +@@ -81,6 +81,10 @@ + # undef WORDS_BIGENDIAN + # undef BITFIELDS_BIGENDIAN + # undef ALLOW_UNALIGNED_ACCESS ++#elif defined(_MIPS_) || defined(__MIPS__) || defined(__mips__) ++# undef WORDS_BIGENDIAN ++# undef BITFIELDS_BIGENDIAN ++# undef ALLOW_UNALIGNED_ACCESS + #elif !defined(RC_INVOKED) + # error Unknown CPU architecture! + #endif diff --git a/libEMF.spec b/libEMF.spec index 7e593beca0ccf2e20b5b05fd2e09b2ea45b771a2..4b458fcb81b33afffe88e28cf763c37d793b9b32 100644 --- a/libEMF.spec +++ b/libEMF.spec @@ -1,12 +1,14 @@ Name: libEMF Version: 1.0.13 -Release: 3 +Release: 4 Summary: A library for generating Enhanced Metafiles License: LGPLv2+ and GPLv2+ URL: http://libemf.sourceforge.net/ Source0: https://downloads.sourceforge.net/project/libemf/libemf/%{version}/libemf-%{version}.tar.gz Patch0: 0001-libEMF-add-loongarch64.patch Patch1: 0002-libemf-1.0.13-add-riscv64.patch +Patch2: 0003-libEMF-Add-sw_64-support.patch +Patch3: 0004-libEMF-Add-mips64el-support.patch BuildRequires: gcc-c++ chrpath @@ -61,6 +63,9 @@ make check %doc doc/html/* NEWS README %changelog +* Sat Mar 15 2025 mahailiang - 1.0.13-4 +- fix sw_64 mips64el build error + * Thu Jul 20 2023 wujie - 1.0.13-3 - Add riscv64 support from http://fedora.riscv.rocks/koji/buildinfo?buildID=24988 Author is David Abdurachmanov