diff options
Diffstat (limited to 'redhat/tdebindings/kdebindings-3.5.13-ruby_1.9.patch')
-rw-r--r-- | redhat/tdebindings/kdebindings-3.5.13-ruby_1.9.patch | 691 |
1 files changed, 691 insertions, 0 deletions
diff --git a/redhat/tdebindings/kdebindings-3.5.13-ruby_1.9.patch b/redhat/tdebindings/kdebindings-3.5.13-ruby_1.9.patch new file mode 100644 index 000000000..481f0441d --- /dev/null +++ b/redhat/tdebindings/kdebindings-3.5.13-ruby_1.9.patch @@ -0,0 +1,691 @@ +diff -urN tdebindings/korundum/bin/Makefile.am tdebindings.new/korundum/bin/Makefile.am +--- tdebindings/korundum/bin/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/bin/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -1,4 +1,4 @@ +-INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + + bin_PROGRAMS = krubyinit + krubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/kde/ -L$(RUBY_LIBDIR) -lkmdi -lknewstuff +diff -urN tdebindings/korundum/bin/krubyinit.cpp tdebindings.new/korundum/bin/krubyinit.cpp +--- tdebindings/korundum/bin/krubyinit.cpp 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/bin/krubyinit.cpp 2012-02-25 22:13:38.000000000 -0600 +@@ -24,6 +24,6 @@ + int main(int argc, char **argv) { + ruby_init(); + ruby_script((char*)script_name); +- ruby_options(argc, argv); +- ruby_run(); ++ void* node = ruby_options(argc, argv); ++ ruby_run_node(node); + } +diff -urN tdebindings/korundum/rubylib/korundum/Korundum.cpp tdebindings.new/korundum/rubylib/korundum/Korundum.cpp +--- tdebindings/korundum/rubylib/korundum/Korundum.cpp 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/rubylib/korundum/Korundum.cpp 2012-02-25 22:13:50.000000000 -0600 +@@ -805,7 +805,7 @@ + // isn't in the Smoke runtime + TQValueList<DCOPRef> windowList; + +- for (long i = 0; i < RARRAY(result)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(result); i++) { + VALUE item = rb_ary_entry(result, i); + smokeruby_object *o = value_obj_info(item); + if( !o || !o->ptr) +@@ -822,7 +822,7 @@ + // And special case this type too + TQValueList<TQCString> propertyList; + +- for (long i = 0; i < RARRAY(result)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(result); i++) { + VALUE item = rb_ary_entry(result, i); + propertyList.append(TQCString(StringValuePtr(item))); + } +@@ -836,7 +836,7 @@ + // Convert the ruby hash to an array of key/value arrays + VALUE temp = rb_funcall(result, rb_intern("to_a"), 0); + +- for (long i = 0; i < RARRAY(temp)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(temp); i++) { + VALUE action = rb_ary_entry(rb_ary_entry(temp, i), 0); + VALUE item = rb_ary_entry(rb_ary_entry(temp, i), 1); + +@@ -926,7 +926,7 @@ + { + VALUE dcopObject = rb_funcall(kde_module, rb_intern("createDCOPObject"), 1, self); + +- TQString signalname(rb_id2name(rb_frame_last_func())); ++ TQString signalname(rb_id2name(rb_frame_this_func())); + VALUE args = getdcopinfo(self, signalname); + + if(args == Qnil) return Qfalse; +@@ -1020,7 +1020,7 @@ + + if (rb_funcall(kde_module, rb_intern("hasDCOPSignals"), 1, klass) == Qtrue) { + VALUE signalNames = rb_funcall(kde_module, rb_intern("getDCOPSignalNames"), 1, klass); +- for (long index = 0; index < RARRAY(signalNames)->len; index++) { ++ for (long index = 0; index < RARRAY_LEN(signalNames); index++) { + VALUE signal = rb_ary_entry(signalNames, index); + rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) k_dcop_signal, -1); + } +@@ -1088,9 +1088,9 @@ + TQStrList *args = new TQStrList; + + if (value_args != Qnil) { +- for (long i = 0; i < RARRAY(value_args)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(value_args); i++) { + VALUE item = rb_ary_entry(value_args, i); +- args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING(item)->len)); ++ args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING_LEN(item))); + } + } + +diff -urN tdebindings/korundum/rubylib/korundum/Makefile.am tdebindings.new/korundum/rubylib/korundum/Makefile.am +--- tdebindings/korundum/rubylib/korundum/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/rubylib/korundum/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -1,6 +1,6 @@ +-INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + +-rubylibdir = $(RUBY_ARCHDIR) ++rubylibdir = $(RUBY_LIBDIR) + rubylib_LTLIBRARIES = korundum.la + korundum_la_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 + korundum_la_METASOURCES = AUTO +diff -urN tdebindings/korundum/rubylib/korundum/configure.in.in tdebindings.new/korundum/rubylib/korundum/configure.in.in +--- tdebindings/korundum/rubylib/korundum/configure.in.in 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/rubylib/korundum/configure.in.in 2012-02-25 22:12:17.000000000 -0600 +@@ -8,10 +8,30 @@ + RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'` + RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'` +- AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR]) ++ RUBY_LIBDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` ++ if test -n "ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then ++ # Ruby 1.9 ++ RUBY_INCLUDEDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'` ++ RUBY_VERSION_H=ruby/version.h ++ else ++ # not Ruby 1.9 ++ RUBY_INCLUDEDIR=$RUBY_ARCHDIR ++ RUBY_VERSION_H=version.h ++ fi ++ RUBY_LIBRUBYARG=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` ++ AC_MSG_RESULT([ ++ archdir $RUBY_ARCHDIR, ++ sitearchdir $RUBY_SITEARCHDIR, ++ sitedir $RUBY_SITEDIR, ++ libdir $RUBY_LIBDIR, ++ includedir $RUBY_INCLUDEDIR, ++ librubyarg $RUBY_LIBRUBYARG]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) +- AC_SUBST(RUBY_RUBYLIBDIR) + AC_SUBST(RUBY_SITEDIR) ++ AC_SUBST(RUBY_RUBYLIBDIR) ++ AC_SUBST(RUBY_LIBDIR) ++ AC_SUBST(RUBY_INCLUDEDIR) ++ AC_SUBST(RUBY_LIBRUBYARG) + fi + +diff -urN tdebindings/korundum/rubylib/korundum/kdehandlers.cpp tdebindings.new/korundum/rubylib/korundum/kdehandlers.cpp +--- tdebindings/korundum/rubylib/korundum/kdehandlers.cpp 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/korundum/rubylib/korundum/kdehandlers.cpp 2012-02-25 22:14:03.000000000 -0600 +@@ -122,7 +122,7 @@ + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + QCStringList *stringlist = new QCStringList; + + for(long i = 0; i < count; i++) { +@@ -131,7 +131,7 @@ + stringlist->append(TQCString()); + continue; + } +- stringlist->append(TQCString(StringValuePtr(item), RSTRING(item)->len + 1)); ++ stringlist->append(TQCString(StringValuePtr(item), RSTRING_LEN(item) + 1)); + } + + m->item().s_voidp = stringlist; +@@ -184,19 +184,19 @@ + VALUE optionslist = *(m->var()); + if (optionslist == Qnil + || TYPE(optionslist) != T_ARRAY +- || RARRAY(optionslist)->len == 0 ) ++ || RARRAY_LEN(optionslist) == 0 ) + { + m->item().s_voidp = 0; + break; + } + + // Allocate 'length + 1' entries, to include an all NULLs last entry +- KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY(optionslist)->len + 1, ++ KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY_LEN(optionslist) + 1, + sizeof(struct KCmdLineOptions) ); + + VALUE options; + long i; +- for(i = 0; i < RARRAY(optionslist)->len; i++) { ++ for(i = 0; i < RARRAY_LEN(optionslist); i++) { + options = rb_ary_entry(optionslist, i); + VALUE temp = rb_ary_entry(options, 0); + cmdLineOptions[i].name = StringValuePtr(temp); +@@ -244,7 +244,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQValueList<WId> *valuelist = new TQValueList<WId>; + long i; + for(i = 0; i < count; i++) { +@@ -815,7 +815,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + KURL::List *kurllist = new KURL::List; + long i; + for(i = 0; i < count; i++) { +@@ -916,11 +916,11 @@ + + KIO::UDSEntryList *cpplist = new KIO::UDSEntryList; + +- for(long i = 0; i < RARRAY(list)->len; i++) { ++ for(long i = 0; i < RARRAY_LEN(list); i++) { + VALUE item = rb_ary_entry(list, i); + KIO::UDSEntry *cppsublist = new KIO::UDSEntry; + +- for (int j = 0; j < RARRAY(item)->len; j++) { ++ for (int j = 0; j < RARRAY_LEN(item); j++) { + VALUE subitem = rb_ary_entry(item, j); + smokeruby_object *o = value_obj_info(subitem); + if(!o || !o->ptr) +@@ -998,7 +998,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + ItemList *cpplist = new ItemList; + long i; + for(i = 0; i < count; i++) { +@@ -1103,7 +1103,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + ItemList *cpplist = new ItemList; + long i; + for(i = 0; i < count; i++) { +@@ -1211,7 +1211,7 @@ + // Convert the ruby hash to an array of key/value arrays + VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); + +- for (long i = 0; i < RARRAY(temp)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(temp); i++) { + VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); + VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); + +@@ -1316,7 +1316,7 @@ + // Convert the ruby hash to an array of key/value arrays + VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); + +- for (long i = 0; i < RARRAY(temp)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(temp); i++) { + VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); + VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); + +diff -urN tdebindings/qtruby/bin/Makefile.am tdebindings.new/qtruby/bin/Makefile.am +--- tdebindings/qtruby/bin/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/bin/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -1,4 +1,4 @@ +-INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + + bin_PROGRAMS = qtrubyinit + qtrubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/qt/ -L$(RUBY_LIBDIR) +diff -urN tdebindings/qtruby/bin/qtrubyinit.cpp tdebindings.new/qtruby/bin/qtrubyinit.cpp +--- tdebindings/qtruby/bin/qtrubyinit.cpp 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/bin/qtrubyinit.cpp 2012-02-25 22:13:23.000000000 -0600 +@@ -24,6 +24,6 @@ + int main(int argc, char **argv) { + ruby_init(); + ruby_script((char*)script_name); +- ruby_options(argc, argv); +- ruby_run(); ++ void* node = ruby_options(argc, argv); ++ ruby_run_node(node); + } +diff -urN tdebindings/qtruby/rubylib/designer/rbuic/Makefile.am tdebindings.new/qtruby/rubylib/designer/rbuic/Makefile.am +--- tdebindings/qtruby/rubylib/designer/rbuic/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/designer/rbuic/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -4,7 +4,7 @@ + bin_PROGRAMS = rbuic + noinst_LTLIBRARIES = librbuic.la + +-INCLUDES = $(all_includes) ++INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + + METASOURCES = AUTO + +@@ -12,8 +12,8 @@ + librbuic_la_LIBADD = $(LIB_QT) $(LIBZ) + + rbuic_SOURCES = main.cpp +-rbuic_LDADD = librbuic.la $(all_libraries) +-rbuic_LDFLAGS = ++rbuic_LDADD = librbuic.la $(all_libraries) ++rbuic_LDFLAGS = + + EXTRA_DIST = domtool.cpp domtool.h embed.cpp form.cpp globaldefs.h main.cpp object.cpp parser.cpp parser.h subclassing.cpp uic.cpp uic.h widgetdatabase.cpp widgetdatabase.h widgetinterface.h + +diff -urN tdebindings/qtruby/rubylib/designer/uilib/Makefile.am tdebindings.new/qtruby/rubylib/designer/uilib/Makefile.am +--- tdebindings/qtruby/rubylib/designer/uilib/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/designer/uilib/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -1,6 +1,6 @@ +-INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + +-rubylibdir = $(RUBY_ARCHDIR) ++rubylibdir = $(RUBY_LIBDIR) + rubylib_LTLIBRARIES = qui.la + qui_la_SOURCES = qui.cpp + qui_la_LDFLAGS = -module -export-dynamic $(all_libraries) -version-info 0:0:0 +diff -urN tdebindings/qtruby/rubylib/qtruby/Makefile.am tdebindings.new/qtruby/rubylib/qtruby/Makefile.am +--- tdebindings/qtruby/rubylib/qtruby/Makefile.am 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/qtruby/Makefile.am 2012-02-25 22:12:17.000000000 -0600 +@@ -1,4 +1,4 @@ +-INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt + + noinst_HEADERS = qtruby.h marshall.h smokeruby.h extconf.rb + +diff -urN tdebindings/qtruby/rubylib/qtruby/Qt.cpp tdebindings.new/qtruby/rubylib/qtruby/Qt.cpp +--- tdebindings/qtruby/rubylib/qtruby/Qt.cpp 2012-02-21 13:58:54.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/qtruby/Qt.cpp 2012-02-25 22:12:52.000000000 -0600 +@@ -110,7 +110,7 @@ + }; + + #define logger logger_backend +-void rb_str_catf(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); ++void rb_str_catf_1(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); + + static VALUE (*_new_kde)(int, VALUE *, VALUE) = 0; + static VALUE (*_kconfigskeletonitem_immutable)(VALUE) = 0; +@@ -820,7 +820,7 @@ + } + }; + +-void rb_str_catf(VALUE self, const char *format, ...) ++void rb_str_catf_1(VALUE self, const char *format, ...) + { + va_list ap; + va_start(ap, format); +@@ -985,16 +985,16 @@ + VALUE r = rb_str_new2(""); + Smoke::Method &meth = qt_Smoke->methods[id]; + const char *tname = qt_Smoke->types[meth.ret].name; +- if(meth.flags & Smoke::mf_static) rb_str_catf(r, "static "); +- rb_str_catf(r, "%s ", (tname ? tname:"void")); +- rb_str_catf(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); ++ if(meth.flags & Smoke::mf_static) rb_str_catf_1(r, "static "); ++ rb_str_catf_1(r, "%s ", (tname ? tname:"void")); ++ rb_str_catf_1(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); + for(int i = 0; i < meth.numArgs; i++) { +- if(i) rb_str_catf(r, ", "); ++ if(i) rb_str_catf_1(r, ", "); + tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; +- rb_str_catf(r, "%s", (tname ? tname:"void")); ++ rb_str_catf_1(r, "%s", (tname ? tname:"void")); + } +- rb_str_catf(r, ")"); +- if(meth.flags & Smoke::mf_const) rb_str_catf(r, " const"); ++ rb_str_catf_1(r, ")"); ++ if(meth.flags & Smoke::mf_const) rb_str_catf_1(r, " const"); + return r; + } + +@@ -1177,7 +1177,7 @@ + // Start with #<Qt::HBoxLayout:0x30139030> from the original inspect() call + // Drop the closing '>' + VALUE inspect_str = rb_call_super(0, 0); +- rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); ++ rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); + + smokeruby_object * o = 0; + Data_Get_Struct(self, smokeruby_object, o); +@@ -1220,7 +1220,7 @@ + // Start with #<Qt::HBoxLayout:0x30139030> + // Drop the closing '>' + VALUE inspect_str = rb_funcall(self, rb_intern("to_s"), 0, 0); +- rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); ++ rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); + rb_funcall(pp, rb_intern("text"), 1, inspect_str); + rb_funcall(pp, rb_intern("breakable"), 0); + +@@ -1236,7 +1236,7 @@ + VALUE obj = getPointerObject(qobject->parent()); + if (obj != Qnil) { + VALUE parent_inspect_str = rb_funcall(obj, rb_intern("to_s"), 0, 0); +- rb_str_resize(parent_inspect_str, RSTRING(parent_inspect_str)->len - 1); ++ rb_str_resize(parent_inspect_str, RSTRING_LEN(parent_inspect_str) - 1); + parentInspectString = StringValuePtr(parent_inspect_str); + } else { + parentInspectString.sprintf("#<%s:0x0", qobject->parent()->className()); +@@ -1382,7 +1382,7 @@ + return *(c.var()); + } else if ( argc == 1 + && TYPE(argv[0]) == T_ARRAY +- && RARRAY(argv[0])->len > 0 ++ && RARRAY_LEN(argv[0]) > 0 + && TYPE(rb_ary_entry(argv[0], 0)) != T_STRING ) + { + _current_method = new_qvariant_qlist; +@@ -1741,7 +1741,7 @@ + VALUE * local_argv = (VALUE *) calloc(argc + 1, sizeof(VALUE)); + VALUE temp = rb_ary_dup(argv[0]); + rb_ary_unshift(temp, rb_gv_get("$0")); +- local_argv[0] = INT2NUM(RARRAY(temp)->len); ++ local_argv[0] = INT2NUM(RARRAY_LEN(temp)); + local_argv[1] = temp; + result = new_qt(2, local_argv, klass); + free(local_argv); +@@ -1772,7 +1772,7 @@ + VALUE + getmetainfo(VALUE self, int &offset, int &index) + { +- const char * signalname = rb_id2name(rb_frame_last_func()); ++ const char * signalname = rb_id2name(rb_frame_this_func()); + VALUE metaObject_value = rb_funcall(qt_internal_module, rb_intern("getMetaObject"), 1, self); + + smokeruby_object *ometa = value_obj_info(metaObject_value); +@@ -1862,7 +1862,7 @@ + // Now, I need to find out if this means me + int index; + char *slotname; +- bool isSignal = qstrcmp(rb_id2name(rb_frame_last_func()), "qt_emit") == 0; ++ bool isSignal = qstrcmp(rb_id2name(rb_frame_this_func()), "qt_emit") == 0; + VALUE mocArgs = getslotinfo(self, id, slotname, index, isSignal); + if(mocArgs == Qnil) { + // No ruby slot/signal found, assume the target is a C++ one +@@ -2009,7 +2009,7 @@ + return Qnil; + } + TQByteArray * dataArray = (TQByteArray*) o->ptr; +- dataArray->setRawData(StringValuePtr(data), RSTRING(data)->len); ++ dataArray->setRawData(StringValuePtr(data), RSTRING_LEN(data)); + return self; + } + +@@ -2195,7 +2195,7 @@ + m->name = new char[strlen(name) + 1]; // this too + strcpy((char*)m->name, name); + m->parameters = 0; +- m->count = RARRAY(params)->len; ++ m->count = RARRAY_LEN(params); + + if (m->count > 0) { + m->parameters = new QUParameter[m->count]; +@@ -2213,7 +2213,7 @@ + static VALUE + make_QMetaData_tbl(VALUE /*self*/, VALUE list) + { +- long count = RARRAY(list)->len; ++ long count = RARRAY_LEN(list); + QMetaData *m = new QMetaData[count]; + + for (long i = 0; i < count; i++) { +@@ -2281,7 +2281,7 @@ + static VALUE + add_signal_methods(VALUE self, VALUE klass, VALUE signalNames) + { +- for (long index = 0; index < RARRAY(signalNames)->len; index++) { ++ for (long index = 0; index < RARRAY_LEN(signalNames); index++) { + VALUE signal = rb_ary_entry(signalNames, index); + rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) qt_signal, -1); + } +@@ -2597,28 +2597,28 @@ + { + VALUE errmsg = rb_str_new2(""); + if(rmeths != Qnil) { +- int count = RARRAY(rmeths)->len; ++ int count = RARRAY_LEN(rmeths); + for(int i = 0; i < count; i++) { +- rb_str_catf(errmsg, "\t"); ++ rb_str_catf_1(errmsg, "\t"); + int id = NUM2INT(rb_ary_entry(rmeths, i)); + Smoke::Method &meth = qt_Smoke->methods[id]; + const char *tname = qt_Smoke->types[meth.ret].name; + if(meth.flags & Smoke::mf_enum) { +- rb_str_catf(errmsg, "enum "); +- rb_str_catf(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); +- rb_str_catf(errmsg, "\n"); ++ rb_str_catf_1(errmsg, "enum "); ++ rb_str_catf_1(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); ++ rb_str_catf_1(errmsg, "\n"); + } else { + if(meth.flags & Smoke::mf_static) rb_str_catf(errmsg, "static "); +- rb_str_catf(errmsg, "%s ", (tname ? tname:"void")); +- rb_str_catf(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); ++ rb_str_catf_1(errmsg, "%s ", (tname ? tname:"void")); ++ rb_str_catf_1(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); + for(int i = 0; i < meth.numArgs; i++) { +- if(i) rb_str_catf(errmsg, ", "); ++ if(i) rb_str_catf_1(errmsg, ", "); + tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; +- rb_str_catf(errmsg, "%s", (tname ? tname:"void")); ++ rb_str_catf_1(errmsg, "%s", (tname ? tname:"void")); + } +- rb_str_catf(errmsg, ")"); +- if(meth.flags & Smoke::mf_const) rb_str_catf(errmsg, " const"); +- rb_str_catf(errmsg, "\n"); ++ rb_str_catf_1(errmsg, ")"); ++ if(meth.flags & Smoke::mf_const) rb_str_catf_1(errmsg, " const"); ++ rb_str_catf_1(errmsg, "\n"); + } + } + } +diff -urN tdebindings/qtruby/rubylib/qtruby/configure.in.in tdebindings.new/qtruby/rubylib/qtruby/configure.in.in +--- tdebindings/qtruby/rubylib/qtruby/configure.in.in 2011-12-25 00:54:23.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/qtruby/configure.in.in 2012-02-25 22:12:17.000000000 -0600 +@@ -9,13 +9,29 @@ + RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'` + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` ++ if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then ++ # Ruby 1.9 ++ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'` ++ RUBY_VERSION_H=ruby/version.h ++ else ++ # not Ruby 1.9 ++ RUBY_INCLUDEDIR=$RUBY_ARCHDIR ++ RUBY_VERSION_H=version.h ++ fi + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` +- AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR, libdir $RUBY_LIBDIR, librubyarg $RUBY_LIBRUBYARG]) ++ AC_MSG_RESULT([ ++ archdir $RUBY_ARCHDIR, ++ sitearchdir $RUBY_SITEARCHDIR, ++ sitedir $RUBY_SITEDIR, ++ libdir $RUBY_LIBDIR, ++ includedir $RUBY_INCLUDEDIR, ++ librubyarg $RUBY_LIBRUBYARG]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) + AC_SUBST(RUBY_SITEDIR) + AC_SUBST(RUBY_RUBYLIBDIR) + AC_SUBST(RUBY_LIBDIR) ++ AC_SUBST(RUBY_INCLUDEDIR) + AC_SUBST(RUBY_LIBRUBYARG) + fi + +diff -urN tdebindings/qtruby/rubylib/qtruby/handlers.cpp tdebindings.new/qtruby/rubylib/qtruby/handlers.cpp +--- tdebindings/qtruby/rubylib/qtruby/handlers.cpp 2012-02-21 13:58:54.000000000 -0600 ++++ tdebindings.new/qtruby/rubylib/qtruby/handlers.cpp 2012-02-25 22:13:09.000000000 -0600 +@@ -755,7 +755,7 @@ + break; + } + +- int len = RSTRING(rv)->len; ++ int len = RSTRING_LEN(rv); + char* mem = (char*) malloc(len+1); + memcpy(mem, StringValuePtr(rv), len); + mem[len] ='\0'; +@@ -788,7 +788,7 @@ + m->item().s_voidp = 0; + break; + } +- int len = RSTRING(rv)->len; ++ int len = RSTRING_LEN(rv); + char* mem = (char*) malloc(len+1); + memcpy(mem, StringValuePtr(rv), len); + mem[len] ='\0'; +@@ -824,7 +824,7 @@ + + TQString * s; + if (qstrcmp(KCODE, "UTF8") == 0) +- s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING(rstring)->len)); ++ s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING_LEN(rstring))); + else if (qstrcmp(KCODE, "EUC") == 0) + s = new TQString(codec->toUnicode(StringValuePtr(rstring))); + else if (qstrcmp(KCODE, "SJIS") == 0) +@@ -832,7 +832,7 @@ + else if(qstrcmp(KCODE, "NONE") == 0) + s = new TQString(TQString::fromLatin1(StringValuePtr(rstring))); + else +- s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING(rstring)->len)); ++ s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING_LEN(rstring))); + return s; + } + +@@ -944,7 +944,7 @@ + s = new TQCString(); + } else { + // Add 1 to the ruby string length to allow for a TQCString '\0' terminator +- s = new TQCString(StringValuePtr(*(m->var())), RSTRING(*(m->var()))->len + 1); ++ s = new TQCString(StringValuePtr(*(m->var())), RSTRING_LEN(*(m->var())) + 1); + } + m->item().s_voidp = s; + +@@ -1007,7 +1007,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(av)->len; ++ int count = RARRAY_LEN(av); + QCOORD *coord = new QCOORD[count + 2]; + for(long i = 0; i < count; i++) { + VALUE svp = rb_ary_entry(av, i); +@@ -1167,15 +1167,15 @@ + VALUE arglist = *(m->var()); + if (arglist == Qnil + || TYPE(arglist) != T_ARRAY +- || RARRAY(arglist)->len == 0 ) ++ || RARRAY_LEN(arglist) == 0 ) + { + m->item().s_voidp = 0; + break; + } + +- char **argv = new char *[RARRAY(arglist)->len + 1]; ++ char **argv = new char *[RARRAY_LEN(arglist) + 1]; + long i; +- for(i = 0; i < RARRAY(arglist)->len; i++) { ++ for(i = 0; i < RARRAY_LEN(arglist); i++) { + VALUE item = rb_ary_entry(arglist, i); + char *s = StringValuePtr(item); + argv[i] = new char[strlen(s) + 1]; +@@ -1207,7 +1207,7 @@ + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQStringList *stringlist = new QStringList; + + for(long i = 0; i < count; i++) { +@@ -1269,7 +1269,7 @@ + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQStrList *stringlist = new QStrList; + + for(long i = 0; i < count; i++) { +@@ -1278,7 +1278,7 @@ + stringlist->append(TQString()); + continue; + } +- stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING(item)->len)); ++ stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING_LEN(item))); + } + + m->item().s_voidp = stringlist; +@@ -1331,7 +1331,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + ItemList *cpplist = new ItemList; + long i; + for(i = 0; i < count; i++) { +@@ -1421,7 +1421,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQValueList<int> *valuelist = new TQValueList<int>; + long i; + for(i = 0; i < count; i++) { +@@ -1513,7 +1513,7 @@ + // Convert the ruby hash to an array of key/value arrays + VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); + +- for (long i = 0; i < RARRAY(temp)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(temp); i++) { + VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); + VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); + (*map)[TQString(StringValuePtr(key))] = TQString(StringValuePtr(value)); +@@ -1569,7 +1569,7 @@ + // Convert the ruby hash to an array of key/value arrays + VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); + +- for (long i = 0; i < RARRAY(temp)->len; i++) { ++ for (long i = 0; i < RARRAY_LEN(temp); i++) { + VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); + VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); + +@@ -1673,7 +1673,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + QRgb *rgb = new QRgb[count + 2]; + long i; + for(i = 0; i < count; i++) { +@@ -1702,7 +1702,7 @@ + case Marshall::FromVALUE: + { + VALUE list = *(m->var()); +- if (TYPE(list) != T_ARRAY || RARRAY(list)->len != 2) { ++ if (TYPE(list) != T_ARRAY || RARRAY_LEN(list) != 2) { + m->item().s_voidp = 0; + break; + } +@@ -1770,7 +1770,7 @@ + m->item().s_voidp = 0; + break; + } +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + ItemList *cpplist = new ItemList; + long i; + for(i = 0; i < count; i++) { |