Skip to contentSkip to conversation

gtksourceview2 and mousepad: fix build error with gcc6

PATCH New Yi Zhao 1 participant 3 messages Jul 5, 2016

lore
Share & tools
lore

Yi Zhao

author
#0 lore raw

cover gtksourceview2 and mousepad: fix build error with gcc6

The following changes since commit 1cb7275961fd4bca3a6cb70e064ad6e6e1ff04d6:

gnome-terminal, toscoterm, vala-terminal, xfce4-terminal: use vte9 (2016-06-23 15:21:27 +0200)

are available in the git repository at:

git://git.openembedded.org/meta-openembedded-contrib yzhao/gcc6-fixes
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=yzhao/gcc6-fixes

Yi Zhao (2):
gtksourceview2: fix build with gcc6
mousepad: remove blacklist caused by gtksourceview2

 .../suppress-string-format-literal-warning.patch   | 33 ++++++++++++++++++++++
 .../gtksourceview/gtksourceview2_2.10.5.bb         |  3 +-
 meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb  |  1 -
 3 files changed, 34 insertions(+), 3 deletions(-)
 create mode 100644 meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/suppress-string-format-literal-warning.patch
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/2 gtksourceview2: fix build with gcc6

Fix build error:
../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c:
In function 'strdup_strftime':
../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c:1951:3:
error: format not a string literal, format string not checked [-Werror=format-nonliteral]
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, tm);
^~~~~~

A wrapper for strftime() would compile failed with -Werror=format-nonliteral in newer GCC. See GCC bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438

Since most of the strdup_strftime function code is taken from GLib's g_date_strftime() in gdate.c which already had a fix:
https://bugzilla.gnome.org/show_bug.cgi?id=761550

So this patch refers the glib fixes:
https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
https://git.gnome.org/browse/glib/commit/?id=8cdbc7fb2c8c876902e457abe46ee18a0b134486

---
 .../suppress-string-format-literal-warning.patch   | 33 ++++++++++++++++++++++
 .../gtksourceview/gtksourceview2_2.10.5.bb         |  3 +-
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/suppress-string-format-literal-warning.patch
meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/suppress-string-format-literal-warning.patch new file +33 -0
new file mode 100644
index 0000000..f9ae077
@@ -0,0 +1,33 @@
+Fix build error with gcc6:
+../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c: In function 'strdup_strftime':
+../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c:1951:3: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
+   tmplen = strftime (tmpbuf, tmpbufsize, locale_format, tm);
+   ^~~~~~
+
+Patch Reference:
+https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
+https://git.gnome.org/browse/glib/commit/?id=8cdbc7fb2c8c876902e457abe46ee18a0b134486
+
+Upstream-Status: Pending
+Signed-off-by: Yi Zhao <[email protected]>
+
+diff -Nurp gtksourceview-2.10.5.orig/gtksourceview/gtksourceprintcompositor.c gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c
+--- gtksourceview-2.10.5.orig/gtksourceview/gtksourceprintcompositor.c	2016-07-01 13:11:43.631173762 +0800
++++ gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c	2016-07-04 13:54:18.223726343 +0800
+@@ -1913,6 +1913,8 @@ setup_pango_layouts (GtkSourcePrintCompo
+  * GLIB - Library of useful routines for C programming
+  * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald */
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ static gchar *
+ strdup_strftime (const gchar *format, const struct tm *tm)
+ {
+@@ -1982,6 +1984,7 @@ strdup_strftime (const gchar *format, co
+ 
+ 	return convbuf;
+ }
++#pragma GCC diagnostic pop
+ 
+ static gchar *
+ evaluate_format_string (GtkSourcePrintCompositor *compositor,
meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb +1 -2
index 1820ba8..8d935b8 100644
@@ -15,6 +15,7 @@ inherit gnomebase lib_package gettext
 # overrule SRC_URI from gnome.conf
 SRC_URI = "${GNOME_MIRROR}/${PNAME}/${@gnome_verdir("${PV}")}/${PNAME}-${PV}.tar.bz2;name=archive \
            file://gtk-doc.make \
+           file://suppress-string-format-literal-warning.patch \
 "
 SRC_URI[archive.md5sum] = "1219ad1694df136f126507466aeb41aa"
 SRC_URI[archive.sha256sum] = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"
@@ -27,5 +28,3 @@ do_configure_prepend() {
 
 FILES_${PN} += " ${datadir}/gtksourceview-2.0"
 
-# http://errors.yoctoproject.org/Errors/Details/68609/
-PNBLACKLIST[gtksourceview2] ?= "BROKEN: fails to build with gcc-6"
Signature · 1 line
2.7.4
author
#2 lore raw

PATCH 2/2 mousepad: remove blacklist caused by gtksourceview2

In reply to Yi Zhao
---
 meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb | 1 -
 1 file changed, 1 deletion(-)
meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb +0 -1
index 3748a06..e87dea7 100644
@@ -18,4 +18,3 @@ EXTRA_OECONF = "--disable-gtk3"
 
 FILES_${PN} += "${datadir}/glib-2.0/schemas"
 
-PNBLACKLIST[mousepad] ?= "Depends on broken gtksourceview2"
Signature · 1 line
2.7.4