From e94cedb60f09c43a0cffd293282d8d4d7cfed895 Mon Sep 17 00:00:00 2001
From: Lucian Poston <lucian.poston@gmail.com>
Date: Thu, 18 Jan 2018 15:17:33 -0800
Subject: x11-misc/gmrun: Add 0.9.2-r2 w/ gcc-6 pie patch

Closes: https://bugs.gentoo.org/640018

Package-Manager: Portage-2.3.19, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/6903
---
 x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch | 84 +++++++++++++++++++++++++
 x11-misc/gmrun/gmrun-0.9.2-r2.ebuild            | 37 +++++++++++
 2 files changed, 121 insertions(+)
 create mode 100644 x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch
 create mode 100644 x11-misc/gmrun/gmrun-0.9.2-r2.ebuild

(limited to 'x11-misc')

diff --git a/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch b/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch
new file mode 100644
index 000000000000..3ef46c7bd653
--- /dev/null
+++ b/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch
@@ -0,0 +1,84 @@
+From 351d355835532dbea8430902977873e887dd1c12 Mon Sep 17 00:00:00 2001
+From: Lucian Poston <lucian.poston@gmail.com>
+Date: Wed, 6 Dec 2017 04:22:28 -0800
+Subject: [PATCH] fix segfault in gcc-6
+
+---
+ src/gtkcompletionline.cc | 27 +++++++++++++++------------
+ src/gtkcompletionline.h  |  2 +-
+ 2 files changed, 16 insertions(+), 13 deletions(-)
+
+diff --git a/src/gtkcompletionline.cc b/src/gtkcompletionline.cc
+index eb324b5..537fafb 100644
+--- a/src/gtkcompletionline.cc
++++ b/src/gtkcompletionline.cc
+@@ -77,22 +77,25 @@ static gboolean
+ on_key_press(GtkCompletionLine *cl, GdkEventKey *event, gpointer data);
+ 
+ /* get_type */
+-guint gtk_completion_line_get_type(void)
++GType gtk_completion_line_get_type(void)
+ {
+-  static guint type = 0;
++  static GType type = 0;
+   if (type == 0)
+   {
+-    GtkTypeInfo type_info =
++    static const GTypeInfo type_info =
+     {
+-      "GtkCompletionLine",
+-      sizeof(GtkCompletionLine),
+       sizeof(GtkCompletionLineClass),
+-      (GtkClassInitFunc)gtk_completion_line_class_init,
+-      (GtkObjectInitFunc)gtk_completion_line_init,
+-      /*(GtkArgSetFunc)*/NULL /* reserved */,
+-      /*(GtkArgGetFunc)*/NULL /* reserved */
++      NULL,
++      NULL,
++      (GClassInitFunc)gtk_completion_line_class_init,
++      NULL,
++      NULL,
++      sizeof(GtkCompletionLine),
++      0,
++      (GInstanceInitFunc)gtk_completion_line_init,
++      NULL
+     };
+-    type = gtk_type_unique(gtk_entry_get_type(), &type_info);
++    type = g_type_register_static(GTK_TYPE_ENTRY, "GtkCompletionLine", &type_info, (GTypeFlags)0);
+   }
+   return type;
+ }
+@@ -114,7 +117,7 @@ gtk_completion_line_class_init(GtkCompletionLineClass *klass)
+ 
+   gtk_completion_line_signals[NOTUNIQUE] =
+     gtk_signal_new("notunique",
+-                   GTK_RUN_FIRST, G_TYPE_FROM_CLASS(object_class),
++                  GTK_RUN_FIRST, G_TYPE_FROM_CLASS(object_class),
+                    GTK_SIGNAL_OFFSET(GtkCompletionLineClass,
+                                      notunique),
+                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
+@@ -778,7 +781,7 @@ complete_line(GtkCompletionLine *object)
+ GtkWidget *
+ gtk_completion_line_new()
+ {
+-  return GTK_WIDGET(gtk_type_new(gtk_completion_line_get_type()));
++  return GTK_WIDGET(g_object_new(gtk_completion_line_get_type(), NULL));
+ }
+ 
+ static void
+diff --git a/src/gtkcompletionline.h b/src/gtkcompletionline.h
+index 5e14cd7..0d7f2dc 100644
+--- a/src/gtkcompletionline.h
++++ b/src/gtkcompletionline.h
+@@ -76,7 +76,7 @@ extern "C++" {
+     void (* cancel)(GtkCompletionLine *cl);
+   };
+ 
+-  guint gtk_completion_line_get_type(void);
++  GType gtk_completion_line_get_type(void);
+   GtkWidget *gtk_completion_line_new();
+ 
+   void gtk_completion_line_last_history_item(GtkCompletionLine*);
+-- 
+2.13.6
+
diff --git a/x11-misc/gmrun/gmrun-0.9.2-r2.ebuild b/x11-misc/gmrun/gmrun-0.9.2-r2.ebuild
new file mode 100644
index 000000000000..b2ce6fb13cbd
--- /dev/null
+++ b/x11-misc/gmrun/gmrun-0.9.2-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools
+
+DESCRIPTION="A GTK-2 based launcher box with bash style auto completion!"
+HOMEPAGE="https://sourceforge.net/projects/gmrun/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~ppc ~x86"
+
+RDEPEND="
+	dev-libs/glib:2
+	dev-libs/popt
+	x11-libs/gtk+:2
+"
+DEPEND="
+	${RDEPEND}
+	elibc_glibc? ( >=sys-libs/glibc-2.10 )
+	sys-apps/sed
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	eapply \
+		"${FILESDIR}"/${P}-gcc43.patch \
+		"${FILESDIR}"/${P}-gcc6-pie.patch \
+		"${FILESDIR}"/${P}-sysconfdir.patch \
+		"${FILESDIR}"/${P}-glibc210.patch \
+		"${FILESDIR}"/${P}-stlport.patch
+
+	eapply_user
+	eautoreconf
+}
-- 
cgit v1.2.3-65-gdbad