[mingw-gtk2] Workaround knownfolders.h linker issue when using a recent mingw-w64 snapshot

Erik van Pienbroek epienbro at fedoraproject.org
Thu Apr 4 19:32:09 UTC 2013


commit 3224e445dad240da5f5ebfe371e8c9f627459089
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Thu Apr 4 21:31:01 2013 +0200

    Workaround knownfolders.h linker issue when using a recent mingw-w64 snapshot
    
    As of mingw-w64 r5589 the header knownfolders.h was added
    which contains definitions like FOLDERID_Windows
    As these are also part of libuuid.a you'll get linker failures like:
    
    /usr/i686-w64-mingw32/sys-root/mingw/lib/libuuid.a(lib32_libuuid_a-uuid.o):(.rdata+0x0):multiple definition of `FOLDERID_Windows'
    win32/.libs/libgdk-win32.a(gdkdnd-win32.o):gdkdnd-win32.c:(.rdata+0x360):first defined here
    
    Workaround this for now until mingw-w64 upstream has come up
    with a statement whether this is expected behaviour and what
    component should be fixed exactly
    
    http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=5589

 gtk-dont-define-initguid.patch |   11 +++++++++++
 mingw-gtk2.spec                |   17 +++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/gtk-dont-define-initguid.patch b/gtk-dont-define-initguid.patch
new file mode 100644
index 0000000..5f41a48
--- /dev/null
+++ b/gtk-dont-define-initguid.patch
@@ -0,0 +1,11 @@
+--- gdk/win32/gdkdnd-win32.c.orig	2013-04-04 21:15:55.689671748 +0200
++++ gdk/win32/gdkdnd-win32.c	2013-04-04 21:16:02.083782327 +0200
+@@ -70,8 +70,6 @@
+  *
+  */
+  
+-#define INITGUID
+-
+ #include "gdkdnd.h"
+ #include "gdkproperty.h"
+ #include "gdkinternals.h"
diff --git a/mingw-gtk2.spec b/mingw-gtk2.spec
index f5aa834..1a9a5cc 100644
--- a/mingw-gtk2.spec
+++ b/mingw-gtk2.spec
@@ -20,6 +20,19 @@ Patch8:         tooltip-positioning.patch
 # https://bugzilla.gnome.org/show_bug.cgi?id=611313
 Patch15:        window-dragging.patch
 
+# As of mingw-w64 r5589 the header knownfolders.h was added
+# which contains definitions like FOLDERID_Windows
+# As these are also part of libuuid.a you'll get linker failures like:
+# /usr/i686-w64-mingw32/sys-root/mingw/lib/libuuid.a(lib32_libuuid_a-uuid.o):(.rdata+0x0): multiple definition of `FOLDERID_Windows'
+# win32/.libs/libgdk-win32.a(gdkdnd-win32.o):gdkdnd-win32.c:(.rdata+0x360): first defined here
+#
+# Workaround this for now until mingw-w64 upstream has come up
+# with a statement whether this is expected behaviour and what
+# component should be fixed exactly
+#
+# http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=5589
+Patch16:        gtk-dont-define-initguid.patch
+
 # Fix use of extended buttons in gtkstatusicon.
 Patch1000:      mingw32-gtk2-2.15.0-xbuttons.patch
 
@@ -120,6 +133,7 @@ Static version of the MinGW Windows Gtk2 library.
 %patch2 -p1 -b .icon-padding
 %patch8 -p1 -b .tooltip-positioning
 %patch15 -p1 -b .window-dragging
+%patch16 -p0 -b .knownfolders
 
 %patch1000 -p1
 autoreconf -i --force
@@ -309,6 +323,9 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gtk-2.0/modules/*.dll.a
 
 
 %changelog
+* Thu Apr  4 2013 Erik van Pienbroek <epienbro at fedoraproject.org> - 2.24.17-2
+- Workaround knownfolders.h linker issue when using a recent mingw-w64 snapshot
+
 * Sun Mar 24 2013 Erik van Pienbroek <epienbro at fedoraproject.org> - 2.24.17-1
 - Update to 2.24.17
 


More information about the scm-commits mailing list