pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/ruby-zlib Update to Ruby 1.8.2 base and thses ch...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7d325261a4a3
branches:  trunk
changeset: 488002:7d325261a4a3
user:      taca <taca%pkgsrc.org@localhost>
date:      Sun Jan 23 17:34:55 2005 +0000

description:
Update to Ruby 1.8.2 base and thses changes:

o Set RUBY_HAS_ARCHLIB=yes for Ruby packages including archtecture depending
  extention library in order to depend more specific Ruby.

o Apply some bug fixes.

        * ext/zlib/zlib.c (zstream_end): should return value.

        * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure
          freeing internal zstreams.  fixed: [ruby-dev:25309]

        * ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.

diffstat:

 devel/ruby-zlib/Makefile         |    4 +-
 devel/ruby-zlib/distinfo         |    5 +
 devel/ruby-zlib/patches/patch-aa |  166 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 173 insertions(+), 2 deletions(-)

diffs (200 lines):

diff -r 7fd247ebe4b1 -r 7d325261a4a3 devel/ruby-zlib/Makefile
--- a/devel/ruby-zlib/Makefile  Sun Jan 23 17:33:19 2005 +0000
+++ b/devel/ruby-zlib/Makefile  Sun Jan 23 17:34:55 2005 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2004/11/30 17:03:15 taca Exp $
+# $NetBSD: Makefile,v 1.5 2005/01/23 17:34:55 taca Exp $
 # FreeBSD: ports/archivers/ruby-zlib/Makefile,v 1.7 2000/09/26 22:01:12 knu Exp
 
 DISTNAME=              ${RUBY_DISTNAME}
@@ -10,10 +10,10 @@
 HOMEPAGE=              ${RUBY_HOMEPAGE}
 COMMENT=               Zlib library for Ruby
 
+RUBY_HAS_ARCHLIB=      yes
 RUBY_VERSION_SUPPORTED=        18
 USE_BUILDLINK3=                yes
 USE_RUBY_EXTCONF=      yes
-DISTINFO_FILE=         ${RUBY_DISTINFO_FILE}
 EXTRACT_ELEMENTS=      ${RUBY_DISTNAME}/ext/zlib
 WRKSRC=                        ${RUBY_WRKSRC}/ext/zlib
 
diff -r 7fd247ebe4b1 -r 7d325261a4a3 devel/ruby-zlib/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-zlib/distinfo  Sun Jan 23 17:34:55 2005 +0000
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.3 2005/01/23 17:34:55 taca Exp $
+
+SHA1 (ruby/ruby-1.8.2.tar.gz) = 409a917d3a0aba41f45bd053b767c85b2bc35ffa
+Size (ruby/ruby-1.8.2.tar.gz) = 3627349 bytes
+SHA1 (patch-aa) = acb62c1fdeec74fa0c1b7fe55067f780ce52fd57
diff -r 7fd247ebe4b1 -r 7d325261a4a3 devel/ruby-zlib/patches/patch-aa
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-zlib/patches/patch-aa  Sun Jan 23 17:34:55 2005 +0000
@@ -0,0 +1,166 @@
+$NetBSD: patch-aa,v 1.1 2005/01/23 17:34:55 taca Exp $
+
+--- ext/zlib/zlib.c.orig       2004-12-18 16:37:01.000000000 +0900
++++ ext/zlib/zlib.c
+@@ -55,7 +55,7 @@ static void zstream_reset_input _((struc
+ static void zstream_passthrough_input _((struct zstream*));
+ static VALUE zstream_detach_input _((struct zstream*));
+ static void zstream_reset _((struct zstream*));
+-static void zstream_end _((struct zstream*));
++static VALUE zstream_end _((struct zstream*));
+ static void zstream_run _((struct zstream*, Bytef*, uInt, int));
+ static VALUE zstream_sync _((struct zstream*, Bytef*, uInt));
+ static void zstream_mark _((struct zstream*));
+@@ -80,7 +80,8 @@ static VALUE rb_zstream_closed_p _((VALU
+ 
+ static VALUE rb_deflate_s_allocate _((VALUE));
+ static VALUE rb_deflate_initialize _((int, VALUE*, VALUE));
+-static VALUE rb_deflate_clone _((VALUE));
++static VALUE rb_deflate_init_copy _((VALUE, VALUE));
++static VALUE deflate_run _((VALUE));
+ static VALUE rb_deflate_s_deflate _((int, VALUE*, VALUE));
+ static void do_deflate _((struct zstream*, VALUE, int));
+ static VALUE rb_deflate_deflate _((int, VALUE*, VALUE));
+@@ -89,6 +90,7 @@ static VALUE rb_deflate_flush _((int, VA
+ static VALUE rb_deflate_params _((VALUE, VALUE, VALUE));
+ static VALUE rb_deflate_set_dictionary _((VALUE, VALUE));
+ 
++static VALUE inflate_run _((VALUE));
+ static VALUE rb_inflate_s_allocate _((VALUE));
+ static VALUE rb_inflate_initialize _((int, VALUE*, VALUE));
+ static VALUE rb_inflate_s_inflate _((VALUE, VALUE));
+@@ -667,7 +669,7 @@ zstream_reset(z)
+     zstream_reset_input(z);
+ }
+ 
+-static void
++static VALUE
+ zstream_end(z)
+     struct zstream *z;
+ {
+@@ -692,6 +694,7 @@ zstream_end(z)
+       raise_zlib_error(err, z->stream.msg);
+     }
+     z->flags = 0;
++    return Qnil;
+ }
+ 
+ static void
+@@ -1152,26 +1155,31 @@ rb_deflate_initialize(argc, argv, obj)
+  * Duplicates the deflate stream.
+  */
+ static VALUE
+-rb_deflate_clone(obj)
+-    VALUE obj;
++rb_deflate_init_copy(self, orig)
++    VALUE self, orig;
+ {
+-    struct zstream *z = get_zstream(obj);
+-    struct zstream *z2;
+-    VALUE clone;
++    struct zstream *z1 = get_zstream(self);
++    struct zstream *z2 = get_zstream(orig);
+     int err;
+ 
+-    clone = zstream_deflate_new(rb_class_of(obj));
+-    Data_Get_Struct(clone, struct zstream, z2);
+-
+-    err = deflateCopy(&z2->stream, &z->stream);
++    err = deflateCopy(&z1->stream, &z2->stream);
+     if (err != Z_OK) {
+       raise_zlib_error(err, 0);
+     }
++    z1->flags = z2->flags;
+ 
+-    z2->flags = z->flags;
+-    CLONESETUP(clone, obj);
+-    OBJ_INFECT(clone, obj);
+-    return clone;
++    return self;
++}
++
++static VALUE
++deflate_run(args)
++    VALUE args;
++{
++    struct zstream *z = (struct zstream *)((VALUE *)args)[0];
++    VALUE src = ((VALUE *)args)[1];
++
++    zstream_run(z, RSTRING(src)->ptr, RSTRING(src)->len, Z_FINISH);
++    return zstream_detach_buffer(z);
+ }
+ 
+ /*
+@@ -1201,7 +1209,7 @@ rb_deflate_s_deflate(argc, argv, klass)
+     VALUE klass;
+ {
+     struct zstream z;
+-    VALUE src, level, dst;
++    VALUE src, level, dst, args[2];
+     int err, lev;
+ 
+     rb_scan_args(argc, argv, "11", &src, &level);
+@@ -1215,9 +1223,9 @@ rb_deflate_s_deflate(argc, argv, klass)
+     }
+     ZSTREAM_READY(&z);
+ 
+-    zstream_run(&z, RSTRING(src)->ptr, RSTRING(src)->len, Z_FINISH);
+-    dst = zstream_detach_buffer(&z);
+-    zstream_end(&z);
++    args[0] = (VALUE)&z;
++    args[1] = src;
++    dst = rb_ensure(deflate_run, (VALUE)args, zstream_end, (VALUE)&z);
+ 
+     OBJ_INFECT(dst, src);
+     return dst;
+@@ -1239,6 +1247,18 @@ do_deflate(z, src, flush)
+     }
+ }
+ 
++static VALUE
++inflate_run(args)
++    VALUE args;
++{
++    struct zstream *z = (struct zstream *)((VALUE *)args)[0];
++    VALUE src = ((VALUE *)args)[1];
++
++    zstream_run(z, RSTRING(src)->ptr, RSTRING(src)->len, Z_SYNC_FLUSH);
++    zstream_run(z, "", 0, Z_FINISH);  /* for checking errors */
++    return zstream_detach_buffer(z);
++}
++
+ /*
+  * call-seq: deflate(string[, flush])
+  *
+@@ -1452,7 +1472,7 @@ rb_inflate_s_inflate(obj, src)
+     VALUE obj, src;
+ {
+     struct zstream z;
+-    VALUE dst;
++    VALUE dst, args[2];
+     int err;
+ 
+     StringValue(src);
+@@ -1463,10 +1483,9 @@ rb_inflate_s_inflate(obj, src)
+     }
+     ZSTREAM_READY(&z);
+ 
+-    zstream_run(&z, RSTRING(src)->ptr, RSTRING(src)->len, Z_SYNC_FLUSH);
+-    zstream_run(&z, "", 0, Z_FINISH);  /* for checking errors */
+-    dst = zstream_detach_buffer(&z);
+-    zstream_end(&z);
++    args[0] = (VALUE)&z;
++    args[1] = src;
++    dst = rb_ensure(inflate_run, (VALUE)args, zstream_end, (VALUE)&z);
+ 
+     OBJ_INFECT(dst, src);
+     return dst;
+@@ -3333,7 +3352,7 @@ void Init_zlib()
+     rb_define_singleton_method(cDeflate, "deflate", rb_deflate_s_deflate, -1);
+     rb_define_alloc_func(cDeflate, rb_deflate_s_allocate);
+     rb_define_method(cDeflate, "initialize", rb_deflate_initialize, -1);
+-    rb_define_method(cDeflate, "clone", rb_deflate_clone, 0);
++    rb_define_method(cDeflate, "initialize_copy", rb_deflate_init_copy, 0);
+     rb_define_method(cDeflate, "deflate", rb_deflate_deflate, -1);
+     rb_define_method(cDeflate, "<<", rb_deflate_addstr, 1);
+     rb_define_method(cDeflate, "flush", rb_deflate_flush, -1);



Home | Main Index | Thread Index | Old Index