diff --git a/digikam-5.1.0-libraw_endian.patch b/digikam-5.1.0-libraw_endian.patch new file mode 100644 index 0000000..ede41cc --- /dev/null +++ b/digikam-5.1.0-libraw_endian.patch @@ -0,0 +1,30 @@ +diff -up digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h.libraw_endian digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h +--- digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h.libraw_endian 2016-08-08 12:19:25.000000000 -0500 ++++ digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h 2016-08-09 09:23:01.387824702 -0500 +@@ -612,10 +612,10 @@ typedef struct + #elif defined(__INTEL__) + #define LibRawBigEndian 0 + +-#elif defined(_M_IX86) ++#elif defined(_M_IX86) || defined(__i386__) + #define LibRawBigEndian 0 + +-#elif defined(_M_X64) || defined(__amd64__) ++#elif defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) + #define LibRawBigEndian 0 + + #elif defined(__LITTLE_ENDIAN__) +@@ -625,6 +625,13 @@ typedef struct + #define LibRawBigEndian 1 + #elif defined(_ARM_) + #define LibRawBigEndian 0 ++ ++#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++#define LibRawBigEndian 0 ++ ++#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++#define LibRawBigEndian 1 ++ + #else + #ifndef qXCodeRez + #error Unable to figure out byte order. diff --git a/digikam.spec b/digikam.spec index f3c9664..9e1f0fd 100644 --- a/digikam.spec +++ b/digikam.spec @@ -13,6 +13,8 @@ Source0: http://download.kde.org/%{?beta:un}stable/digikam/digikam-%{version}%{? Source10: digikam-import.desktop ## upstreamable patches +# https://bugs.kde.org/show_bug.cgi?id=366542 +Patch100: digikam-5.1.0-libraw_endian.patch ## upstream patches @@ -165,6 +167,8 @@ BuildArch: noarch %prep %setup -q -n %{name}-%{version}%{?beta:-%{beta}} +%patch100 -p1 .libraw_endian + # try to fix doc-translated mess, see also #https://bugs.kde.org/show_bug.cgi?id=365135#c18 pushd doc-translated/digikam