pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc Apply patches to fix SEGV by GC on Ruby 1.9 for Ruby/G...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/bf02e121e84f
branches:  trunk
changeset: 597641:bf02e121e84f
user:      obache <obache%pkgsrc.org@localhost>
date:      Fri Jan 06 13:34:50 2012 +0000

description:
Apply patches to fix SEGV by GC on Ruby 1.9 for Ruby/GLib2.

Bump PKGREVISION.

diffstat:

 devel/ruby-gnome2-glib/Makefile                                       |   3 +-
 meta-pkgs/ruby-gnome2/distinfo                                        |   4 +-
 meta-pkgs/ruby-gnome2/patches/patch-glib2_ext_glib2_rbgobj__closure.c |  39 ++++++++++
 3 files changed, 43 insertions(+), 3 deletions(-)

diffs (68 lines):

diff -r e3a4e81b328b -r bf02e121e84f devel/ruby-gnome2-glib/Makefile
--- a/devel/ruby-gnome2-glib/Makefile   Fri Jan 06 11:49:43 2012 +0000
+++ b/devel/ruby-gnome2-glib/Makefile   Fri Jan 06 13:34:50 2012 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.14 2011/06/12 11:43:33 obache Exp $
+# $NetBSD: Makefile,v 1.15 2012/01/06 13:34:51 obache Exp $
 #
 
 PKGNAME=               ${RUBY_PKGPREFIX}-gnome2-glib-${VERSION}
+PKGREVISION=           1
 COMMENT=               Ruby binding of GLib-2.x
 CATEGORIES=            devel
 
diff -r e3a4e81b328b -r bf02e121e84f meta-pkgs/ruby-gnome2/distinfo
--- a/meta-pkgs/ruby-gnome2/distinfo    Fri Jan 06 11:49:43 2012 +0000
+++ b/meta-pkgs/ruby-gnome2/distinfo    Fri Jan 06 13:34:50 2012 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.24 2011/10/03 14:19:43 obache Exp $
+$NetBSD: distinfo,v 1.25 2012/01/06 13:34:50 obache Exp $
 
 SHA1 (ruby-gnome2-all-1.0.3.tar.gz) = 2a280760e411e443e4e617ca5345a3301fbd609d
 RMD160 (ruby-gnome2-all-1.0.3.tar.gz) = bac4a901b3c09f548ced80c2a1cfbea482dc0ead
 Size (ruby-gnome2-all-1.0.3.tar.gz) = 1141565 bytes
-SHA1 (patch-vte_ext_vte_depend) = 291fd3d31ec17342fafdc001abe828551eb398a1
+SHA1 (patch-glib2_ext_glib2_rbgobj__closure.c) = ee99d5f3e4ed67bc1965368da0aa314d1fd2cf57
diff -r e3a4e81b328b -r bf02e121e84f meta-pkgs/ruby-gnome2/patches/patch-glib2_ext_glib2_rbgobj__closure.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/meta-pkgs/ruby-gnome2/patches/patch-glib2_ext_glib2_rbgobj__closure.c     Fri Jan 06 13:34:50 2012 +0000
@@ -0,0 +1,39 @@
+$NetBSD: patch-glib2_ext_glib2_rbgobj__closure.c,v 1.1 2012/01/06 13:34:50 obache Exp $
+
+* fix SEGV by GC on Ruby 1.9.
+  https://github.com/ruby-gnome2/ruby-gnome2/commit/b5ca012f55017dff95546d331aa87576432fbc32
+  https://github.com/ruby-gnome2/ruby-gnome2/commit/7c712c51181edc73d419007a31064321bd14c929
+
+--- glib2/ext/glib2/rbgobj_closure.c.orig      2011-09-18 02:48:35.000000000 +0000
++++ glib2/ext/glib2/rbgobj_closure.c
+@@ -148,8 +148,7 @@ rclosure_unref(GRClosure *rclosure)
+         g_list_free(rclosure->objects);
+         rclosure->objects = NULL;
+         if (!NIL_P(rclosure->rb_holder)) {
+-            RDATA(rclosure->rb_holder)->dmark = NULL;
+-            RDATA(rclosure->rb_holder)->dfree = NULL;
++            DATA_PTR(rclosure->rb_holder) = NULL;
+             rclosure->rb_holder = Qnil;
+         }
+     }
+@@ -178,13 +177,18 @@ rclosure_invalidate(gpointer data, GClos
+ static void
+ gr_closure_holder_mark(GRClosure *rclosure)
+ {
+-    rb_gc_mark(rclosure->callback);
+-    rb_gc_mark(rclosure->extra_args);
++    if (rclosure) {
++        rb_gc_mark(rclosure->callback);
++        rb_gc_mark(rclosure->extra_args);
++    }
+ }
+ 
+ static void
+ gr_closure_holder_free(GRClosure *rclosure)
+ {
++    if (!rclosure)
++      return;
++
+     if (rclosure->count > 0) {
+         rclosure->count = 1;
+ 



Home | Main Index | Thread Index | Old Index