[spice-gtk] Add patch to fix build on big-endian boxes

Christophe Fergeau teuf at fedoraproject.org
Tue Apr 10 14:19:45 UTC 2012


commit 3e167d6faa6bb707d421c2ab1624a4491e360654
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Fri Apr 6 16:30:02 2012 +0200

    Add patch to fix build on big-endian boxes
    
    The (de)marshalling generation code is fixed upstream so this patch
    will no longer be needed after the next release.

 ...-Fix-read_uint-macros-on-big-endian-archs.patch |   69 ++++++++++++++++++++
 spice-gtk.spec                                     |    2 +
 2 files changed, 71 insertions(+), 0 deletions(-)
---
diff --git a/0001-Fix-read_uint-macros-on-big-endian-archs.patch b/0001-Fix-read_uint-macros-on-big-endian-archs.patch
new file mode 100644
index 0000000..c0bdbf2
--- /dev/null
+++ b/0001-Fix-read_uint-macros-on-big-endian-archs.patch
@@ -0,0 +1,69 @@
+From 0649b10ed5839e407984a7118c69ca8379b4a0e4 Mon Sep 17 00:00:00 2001
+From: Christophe Fergeau <cfergeau at redhat.com>
+Date: Fri, 6 Apr 2012 15:17:43 +0200
+Subject: [PATCH] Fix read_uint* macros on big-endian archs
+
+---
+ gtk/generated_demarshallers.c  |   12 ++++++------
+ gtk/generated_demarshallers1.c |   12 ++++++------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/gtk/generated_demarshallers.c b/gtk/generated_demarshallers.c
+index f34dc12..6d67551 100644
+--- a/gtk/generated_demarshallers.c
++++ b/gtk/generated_demarshallers.c
+@@ -18,17 +18,17 @@
+ #define write_int8(ptr, val) *(int8_t *)(ptr) = val
+ #define read_uint8(ptr) (*((uint8_t *)(ptr)))
+ #define write_uint8(ptr, val) *(uint8_t *)(ptr) = val
+-#define read_int16(ptr) ((int16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr)))
++#define read_int16(ptr) ((int16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr))))
+ #define write_int16(ptr, val) *(uint16_t *)(ptr) = SPICE_BYTESWAP16((uint16_t)val)
+-#define read_uint16(ptr) ((uint16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr)))
++#define read_uint16(ptr) ((uint16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr))))
+ #define write_uint16(ptr, val) *(uint16_t *)(ptr) = SPICE_BYTESWAP16((uint16_t)val)
+-#define read_int32(ptr) ((int32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr)))
++#define read_int32(ptr) ((int32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr))))
+ #define write_int32(ptr, val) *(uint32_t *)(ptr) = SPICE_BYTESWAP32((uint32_t)val)
+-#define read_uint32(ptr) ((uint32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr)))
++#define read_uint32(ptr) ((uint32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr))))
+ #define write_uint32(ptr, val) *(uint32_t *)(ptr) = SPICE_BYTESWAP32((uint32_t)val)
+-#define read_int64(ptr) ((int64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr)))
++#define read_int64(ptr) ((int64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr))))
+ #define write_int64(ptr, val) *(uint64_t *)(ptr) = SPICE_BYTESWAP64((uint64_t)val)
+-#define read_uint64(ptr) ((uint64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr)))
++#define read_uint64(ptr) ((uint64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr))))
+ #define write_uint64(ptr, val) *(uint64_t *)(ptr) = SPICE_BYTESWAP64((uint64_t)val)
+ #else
+ #define read_int8(ptr) (*((int8_t *)(ptr)))
+diff --git a/gtk/generated_demarshallers1.c b/gtk/generated_demarshallers1.c
+index 633044c..5364769 100644
+--- a/gtk/generated_demarshallers1.c
++++ b/gtk/generated_demarshallers1.c
+@@ -18,17 +18,17 @@
+ #define write_int8(ptr, val) *(int8_t *)(ptr) = val
+ #define read_uint8(ptr) (*((uint8_t *)(ptr)))
+ #define write_uint8(ptr, val) *(uint8_t *)(ptr) = val
+-#define read_int16(ptr) ((int16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr)))
++#define read_int16(ptr) ((int16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr))))
+ #define write_int16(ptr, val) *(uint16_t *)(ptr) = SPICE_BYTESWAP16((uint16_t)val)
+-#define read_uint16(ptr) ((uint16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr)))
++#define read_uint16(ptr) ((uint16_t)SPICE_BYTESWAP16(*((uint16_t *)(ptr))))
+ #define write_uint16(ptr, val) *(uint16_t *)(ptr) = SPICE_BYTESWAP16((uint16_t)val)
+-#define read_int32(ptr) ((int32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr)))
++#define read_int32(ptr) ((int32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr))))
+ #define write_int32(ptr, val) *(uint32_t *)(ptr) = SPICE_BYTESWAP32((uint32_t)val)
+-#define read_uint32(ptr) ((uint32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr)))
++#define read_uint32(ptr) ((uint32_t)SPICE_BYTESWAP32(*((uint32_t *)(ptr))))
+ #define write_uint32(ptr, val) *(uint32_t *)(ptr) = SPICE_BYTESWAP32((uint32_t)val)
+-#define read_int64(ptr) ((int64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr)))
++#define read_int64(ptr) ((int64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr))))
+ #define write_int64(ptr, val) *(uint64_t *)(ptr) = SPICE_BYTESWAP64((uint64_t)val)
+-#define read_uint64(ptr) ((uint64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr)))
++#define read_uint64(ptr) ((uint64_t)SPICE_BYTESWAP64(*((uint64_t *)(ptr))))
+ #define write_uint64(ptr, val) *(uint64_t *)(ptr) = SPICE_BYTESWAP64((uint64_t)val)
+ #else
+ #define read_int8(ptr) (*((int8_t *)(ptr)))
+-- 
+1.7.9.3
+
diff --git a/spice-gtk.spec b/spice-gtk.spec
index f52b0df..3ae8b5d 100644
--- a/spice-gtk.spec
+++ b/spice-gtk.spec
@@ -21,6 +21,7 @@ License:        LGPLv2+
 URL:            http://spice-space.org/page/Spice-Gtk
 Source0:        http://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2
 Patch0:         0001-usbredir-Check-for-existing-usb-channels-after-libus.patch
+Patch1:         0001-Fix-read_uint-macros-on-big-endian-archs.patch
 
 BuildRequires: intltool
 BuildRequires: gtk2-devel >= 2.14
@@ -148,6 +149,7 @@ fi
 
 pushd spice-gtk-%{version}
 %patch0 -p1
+%patch1 -p1
 popd
 
 %if %{with_gtk3}


More information about the scm-commits mailing list