[Spice-devel] [PATCH spice-gtk v8 0/4] Repair macOS builds for spice-gtk

Christophe de Dinechin christophe at dinechin.org
Tue Jun 20 16:08:40 UTC 2017


Thank you Christophe

I tested it, it works.

Christophe and I also discussed on IRC issues with package configuration that some specific tweaks.
In the meantime, you can workaround these by adding this to your environment, assuming you use homebrew:

# Help configure find the GNU variant of gettext
export PATH=$PATH:/usr/local/Cellar/gettext/0.19.8.1/bin

# Workaround error with vncdisplaykeymap.c including <gdk/gdkquartz.h>, which uses Objective-C
export CFLAGS="-ObjC"

# Set PKG_CONFIG_PATH to point to the right places for some packages
export PKG_CONFIG_PATH=/usr/local/Cellar/openssl/1.0.2l/pkgconfig:/usr/local/Cellar/jpeg-turbo/1.5.1/lib/pkgconfig

# Alternatively, set headers and libraries manually
export CPPFLAGS="-I/usr/local/opt/jpeg-turbo/include -I/usr/local/include -I/usr/local/Cellar/openssl/1.0.2j/include"
export LDFLAGS="-L/usr/local/opt/jpeg-turbo/lib -L/usr/local/lib -L/usr/local/Cellar/openssl/1.0.2j/lib"


Christophe “the other one"


> On 20 Jun 2017, at 15:35, Christophe Fergeau <cfergeau at redhat.com> wrote:
> 
> Hey,
> 
> Fwiw I pushed these and the corresponding spice-common patches.
> 
> Christophe
> 
> On Thu, Jun 08, 2017 at 05:38:50PM +0200, Christophe de Dinechin wrote:
>> From: Christophe de Dinechin <dinechin at redhat.com>
>> 
>> This patch set contains various fixes that repair macOS builds for
>> spice-gtk (and presumably clang builds as a side effect), notably:
>> 
>> - Fixes for clang-specific warnings, notably on alignment
>> - Addition of macOS detection in configure script
>> - A couple minor portablity fixes
>> 
>> This requires an update to spice-common, see
>> https://lists.freedesktop.org/archives/spice-devel/2017-May/037505.html.
>> The reference to submodule  in this patch serie is updated with a
>> reference that can be fetched from https://github.com/c3d/spice-common.git.
>> 
>> Version 2 takes into account comments by Frediano Ziglio and Pavel Grunt,
>> specifically:
>> 
>> - Clarify purpose and behavior of macros in patch commit message
>> - Change one case to 'unaligned'
>> - Improve way to avoid 'unused variable' warning
>> 
>> Acked by: Christophe Fergeau <cfergeau at redhat.com>
>> 
>> Version 3 takes into account comments made by Christophe Fergeau in
>> his ack message, specifically:
>> 
>> - Improve the log message description of SPICE_(UN)ALIGNED_CAST.
>>  Hopefully the new one is better.
>> 
>> - Make spaces after commas consistent
>> 
>> In addition, v3 re-enables ucontext on macOS, following comments
>> that this is the right thing to do for performance. This required the
>> elimination of one more alignment warning.
>> 
>> Version 4 takes into account comments made by Pavel and Frediano,
>> specifically:
>> 
>> - Reorder the previous iteration to group things more logically
>> - Add a TODO comment for macOS in set_mouse_accel
>> 
>> Version 5 adds the --enable-alignment-checks configuration option
>> and disables all runtime checks by default.
>> 
>> Version 6 groups the --enable-alignment-checks configuration option
>> with the warning detection, and addresses some of the alignment issues
>> as discussed with Frediano.
>> 
>> Version 7 modifies some comments (nits reported by Christophe Fergeau),
>> fixes a bogus array size change I had made earlier (seen by Frediano Ziglio),
>> and takes into account one additional cast introduced in master lately.
>> 
>> Version 8 separates a whitespace change in its own patch, groups
>> alignment detection and alignment fixes in a single patch, and
>> changes the type of palette to guint32, all suggested by Frediano.
>> 
>> For reviewers convenience, the diff between v8 and v7 is:
>> 
>> diff --git a/src/channel-cursor.c b/src/channel-cursor.c
>> index 4faaa95..14053a9 100644
>> --- a/src/channel-cursor.c
>> +++ b/src/channel-cursor.c
>> @@ -381,11 +381,11 @@ static display_cursor *set_cursor(SpiceChannel *channel, SpiceCursor *scursor)
>>     SpiceCursorHeader *hdr = &scursor->header;
>>     display_cursor *cursor;
>>     size_t size;
>> -    gint i, pix_mask, pix;
>> +    guint32 i, pix_mask, pix;
>>     const guint8* data;
>>     guint8 *rgba;
>>     guint8 val;
>> -    gint palette[16];
>> +    guint32 palette[16];
>> 
>>     CHANNEL_DEBUG(channel, "%s: flags %x, size %u", __FUNCTION__,
>>                   scursor->flags, scursor->data_size);
>> 
>> Christophe de Dinechin (4):
>>  Remove trailing space
>>  Add check for macOS and macOS specific define to allow ucontext
>>  Avoid clang warnings on casts with stricter alignment requirements
>>  Remove warning about unused variable when building on macOS
>> 
>> configure.ac                | 23 +++++++++++++++++++++++
>> spice-common                |  2 +-
>> src/channel-cursor.c        |  8 +++++---
>> src/channel-display-mjpeg.c |  2 +-
>> src/channel-main.c          |  2 +-
>> src/continuation.h          |  6 ++++--
>> src/decode-glz-tmpl.c       |  2 +-
>> src/spice-channel.c         | 26 ++++++++++++++++----------
>> src/spice-widget.c          |  7 ++++---
>> 9 files changed, 56 insertions(+), 22 deletions(-)
>> 
>> -- 
>> 2.11.0 (Apple Git-81)
>> 
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/spice-devel
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list