summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Dupeyron <calchan@gentoo.org>2016-08-12 12:19:40 -0600
committerDenis Dupeyron <calchan@gentoo.org>2016-08-12 12:20:10 -0600
commit62f5c51b744d94f8d5b2e07166a18dd192c0c9c9 (patch)
treee3583ca6ebfef160426cace16aec72468a6403d0
parentmate-extra/mate-power-manager: Drop dependency on gtk3 for mate-polkit (diff)
downloadgentoo-62f5c51b744d94f8d5b2e07166a18dd192c0c9c9.tar.gz
gentoo-62f5c51b744d94f8d5b2e07166a18dd192c0c9c9.tar.bz2
gentoo-62f5c51b744d94f8d5b2e07166a18dd192c0c9c9.zip
x11-libs/guile-gtk: fix bugs #577630 and #590786.
Package-Manager: portage-2.3.0
-rw-r--r--x11-libs/guile-gtk/files/2.1_migrate_gh_functions.patch60
-rw-r--r--x11-libs/guile-gtk/guile-gtk-2.1-r3.ebuild49
2 files changed, 109 insertions, 0 deletions
diff --git a/x11-libs/guile-gtk/files/2.1_migrate_gh_functions.patch b/x11-libs/guile-gtk/files/2.1_migrate_gh_functions.patch
new file mode 100644
index 00000000000..5a194874f15
--- /dev/null
+++ b/x11-libs/guile-gtk/files/2.1_migrate_gh_functions.patch
@@ -0,0 +1,60 @@
+diff -ur guile-gtk-2.1.orig/glade/glade-support.c guile-gtk-2.1/glade/glade-support.c
+--- guile-gtk-2.1.orig/glade/glade-support.c 2016-08-12 12:00:45.894290499 -0600
++++ guile-gtk-2.1/glade/glade-support.c 2016-08-12 12:02:33.186666585 -0600
+@@ -17,7 +17,6 @@
+
+ #include <glade/glade-xml.h>
+ #include <libguile.h>
+-#include <guile/gh.h>
+
+ #include "config.h"
+ #include "guile-gtk.h"
+@@ -83,7 +82,7 @@
+ sgtk_protshell *protshell;
+ GClosure *closure;
+
+- cb = scm_internal_cwdr ((scm_t_catch_body) gh_eval_str, (char*) handler_name,
++ cb = scm_internal_cwdr ((scm_t_catch_body) scm_c_eval_string, (char*) handler_name,
+ scm_handle_by_message_noexit, "glade",
+ &stack_item);
+
+diff -ur guile-gtk-2.1.orig/gtk-gl/gdk-gl-support.c guile-gtk-2.1/gtk-gl/gdk-gl-support.c
+--- guile-gtk-2.1.orig/gtk-gl/gdk-gl-support.c 2016-08-12 12:00:45.894290499 -0600
++++ guile-gtk-2.1/gtk-gl/gdk-gl-support.c 2016-08-12 12:02:19.530121760 -0600
+@@ -19,7 +19,6 @@
+ #include <gtkgl/gdkgl.h>
+
+ #include <libguile.h>
+-#include <guile/gh.h>
+
+ typedef struct {
+ char* name;
+@@ -100,7 +99,7 @@
+ if (! SCM_INUMP (s_value))
+ goto error;
+
+- *aptr++ = gh_scm2int (s_value);
++ *aptr++ = scm_to_int (s_value);
+ }
+ }
+ }
+diff -ur guile-gtk-2.1.orig/guile-gtk.c guile-gtk-2.1/guile-gtk.c
+--- guile-gtk-2.1.orig/guile-gtk.c 2016-08-12 12:00:45.890957197 -0600
++++ guile-gtk-2.1/guile-gtk.c 2016-08-12 12:01:59.346968496 -0600
+@@ -28,7 +28,6 @@
+ #include <gdk/gdkx.h>
+
+ #include <libguile.h>
+-#include <guile/gh.h>
+ #include <libguile/dynl.h>
+ #include <libguile/tags.h>
+
+@@ -2196,7 +2195,7 @@
+ #if 0
+ /* Gone in Gtk 2 */
+ case GTK_TYPE_CALLBACK:
+- return gh_procedure_p (obj);
++ return scm_is_true (scm_procedure_p (obj));
+ #endif
+ case G_TYPE_OBJECT:
+ return sgtk_is_a_gtkobj (type, obj);
diff --git a/x11-libs/guile-gtk/guile-gtk-2.1-r3.ebuild b/x11-libs/guile-gtk/guile-gtk-2.1-r3.ebuild
new file mode 100644
index 00000000000..c24b3ad3a08
--- /dev/null
+++ b/x11-libs/guile-gtk/guile-gtk-2.1-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+WANT_AUTOMAKE=1.9
+
+inherit autotools-utils virtualx
+
+DESCRIPTION="GTK+ bindings for guile"
+HOMEPAGE="https://www.gnu.org/software/guile-gtk/"
+SRC_URI="mirror://gnu/guile-gtk/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-scheme/guile-2[deprecated(+)]
+ x11-libs/gtk+:2
+ gnome-base/libglade:2.0
+ >=x11-libs/gtkglarea-1.90:2"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0-g-object-ref.diff
+ "${FILESDIR}"/${PV}-prll-install.patch
+ "${FILESDIR}"/${PV}-brokentest.patch
+ "${FILESDIR}"/${PV}_migrate_gh_functions.patch
+)
+
+src_prepare() {
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+ autotools-utils_src_prepare
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ autotools-utils_src_install
+ insinto /usr/share/doc/${PF}/
+ doins -r examples
+}