commit:     66da6ac358831d13347da35fafdd6b305b7c3b6b
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 23 21:10:04 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jan 23 21:10:21 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66da6ac3

sci-calculators/qalculate-gtk: Fix -Werror=format-security errors

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

 .../files/qalculate-gtk-0.9.7-entry.patch          |  4 +-
 .../qalculate-gtk-0.9.7-wformat-security.patch     | 48 ++++++++++++++++++++++
 .../qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild    | 44 ++++++++++++++++++++
 3 files changed, 94 insertions(+), 2 deletions(-)

diff --git 
a/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-entry.patch 
b/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-entry.patch
index 37fa0c0..104662e 100644
--- a/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-entry.patch
+++ b/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-entry.patch
@@ -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
index 0000000..dee57dd
--- /dev/null
+++ 
b/sci-calculators/qalculate-gtk/files/qalculate-gtk-0.9.7-wformat-security.patch
@@ -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
index 0000000..90f4170
--- /dev/null
+++ b/sci-calculators/qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild
@@ -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)
+}

Reply via email to