This updates ruby-ncurses from 1.1 to 1.2.1.  This fixes a fairly
important issue, which is that 1.1 does not run correctly on ruby 1.9,
and currently we build a ruby 1.9 version by default.  I didn't catch
this in the update to make ruby 1.9 the default version, because it does
compile and load correctly 1.9.  However, running the examples that ship
with ruby-ncurses ruby 1.9 to segfault.

This switches the upstream for the library, since the previous author
abandoned it.  It's now maintained on GitHub, and is distributed as a
gem instead of tar.bz2.

Since this is a C extension gem, I'd like to treat it similarly to the
other C extension gems, and build versions for both ruby 1.8 and 1.9
by default.

Tested on i386 and amd64.  OKs?

Thanks,
Jeremy

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/ruby-ncurses/Makefile,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile
--- Makefile    23 Sep 2012 16:57:34 -0000      1.34
+++ Makefile    8 Oct 2012 13:31:37 -0000
@@ -2,37 +2,23 @@
 
 COMMENT=               Ruby interface to ncurses
 
-VERSION=               1.1
+VERSION=               1.2.1
 DISTNAME=              ncurses-ruby-${VERSION}
 PKGNAME=               ncurses-${VERSION}
-REVISION=              14
 CATEGORIES=            devel
 
-HOMEPAGE=              http://ncurses-ruby.berlios.de/
+HOMEPAGE=              https://github.com/eclubb/ncurses-ruby
 
-# LGPL
+# LGPL 2.1
 PERMIT_PACKAGE_CDROM=  Yes
 PERMIT_PACKAGE_FTP=    Yes
 PERMIT_DISTFILES_CDROM=        Yes
 PERMIT_DISTFILES_FTP=  Yes
-WANTLIB=               form ncurses panel
 
-MASTER_SITES=          ${MASTER_SITE_BERLIOS:=ncurses-ruby/}
-EXTRACT_SUFX=          .tar.bz2
+WANTLIB=               form menu ncurses panel
 
 MODULES=               lang/ruby
 
-CONFIGURE_STYLE=       ruby extconf
+CONFIGURE_STYLE=       ruby gem ext
 
-INSTALL_TARGET=                site-install
-
-DOC_DIR=               ${MODRUBY_DOCDIR}/ncurses
-SAMPLE_DIR=            ${MODRUBY_EXAMPLEDIR}/ncurses
-
-post-install:
-       ${INSTALL_DATA_DIR} ${DOC_DIR}
-       ${INSTALL_DATA} ${WRKSRC}/README ${DOC_DIR}
-       ${INSTALL_DATA_DIR} ${SAMPLE_DIR}
-       ${INSTALL_DATA} ${WRKSRC}/examples/* ${SAMPLE_DIR}
-               
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/ruby-ncurses/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo    17 Dec 2007 20:11:53 -0000      1.5
+++ distinfo    8 Oct 2012 13:18:22 -0000
@@ -1,5 +1,2 @@
-MD5 (ncurses-ruby-1.1.tar.bz2) = yW/2ovuXGuzOvjPPxrRgNQ==
-RMD160 (ncurses-ruby-1.1.tar.bz2) = 2Qdsu8KARtUBcgMEn0wOAmQD68Q=
-SHA1 (ncurses-ruby-1.1.tar.bz2) = 9Qpursg2hFzevRFnYKsOHOXB11s=
-SHA256 (ncurses-ruby-1.1.tar.bz2) = 
cG7RN8NGRO24ZC5X4Zon+Y03NcStTONQ/2ogbVlneF8=
-SIZE (ncurses-ruby-1.1.tar.bz2) = 46327
+SHA256 (ncurses-ruby-1.2.1.gem) = oa9B6DPmOx6PwybSvKYaRzafd/9Sw/yvllZ/XJVJ2jc=
+SIZE (ncurses-ruby-1.2.1.gem) = 65024
Index: patches/patch-form_wrap_c
===================================================================
RCS file: patches/patch-form_wrap_c
diff -N patches/patch-form_wrap_c
--- patches/patch-form_wrap_c   19 Jul 2011 18:04:21 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-$OpenBSD: patch-form_wrap_c,v 1.1 2011/07/19 18:04:21 jeremy Exp $
---- form_wrap.c.orig   Tue Jul 19 09:13:14 2011
-+++ form_wrap.c        Tue Jul 19 09:14:49 2011
-@@ -394,7 +394,7 @@ static void reg_proc(void* owner, int hook, VALUE proc
-  */
- static VALUE rbncurs_m_new_form(VALUE dummy, VALUE rb_field_array)
- {
--  long n = RARRAY(rb_field_array)->len;
-+  long n = RARRAY_LEN(rb_field_array);
-   /* Will ncurses free this array? If not, must do it after calling 
free_form(). */
-   FIELD** fields = ALLOC_N(FIELD*, (n+1));
-   long i;  
-@@ -618,7 +618,7 @@ static VALUE rbncurs_c_set_field_type(int argc, VALUE*
-               rb_raise(rb_eArgError, "TYPE_ENUM requires three additional 
arguments");
-        }
-     else {
--              int n = RARRAY(arg3)->len;
-+              int n = RARRAY_LEN(arg3);
-               /*  Will ncurses free this array of strings in free_field()? */
-               char** list = ALLOC_N(char*, n+1);
-               int i;
-@@ -777,7 +777,7 @@ static VALUE rbncurs_m_set_max_field(VALUE dummy, VALU
-  * form_field
-  */
- static VALUE rbncurs_c_set_form_fields(VALUE rb_form, VALUE rb_field_array) {
--  long n = RARRAY(rb_field_array)->len;
-+  long n = RARRAY_LEN(rb_field_array);
-   /*  If ncurses does not free memory used by the previous array of strings, 
*/
-   /*  we will have to do it now. */
-   FIELD** fields = ALLOC_N(FIELD*, (n+1));
-@@ -1125,7 +1125,7 @@ static void* make_arg(va_list* ap) {     
-        VALUE argc = rb_funcall(proc, rb_intern("arity"),0);
-        VALUE args = get_proc(field, FIELDTYPE_ARGS);
-        if (args != Qnil) {            
--              if (NUM2INT(argc)-1 != RARRAY(args)->len) {     
-+              if (NUM2INT(argc)-1 != RARRAY_LEN(args)) {      
-                 char msg[500];
-                 snprintf(msg, 500, "The validation functions for this field 
type need %d additional arguments.",NUM2INT(argc)-1);
-                 msg[499]=0;
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/ruby-ncurses/pkg/PLIST,v
retrieving revision 1.7
diff -u -p -r1.7 PLIST
--- pkg/PLIST   19 Jul 2011 18:04:21 -0000      1.7
+++ pkg/PLIST   8 Oct 2012 13:20:07 -0000
@@ -1,17 +1,42 @@
-@comment $OpenBSD: PLIST,v 1.7 2011/07/19 18:04:21 jeremy Exp $
-${MODRUBY_SITEDIR}/ncurses.rb
-${MODRUBY_SITEARCHDIR}/ncurses_bin.so
-${MODRUBY_RELDOCDIR}/
-${MODRUBY_RELDOCDIR}/ncurses/
-${MODRUBY_RELDOCDIR}/ncurses/README
-${MODRUBY_RELEXAMPLEDIR}/
-${MODRUBY_RELEXAMPLEDIR}/ncurses/
-${MODRUBY_RELEXAMPLEDIR}/ncurses/LICENSES_for_examples
-${MODRUBY_RELEXAMPLEDIR}/ncurses/example.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/form.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/form2.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/hello_ncurses.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/rain.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/read_line.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/tclock.rb
-${MODRUBY_RELEXAMPLEDIR}/ncurses/test_scanw.rb
+@comment $OpenBSD$
+${GEM_LIB}/cache/${DISTNAME}.gem
+${GEM_LIB}/gems/${DISTNAME}/
+${GEM_LIB}/gems/${DISTNAME}/COPYING
+${GEM_LIB}/gems/${DISTNAME}/Changes
+${GEM_LIB}/gems/${DISTNAME}/README
+${GEM_LIB}/gems/${DISTNAME}/THANKS
+${GEM_LIB}/gems/${DISTNAME}/TODO
+${GEM_LIB}/gems/${DISTNAME}/examples/
+${GEM_LIB}/gems/${DISTNAME}/examples/LICENSES_for_examples
+${GEM_LIB}/gems/${DISTNAME}/examples/example.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/form.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/form2.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/hello_ncurses.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/rain.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/read_line.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/tclock.rb
+${GEM_LIB}/gems/${DISTNAME}/examples/test_scanw.rb
+${GEM_LIB}/gems/${DISTNAME}/ext/
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/Makefile
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/extconf.rb
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/form_wrap.c
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/form_wrap.h
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/form_wrap.o
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/menu_wrap.c
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/menu_wrap.h
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/menu_wrap.o
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/mkmf.log
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/ncurses.so
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/ncurses_wrap.c
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/ncurses_wrap.h
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/ncurses_wrap.o
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/panel_wrap.c
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/panel_wrap.h
+${GEM_LIB}/gems/${DISTNAME}/ext/ncurses/panel_wrap.o
+${GEM_LIB}/gems/${DISTNAME}/lib/
+${GEM_LIB}/gems/${DISTNAME}/lib/ncurses-ruby/
+${GEM_LIB}/gems/${DISTNAME}/lib/ncurses-ruby/version.rb
+${GEM_LIB}/gems/${DISTNAME}/lib/ncurses.rb
+${GEM_LIB}/gems/${DISTNAME}/lib/ncurses.so
+${GEM_LIB}/specifications/${DISTNAME}.gemspec

Reply via email to