Mon Apr 12 13:57:59 2010 UTC ()
Add a patch for Ruby's GC processing: [ruby-dev:40823].

Bump PKGREVISION.


(taca)
diff -r1.28 -r1.29 pkgsrc/devel/swig/Makefile
diff -r1.10 -r1.11 pkgsrc/devel/swig/distinfo
diff -r0 -r1.1 pkgsrc/devel/swig/patches/patch-ad

cvs diff -r1.28 -r1.29 pkgsrc/devel/swig/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/swig/Makefile 2010/02/04 16:10:47 1.28
+++ pkgsrc/devel/swig/Makefile 2010/04/12 13:57:59 1.29
@@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
1# $NetBSD: Makefile,v 1.28 2010/02/04 16:10:47 taca Exp $ 1# $NetBSD: Makefile,v 1.29 2010/04/12 13:57:59 taca Exp $
2 2
3DISTNAME= swig-1.3.36 3DISTNAME= swig-1.3.36
 4PKGREVISION= 1
4CATEGORIES= devel 5CATEGORIES= devel
5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=swig/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=swig/}
6 7
7# 8#
8# 1.3.37 has a bug where .py files are written to the directory of the 9# 1.3.37 has a bug where .py files are written to the directory of the
9# .i file instead of where the output is supposed to go, and this 10# .i file instead of where the output is supposed to go, and this
10# breaks gnuradio. Please try to contact gdt@netbsd.org before 11# breaks gnuradio. Please try to contact gdt@netbsd.org before
11# updating to 1.3.37. See message on discuss-gnuradio: 12# updating to 1.3.37. See message on discuss-gnuradio:
12# Message-Id: <FA0E4567-C660-4C30-B604-2FA000330874@alum.mit.edu> 13# Message-Id: <FA0E4567-C660-4C30-B604-2FA000330874@alum.mit.edu>
13# 14#
14# x11/ruby-wxruby-2.0.1 requires 1.3.32 for Ruby 1.8 and 1.3.37 for 15# x11/ruby-wxruby-2.0.1 requires 1.3.32 for Ruby 1.8 and 1.3.37 for
15# Ruby 1.9. And SWIG 1.3.39 introduced some incompatibility with 16# Ruby 1.9. And SWIG 1.3.39 introduced some incompatibility with
16# wxRuby, sigh. 17# wxRuby, sigh.

cvs diff -r1.10 -r1.11 pkgsrc/devel/swig/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/swig/distinfo 2010/02/04 15:39:39 1.10
+++ pkgsrc/devel/swig/distinfo 2010/04/12 13:57:59 1.11
@@ -1,7 +1,8 @@ @@ -1,7 +1,8 @@
1$NetBSD: distinfo,v 1.10 2010/02/04 15:39:39 taca Exp $ 1$NetBSD: distinfo,v 1.11 2010/04/12 13:57:59 taca Exp $
2 2
3SHA1 (swig-1.3.36.tar.gz) = eed715da3200f45cfe688a64ab6630eadf118ae4 3SHA1 (swig-1.3.36.tar.gz) = eed715da3200f45cfe688a64ab6630eadf118ae4
4RMD160 (swig-1.3.36.tar.gz) = bd57f6837de1dc3aebefd9ad23a52235deefcd33 4RMD160 (swig-1.3.36.tar.gz) = bd57f6837de1dc3aebefd9ad23a52235deefcd33
5Size (swig-1.3.36.tar.gz) = 4604982 bytes 5Size (swig-1.3.36.tar.gz) = 4604982 bytes
6SHA1 (patch-aa) = 66374c0708cfda23810bd5744e0c4bb0abc605f5 6SHA1 (patch-aa) = 66374c0708cfda23810bd5744e0c4bb0abc605f5
7SHA1 (patch-ab) = c690480ad10256c7198fc19699557e0b3f46b087 7SHA1 (patch-ab) = c690480ad10256c7198fc19699557e0b3f46b087
 8SHA1 (patch-ad) = f5787be95bb896cdba0f42587c4f586caed9b7a2

File Added: pkgsrc/devel/swig/patches/patch-ad
$NetBSD: patch-ad,v 1.1 2010/04/12 13:57:59 taca Exp $

* Fix GC mark processing: [ruby-dev:40823]

--- Lib/ruby/rubycontainer.swg.orig	2008-06-21 20:45:32.000000000 +0000
+++ Lib/ruby/rubycontainer.swg
@@ -1112,9 +1112,8 @@ namespace swig {
 	int i = 0;
 	for (const_iterator it = seq.begin();
 	     it != seq.end(); ++it, ++i) {
-	  RARRAY_PTR(obj)[i] = swig::from< value_type >(*it);
+	     rb_ary_push(obj, swig::from< value_type >(*it));
 	}
-	RARRAY_LEN(obj) = size;
 	rb_obj_freeze(obj);  // treat as immutable result
 	return obj;
       } else {