commit:     62f5c51b744d94f8d5b2e07166a18dd192c0c9c9
Author:     Denis Dupeyron <calchan <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 18:19:40 2016 +0000
Commit:     Denis Dupeyron <calchan <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 18:20:10 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62f5c51b

x11-libs/guile-gtk: fix bugs #577630 and #590786.

Package-Manager: portage-2.3.0

 .../guile-gtk/files/2.1_migrate_gh_functions.patch | 60 ++++++++++++++++++++++
 x11-libs/guile-gtk/guile-gtk-2.1-r3.ebuild         | 49 ++++++++++++++++++
 2 files changed, 109 insertions(+)

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 0000000..5a19487
--- /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 0000000..c24b3ad
--- /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
+}

Reply via email to