Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 323438 Details for
Bug 424789
www-client/elinks-0.12_pre5-r2 died on configure when USE="ruby" - suitable ruby version not found
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
ruby 1.9 compatibility patch
elinks-0.12_pre5-ruby-1.9.patch (text/plain), 6.96 KB, created by
Ian Abbott
on 2012-09-10 17:47:37 UTC
(
hide
)
Description:
ruby 1.9 compatibility patch
Filename:
MIME Type:
Creator:
Ian Abbott
Created:
2012-09-10 17:47:37 UTC
Size:
6.96 KB
patch
obsolete
>diff -urp a/config/m4/ruby.m4 b/config/m4/ruby.m4 >--- a/config/m4/ruby.m4 2009-07-07 13:23:17.000000000 +0100 >+++ b/config/m4/ruby.m4 2012-09-10 18:23:09.000000000 +0100 >@@ -32,36 +32,40 @@ if test "$CONFIG_SCRIPTING_RUBY" = "yes" > if test "$CONFIG_SCRIPTING_RUBY" != "no"; then > > AC_MSG_CHECKING(Ruby version) >- if $CONFIG_SCRIPTING_RUBY -e 'exit((VERSION or RUBY_VERSION) >= "1.6.0")' >/dev/null 2>/dev/null; then >+ if $CONFIG_SCRIPTING_RUBY -e 'exit((VERSION rescue RUBY_VERSION) >= "1.6.0")' >/dev/null 2>/dev/null; then > ruby_version=`$CONFIG_SCRIPTING_RUBY -e 'puts "#{VERSION rescue RUBY_VERSION}"'` > AC_MSG_RESULT($ruby_version) > > AC_MSG_CHECKING(for Ruby header files) >- rubyhdrdir=`$CONFIG_SCRIPTING_RUBY -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` >+ rubyhdrdir=`$CONFIG_SCRIPTING_RUBY -r mkmf -e 'print RbConfig::CONFIG[["rubyhdrdir"]] || RbConfig::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` > > if test "X$rubyhdrdir" != "X"; then > AC_MSG_RESULT($rubyhdrdir) > RUBY_CFLAGS="-I$rubyhdrdir" >- rubylibs=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` >+ rubyarch=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print RbConfig::CONFIG[["arch"]]'` >+ if test -d "$rubyhdrdir/$rubyarch"; then >+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" >+ fi >+ rubylibs=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print RbConfig::CONFIG[["LIBS"]]'` > > if test "X$rubylibs" != "X"; then > RUBY_LIBS="$rubylibs" > fi > >- librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'` >+ librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print RbConfig.expand(RbConfig::CONFIG[["LIBRUBYARG"]])'` > > if test -f "$rubyhdrdir/$librubyarg"; then > librubyarg="$rubyhdrdir/$librubyarg" > > else >- rubylibdir=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'` >+ rubylibdir=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print RbConfig.expand(RbConfig::CONFIG[["libdir"]])'` > if test -f "$rubylibdir/$librubyarg"; then > librubyarg="$rubylibdir/$librubyarg" > elif test "$librubyarg" = "libruby.a"; then > dnl required on Mac OS 10.3 where libruby.a doesn't exist > librubyarg="-lruby" > else >- librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"` >+ librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{RbConfig.expand(RbConfig::CONFIG[\"libdir\"])}')"` > fi > fi > >@@ -69,7 +73,7 @@ if test "$CONFIG_SCRIPTING_RUBY" = "yes" > RUBY_LIBS="$librubyarg $RUBY_LIBS" > fi > >- rubyldflags=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'` >+ rubyldflags=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print RbConfig::CONFIG[["LDFLAGS"]]'` > if test "X$rubyldflags" != "X"; then > LDFLAGS="$rubyldflags $LDFLAGS" > fi >@@ -86,6 +90,15 @@ if test "$CONFIG_SCRIPTING_RUBY" = "yes" > AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) > fi > fi >+ if test "$CONFIG_SCRIPTING_RUBY" = "yes"; then >+ AC_MSG_CHECKING([for rb_errinfo]) >+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <ruby.h>]], [[rb_errinfo();]])],have_rb_errinfo="yes",have_rb_errinfo="no") >+ AC_MSG_RESULT($have_rb_errinfo) >+ if test "$have_rb_errinfo" = "yes"; then >+ AC_DEFINE([HAVE_RB_ERRINFO], [1], >+ [Define to 1 if you have the `rb_errinfo' function.]) >+ fi >+ fi > fi > > EL_RESTORE_FLAGS >diff -urp a/src/scripting/ruby/core.c b/src/scripting/ruby/core.c >--- a/src/scripting/ruby/core.c 2009-07-07 13:23:17.000000000 +0100 >+++ b/src/scripting/ruby/core.c 2012-09-10 18:27:05.000000000 +0100 >@@ -76,10 +76,10 @@ erb_report_error(struct session *ses, in > break; > case TAG_RAISE: > case TAG_FATAL: >- eclass = CLASS_OF(ruby_errinfo); >- einfo = rb_obj_as_string(ruby_errinfo); >+ eclass = CLASS_OF(RB_ERRINFO); >+ einfo = rb_obj_as_string(RB_ERRINFO); > >- if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) { >+ if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) { > msg = "unhandled exception"; > > } else { >@@ -88,7 +88,7 @@ erb_report_error(struct session *ses, in > > epath = rb_class_path(eclass); > snprintf(buff, MAX_STR_LEN, "%s: %s", >- RSTRING(epath)->ptr, RSTRING(einfo)->ptr); >+ RSTRING_PTR(epath), RSTRING_PTR(einfo)); > > p = strchr(buff, '\n'); > if (p) *p = '\0'; >@@ -115,7 +115,7 @@ erb_module_message(VALUE self, VALUE str > unsigned char *message, *line_end; > > str = rb_obj_as_string(str); >- message = memacpy(RSTRING(str)->ptr, RSTRING(str)->len); >+ message = memacpy(RSTRING_PTR(str), RSTRING_LEN(str)); > if (!message) return Qnil; > > line_end = strchr(message, '\n'); >@@ -162,8 +162,8 @@ erb_stdout_p(int argc, VALUE *argv, VALU > * the inspect() method, which adds quotes to the strings, so > * gently ignore them. */ > >- ptr = RSTRING(substr)->ptr; >- len = RSTRING(substr)->len; >+ ptr = RSTRING_PTR(substr); >+ len = RSTRING_LEN(substr); > > if (*ptr == '"') > ptr++, len--; >diff -urp a/src/scripting/ruby/core.h b/src/scripting/ruby/core.h >--- a/src/scripting/ruby/core.h 2009-07-07 13:23:17.000000000 +0100 >+++ b/src/scripting/ruby/core.h 2012-09-10 18:26:25.000000000 +0100 >@@ -7,6 +7,20 @@ struct session; > > #include <ruby.h> /* for VALUE */ > >+#ifndef RSTRING_LEN >+#define RSTRING_LEN(string) (RSTRING(string)->len) >+#endif >+ >+#ifndef RSTRING_PTR >+#define RSTRING_PTR(string) (RSTRING(string)->ptr) >+#endif >+ >+#ifdef HAVE_RB_ERRINFO >+#define RB_ERRINFO (rb_errinfo()) >+#else >+#define RB_ERRINFO (ruby_errinfo) >+#endif >+ > VALUE erb_module; > > void alert_ruby_error(struct session *ses, unsigned char *msg); >diff -urp a/src/scripting/ruby/hooks.c b/src/scripting/ruby/hooks.c >--- a/src/scripting/ruby/hooks.c 2009-07-07 13:23:17.000000000 +0100 >+++ b/src/scripting/ruby/hooks.c 2012-09-10 17:53:48.000000000 +0100 >@@ -83,7 +83,7 @@ script_hook_goto_url(va_list ap, void *d > { > unsigned char *new_url; > >- new_url = memacpy(RSTRING(result)->ptr, RSTRING(result)->len); >+ new_url = memacpy(RSTRING_PTR(result), RSTRING_LEN(result)); > if (new_url) { > mem_free_set(url, new_url); > } >@@ -126,7 +126,7 @@ script_hook_follow_url(va_list ap, void > { > unsigned char *new_url; > >- new_url = memacpy(RSTRING(result)->ptr, RSTRING(result)->len); >+ new_url = memacpy(RSTRING_PTR(result), RSTRING_LEN(result)); > if (new_url) { > mem_free_set(url, new_url); > } >@@ -170,9 +170,9 @@ script_hook_pre_format_html(va_list ap, > switch (rb_type(result)) { > case T_STRING: > { >- int len = RSTRING(result)->len; >+ int len = RSTRING_LEN(result); > >- add_fragment(cached, 0, RSTRING(result)->ptr, len); >+ add_fragment(cached, 0, RSTRING_PTR(result), len); > normalize_cache_entry(cached, len); > > break; >@@ -216,7 +216,7 @@ script_hook_get_proxy(va_list ap, void * > { > unsigned char *proxy; > >- proxy = memacpy(RSTRING(result)->ptr, RSTRING(result)->len); >+ proxy = memacpy(RSTRING_PTR(result), RSTRING_LEN(result)); > if (proxy) { > mem_free_set(new_proxy_url, proxy); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 424789
:
317155
|
317157
|
319620
|
319622
|
319640
|
319642
| 323438 |
323442
|
323444