diff options
author | Francois Andriot <francois.andriot@free.fr> | 2012-10-21 19:27:55 +0200 |
---|---|---|
committer | Francois Andriot <francois.andriot@free.fr> | 2012-10-21 19:27:55 +0200 |
commit | eebed6b614c52895321754908c05b5082f531b85 (patch) | |
tree | 56bf0c5f54512c2fd8ed02cbe16d1da83b723461 /redhat/kdebindings | |
parent | 59daf455b483742c6c47099652117074df37889a (diff) | |
download | tde-packaging-eebed6b614c52895321754908c05b5082f531b85.tar.gz tde-packaging-eebed6b614c52895321754908c05b5082f531b85.zip |
RHEL/Fedora/MGA/MDV/Suse: update main and libraries for TDE 3.5.13.1
Diffstat (limited to 'redhat/kdebindings')
11 files changed, 2246 insertions, 0 deletions
diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-detect_ruby_pkg.patch b/redhat/kdebindings/kdebindings-3.5.13.1-detect_ruby_pkg.patch new file mode 100644 index 000000000..47dcc16b5 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-detect_ruby_pkg.patch @@ -0,0 +1,86 @@ +commit de49c7480893e7d52f64ec1166a55cdf97b2541e +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347381606 -0500 + + Detect presence of Ruby pkg-config file and adjust directory search accordingly + +diff --git a/korundum/rubylib/korundum/configure.in.in b/korundum/rubylib/korundum/configure.in.in +index 81ad0bc..5782123 100644 +--- a/korundum/rubylib/korundum/configure.in.in ++++ b/korundum/rubylib/korundum/configure.in.in +@@ -1,13 +1,28 @@ ++KDE_FIND_PATH(pkg-config, PKGCONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [ ++ AC_MSG_WARN([Could not find pkg-config]) ++]) ++ + AC_CHECK_PROG(RUBY, ruby, ruby) + + if test -z "$RUBY"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE korundum" + else + AC_MSG_CHECKING(for ruby dirs) +- RUBY_ARCHDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` +- 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"@:>@)'` ++ if test -n "$PKGCONFIG"; then ++ RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` ++ if test -n "$RUBY_VERSION"; then ++ RUBY_ARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` ++ RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` ++ RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'` ++ RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` ++ fi ++ fi ++ if test -z "$RUBY_VERSION"; then ++ RUBY_ARCHDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` ++ 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"@:>@)'` ++ fi + AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) +diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in +index 453bb68..3cfa630 100644 +--- a/qtruby/rubylib/qtruby/configure.in.in ++++ b/qtruby/rubylib/qtruby/configure.in.in +@@ -1,15 +1,32 @@ ++KDE_FIND_PATH(pkg-config, PKGCONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [ ++ AC_MSG_WARN([Could not find pkg-config]) ++]) ++ + AC_CHECK_PROG(RUBY, ruby, ruby) + + if test -z "$RUBY"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE qtruby" + else + AC_MSG_CHECKING(for ruby dirs) +- RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` +- 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"@:>@)'` +- RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` +- RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` ++ if test -n "$PKGCONFIG"; then ++ RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` ++ if test -n "$RUBY_VERSION"; then ++ RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` ++ RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` ++ RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'` ++ RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` ++ RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"libdir"@:>@)'` ++ RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` ++ fi ++ fi ++ if test -z "$RUBY_VERSION"; then ++ RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` ++ 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"@:>@)'` ++ RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` ++ RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` ++ fi + AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR, libdir $RUBY_LIBDIR, librubyarg $RUBY_LIBRUBYARG]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fallback_to_ruby19_pc_file.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fallback_to_ruby19_pc_file.patch new file mode 100644 index 000000000..85c496d10 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fallback_to_ruby19_pc_file.patch @@ -0,0 +1,34 @@ +commit 2f6e9c735fe8486ee3484c47c0e8ff999b699abc +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347987185 -0500 + + Fall back to ruby-1.9 pkgconfig file if needed + +diff --git a/korundum/rubylib/korundum/configure.in.in b/korundum/rubylib/korundum/configure.in.in +index e4ab2fd..924f42f 100644 +--- a/korundum/rubylib/korundum/configure.in.in ++++ b/korundum/rubylib/korundum/configure.in.in +@@ -10,6 +10,9 @@ else + AC_MSG_CHECKING(for ruby dirs) + if test -n "$PKGCONFIG"; then + RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` ++ if test -z "$RUBY_VERSION"; then ++ RUBY_VERSION=`$PKGCONFIG ruby-1.9 --modversion 2>/dev/null` ++ fi + if test -n "$RUBY_VERSION"; then + RUBY_ARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` + RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` +diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in +index 7ad0e4d..e7f4f2c 100644 +--- a/qtruby/rubylib/qtruby/configure.in.in ++++ b/qtruby/rubylib/qtruby/configure.in.in +@@ -10,6 +10,9 @@ else + AC_MSG_CHECKING(for ruby dirs) + if test -n "$PKGCONFIG"; then + RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` ++ if test -z "$RUBY_VERSION"; then ++ RUBY_VERSION=`$PKGCONFIG ruby-1.9 --modversion 2>/dev/null` ++ fi + if test -n "$RUBY_VERSION"; then + RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` + RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_dcopjava_ldflags.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_dcopjava_ldflags.patch new file mode 100644 index 000000000..99fceae54 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_dcopjava_ldflags.patch @@ -0,0 +1,11 @@ +--- kdebindings-3.5.13.1/dcopjava/binding/Makefile.am.ORI 2012-09-29 19:17:32.829295550 +0200 ++++ kdebindings-3.5.13.1/dcopjava/binding/Makefile.am 2012-09-29 19:17:07.309943594 +0200 +@@ -1,7 +1,7 @@ + lib_LTLIBRARIES = libjavadcop.la + + libjavadcop_la_SOURCES = client.cpp +-libjavadcop_la_LDFLAGS = $(KDE_LDFLAGS) $(KDE_PLUGIN) -lDCOP -lkdecore -lkdeui $(LIB_QT) -lkjs -lkdefx ++libjavadcop_la_LDFLAGS = $(KDE_LDFLAGS) $(KDE_PLUGIN) -lDCOP -lkdecore -lkdeui $(LIB_QT) -lkjs -lkdefx $(QT_LDFLAGS) + libjavadcop_la_LIBADD = $(LIB_KDECORE) + + INCLUDES = $(jni_includes) $(all_includes) diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_on_x86.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_on_x86.patch new file mode 100644 index 000000000..9190c9940 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_on_x86.patch @@ -0,0 +1,82 @@ +commit a901a1232ab8f8432c63dc97e0efd9fed051d2c7 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1348264715 -0500 + + Fix FTBFS on x86 systems + +diff --git a/korundum/bin/krubyinit.cpp b/korundum/bin/krubyinit.cpp +index 12b0f6e..2a7f6c5 100644 +--- a/korundum/bin/krubyinit.cpp ++++ b/korundum/bin/krubyinit.cpp +@@ -1,5 +1,7 @@ + #include <ruby.h> + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 +diff --git a/korundum/rubylib/korundum/Korundum.cpp b/korundum/rubylib/korundum/Korundum.cpp +index 124e2a1..da9f099 100644 +--- a/korundum/rubylib/korundum/Korundum.cpp ++++ b/korundum/rubylib/korundum/Korundum.cpp +@@ -40,6 +40,8 @@ + #include <smokeruby.h> + #include <smoke.h> + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 +diff --git a/korundum/rubylib/korundum/kdehandlers.cpp b/korundum/rubylib/korundum/kdehandlers.cpp +index 6961301..11b97b5 100644 +--- a/korundum/rubylib/korundum/kdehandlers.cpp ++++ b/korundum/rubylib/korundum/kdehandlers.cpp +@@ -52,6 +52,8 @@ + #include <dom/dom_string.h> + #include <dom/html_element.h> + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 +diff --git a/qtruby/bin/qtrubyinit.cpp b/qtruby/bin/qtrubyinit.cpp +index c9569d9..dd732b1 100644 +--- a/qtruby/bin/qtrubyinit.cpp ++++ b/qtruby/bin/qtrubyinit.cpp +@@ -1,5 +1,7 @@ + #include <ruby.h> + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 +diff --git a/qtruby/rubylib/qtruby/Qt.cpp b/qtruby/rubylib/qtruby/Qt.cpp +index 370ad6d..b264d44 100644 +--- a/qtruby/rubylib/qtruby/Qt.cpp ++++ b/qtruby/rubylib/qtruby/Qt.cpp +@@ -60,6 +60,8 @@ + #include "smokeruby.h" + #include "smoke.h" + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 +diff --git a/qtruby/rubylib/qtruby/handlers.cpp b/qtruby/rubylib/qtruby/handlers.cpp +index f3d0dda..2f6b5e7 100644 +--- a/qtruby/rubylib/qtruby/handlers.cpp ++++ b/qtruby/rubylib/qtruby/handlers.cpp +@@ -47,6 +47,8 @@ + #define HINT_BYTES HINT_BYTE + #endif + ++#define HAVE_STRLCAT_PROTO 1 ++#define HAVE_STRLCPY_PROTO 1 + #include "config.h" + + #ifndef HAVE_RUBY_1_9 diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby18.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby18.patch new file mode 100644 index 000000000..2798aa904 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby18.patch @@ -0,0 +1,56 @@ +commit 14594d81891b0bdf9aa03f72b88d6939eee59f02 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347389903 -0500 + + Fix FTBFS on ruby 1.8.x + +diff --git a/korundum/bin/krubyinit.cpp b/korundum/bin/krubyinit.cpp +index f53f830..12b0f6e 100644 +--- a/korundum/bin/krubyinit.cpp ++++ b/korundum/bin/krubyinit.cpp +@@ -25,13 +25,18 @@ + * * + ***************************************************************************/ + +-// this name can be used to allow apps ++// this name can be used to allow apps + // to detect what they were started with + static const char* script_name = "krubyinit_app"; + + int main(int argc, char **argv) { + ruby_init(); + ruby_script((char*)script_name); +- void* node = ruby_options(argc, argv); ++#ifdef HAVE_RUBY_1_9 ++ void* node = ruby_options(argc, argv); + ruby_run_node(node); ++#else // HAVE_RUBY_1_9 ++ ruby_options(argc, argv); ++ ruby_run(); ++#endif // HAVE_RUBY_1_9 + } +diff --git a/qtruby/bin/qtrubyinit.cpp b/qtruby/bin/qtrubyinit.cpp +index 65c00c4..c9569d9 100644 +--- a/qtruby/bin/qtrubyinit.cpp ++++ b/qtruby/bin/qtrubyinit.cpp +@@ -25,13 +25,18 @@ qrubyinit - makes use of tdeinit_wrapper possible for ruby programs + * * + ***************************************************************************/ + +-// this name can be used to allow apps ++// this name can be used to allow apps + // to detect what they were started with + static const char* script_name = "qrubyinit_app"; + + int main(int argc, char **argv) { + ruby_init(); + ruby_script((char*)script_name); +- void* node = ruby_options(argc, argv); ++#ifdef HAVE_RUBY_1_9 ++ void* node = ruby_options(argc, argv); + ruby_run_node(node); ++#else // HAVE_RUBY_1_9 ++ ruby_options(argc, argv); ++ ruby_run(); ++#endif // HAVE_RUBY_1_9 + } diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch new file mode 100644 index 000000000..aefdb6019 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch @@ -0,0 +1,683 @@ +commit ef7a60860d18e9be343b6fa5fe8d76fd080cead0 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347385969 -0500 + + Fix FTBS on ruby 1.9.x + Thanks to Darrell Anderson for the majority of the patch! + +diff --git a/korundum/bin/Makefile.am b/korundum/bin/Makefile.am +index f8c0942..4c3e637 100644 +--- a/korundum/bin/Makefile.am ++++ b/korundum/bin/Makefile.am +@@ -1,4 +1,4 @@ +-INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) + + bin_PROGRAMS = krubyinit + krubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/kde/ -L$(RUBY_LIBDIR) -lkmdi -lknewstuff +diff --git a/korundum/bin/krubyinit.cpp b/korundum/bin/krubyinit.cpp +index 7ed0b0a..f53f830 100644 +--- a/korundum/bin/krubyinit.cpp ++++ b/korundum/bin/krubyinit.cpp +@@ -1,5 +1,13 @@ + #include <ruby.h> + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + /*************************************************************************** + krubyinit - makes use of kdeinit_wrapper possible for ruby programs + ------------------- +@@ -24,6 +32,6 @@ static const char* script_name = "krubyinit_app"; + 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 --git a/korundum/rubylib/korundum/Korundum.cpp b/korundum/rubylib/korundum/Korundum.cpp +index cc3ce2a..124e2a1 100644 +--- a/korundum/rubylib/korundum/Korundum.cpp ++++ b/korundum/rubylib/korundum/Korundum.cpp +@@ -40,6 +40,14 @@ + #include <smokeruby.h> + #include <smoke.h> + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + extern "C" { + extern VALUE qt_internal_module; + extern VALUE kconfigskeleton_class; +@@ -805,7 +813,7 @@ public: + // 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 +830,7 @@ public: + // 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 +844,7 @@ public: + // 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 +934,7 @@ k_dcop_signal(int argc, VALUE * argv, VALUE self) + { + 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 +1028,7 @@ new_kde(int argc, VALUE * argv, VALUE klass) + + 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 +1096,9 @@ konsole_part_startprogram(VALUE self, VALUE value_program, VALUE value_args) + 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 --git a/korundum/rubylib/korundum/kdehandlers.cpp b/korundum/rubylib/korundum/kdehandlers.cpp +index 70932d5..6961301 100644 +--- a/korundum/rubylib/korundum/kdehandlers.cpp ++++ b/korundum/rubylib/korundum/kdehandlers.cpp +@@ -52,6 +52,14 @@ + #include <dom/dom_string.h> + #include <dom/html_element.h> + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + extern "C" { + extern VALUE set_obj_info(const char * className, smokeruby_object * o); + }; +@@ -122,7 +130,7 @@ void marshall_TQCStringList(Marshall *m) { + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + QCStringList *stringlist = new QCStringList; + + for(long i = 0; i < count; i++) { +@@ -131,7 +139,7 @@ void marshall_TQCStringList(Marshall *m) { + 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 +192,19 @@ void marshall_KCmdLineOptions(Marshall *m) { + 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 +252,7 @@ void marshall_WIdList(Marshall *m) { + 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 +823,7 @@ void marshall_KURLList(Marshall *m) { + 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 +924,11 @@ void marshall_UDSEntryList(Marshall *m) { + + 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 +1006,7 @@ void marshall_ItemList(Marshall *m) { + 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 +1111,7 @@ void marshall_ValueItemList(Marshall *m) { + 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 +1219,7 @@ void marshall_Map(Marshall *m) { + // 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 +1324,7 @@ void marshall_TQMapTQCStringDCOPRef(Marshall *m) { + // 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 --git a/qtruby/bin/Makefile.am b/qtruby/bin/Makefile.am +index e53bd0f..0e1dbdb 100644 +--- a/qtruby/bin/Makefile.am ++++ b/qtruby/bin/Makefile.am +@@ -1,4 +1,4 @@ +-INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) + + bin_PROGRAMS = qtrubyinit + qtrubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/qt/ -L$(RUBY_LIBDIR) +diff --git a/qtruby/bin/qtrubyinit.cpp b/qtruby/bin/qtrubyinit.cpp +index c4e8024..65c00c4 100644 +--- a/qtruby/bin/qtrubyinit.cpp ++++ b/qtruby/bin/qtrubyinit.cpp +@@ -1,5 +1,13 @@ + #include <ruby.h> + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + /*************************************************************************** + qrubyinit - makes use of kdeinit_wrapper possible for ruby programs + ------------------- +@@ -24,6 +32,6 @@ static const char* script_name = "qrubyinit_app"; + 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 --git a/qtruby/rubylib/designer/uilib/Makefile.am b/qtruby/rubylib/designer/uilib/Makefile.am +index 04ce1c8..9900635 100644 +--- a/qtruby/rubylib/designer/uilib/Makefile.am ++++ b/qtruby/rubylib/designer/uilib/Makefile.am +@@ -1,7 +1,7 @@ +-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_ARCHDIR) $(RUBY_CFLAGS) + + rubylibdir = $(RUBY_ARCHDIR) + rubylib_LTLIBRARIES = qui.la + qui_la_SOURCES = qui.cpp + qui_la_LDFLAGS = -module -export-dynamic $(all_libraries) -version-info 0:0:0 +-qui_la_LIBADD = -lqui +\ No newline at end of file ++qui_la_LIBADD = -lqui +diff --git a/qtruby/rubylib/qtruby/Qt.cpp b/qtruby/rubylib/qtruby/Qt.cpp +index 3d71cfc..370ad6d 100644 +--- a/qtruby/rubylib/qtruby/Qt.cpp ++++ b/qtruby/rubylib/qtruby/Qt.cpp +@@ -60,6 +60,14 @@ + #include "smokeruby.h" + #include "smoke.h" + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + // #define DEBUG + + #define QTRUBY_VERSION "1.0.13" +@@ -110,7 +118,7 @@ bool application_terminated = false; + }; + + #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 +828,7 @@ public: + } + }; + +-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 +993,16 @@ VALUE prettyPrintMethod(Smoke::Index id) + 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 +1185,7 @@ inspect_qobject(VALUE self) + // 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 +1228,7 @@ pretty_print_qobject(VALUE self, VALUE pp) + // 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 +1244,7 @@ pretty_print_qobject(VALUE self, VALUE pp) + 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 +1390,7 @@ static Smoke::Index new_qvariant_qmap = 0; + 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 +1749,7 @@ new_qapplication(int argc, VALUE * argv, VALUE klass) + 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 +1780,7 @@ qapplication_argv(VALUE /*self*/) + 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 +1870,7 @@ tqt_invoke(int /*argc*/, VALUE * argv, VALUE self) + // 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 +2017,7 @@ qbytearray_setRawData(VALUE self, VALUE data) + 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 +2203,7 @@ make_QUMethod(VALUE /*self*/, VALUE name_value, VALUE params) + 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 +2221,7 @@ make_QUMethod(VALUE /*self*/, VALUE name_value, VALUE params) + 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 +2289,7 @@ add_metaobject_methods(VALUE self, VALUE klass) + 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 +2605,28 @@ dumpCandidates(VALUE /*self*/, VALUE rmeths) + { + 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 --git a/qtruby/rubylib/qtruby/handlers.cpp b/qtruby/rubylib/qtruby/handlers.cpp +index 703c9d0..f3d0dda 100644 +--- a/qtruby/rubylib/qtruby/handlers.cpp ++++ b/qtruby/rubylib/qtruby/handlers.cpp +@@ -47,6 +47,14 @@ + #define HINT_BYTES HINT_BYTE + #endif + ++#include "config.h" ++ ++#ifndef HAVE_RUBY_1_9 ++#define RARRAY_LEN(x) (RARRAY(x)->len) ++#define RSTRING_LEN(x) (RSTRING(x)->len) ++#define rb_str_catf_1 rb_str_catf ++#endif ++ + extern "C" { + extern VALUE set_obj_info(const char * className, smokeruby_object * o); + extern VALUE qt_internal_module; +@@ -755,7 +763,7 @@ static void marshall_charP(Marshall *m) { + 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 +796,7 @@ void marshall_ucharP(Marshall *m) { + 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 +832,7 @@ qstringFromRString(VALUE rstring) { + + 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 +840,7 @@ qstringFromRString(VALUE rstring) { + 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 +952,7 @@ static void marshall_TQCString(Marshall *m) { + 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 +1015,7 @@ static void marshall_TQCOORD_array(Marshall *m) { + 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 +1175,15 @@ static void marshall_charP_array(Marshall *m) { + 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 +1215,7 @@ void marshall_TQStringList(Marshall *m) { + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQStringList *stringlist = new QStringList; + + for(long i = 0; i < count; i++) { +@@ -1269,7 +1277,7 @@ void marshall_TQStrList(Marshall *m) { + break; + } + +- int count = RARRAY(list)->len; ++ int count = RARRAY_LEN(list); + TQStrList *stringlist = new QStrList; + + for(long i = 0; i < count; i++) { +@@ -1278,7 +1286,7 @@ void marshall_TQStrList(Marshall *m) { + 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 +1339,7 @@ void marshall_ItemList(Marshall *m) { + 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 +1429,7 @@ void marshall_TQValueListInt(Marshall *m) { + 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 +1521,7 @@ void marshall_TQMapTQStringTQString(Marshall *m) { + // 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 +1577,7 @@ void marshall_TQMapTQStringTQVariant(Marshall *m) { + // 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 +1681,7 @@ void marshall_TQRgb_array(Marshall *m) { + 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 +1710,7 @@ void marshall_TQPairintint(Marshall *m) { + 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 +1778,7 @@ void marshall_ValueItemList(Marshall *m) { + 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++) { diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_rhel5_ftbfs.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_rhel5_ftbfs.patch new file mode 100644 index 000000000..326e7c72e --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_rhel5_ftbfs.patch @@ -0,0 +1,31 @@ +--- kdebindings-3.5.13.1/qtruby/rubylib/qtruby/Qt.cpp.OLD 2012-09-29 20:08:00.156164195 +0200 ++++ kdebindings-3.5.13.1/qtruby/rubylib/qtruby/Qt.cpp 2012-09-29 20:08:43.936538689 +0200 +@@ -1782,7 +1782,7 @@ + VALUE + getmetainfo(VALUE self, int &offset, int &index) + { +- const char * signalname = rb_id2name(rb_frame_this_func()); ++ const char * signalname = rb_id2name(rb_frame_last_func()); + VALUE metaObject_value = rb_funcall(qt_internal_module, rb_intern("getMetaObject"), 1, self); + + smokeruby_object *ometa = value_obj_info(metaObject_value); +@@ -1872,7 +1872,7 @@ + // Now, I need to find out if this means me + int index; + char *slotname; +- bool isSignal = qstrcmp(rb_id2name(rb_frame_this_func()), "qt_emit") == 0; ++ bool isSignal = qstrcmp(rb_id2name(rb_frame_last_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 +--- kdebindings-3.5.13.1/korundum/rubylib/korundum/Korundum.cpp.OLD 2012-09-29 20:11:43.597168589 +0200 ++++ kdebindings-3.5.13.1/korundum/rubylib/korundum/Korundum.cpp 2012-09-29 20:11:56.908163792 +0200 +@@ -936,7 +936,7 @@ + { + VALUE dcopObject = rb_funcall(kde_module, rb_intern("createDCOPObject"), 1, self); + +- TQString signalname(rb_id2name(rb_frame_this_func())); ++ TQString signalname(rb_id2name(rb_frame_last_func())); + VALUE args = getdcopinfo(self, signalname); + + if(args == Qnil) return Qfalse; diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ruby_detect_when_pc_file_is_19.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ruby_detect_when_pc_file_is_19.patch new file mode 100644 index 000000000..f9fc1aec8 --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ruby_detect_when_pc_file_is_19.patch @@ -0,0 +1,55 @@ +commit 10fc891a7e282d2cbab27ab53d9b980147fadb9a +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1348248800 -0500 + + Fix Ruby detection when .pc file is ruby-1.9 + +diff --git a/korundum/rubylib/korundum/configure.in.in b/korundum/rubylib/korundum/configure.in.in +index 924f42f..e19d5b4 100644 +--- a/korundum/rubylib/korundum/configure.in.in ++++ b/korundum/rubylib/korundum/configure.in.in +@@ -10,15 +10,17 @@ else + AC_MSG_CHECKING(for ruby dirs) + if test -n "$PKGCONFIG"; then + RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` +- if test -z "$RUBY_VERSION"; then ++ if test -n "$RUBY_VERSION"; then ++ RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` ++ else + RUBY_VERSION=`$PKGCONFIG ruby-1.9 --modversion 2>/dev/null` ++ RUBY_CFLAGS=`$PKGCONFIG ruby-1.9 --cflags` + fi + if test -n "$RUBY_VERSION"; then + RUBY_ARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` + RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` + RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` +- RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` + AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x]) + fi + fi +diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in +index e7f4f2c..f0594c6 100644 +--- a/qtruby/rubylib/qtruby/configure.in.in ++++ b/qtruby/rubylib/qtruby/configure.in.in +@@ -10,8 +10,11 @@ else + AC_MSG_CHECKING(for ruby dirs) + if test -n "$PKGCONFIG"; then + RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null` +- if test -z "$RUBY_VERSION"; then ++ if test -n "$RUBY_VERSION"; then ++ RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` ++ else + RUBY_VERSION=`$PKGCONFIG ruby-1.9 --modversion 2>/dev/null` ++ RUBY_CFLAGS=`$PKGCONFIG ruby-1.9 --cflags` + fi + if test -n "$RUBY_VERSION"; then + RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'` +@@ -20,7 +23,6 @@ else + RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"libdir"@:>@)'` + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` +- RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` + AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x]) + fi + fi diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-set_have_ruby19.patch b/redhat/kdebindings/kdebindings-3.5.13.1-set_have_ruby19.patch new file mode 100644 index 000000000..9c41fd9eb --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-set_have_ruby19.patch @@ -0,0 +1,30 @@ +commit 46659f992d49f86347c43528a8705657b6896cb7 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347384077 -0500 + + Set HAVE_RUBY_1_9 if ruby 1.9.x installed + +diff --git a/korundum/rubylib/korundum/configure.in.in b/korundum/rubylib/korundum/configure.in.in +index e0d581b..e4ab2fd 100644 +--- a/korundum/rubylib/korundum/configure.in.in ++++ b/korundum/rubylib/korundum/configure.in.in +@@ -16,6 +16,7 @@ else + RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` + RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` ++ AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x]) + fi + fi + if test -z "$RUBY_VERSION"; then +diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in +index a875b2f..7ad0e4d 100644 +--- a/qtruby/rubylib/qtruby/configure.in.in ++++ b/qtruby/rubylib/qtruby/configure.in.in +@@ -18,6 +18,7 @@ else + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"libdir"@:>@)'` + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` + RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` ++ AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x]) + fi + fi + if test -z "$RUBY_VERSION"; then diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-use_cflags_from_pc_file.patch b/redhat/kdebindings/kdebindings-3.5.13.1-use_cflags_from_pc_file.patch new file mode 100644 index 000000000..ba6a6175f --- /dev/null +++ b/redhat/kdebindings/kdebindings-3.5.13.1-use_cflags_from_pc_file.patch @@ -0,0 +1,78 @@ +commit c1faffb8ed0ebae85f21eb3e3ca81a2692a81ae9 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1347382645 -0500 + + Use cflags from ruby pc file + +diff --git a/korundum/rubylib/korundum/Makefile.am b/korundum/rubylib/korundum/Makefile.am +index 5642728..541e3f5 100644 +--- a/korundum/rubylib/korundum/Makefile.am ++++ b/korundum/rubylib/korundum/Makefile.am +@@ -1,4 +1,4 @@ +-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_ARCHDIR) $(RUBY_CFLAGS) + + rubylibdir = $(RUBY_ARCHDIR) + rubylib_LTLIBRARIES = korundum.la +diff --git a/korundum/rubylib/korundum/configure.in.in b/korundum/rubylib/korundum/configure.in.in +index 5782123..e0d581b 100644 +--- a/korundum/rubylib/korundum/configure.in.in ++++ b/korundum/rubylib/korundum/configure.in.in +@@ -15,6 +15,7 @@ else + RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'` + RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` ++ RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` + fi + fi + if test -z "$RUBY_VERSION"; then +@@ -23,10 +24,11 @@ else + RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'` + fi +- AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR]) ++ AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR, cflags $RUBY_CFLAGS]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) + AC_SUBST(RUBY_RUBYLIBDIR) + AC_SUBST(RUBY_SITEDIR) ++ AC_SUBST(RUBY_CFLAGS) + fi + +diff --git a/qtruby/rubylib/qtruby/Makefile.am b/qtruby/rubylib/qtruby/Makefile.am +index 156f80a..56b320f 100644 +--- a/qtruby/rubylib/qtruby/Makefile.am ++++ b/qtruby/rubylib/qtruby/Makefile.am +@@ -1,4 +1,4 @@ +-INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_ARCHDIR) ++INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) + + noinst_HEADERS = qtruby.h marshall.h smokeruby.h extconf.rb + +diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in +index 3cfa630..a875b2f 100644 +--- a/qtruby/rubylib/qtruby/configure.in.in ++++ b/qtruby/rubylib/qtruby/configure.in.in +@@ -17,6 +17,7 @@ else + RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'` + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"libdir"@:>@)'` + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` ++ RUBY_CFLAGS=`$PKGCONFIG ruby --cflags` + fi + fi + if test -z "$RUBY_VERSION"; then +@@ -27,12 +28,13 @@ else + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` + fi +- 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, librubyarg $RUBY_LIBRUBYARG, cflags $RUBY_CFLAGS]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) + AC_SUBST(RUBY_SITEDIR) + AC_SUBST(RUBY_RUBYLIBDIR) + AC_SUBST(RUBY_LIBDIR) + AC_SUBST(RUBY_LIBRUBYARG) ++ AC_SUBST(RUBY_CFLAGS) + fi + diff --git a/redhat/kdebindings/trinity-kdebindings-3.5.13.1.spec b/redhat/kdebindings/trinity-kdebindings-3.5.13.1.spec new file mode 100644 index 000000000..3f0a6abf5 --- /dev/null +++ b/redhat/kdebindings/trinity-kdebindings-3.5.13.1.spec @@ -0,0 +1,1100 @@ +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?tde_prefix}" != "/usr" +%define _variant .opt +%endif + +# TDE 3.5.13 specific building variables +%define tde_bindir %{tde_prefix}/bin +%define tde_datadir %{tde_prefix}/share +%define tde_docdir %{tde_datadir}/doc +%define tde_includedir %{tde_prefix}/include +%define tde_libdir %{tde_prefix}/%{_lib} +%define tde_mandir %{tde_datadir}/man + +%define tde_tdeappdir %{tde_datadir}/applications/kde +%define tde_tdedocdir %{tde_docdir}/tde +%define tde_tdeincludedir %{tde_includedir}/tde +%define tde_tdelibdir %{tde_libdir}/trinity + +%define _docdir %{tde_docdir} + +Name: trinity-tdebindings +Summary: TDE bindings to non-C++ languages +Version: 3.5.13.1 +Release: 1%{?dist}%{_variant} + +License: GPLv2 +Group: User Interface/Desktops + +Vendor: Trinity Project +Packager: Francois Andriot <francois.andriot@free.fr> +URL: http://www.trinitydesktop.org/ + +Prefix: %{tde_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: kdebindings-3.5.13.1.tar.gz + +# RedHat Legacy patches (from Fedora) +Patch1: kdebindings-3.5.6-libgcj.patch + +# [kdebindings] Removes 'hpi' support in openjdk (obsolete in openjdk 1.7.0) [Bug #978] +Patch2: kdebindings-3.5.13-openjdk_remove_hpi_support.patch +# [kdebindings] Fix directory for dcopc include +Patch6: kdebindings-3.5.13-fix_dcopc_header_location.patch +# [kdebindings] Fix FTBFS in dcopjava/bindings +Patch7: kdebindings-3.5.13.1-fix_dcopjava_ldflags.patch + +# [tdebindings] Detect presence of Ruby pkg-config file and adjust directory search accordingly [Commit #de49c748] +Patch10: kdebindings-3.5.13.1-detect_ruby_pkg.patch +# [tdebindings] Use cflags from ruby pc file [Commit #c1faffb8] +Patch11: kdebindings-3.5.13.1-use_cflags_from_pc_file.patch +# [tdebindings] Set HAVE_RUBY_1_9 if ruby 1.9.x installed [Commit #46659f99] +Patch12: kdebindings-3.5.13.1-set_have_ruby19.patch +# [tdebindings] Fix FTBS on ruby 1.9.x [Commit #ef7a6086] +Patch13: kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch +# [tdebindings] Fix FTBFS on ruby 1.8.x [Commit #14594d81] +Patch14: kdebindings-3.5.13.1-fix_ftbfs_ruby18.patch +# [tdebindings] Fall back to ruby-1.9 pkgconfig file if needed [Commit #2f6e9c73] +Patch15: kdebindings-3.5.13.1-fallback_to_ruby19_pc_file.patch +# [tdebindings] Fix Ruby detection when .pc file is ruby-1.9 [Commit #10fc891a] +Patch16: kdebindings-3.5.13.1-fix_ruby_detect_when_pc_file_is_19.patch +# [tdebindings] Fix FTBFS on x86 systems [Commit #a901a123] +Patch17: kdebindings-3.5.13.1-fix_ftbfs_on_x86.patch +# [tdebindings] Function 'rb_frame_this_func' does not exist in RHEL5 +Patch18: kdebindings-3.5.13.1-fix_rhel5_ftbfs.patch + +BuildRequires: autoconf automake libtool m4 +BuildRequires: trinity-tqtinterface-devel >= %{version} +BuildRequires: trinity-arts-devel >= %{version} +BuildRequires: trinity-tdelibs-devel >= %{version} + +BuildRequires: desktop-file-utils +BuildRequires: zlib-devel +BuildRequires: perl(ExtUtils::MakeMaker) + +%if 0%{?rhel} == 4 +BuildRequires: evolution28-gtk2-devel +%else +BuildRequires: gtk2-devel +BuildRequires: xulrunner-devel +%endif + +%if 0%{?fedora} || 0%{?rhel} +%define with_gtk1 1 +BuildRequires: glib-devel +BuildRequires: gtk+-devel +%endif +%if 0%{?mgaversion} || 0%{?mdkversion} +%define with_gtk1 1 +BuildRequires: %{_lib}glib1.2-devel +BuildRequires: %{_lib}gtk+-devel +%endif + +%if 0%{?mgaversion} || 0%{?mdkversion} +BuildRequires: %{_lib}gdk_pixbuf2.0-devel +%else +%if 0%{?fedora} >= 17 +BuildRequires: gdk-pixbuf2-devel +%else +BuildRequires: gdk-pixbuf-devel +%endif +%endif + + +## Python +BuildRequires: python-devel +%define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)") + +## ruby +BuildRequires: ruby-devel >= 1.8, ruby +%{!?ruby_arch: %define ruby_arch %(ruby -rrbconfig -e 'puts Config::CONFIG["archdir"]')} +%{!?ruby_rubylibdir: %define ruby_rubylibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["rubylibdir"]')} +# Ruby 1.9 includes are located in strance directories ... (taken from ruby 1.9 spec file) +%global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/;s/armv.*/arm/') + +## java +%if 0%{?rhel} > 0 && 0%{?rhel} < 6 +BuildRequires: java-1.4.2-gcj-compat-devel +BuildRequires: libgcj-devel +BuildRequires: gcc-java +%else +BuildRequires: java-openjdk +BuildRequires: java-devel >= 1.4.2 +%if 0%{?fedora} >= 17 || 0%{?suse_version} >= 1220 +BuildRequires: java-1.7.0-openjdk-devel +%else +BuildRequires: java-1.6.0-openjdk-devel +%endif +%endif + +%if 0%{?suse_version} +%define java_home %{_usr}/%{_lib}/jvm/java +%else +%if 0%{?rhel} == 4 +%define java_home %{_usr}/lib/jvm/java-1.4.2-gcj-1.4.2.0 +%else +%define java_home %{_usr}/lib/jvm/java +%endif +%endif +%define _with_java --with-java=%{java_home} + +## Perl +# There is no 'perl-devel' package on RHEL5 +%if 0%{?rhel} >= 6 || 0%{?fedora} || 0%{?mdkversion} || 0%{?mgaversion} +BuildRequires: perl-devel +%endif +%define perl_vendorarch %{expand:%%(eval `perl -V:installvendorarch`; echo $installvendorarch)} + + +Obsoletes: trinity-kdebindings < %{version}-%{release} +Provides: trinity-kdebindings = %{version}-%{release} + +# Metapackage requires +Requires: trinity-tdebindings-java = %{version}-%{release} +Requires: trinity-libsmokeqt1 = %{version}-%{release} +Requires: trinity-libsmokekde1 = %{version}-%{release} +Requires: trinity-perl-dcop = %{version}-%{release} +Requires: trinity-python-dcop = %{version}-%{release} +Requires: trinity-libkjsembed1 = %{version}-%{release} +Requires: trinity-kjscmd = %{version}-%{release} +Requires: trinity-juic = %{version}-%{release} +Requires: trinity-libkorundum0-ruby = %{version}-%{release} +Requires: trinity-libqt0-ruby = %{version}-%{release} + + +%description +TDE/DCOP bindings to non-C++ languages + +%files + +########## + +%package java +Summary: TDE Java bindings metapackage [Trinity] +Group: Environment/Libraries +Requires: trinity-libdcop3-java = %{version}-%{release} +Requires: trinity-libdcop3-jni = %{version}-%{release} +Requires: trinity-libqt3-java = %{version}-%{release} +Requires: trinity-libqt3-jni = %{version}-%{release} +Requires: trinity-libtrinity-java = %{version}-%{release} +Requires: trinity-libtrinity-jni = %{version}-%{release} + +%description java +A metapackage depending on all TDE, Qt and DCOP bindings libraries +related to the Java language. + +This package is part of the official TDE bindings module. + +%files java +%defattr(-,root,root,-) + +########## + +%package -n trinity-libdcop3-java +Summary: DCOP bindings for Java [Trinity] +Group: Environment/Libraries + +Requires: trinity-libdcop3-jni = %{version}-%{release} + +%description -n trinity-libdcop3-java +This package contains the Java classes necessary to run Java programs +using the Java DCOP bindings. DCOP is the TDE Desktop COmmunications +Protocol, used for communicating with running TDE applications. + +This package is part of the official TDE bindings module. + +%files -n trinity-libdcop3-java +%defattr(-,root,root,-) +#%{tde_datadir}/java/dcopjava*.jar +%{tde_libdir}/java/org/kde/DCOP/*.class + +########## + +%package -n trinity-libdcop3-java-devel +Summary: DCOP bindings for Java (dcopidl2java program) [Trinity] +Group: Development/Libraries +Requires: trinity-libdcop3-java = %{version}-%{release} + +%description -n trinity-libdcop3-java-devel +This package contains the dcopidl2java program which generates Java +stubs from DCOP IDL files, necessary to do development with the DCOP Java +bindings. DCOP is the TDE Desktop COmmunications Protocol, used for +communicating with running TDE applications. + +This package is part of the official TDE bindings module. + +%files -n trinity-libdcop3-java-devel +%defattr(-,root,root,-) +%{tde_bindir}/dcopidl2java + +########## + +%package -n trinity-libdcop3-jni +Summary: DCOP bindings for Java ( Native libraries ) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libdcop3-jni +This package contains the shared libraries and scripts necessary to +run programs using the Java DCOP bindings. DCOP is the TDE Desktop +COmmunications Protocol, used for communicating with running TDE +applications. + +This package is part of the official TDE bindings module. + +%files -n trinity-libdcop3-jni +%defattr(-,root,root,-) +%{tde_libdir}/libjavadcop.la +%{tde_libdir}/libjavadcop.so + +%post -n trinity-libdcop3-jni +/sbin/ldconfig || : + +%postun -n trinity-libdcop3-jni +/sbin/ldconfig || : + +########## + +%package -n trinity-libqt3-java +Summary: Java bindings for Qt [Trinity] +Group: Environment/Libraries +Requires: trinity-libdcop3-jni = %{version}-%{release} +Requires: trinity-libqt3-jni = %{version}-%{release} +Requires: trinity-juic = %{version}-%{release} + +%description -n trinity-libqt3-java +This package contains the Java classes necessary to run Java programs +using the Java Qt bindings. Qt is a very popular GUI toolkit, used by +the TDE desktop environment. + +It also includes many example programs that make use of these bindings, +plus many of the Qt Tutorial examples translated into Java. + +This package is part of the official TDE bindings module. + +%files -n trinity-libqt3-java +%defattr(-,root,root,-) +%{tde_libdir}/java/qtjava*.jar +%{tde_tdedocdir}/HTML/en/javalib/ + +########## + +%package -n trinity-libqt3-jni +Summary: Java bindings for Qt ( Native libraries ) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libqt3-jni +This package contains the shared libraries necessary to run Java +programs using the Java Qt bindings. Qt is a very popular GUI +toolkit, used by the TDE desktop environment. + +This package is part of the official TDE bindings module. + +%files -n trinity-libqt3-jni +%defattr(-,root,root,-) +%{tde_libdir}/libqtjavasupport.la +%{tde_libdir}/libqtjavasupport.so.* +%{tde_libdir}/jni/libqtjava.la +%{tde_libdir}/jni/libqtjava.so.* +%doc qtjava/ChangeLog + +########## + +%package -n trinity-libqt3-jni-devel +Summary: Development files fo Java bindings for Qt ( Native libraries ) [Trinity] +Group: Development/Libraries +Requires: trinity-libqt3-jni = %{version}-%{release} + +%description -n trinity-libqt3-jni-devel +This package contains the development files for trinity-libqt3-jni. + +This package is part of the official TDE bindings module. + +%files -n trinity-libqt3-jni-devel +%defattr(-,root,root,-) +%{tde_libdir}/libqtjavasupport.so +%{tde_libdir}/jni/libqtjava.so + +########## + +%package -n trinity-libtrinity-java +Summary: tdelibs bindings for Java [Trinity] +Group: Environment/Libraries + +Requires: trinity-libtrinity-jni = %{version}-%{release} + +%description -n trinity-libtrinity-java +This package contains the Java classes necessary to run Java programs +using the Java tdelibs bindings. TDE is the Trinity Desktop Environment, a +very popular UNIX Desktop Environment. + +It also includes some example applications that use these Java +classes, and multiple usage samples of the most common TDE classes. + +This package is part of the official TDE bindings module. + +%files -n trinity-libtrinity-java +%defattr(-,root,root,-) +%{tde_libdir}/java/koala*.jar + +########## + +%package -n trinity-libtrinity-jni +Summary: tdelibs bindings for java ( Native libraries ) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libtrinity-jni +This package contains the shared libraries necessary to run Java +programs using the Java tdelibs bindings. TDE is the Trinity Desktop +Environment, a very popular UNIX Desktop Environment. + +This package is part of the official TDE bindings module. + +%files -n trinity-libtrinity-jni +%defattr(-,root,root,-) +%{tde_libdir}/jni/libkdejava.la +%{tde_libdir}/jni/libkdejava.so.* +%doc kdejava/ChangeLog + +########## + +%package -n trinity-libtrinity-jni-devel +Summary: Development files for tdelibs bindings for java ( Native libraries ) [Trinity] +Group: Development/Libraries +Requires: trinity-libtrinity-jni = %{version}-%{release} + +%description -n trinity-libtrinity-jni-devel +This package contains the development files for trinity-libtrinity-jni. + +This package is part of the official TDE bindings module. + +%files -n trinity-libtrinity-jni-devel +%defattr(-,root,root,-) +%{tde_libdir}/jni/libkdejava.so + +########## + +%package -n trinity-libsmokeqt1 +Summary: SMOKE Binding Library to Qt +Group: Environment/Libraries + +%description -n trinity-libsmokeqt1 +The "Scripting Meta Object Kompiler Engine" library is used by +various TDE language bindings packages to provide interfaces to the +Qt library. + +This package is part of the official TDE bindings module. + +%files -n trinity-libsmokeqt1 +%defattr(-,root,root,-) +%{tde_libdir}/libsmokeqt.so.* + +%post -n trinity-libsmokeqt1 +/sbin/ldconfig || : + +%postun -n trinity-libsmokeqt1 +/sbin/ldconfig || : + +########## + +%package -n trinity-libsmokeqt-devel +Summary: SMOKE Binding Library to Qt - Development Files +Group: Development/Libraries +Requires: trinity-libsmokeqt1 = %{version}-%{release} + +%description -n trinity-libsmokeqt-devel +The "Scripting Meta Object Kompiler Engine" library is used by +various TDE language bindings packages to provide interfaces to the +Qt library. This package contains the development files for the +library. + +If you are a normal user, you probably don't need this +package. + +This package is part of the official TDE bindings module. + +%files -n trinity-libsmokeqt-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/smoke.h +%{tde_libdir}/libsmokeqt.so +%{tde_libdir}/libsmokeqt.la + +%post -n trinity-libsmokeqt-devel +/sbin/ldconfig || : + +%postun -n trinity-libsmokeqt-devel +/sbin/ldconfig || : + +########## + +%package -n trinity-libsmokekde1 +Summary: SMOKE Binding Library to TDE +Group: Environment/Libraries + +%description -n trinity-libsmokekde1 +The "Scripting Meta Object Kompiler Engine" library is used by +various TDE language bindings packages to provide interfaces to the +TDE libraries. + +This package is part of the official TDE bindings module. + +%files -n trinity-libsmokekde1 +%defattr(-,root,root,-) +%{tde_libdir}/libsmokekde.so.* + +%post -n trinity-libsmokekde1 +/sbin/ldconfig || : + +%postun -n trinity-libsmokekde1 +/sbin/ldconfig || : + +########## + +%package -n trinity-libsmokekde-devel +Summary: SMOKE Binding Library to TDE - Development Files +Group: Development/Libraries +Requires: trinity-libsmokekde1 = %{version}-%{release} + +%description -n trinity-libsmokekde-devel +The "Scripting Meta Object Kompiler Engine" library is used by +various TDE language bindings packages to provide interfaces to the +Qt and TDE libraries. This package contains the development files for +the library. + +If you are a normal user, you probably don't need this +package. + +This package is part of the official TDE bindings module. + +%files -n trinity-libsmokekde-devel +%defattr(-,root,root,-) +%{tde_libdir}/libsmokekde.so +%{tde_libdir}/libsmokekde.la + +%post -n trinity-libsmokekde-devel +/sbin/ldconfig || : + +%postun -n trinity-libsmokekde-devel +/sbin/ldconfig || : + +########## + +%package -n trinity-perl-dcop +Summary: DCOP Bindings for Perl +Group: Development/Libraries + +Obsoletes: trinity-kdebindings-dcopperl < %{version}-%{release} +Provides: trinity-kdebindings-dcopperl = %{version}-%{release} + +%description -n trinity-perl-dcop +Perl bindings to the DCOP interprocess communication protocol used by TDE + +%files -n trinity-perl-dcop +%defattr(-,root,root,-) +%{perl_vendorarch}/auto/DCOP/* +%{perl_vendorarch}/DCOP.pm +%{perl_vendorarch}/DCOP/* +%doc dcopperl/AUTHORS dcopperl/Changes dcopperl/README dcopperl/TODO +%{tde_mandir}/man3/DCOP.3pm* + +########## + +%package -n trinity-python-dcop +Summary: DCOP bindings for Python +Group: Environment/Libraries +Requires: python +#Provides: %{name}-dcoppython = %{version}-%{release} + +%description -n trinity-python-dcop +This package contains the shared libraries necessary to run and +develop Python programs using the Python DCOP bindings +libraries. DCOP is the TDE Desktop COmmunications Protocol, used for +communicating with running TDE applications. + +This package is part of the official TDE bindings module. + +%files -n trinity-python-dcop +%defattr(-,root,root,-) +%{python_sitearch}/pcop.la +%{python_sitearch}/pcop.so +%{python_sitearch}/pydcop.py* + +########## + +%package -n trinity-libkjsembed1 +Summary: Embedded JavaScript library +Group: Environment/Libraries + +%description -n trinity-libkjsembed1 +This package contains the shared libraries necessary to run programs +linked with the KJSEmbed library. This library provides JavaScript +embedded scripting facilities to TDE applications. + +This package is part of the official TDE bindings module. + +%files -n trinity-libkjsembed1 +%defattr(-,root,root,-) +%{tde_libdir}/libkjsembed.so.* +%{tde_tdelibdir}/libimagefxplugin.la +%{tde_tdelibdir}/libimagefxplugin.so +%{tde_datadir}/services/imagefx_plugin.desktop +%{tde_tdelibdir}/libqprocessplugin.so +%{tde_tdelibdir}/libqprocessplugin.la +%{tde_datadir}/services/qprocess_plugin.desktop +%{tde_tdelibdir}/libfileitemplugin.la +%{tde_tdelibdir}/libfileitemplugin.so +%{tde_datadir}/services/kfileitem_plugin.desktop +%{tde_datadir}/apps/kjsembed/cmdline.js +%{tde_datadir}/servicetypes/binding_type.desktop +%{tde_bindir}/embedjs +%{tde_datadir}/apps/embedjs/embedjsui.rc +%{tde_datadir}/applnk/Utilities/embedjs.desktop +%{tde_datadir}/icons/hicolor/16x16/apps/embedjs.png +%{tde_datadir}/icons/hicolor/32x32/apps/embedjs.png +%{tde_tdelibdir}/libjavascript.la +%{tde_tdelibdir}/libjavascript.so +%{tde_datadir}/apps/kate/scripts/swaptabs.js +%{tde_datadir}/apps/kate/scripts/swaptabs.ui +%{tde_datadir}/apps/kate/scripts/swaptabs.desktop +%{tde_datadir}/services/javascript.desktop +%doc kjsembed/docs/ChangeLog + +%post -n trinity-libkjsembed1 +/sbin/ldconfig ||: +touch --no-create %{tde_datadir}/icons/hicolor ||: +gtk-update-icon-cache -q %{tde_datadir}/icons/hicolor 2> /dev/null ||: +update-desktop-database >& /dev/null ||: + +%postun -n trinity-libkjsembed1 +/sbin/ldconfig ||: +touch --no-create %{tde_datadir}/icons/hicolor ||: +gtk-update-icon-cache -q %{tde_datadir}/icons/hicolor 2> /dev/null ||: +update-desktop-database >& /dev/null ||: + +########## + +%package -n trinity-libkjsembed-devel +Summary: Embedded JavaScript library (Development files) +Group: Development/Libraries +Requires: trinity-libkjsembed1 = %{version}-%{release} + +%description -n trinity-libkjsembed-devel +This package contains the header files and symbolic links necessary +to develop and compile programs using the KJSEmbed library. This +library provides JavaScript embedded scripting facilities to TDE +applications. + +It also includes lots of example programs that make use of these +bindings, plus comprehensive documentation of the bindings. + +This package is part of the official TDE bindings module. + +%files -n trinity-libkjsembed-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/kjsembed/ +%{tde_libdir}/libkjsembed.so +%{tde_libdir}/libkjsembed.la +%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ + +%post -n trinity-libkjsembed-devel +/sbin/ldconfig || : + +%postun -n trinity-libkjsembed-devel +/sbin/ldconfig || : + +########## + +%package -n trinity-kjscmd +Summary: A script interpreter using the TDE JavaScript library +Group: Environment/Libraries + +%description -n trinity-kjscmd +This package contains the kjscmd program, which is a standalone +JavaScript interpreter using the KJSEmbed library. + +This package is part of the official TDE bindings module. + +%files -n trinity-kjscmd +%defattr(-,root,root,-) +%{tde_bindir}/kjscmd +%{tde_tdeappdir}/kjscmd.desktop +%{tde_mandir}/man1/kjscmd.* +%{tde_tdelibdir}/libjsconsoleplugin.la +%{tde_tdelibdir}/libjsconsoleplugin.so + +%post -n trinity-kjscmd +update-desktop-database >& /dev/null ||: + +%postun -n trinity-kjscmd +update-desktop-database >& /dev/null ||: + +########## + +%package -n trinity-juic +Summary: The Qt Java UI Compiler +Group: Environment/Libraries +Requires: trinity-libqt3-java = %{version}-%{release} + +%description -n trinity-juic +This package contains the juic program, which is used to convert +a UI description file generated by the Qt Designer, and converts +it into a Qt Java class. It is necessary for compiling and +developing programs using the Qt Java bindings together with Qt +Designer. + +This package is part of the official TDE bindings module. + +%files -n trinity-juic +%defattr(-,root,root,-) +%{tde_bindir}/juic +%{tde_datadir}/juic/ + +########## + +%package -n trinity-libkorundum0-ruby +Summary: TDE bindings for Ruby [Trinity] +Group: Environment/Libraries +Requires: trinity-libqt0-ruby = %{version}-%{release} + +%description -n trinity-libkorundum0-ruby +This package contains the files necessary for running and developing +Ruby code using the Korundum TDE Ruby bindings. + +It also includes some example programs and templates that make use of +these bindings. + +This package is part of the official TDE bindings module. + +%files -n trinity-libkorundum0-ruby +%defattr(-,root,root,-) +%{tde_bindir}/rbkdesh +%{tde_bindir}/rbkdeapi +%{tde_bindir}/krubyinit +%{tde_bindir}/rbkconfig_compiler +%{ruby_rubylibdir}/Korundum.rb +%{ruby_rubylibdir}/KDE/korundum.rb +%{ruby_arch}/korundum.la +%{ruby_arch}/korundum.so* +%doc korundum/ChangeLog + +%post -n trinity-libkorundum0-ruby +/sbin/ldconfig || : + +%postun -n trinity-libkorundum0-ruby +/sbin/ldconfig || : + +########## + +%package -n trinity-libqt0-ruby +Summary: Qt bindings for Ruby [Trinity] +Group: Environment/Libraries +Requires: ruby + +%description -n trinity-libqt0-ruby +This package contains the files necessary for running and developing +Ruby code using the Qt Ruby bindings. + +It also includes some example programs that make use of these bindings, +plus many of the Qt Tutorial examples translated into Ruby. + +This package is part of the official TDE bindings module. + +%files -n trinity-libqt0-ruby +%defattr(-,root,root,-) +%{tde_bindir}/rbqtsh +%{tde_bindir}/rbqtapi +%{tde_bindir}/rbuic +%{tde_bindir}/qtrubyinit +%{ruby_rubylibdir}/Qt/qtruby.rb +%{ruby_rubylibdir}/Qt.rb +%{ruby_arch}/qtruby.so* +%{ruby_arch}/qtruby.la +%{ruby_arch}/qui.so* +%{ruby_arch}/qui.la +%doc qtruby/ChangeLog + +%post -n trinity-libqt0-ruby +/sbin/ldconfig || : + +%postun -n trinity-libqt0-ruby +/sbin/ldconfig || : + +########## + +%if 0 +%package -n trinity-kmozilla +Summary: Kmozilla for TDE +Group: Environment/Libraries + +%description -n trinity-kmozilla +%{summary} + +%files -n trinity-kmozilla +%defattr(-,root,root,-) +%{tde_bindir}/kmozilla +%{tde_libdir}/libkmozillapart.so.* +%{tde_libdir}/libkmozillapart.so +%{tde_libdir}/libkmozillapart.la +%{tde_datadir}/services/kmozilla.desktop +%endif + +########## + +%package -n trinity-xpart-notepad +Summary: A small XPart editor +Group: Applications/Utilities + +%description -n trinity-xpart-notepad +xpart_notepad is a small XPart editor. Use it to understand how to use XPart. + +%files -n trinity-xpart-notepad +%defattr(-,root,root,-) +%{tde_bindir}/shell_xparthost +%{tde_bindir}/xp_notepad +%{tde_libdir}/libxp_notepadpart.la +%{tde_libdir}/libxp_notepadpart.so +%{tde_libdir}/libxp_notepadpart.so.* +%{tde_datadir}/services/xp_notepad.desktop +%doc xparts/xpart_notepad/README + +%post -n trinity-xpart-notepad +/sbin/ldconfig || : + +%postun -n trinity-xpart-notepad +/sbin/ldconfig || : + +########## + +%if 0%{?with_gtk1} +%package -n trinity-libgtkxparts1 +Summary: Xparts library for GTK +Group: Environment/Libraries + +%description -n trinity-libgtkxparts1 +%{summary} + +%files -n trinity-libgtkxparts1 +%defattr(-,root,root,-) +%{tde_libdir}/libgtkxparts.so.* +%{tde_libdir}/libgtkxparts.la + +%post -n trinity-libgtkxparts1 +/sbin/ldconfig || : + +%postun -n trinity-libgtkxparts1 +/sbin/ldconfig || : +%endif + +########## + +%package -n trinity-libkdexparts1 +Summary: Xparts library for KDE +Group: Environment/Libraries + +%description -n trinity-libkdexparts1 +%{summary} + +%files -n trinity-libkdexparts1 +%defattr(-,root,root,-) +%{tde_libdir}/libkdexparts.so.* +%{tde_libdir}/libkdexparts.la + +%post -n trinity-libkdexparts1 +/sbin/ldconfig || : + +%postun -n trinity-libkdexparts1 +/sbin/ldconfig || : + +########## + +%package -n trinity-libxparts-devel +Summary: Xparts development files +Group: Development/Libraries +%if 0%{?with_gtk1} +Requires: trinity-libgtkxparts1 = %{version}-%{release} +%endif +Requires: trinity-libkdexparts1 = %{version}-%{release} + +%description -n trinity-libxparts-devel +%{summary} + +%files -n trinity-libxparts-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/xkparts/ +%if 0%{?with_gtk1} +%{tde_libdir}/libgtkxparts.so +%endif +%{tde_libdir}/libkdexparts.so + +%post -n trinity-libxparts-devel +/sbin/ldconfig || : + +%postun -n trinity-libxparts-devel +/sbin/ldconfig || : + +########## + +%package xparts-extras +Summary: Extra xparts for TDE [Trinity] +Group: Environment/Libraries + +# Metapckage requires +Requires: trinity-xpart-notepad = %{version}-%{release} +%if 0%{?with_gtk1} +Requires: trinity-libgtkxparts1 = %{version}-%{release} +%endif +Requires: trinity-libkdexparts1 = %{version}-%{release} +Requires: trinity-libdcop-c = %{version}-%{release} + +%description xparts-extras +This package contains extra xparts-based modules for Trinity +This includes the mozilla-konqueror plugin + +This package is part of the official TDE bindings module. + +%files xparts-extras + +########### + +%package -n trinity-libdcop-c +Summary: DCOP bindings for C [Trinity] +Group: Environment/Libraries + +%description -n trinity-libdcop-c +%{summary} + +%files -n trinity-libdcop-c +%defattr(-,root,root,-) +%{tde_libdir}/libdcopc.so.* + +%post -n trinity-libdcop-c +/sbin/ldconfig || : + +%postun -n trinity-libdcop-c +/sbin/ldconfig || : + +########### + +%package -n trinity-libdcop-c-devel +Summary: DCOP bindings for C, development files [Trinity] +Group: Development/Libraries +Requires: trinity-libdcop-c = %{version}-%{release} + +%description -n trinity-libdcop-c-devel +%{summary} + +%files -n trinity-libdcop-c-devel +%defattr(-,root,root,-) +%{tde_libdir}/libdcopc.so +%{tde_libdir}/libdcopc.la +%{tde_tdeincludedir}/dcopc/ + +%post -n trinity-libdcop-c-devel +/sbin/ldconfig || : + +%postun -n trinity-libdcop-c-devel +/sbin/ldconfig || : + +########## + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: trinity-tdelibs-devel + +Obsoletes: trinity-kdebindings-devel < %{version}-%{release} +Provides: trinity-kdebindings-devel = %{version}-%{release} + +# Metapackage +Requires: trinity-libsmokeqt-devel = %{version}-%{release} +Requires: trinity-libdcop3-java-devel = %{version}-%{release} +Requires: trinity-libsmokekde-devel = %{version}-%{release} +Requires: trinity-libkjsembed-devel = %{version}-%{release} +Requires: trinity-libxparts-devel = %{version}-%{release} +Requires: trinity-libdcop-c-devel = %{version}-%{release} +Requires: trinity-libqt3-jni-devel = %{version}-%{release} +Requires: trinity-libtrinity-jni-devel = %{version}-%{release} + +%description devel +Development files for the TDE bindings. + +%files devel + +########## + +%if 0%{?suse_version} +%debug_package +%endif + +########## + +%prep +%setup -q -n kdebindings-3.5.13.1 +%patch1 -p1 -b .libgcj + +%if 0%{?fedora} >= 17 || 0%{?suse_version} >= 1220 +%patch2 -p1 -b .libhpi +%endif +%patch6 -p1 -b .dcopcinclude +%patch7 -p1 -b .dcopjavaldflags + +%patch10 -p1 -b .ruby19 +%patch11 -p1 -b .ruby19 +%patch12 -p1 -b .ruby19 +%patch13 -p1 -b .ruby19 +%patch14 -p1 -b .ruby19 +%patch15 -p1 -b .ruby19 +%patch16 -p1 -b .ruby19 +%patch17 -p1 -b .ruby19 +%if 0%{?rhel} >= 4 && 0%{?rhel} <= 5 +%patch18 -p1 -b .ruby +%endif + +# Adds non-standard Ruby include path in include dirs +%if 0%{?rhel} == 5 +#for d in \ +# qtruby/rubylib/qtruby \ +# qtruby/rubylib/designer/uilib \ +# qtruby/bin \ +# korundum/rubylib/korundum \ +# korundum/bin \ +#; do +# echo -e "\nINCLUDES += -I%{_usr}/include/%{_normalized_cpu}-%{_target_os}" >> "${d}/Makefile.am" +#done +%endif + +# Disable kmozilla, it does not build with recent xulrunner (missing 'libmozjs.so') +%__sed -i "xparts/Makefile.am" \ + -e "s|SUBDIRS = .*|SUBDIRS = src xpart_notepad|" + +# Ugly hack to modify TQT include directory inside autoconf files. +# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 ! +%__sed -i "admin/acinclude.m4.in" \ + -e "s|/usr/include/tqt|%{tde_includedir}/tqt|g" \ + -e "s|kde_htmldir='.*'|kde_htmldir='%{tde_tdedocdir}/HTML'|g" + +%__cp -f "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in" +%__cp -f "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh" || %__cp -f "/usr/share/libtool/ltmain.sh" "admin/ltmain.sh" +%__make -f "admin/Makefile.common" + + +%build +unset QTDIR || : ; source /etc/profile.d/qt3.sh +export PATH="%{tde_bindir}:${PATH}" +export LDFLAGS="-L%{tde_libdir} -I%{tde_includedir}" + +unset JAVA_HOME ||: +%{?java_home:JAVA_HOME=%{java_home}; export JAVA_HOME} + +# sip/PyQt/PyKDE built separately, not here +export DO_NOT_COMPILE="$DO_NOT_COMPILE python" + +# Specific path for RHEL4 +if [ -d /usr/X11R6 ]; then + export CXXFLAGS="${CXXFLAGS} -I/usr/X11R6/include -L/usr/X11R6/%{_lib}" +fi + +%configure \ + --prefix=%{tde_prefix} \ + --exec-prefix=%{tde_prefix} \ + --bindir=%{tde_bindir} \ + --datadir=%{tde_datadir} \ + --docdir=%{tde_docdir} \ + --includedir=%{tde_tdeincludedir} \ + --libdir=%{tde_libdir} \ + --mandir=%{tde_mandir} \ + --disable-rpath \ + --enable-new-ldflags \ + --disable-debug --disable-warnings \ + --disable-dependency-tracking \ + --with-extra-libs=%{tde_libdir} \ + --with-pythondir=%{_usr} \ + --enable-closure \ + --enable-final \ + %{?_with_java} %{!?_with_java:--without-java} \ + %{?_enable_qscintilla} %{!?_enable_qscintilla:--disable-qscintilla} \ + --with-extra-includes=%{tde_includedir}/tqt + +pushd dcopperl +CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS=vendor + +# Ugly hack to add TQT include directory in Makefile +# Also modifies the man pages directory +sed -i Makefile \ + -e "s|^\(INC = .*\)|\1 -I%{tde_includedir}/tqt|" \ + -e "s|/usr/share/man|%{tde_mandir}|g" + +%__make OPTIMIZE="$RPM_OPT_FLAGS" ||: +popd + +# smoke (not smp-safe) +%__make -C smoke + +# The rest is smp-safe +%__make %{?_smp_mflags} PYTHON=%{__python} + + +%install +export PATH="%{tde_bindir}:${PATH}" +%__rm -rf $RPM_BUILD_ROOT + +%__make install DESTDIR=%{?buildroot} \ + PYTHON=%{__python} + +# Removes some perl files +find $RPM_BUILD_ROOT -type f -a \( -name perllocal.pod -o -name .packlist \ + -o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';' + +# locale's +%find_lang %{name} || touch %{name}.lang +HTML_DIR=$(kde-config --expandvars --install html) +if [ -d $RPM_BUILD_ROOT$HTML_DIR ]; then +for lang_dir in $RPM_BUILD_ROOT$HTML_DIR/* ; do + if [ -d $lang_dir ]; then + lang=$(basename $lang_dir) + echo "%lang($lang) $HTML_DIR/$lang/*" >> %{name}.lang + # replace absolute symlinks with relative ones + pushd $lang_dir + for i in *; do + [ -d $i -a -L $i/common ] && ln -nsf ../common $i/common + done + popd + fi +done +fi + +# Installs juic +%__install -D -m 755 qtjava/designer/juic/bin/juic %{?buildroot}%{tde_bindir}/juic +%__install -d -m 755 %{?buildroot}%{tde_datadir}/juic/common +%__install qtjava/designer/juic/common/*.xml %{?buildroot}%{tde_datadir}/juic/common +%__install qtjava/designer/juic/common/*.xsl %{?buildroot}%{tde_datadir}/juic/common +%__install -d -m 755 %{?buildroot}%{tde_datadir}/juic/java +%__install qtjava/designer/juic/java/*.xml %{?buildroot}%{tde_datadir}/juic/java +%__install qtjava/designer/juic/java/*.xsl %{?buildroot}%{tde_datadir}/juic/java +%__install qtjava/designer/juic/juic.xsl %{?buildroot}%{tde_datadir}/juic + +# kjsembed sample files +%__install -d -m 755 %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customobject_plugin.cpp %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customobject_plugin.h %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customobject_plugin.desktop %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customqobject_plugin.cpp %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customqobject_plugin.h %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ +%__install kjsembed/plugins/customqobject_plugin.desktop %{?buildroot}%{tde_docdir}/trinity-libkjsembed-devel/plugin-examples/customobject/ + + +# Man installation location is wrong on RHEL4... +if [ -d "%{buildroot}%{_mandir}/man3" ]; then + mv -f %{buildroot}%{_mandir}/man3 %{buildroot}%{tde_mandir}/man3/ + rm -rf %{buildroot}%{_mandir} +fi + + +%clean +%__rm -rf $RPM_BUILD_ROOT + + + +%changelog +* Sat Sep 29 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13.1-1 +- Initial build for TDE 3.5.13.1 |