diff options
Diffstat (limited to 'x11-misc/gmrun')
-rw-r--r-- | x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch | 84 | ||||
-rw-r--r-- | x11-misc/gmrun/gmrun-0.9.2-r2.ebuild | 37 |
2 files changed, 121 insertions, 0 deletions
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 +} |