From: Jon Ringle <[email protected]>

When ptxdist did a bump to glib-2.44.0, a project that uses glib and builds
with -Werror will fail.

This patch will allow projects that use -Werror to continue to build without
error.

This patch was submitted upstream:
https://bugzilla.gnome.org/show_bug.cgi?id=756005

Signed-off-by: Jon Ringle <[email protected]>
---
 ....0.pc.in-use-isystem-dir-rather-than-Idir.patch | 90 ++++++++++++++++++++++
 patches/glib-2.44.0/series                         |  4 +
 2 files changed, 94 insertions(+)
 create mode 100644 
patches/glib-2.44.0/0001-glib-2.0.pc.in-use-isystem-dir-rather-than-Idir.patch
 create mode 100644 patches/glib-2.44.0/series

diff --git 
a/patches/glib-2.44.0/0001-glib-2.0.pc.in-use-isystem-dir-rather-than-Idir.patch
 
b/patches/glib-2.44.0/0001-glib-2.0.pc.in-use-isystem-dir-rather-than-Idir.patch
new file mode 100644
index 0000000..c524878
--- /dev/null
+++ 
b/patches/glib-2.44.0/0001-glib-2.0.pc.in-use-isystem-dir-rather-than-Idir.patch
@@ -0,0 +1,90 @@
+From: Jon Ringle <[email protected]>
+Date: Fri, 2 Oct 2015 22:44:07 -0400
+Subject: [PATCH] glib-2.0.pc.in: use '-isystem dir' rather than '-Idir'
+
+glib produces warnings in that gcc will turn to errors when a project builds
+with -Werror:
+/usr/include/glib-2.0/gio/glistmodel.h: In function 'GListModel* 
G_LIST_MODEL(gconstpointer)':
+/usr/include/glib-2.0/gobject/gtype.h:479:88: error: cast from type 
'gconstpointer {aka const void*}' to type 'GTypeInstance* {aka 
_GTypeInstance*}' casts away qualifiers [-Werror=cast-qual]
+ #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC 
((instance), (g_type), c_type))
+                                                                               
         ^
+/usr/include/glib-2.0/gobject/gtype.h:2186:57: note: in definition of macro 
'_G_TYPE_CIC'
+     ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
+                                                         ^
+/usr/include/glib-2.0/gobject/gtype.h:1565:12: note: in expansion of macro 
'G_TYPE_CHECK_INSTANCE_CAST'
+     return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), 
ModuleObjName); }               \
+            ^
+/usr/include/glib-2.0/gio/glistmodel.h:36:1: note: in expansion of macro 
'G_DECLARE_INTERFACE'
+ G_DECLARE_INTERFACE(GListModel, g_list_model, G, LIST_MODEL, GObject)
+ ^
+/usr/include/glib-2.0/gio/glistmodel.h: In function 'gboolean 
G_IS_LIST_MODEL(gconstpointer)':
+/usr/include/glib-2.0/gobject/gtype.h:491:88: error: cast from type 
'gconstpointer {aka const void*}' to type 'GTypeInstance* {aka 
_GTypeInstance*}' casts away qualifiers [-Werror=cast-qual]
+ #define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT 
((instance), (g_type)))
+                                                                               
         ^
+/usr/include/glib-2.0/gobject/gtype.h:2200:44: note: in definition of macro 
'_G_TYPE_CIT'
+   GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
+                                            ^
+/usr/include/glib-2.0/gobject/gtype.h:1567:12: note: in expansion of macro 
'G_TYPE_CHECK_INSTANCE_TYPE'
+     return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); } 
                             \
+            ^
+/usr/include/glib-2.0/gio/glistmodel.h:36:1: note: in expansion of macro 
'G_DECLARE_INTERFACE'
+ G_DECLARE_INTERFACE(GListModel, g_list_model, G, LIST_MODEL, GObject)
+ ^
+/usr/include/glib-2.0/gio/glistmodel.h: In function 'GListModelInterface* 
G_LIST_MODEL_GET_IFACE(gconstpointer)':
+/usr/include/glib-2.0/gobject/gtype.h:533:88: error: cast from type 
'gconstpointer {aka const void*}' to type 'GTypeInstance* {aka 
_GTypeInstance*}' casts away qualifiers [-Werror=cast-qual]
+ #define G_TYPE_INSTANCE_GET_INTERFACE(instance, g_type, c_type) (_G_TYPE_IGI 
((instance), (g_type), c_type))
+                                                                               
         ^
+/usr/include/glib-2.0/gobject/gtype.h:2196:89: note: in definition of macro 
'_G_TYPE_IGI'
+ #define _G_TYPE_IGI(ip, gt, ct)         ((ct*) g_type_interface_peek 
(((GTypeInstance*) ip)->g_class, gt))
+                                                                               
          ^
+/usr/include/glib-2.0/gobject/gtype.h:1569:12: note: in expansion of macro 
'G_TYPE_INSTANCE_GET_INTERFACE'
+     return G_TYPE_INSTANCE_GET_INTERFACE (ptr, module_obj_name##_get_type (), 
ModuleObjName##Interface); } \
+            ^
+/usr/include/glib-2.0/gio/glistmodel.h:36:1: note: in expansion of macro 
'G_DECLARE_INTERFACE'
+ G_DECLARE_INTERFACE(GListModel, g_list_model, G, LIST_MODEL, GObject)
+ ^
+/usr/include/glib-2.0/gio/gliststore.h: In function 'GListStore* 
G_LIST_STORE(gconstpointer)':
+/usr/include/glib-2.0/gobject/gtype.h:479:88: error: cast from type 
'gconstpointer {aka const void*}' to type 'GTypeInstance* {aka 
_GTypeInstance*}' casts away qualifiers [-Werror=cast-qual]
+ #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC 
((instance), (g_type), c_type))
+                                                                               
         ^
+/usr/include/glib-2.0/gobject/gtype.h:2186:57: note: in definition of macro 
'_G_TYPE_CIC'
+     ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
+                                                         ^
+/usr/include/glib-2.0/gobject/gtype.h:1396:12: note: in expansion of macro 
'G_TYPE_CHECK_INSTANCE_CAST'
+     return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), 
ModuleObjName); }             \
+            ^
+/usr/include/glib-2.0/gio/gliststore.h:36:1: note: in expansion of macro 
'G_DECLARE_FINAL_TYPE'
+ G_DECLARE_FINAL_TYPE(GListStore, g_list_store, G, LIST_STORE, GObject)
+ ^
+/usr/include/glib-2.0/gio/gliststore.h: In function 'gboolean 
G_IS_LIST_STORE(gconstpointer)':
+/usr/include/glib-2.0/gobject/gtype.h:491:88: error: cast from type 
'gconstpointer {aka const void*}' to type 'GTypeInstance* {aka 
_GTypeInstance*}' casts away qualifiers [-Werror=cast-qual]
+ #define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT 
((instance), (g_type)))
+                                                                               
         ^
+/usr/include/glib-2.0/gobject/gtype.h:2200:44: note: in definition of macro 
'_G_TYPE_CIT'
+   GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
+                                            ^
+/usr/include/glib-2.0/gobject/gtype.h:1398:12: note: in expansion of macro 
'G_TYPE_CHECK_INSTANCE_TYPE'
+     return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); } 
                           \
+            ^
+/usr/include/glib-2.0/gio/gliststore.h:36:1: note: in expansion of macro 
'G_DECLARE_FINAL_TYPE'
+ G_DECLARE_FINAL_TYPE(GListStore, g_list_store, G, LIST_STORE, GObject)
+ ^
+
+suppress these by using -isystem dir to include the directories so that a
+project using these headers compiled with -Werror doesn't fail
+
+Signed-off-by: Jon Ringle <[email protected]>
+---
+ glib-2.0.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
+index 275fc0163299..7b15ca91c5aa 100644
+--- a/glib-2.0.pc.in
++++ b/glib-2.0.pc.in
+@@ -13,4 +13,4 @@ Version: @VERSION@
+ Requires.private: @PCRE_REQUIRES@
+ Libs: -L${libdir} -lglib-2.0 @INTLLIBS@
+ Libs.private: @G_THREAD_LIBS@ @G_LIBS_EXTRA@ @PCRE_LIBS@ @INTLLIBS@ 
@ICONV_LIBS@ @CARBON_LIBS@ @COCOA_LIBS@
+-Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include 
@GLIB_EXTRA_CFLAGS@
++Cflags: -isystem ${includedir}/glib-2.0 -isystem ${libdir}/glib-2.0/include 
@GLIB_EXTRA_CFLAGS@
diff --git a/patches/glib-2.44.0/series b/patches/glib-2.44.0/series
new file mode 100644
index 0000000..01f3583
--- /dev/null
+++ b/patches/glib-2.44.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-glib-2.0.pc.in-use-isystem-dir-rather-than-Idir.patch
+# ff1ff15a8125aafbe83b77dcac75a37f  - git-ptx-patches magic
-- 
2.4.1


-- 
ptxdist mailing list
[email protected]

Reply via email to