sci-calculators/qalculate-gtk: Fix -Werror=format-security errors
authorDavid Seifert <soap@gentoo.org>
Sat, 23 Jan 2016 21:10:04 +0000 (22:10 +0100)
committerDavid Seifert <soap@gentoo.org>
Sat, 23 Jan 2016 21:10:21 +0000 (22:10 +0100)
Gentoo-Bug: 541986
Update patch for eventual EAPI=6 update to gnome2.eclass by
making it patchable with -p1.

Package-Manager: portage-2.2.27

sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-entry.patch
sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-wformat-security.patch [new file with mode: 0644]
sci-calculators/qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild [new file with mode: 0644]

index 37fa0c02aa77519a60e9974cf3618747843e8fb3..104662e7c60834775fb58aa68dc33329cf931cf0 100644 (file)
@@ -1,7 +1,7 @@
 Update to latest freedesktop spec.
 
---- data/qalculate-gtk.desktop.in
-+++ data/qalculate-gtk.desktop.in
+--- qalculate-gtk-0.9.7/data/qalculate-gtk.desktop.in
++++ qalculate-gtk-0.9.7/data/qalculate-gtk.desktop.in
 @@ -1,11 +1,9 @@
  [Desktop Entry]
 -Encoding=UTF-8
diff --git a/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-wformat-security.patch b/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-wformat-security.patch
new file mode 100644 (file)
index 0000000..dee57dd
--- /dev/null
@@ -0,0 +1,48 @@
+Fix -Werror=format-security errors
+https://bugs.gentoo.org/show_bug.cgi?id=541986
+
+callbacks.cc: In function ‘void show_message(const gchar*, GtkWidget*)’:
+callbacks.cc:391:137: error: format not a string literal and no format arguments [-Werror=format-security]
+  GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, text);
+
+--- qalculate-gtk-0.9.7/src/callbacks.cc
++++ qalculate-gtk-0.9.7/src/callbacks.cc
+@@ -388,12 +388,12 @@
+ }
+ 
+ void show_message(const gchar *text, GtkWidget *win) {
+-      GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, text);
++      GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", text);
+       gtk_dialog_run(GTK_DIALOG(edialog));
+       gtk_widget_destroy(edialog);
+ }
+ bool ask_question(const gchar *text, GtkWidget *win) {
+-      GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO, text);
++      GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO, "%s", text);
+       int question_answer = gtk_dialog_run(GTK_DIALOG(edialog));
+       gtk_widget_destroy(edialog);
+       return question_answer == GTK_RESPONSE_YES;
+@@ -654,6 +654,7 @@
+                                       GTK_DIALOG_DESTROY_WITH_PARENT,
+                                       GTK_MESSAGE_INFO,
+                                       GTK_BUTTONS_CLOSE,
++                                      "%s",
+                                       CALCULATOR->message()->message().c_str());
+                       gtk_dialog_run(GTK_DIALOG(edialog));
+                       gtk_widget_destroy(edialog);
+@@ -667,6 +668,7 @@
+                                       GTK_DIALOG_DESTROY_WITH_PARENT,
+                                       GTK_MESSAGE_ERROR,
+                                       GTK_BUTTONS_CLOSE,
++                                      "%s",
+                                       str.c_str());
+               } else {
+                       edialog = gtk_message_dialog_new(
+@@ -674,6 +676,7 @@
+                                       GTK_DIALOG_DESTROY_WITH_PARENT,
+                                       GTK_MESSAGE_WARNING,
+                                       GTK_BUTTONS_CLOSE,
++                                      "%s",
+                                       str.c_str());
+               }
+ 
diff --git a/sci-calculators/qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild b/sci-calculators/qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild
new file mode 100644 (file)
index 0000000..90f4170
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG=no
+inherit eutils gnome2
+
+DESCRIPTION="Modern multi-purpose calculator"
+HOMEPAGE="http://qalculate.sourceforge.net/"
+SRC_URI="mirror://sourceforge/qalculate/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gnome"
+
+RDEPEND=">=sci-libs/libqalculate-0.9.7
+       >=sci-libs/cln-1.2
+       x11-libs/gtk+:2
+       gnome-base/libglade:2.0
+       gnome? ( >=gnome-base/libgnome-2 )"
+DEPEND="${RDEPEND}
+       app-text/rarian
+       sys-devel/gettext
+       dev-util/intltool
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${P}-entry.patch"
+       "${FILESDIR}/${P}-wformat-security.patch"
+)
+DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+src_prepare() {
+       # Required by src_test() and `make check`
+       echo data/periodictable.glade > po/POTFILES.skip || die
+       epatch -p1 "${PATCHES[@]}"
+       gnome2_src_prepare
+}
+
+src_configure() {
+       gnome2_src_configure $(use_with gnome libgnome)
+}