summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sandall2007-12-01 11:37:27 -0800
committerEric Sandall2007-12-01 11:37:27 -0800
commitf53370367cb0b2a28ff4382c616af5aed7dc9e39 (patch)
tree4801760937bfcfe02ec76a9b041332dc32505bce
parent55cefcaa3d12d729f33e6ccdf603922153e20d03 (diff)
ruby-glib2: Compile again with glib2 > 2.14.1 (Bug #14114)
-rw-r--r--gnome2-libs/ruby-glib2/01-timeout_add_seconds.patch108
-rw-r--r--gnome2-libs/ruby-glib2/02-unicode.patch167
-rw-r--r--gnome2-libs/ruby-glib2/HISTORY9
-rwxr-xr-xgnome2-libs/ruby-glib2/PRE_BUILD5
4 files changed, 289 insertions, 0 deletions
diff --git a/gnome2-libs/ruby-glib2/01-timeout_add_seconds.patch b/gnome2-libs/ruby-glib2/01-timeout_add_seconds.patch
new file mode 100644
index 0000000000..e885089787
--- /dev/null
+++ b/gnome2-libs/ruby-glib2/01-timeout_add_seconds.patch
@@ -0,0 +1,108 @@
+--- rbglib_maincontext.c 2006/12/10 17:24:22 1.10
++++ rbglib_maincontext.c 2007/08/30 10:13:44 1.13
+@@ -3,8 +3,8 @@
+
+ rbglib_maincontext.c -
+
+- $Author: mutoh $
+- $Date: 2006/12/10 17:24:22 $
++ $Author: ktou $
++ $Date: 2007/08/30 10:13:44 $
+
+ Copyright (C) 2005 Masao Mutoh
+ ************************************************/
+@@ -54,7 +54,7 @@
+ callback_info_t *info = (callback_info_t *)data;
+ gboolean ret;
+
+- ret = RTEST(rb_funcall(info->callback, id_call, 0));
++ ret = RVAL2CBOOL(rb_funcall(info->callback, id_call, 0));
+ if (!ret)
+ G_REMOVE_RELATIVE(mGLibSource, id__callbacks__, UINT2NUM(info->id));
+ return ret;
+@@ -95,7 +95,7 @@
+ mc_iteration(self, may_block)
+ VALUE self, may_block;
+ {
+- return CBOOL2RVAL(g_main_context_iteration(_SELF(self), RTEST(may_block)));
++ return CBOOL2RVAL(g_main_context_iteration(_SELF(self), RVAL2CBOOL(may_block)));
+ }
+
+ static VALUE
+@@ -253,7 +253,7 @@
+ mc_set_poll_func(self)
+ VALUE self;
+ {
+- rb_ivar_set(self, id_poll_func, G_BLOCK_PROC());
++ rb_ivar_set(self, id_poll_func, rb_block_proc());
+ g_main_context_set_poll_func(_SELF(self), (GPollFunc)poll_func);
+
+ return self;
+@@ -331,19 +331,23 @@
+
+ #if GLIB_CHECK_VERSION(2,14,0)
+ static VALUE
+-timeout_add_seconds(VALUE self, VALUE interval)
++timeout_add_seconds(int argc, VALUE *argv, VALUE self)
+ {
+- VALUE func, rb_id;
++ VALUE interval, rb_priority, func, rb_id;
++ gint priority;
+ callback_info_t *info;
+ guint id;
+
+- func = G_BLOCK_PROC();
++ rb_scan_args(argc, argv, "11&", &interval, &rb_priority, &func);
+
++ priority = NIL_P(rb_priority) ? G_PRIORITY_DEFAULT : INT2NUM(rb_priority);
+ info = ALLOC(callback_info_t);
+ info->callback = func;
+- id = g_timeout_add_seconds(NUM2UINT(interval),
+- (GSourceFunc)invoke_source_func,
+- (gpointer)info, g_free);
++ id = g_timeout_add_seconds_full(priority,
++ NUM2UINT(interval),
++ (GSourceFunc)invoke_source_func,
++ (gpointer)info,
++ g_free);
+ info->id = id;
+ rb_id = UINT2NUM(id);
+ G_RELATIVE2(mGLibSource, func, id__callbacks__, rb_id);
+@@ -372,15 +376,15 @@
+
+ rb_scan_args(argc, argv, "02", &arg1, &arg2);
+
+- if (RTEST(rb_obj_is_kind_of(arg1, rb_cProc))) {
++ if (RVAL2CBOOL(rb_obj_is_kind_of(arg1, rb_cProc))) {
+ priority = G_PRIORITY_DEFAULT;
+ func = arg1;
+- } else if (RTEST(rb_obj_is_kind_of(arg1, rb_cInteger))) {
++ } else if (RVAL2CBOOL(rb_obj_is_kind_of(arg1, rb_cInteger))) {
+ priority = NUM2INT(arg1);
+- func = G_BLOCK_PROC();
++ func = rb_block_proc();
+ } else {
+ priority = G_PRIORITY_DEFAULT;
+- func = G_BLOCK_PROC();
++ func = rb_block_proc();
+ }
+
+ info = ALLOC(callback_info_t);
+@@ -427,7 +431,7 @@
+ child_watch_add(self, pid)
+ VALUE self, pid;
+ {
+- VALUE func = G_BLOCK_PROC();
++ VALUE func = rb_block_proc();
+ G_RELATIVE(self, func);
+ return UINT2NUM(g_child_watch_add((GPid)NUM2INT(pid),
+ (GChildWatchFunc)child_watch_func, (gpointer)func));
+@@ -488,7 +492,7 @@
+ #endif
+ rb_define_module_function(timeout, "add", timeout_add, -1);
+ #if GLIB_CHECK_VERSION(2,14,0)
+- rb_define_module_function(timeout, "add_seconds", timeout_add_seconds, 1);
++ rb_define_module_function(timeout, "add_seconds", timeout_add_seconds, -1);
+ #endif
+ rb_define_module_function(idle, "source_new", idle_source_new, 0);
+ rb_define_module_function(idle, "add", idle_add, -1);
diff --git a/gnome2-libs/ruby-glib2/02-unicode.patch b/gnome2-libs/ruby-glib2/02-unicode.patch
new file mode 100644
index 0000000000..2c0d17a6d1
--- /dev/null
+++ b/gnome2-libs/ruby-glib2/02-unicode.patch
@@ -0,0 +1,167 @@
+--- rbglib_unicode.c 2006/12/16 05:01:30 1.7
++++ rbglib_unicode.c 2007/08/30 10:16:35 1.9
+@@ -3,8 +3,8 @@
+
+ rbglib_unicode.c -
+
+- $Author: mutoh $
+- $Date: 2006/12/16 05:01:30 $
++ $Author: ktou $
++ $Date: 2007/08/30 10:16:35 $
+
+ Copyright (C) 2006 Kouhei Sutou
+
+@@ -100,7 +100,7 @@
+ gint len;
+
+ original_str = StringValuePtr(rb_ucs4);
+- len = RSTRING(rb_ucs4)->len;
++ len = RSTRING_LEN(rb_ucs4);
+ ucs4 = g_memdup(original_str, len);
+ g_unicode_canonical_ordering(ucs4, len);
+ normalized_ucs4 = rb_str_new((const char *)ucs4, len);
+@@ -140,7 +140,7 @@
+ rbglib_m_unichar_get_script(VALUE self, VALUE unichar)
+ {
+ return GENUM2RVAL(g_unichar_get_script(NUM2UINT(unichar)),
+- G_TYPE_UNICODE_SCRIPT_TYPE);
++ G_TYPE_UNICODE_SCRIPT);
+ }
+ #endif
+
+@@ -154,8 +154,8 @@
+
+ if (RVAL2CBOOL(validate)) {
+ StringValue(utf8);
+- result = g_utf8_get_char_validated(RSTRING(utf8)->ptr,
+- RSTRING(utf8)->len);
++ result = g_utf8_get_char_validated(RSTRING_PTR(utf8),
++ RSTRING_LEN(utf8));
+ if (result == (gunichar)-1) {
+ return INT2NUM(-1);
+ } else if (result == (gunichar)-2) {
+@@ -174,7 +174,7 @@
+ gchar *utf8;
+
+ utf8 = StringValueCStr(rb_utf8);
+- return INT2NUM(g_utf8_strlen(utf8, RSTRING(rb_utf8)->len));
++ return INT2NUM(g_utf8_strlen(utf8, RSTRING_LEN(rb_utf8)));
+ }
+
+ static VALUE
+@@ -184,7 +184,7 @@
+ gchar *utf8, *reversed_utf8;
+
+ utf8 = StringValueCStr(rb_utf8);
+- reversed_utf8 = g_utf8_strreverse(utf8, RSTRING(rb_utf8)->len);
++ reversed_utf8 = g_utf8_strreverse(utf8, RSTRING_LEN(rb_utf8));
+ result = rb_str_new2(reversed_utf8);
+ g_free(reversed_utf8);
+ return result;
+@@ -194,7 +194,7 @@
+ rbglib_m_utf8_validate(VALUE self, VALUE str)
+ {
+ StringValue(str);
+- return CBOOL2RVAL(g_utf8_validate(RSTRING(str)->ptr, RSTRING(str)->len,
++ return CBOOL2RVAL(g_utf8_validate(RSTRING_PTR(str), RSTRING_LEN(str),
+ NULL));
+ }
+
+@@ -205,7 +205,7 @@
+ gchar *utf8, *upcased_utf8;
+
+ utf8 = StringValueCStr(rb_utf8);
+- upcased_utf8 = g_utf8_strup(utf8, RSTRING(rb_utf8)->len);
++ upcased_utf8 = g_utf8_strup(utf8, RSTRING_LEN(rb_utf8));
+ result = rb_str_new2(upcased_utf8);
+ g_free(upcased_utf8);
+ return result;
+@@ -218,7 +218,7 @@
+ gchar *utf8, *downcased_utf8;
+
+ utf8 = StringValueCStr(rb_utf8);
+- downcased_utf8 = g_utf8_strdown(utf8, RSTRING(rb_utf8)->len);
++ downcased_utf8 = g_utf8_strdown(utf8, RSTRING_LEN(rb_utf8));
+ result = rb_str_new2(downcased_utf8);
+ g_free(downcased_utf8);
+ return result;
+@@ -231,7 +231,7 @@
+ gchar *utf8, *casefolded_utf8;
+
+ utf8 = StringValueCStr(rb_utf8);
+- casefolded_utf8 = g_utf8_casefold(utf8, RSTRING(rb_utf8)->len);
++ casefolded_utf8 = g_utf8_casefold(utf8, RSTRING_LEN(rb_utf8));
+ result = rb_str_new2(casefolded_utf8);
+ g_free(casefolded_utf8);
+ return result;
+@@ -250,7 +250,7 @@
+ mode = RVAL2GENUM(rb_mode, G_TYPE_NORMALIZE_MODE);
+
+ utf8 = StringValueCStr(rb_utf8);
+- normalized_utf8 = g_utf8_normalize(utf8, RSTRING(rb_utf8)->len, mode);
++ normalized_utf8 = g_utf8_normalize(utf8, RSTRING_LEN(rb_utf8), mode);
+ result = rb_str_new2(normalized_utf8);
+ g_free(normalized_utf8);
+ return result;
+@@ -273,7 +273,7 @@
+ rb_scan_args(argc, argv, "11", &rb_utf8, &for_filename);
+
+ utf8 = StringValueCStr(rb_utf8);
+- len = RSTRING(rb_utf8)->len;
++ len = RSTRING_LEN(rb_utf8);
+ #if GLIB_CHECK_VERSION(2,8,0)
+ if (RVAL2CBOOL(for_filename))
+ key = g_utf8_collate_key_for_filename(utf8, len);
+@@ -296,7 +296,7 @@
+ GError *error = NULL;
+
+ utf8 = StringValueCStr(rb_utf8);
+- len = RSTRING(rb_utf8)->len;
++ len = RSTRING_LEN(rb_utf8);
+
+ utf16 = g_utf8_to_utf16(utf8, len, NULL, &items_written, &error);
+
+@@ -319,7 +319,7 @@
+ rb_scan_args(argc, argv, "11", &rb_utf8, &is_fast);
+
+ utf8 = StringValueCStr(rb_utf8);
+- len = RSTRING(rb_utf8)->len;
++ len = RSTRING_LEN(rb_utf8);
+
+ if (RVAL2CBOOL(is_fast)) {
+ ucs4 = g_utf8_to_ucs4_fast(utf8, len, &items_written);
+@@ -346,7 +346,7 @@
+ GError *error = NULL;
+
+ utf16 = (gunichar2 *)StringValueCStr(rb_utf16);
+- len = RSTRING(rb_utf16)->len / sizeof(*utf16);
++ len = RSTRING_LEN(rb_utf16) / sizeof(*utf16);
+
+ ucs4 = g_utf16_to_ucs4(utf16, len, NULL, &items_written, &error);
+
+@@ -368,7 +368,7 @@
+ GError *error = NULL;
+
+ utf16 = (gunichar2 *)StringValueCStr(rb_utf16);
+- len = RSTRING(rb_utf16)->len / sizeof(*utf16);
++ len = RSTRING_LEN(rb_utf16) / sizeof(*utf16);
+
+ utf8 = g_utf16_to_utf8(utf16, len, NULL, &items_written, &error);
+
+@@ -390,7 +390,7 @@
+ GError *error = NULL;
+
+ ucs4 = (gunichar *)StringValuePtr(rb_ucs4);
+- len = RSTRING(rb_ucs4)->len / sizeof(*ucs4);
++ len = RSTRING_LEN(rb_ucs4) / sizeof(*ucs4);
+
+ utf16 = g_ucs4_to_utf16(ucs4, len, NULL, &items_written, &error);
+
+@@ -412,7 +412,7 @@
+ GError *error = NULL;
+
+ ucs4 = (gunichar *)StringValuePtr(rb_ucs4);
+- len = RSTRING(rb_ucs4)->len / sizeof(*ucs4);
++ len = RSTRING_LEN(rb_ucs4) / sizeof(*ucs4);
+
+ utf8 = g_ucs4_to_utf8(ucs4, len, NULL, &items_written, &error);
diff --git a/gnome2-libs/ruby-glib2/HISTORY b/gnome2-libs/ruby-glib2/HISTORY
index efef09ce70..8473181636 100644
--- a/gnome2-libs/ruby-glib2/HISTORY
+++ b/gnome2-libs/ruby-glib2/HISTORY
@@ -1,3 +1,12 @@
+2007-12-01 Eric Sandall <sandalle@sourcemage.org>
+ * 01-timeout_add_seconds.patch: Patch between 1.10 and 1.13 from
+ Revision 1.12 from http://ruby-gnome2.cvs.sourceforge.net/ruby-gnome2/ruby-gnome2/glib/src/rbglib_maincontext.c?view=log
+ Fixes Bug #14114
+ * 02-unicode.patch: Patch from 1.7 to 1.9 from
+ Revision 1.12 from http://ruby-gnome2.cvs.sourceforge.net/ruby-gnome2/ruby-gnome2/glib/src/rbglib_maincontext.c?view=log
+ Fixes another compile issue with glib2 > 2.14.1
+ * PRE_BUILD: Apply patches in-order
+
2007-03-18 Robin Cook <rcook@wyrms.net>
* DETAILS: updated VERSION to 0.16.0
diff --git a/gnome2-libs/ruby-glib2/PRE_BUILD b/gnome2-libs/ruby-glib2/PRE_BUILD
new file mode 100755
index 0000000000..7ed2d8c374
--- /dev/null
+++ b/gnome2-libs/ruby-glib2/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+patch $SOURCE_DIRECTORY/glib/src/rbglib_maincontext.c \
+ $SCRIPT_DIRECTORY/01-timeout_add_seconds.patch &&
+patch $SOURCE_DIRECTORY/glib/src/rbglib_unicode.c \
+ $SCRIPT_DIRECTORY/02-unicode.patch