summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2012-09-16 11:06:11 +0000
committerPacho Ramos <pacho@gentoo.org>2012-09-16 11:06:11 +0000
commitc1364346035cc67b746aafa09289dcfaca12132a (patch)
tree5e542acb73a4958729da9e47ef77dc1274425ae5 /www-client/elinks
parentVersion bump to 1.5.1 (diff)
downloadhistorical-c1364346035cc67b746aafa09289dcfaca12132a.tar.gz
historical-c1364346035cc67b746aafa09289dcfaca12132a.tar.bz2
historical-c1364346035cc67b746aafa09289dcfaca12132a.zip
Fix build against ruby, bug #424789 by tman and patch by Ian Abbott.
Package-Manager: portage-2.1.11.17/cvs/Linux x86_64
Diffstat (limited to 'www-client/elinks')
-rw-r--r--www-client/elinks/ChangeLog6
-rw-r--r--www-client/elinks/Manifest13
-rw-r--r--www-client/elinks/elinks-0.12_pre5-r2.ebuild11
-rw-r--r--www-client/elinks/files/elinks-0.12_pre5-ruby-1.9.patch187
4 files changed, 208 insertions, 9 deletions
diff --git a/www-client/elinks/ChangeLog b/www-client/elinks/ChangeLog
index 0367f1052652..f41e1db1cc58 100644
--- a/www-client/elinks/ChangeLog
+++ b/www-client/elinks/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for www-client/elinks
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/elinks/ChangeLog,v 1.144 2012/07/04 18:45:08 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/elinks/ChangeLog,v 1.145 2012/09/16 11:06:11 pacho Exp $
+
+ 16 Sep 2012; Pacho Ramos <pacho@gentoo.org>
+ +files/elinks-0.12_pre5-ruby-1.9.patch, elinks-0.12_pre5-r2.ebuild:
+ Fix build against ruby, bug #424789 by tman and patch by Ian Abbott.
04 Jul 2012; Ian Stakenvicius <axs@gentoo.org> elinks-0.12_pre5-r2.ebuild,
+files/elinks-0.12_pre5-ruby-config.patch:
diff --git a/www-client/elinks/Manifest b/www-client/elinks/Manifest
index 3aa3754fa0f4..3f510e3dea5d 100644
--- a/www-client/elinks/Manifest
+++ b/www-client/elinks/Manifest
@@ -8,21 +8,22 @@ AUX elinks-0.11.2-lua-5.patch 2125 SHA256 4e0f7b622111696e52e15745d8ac35249a95de
AUX elinks-0.11.3-lua-5.patch 1841 SHA256 f04d11e01824fb2cf4387b87cd531d64ad280d21e9bcb57e461ace56419d1220 SHA512 58fd0477c39bedaf38a7ea632df38483a760b460ac8a70afec5c6449d39bb14db91616ba31bcb45cd247e3b5e880099d7ce6bd4cbba754a416fb5e62994b2e31 WHIRLPOOL 24942289c278b4e0958bb316f881d684a1864c27f1b073a118c20179944ce8a560d27d1aa0115ddd498e181d1caed2b5885771338e871d82d2393c2947ad057d
AUX elinks-0.11.5-makefile.patch 1109 SHA256 5b37be9328b80b9a995de94cf0a053ad63d43a2e0550df6e0c5a4cdc94276e1f SHA512 f26ccefcc4ed3e9fe2e7e7de3d89479a25fe3bc823a489fc38df3fda0f5d784111500b69d42083e7f741466b4c33a549545c59ceec9311903c9d5e440e890103 WHIRLPOOL 9dfd3aea78b3aeafce69d6c0b2599ad46ca7cd2bd9bcb8d55f181b291411dc54f6f98a0eb71b4cfa2c92f33620bdfe15982536f350c7fdd724d7790e95c1e913
AUX elinks-0.12_pre5-compilation-fix.patch 464 SHA256 984c3e1127c18eb0925fbe1cca5bb2a7b214c6cd082db434e8fe37e082715e7e SHA512 7c1232f4f15579f8073cdea7397e4a34d5bec51268eb61cdff854f221615b027c385b81871e7b5fbefeda1ddf5de3008719724b9853798bc198866a25c8840fe WHIRLPOOL 1a3303d1ed36429bf47b4a1e55a87917d3fe20417f218999c1a02a90c199b4a1dc914a674c86fce8c62cb5cb3ab11019c2547de8c9cb44fe5660f2673b706062
+AUX elinks-0.12_pre5-ruby-1.9.patch 7131 SHA256 4274a6434c42b669fbee9e75a79bd02c33d50472bbb8e1c2ea441b3d2eae20de SHA512 41f8b34f9666740fbadffc4e47467670c7766f3b8612933a08cc6febe975f9453c21c393a43927c11ffe7ef6e0875ef09e125c80e84caa9f0917f864cb1d35e6 WHIRLPOOL 691d259ea49b1a859680b245a383fcf1da79626e848fb35489bdfa787c0fe0c99405610a10a03dbdde7847a838e8ac060c37136b8f71ce73751449afd7b293fa
AUX elinks-0.12_pre5-ruby-config.patch 554 SHA256 ad8dd39bf4cf9aca5b1dfa1d092972c4fd3f3bd1612b67817d86228e19e8a868 SHA512 0c56d456dfbd6a60a85c062eff09f1eefd8ec72dbac26c3c8a1141ebb06562a4457e9d9f12ccbf17eb559e44e9120d2c31b8cda40519045b7f50ab579646bd29 WHIRLPOOL 6c629626f167cd02f1fd9e07006d0232abce5e3c1d58e97da3509d92b295228f09ef11a5ae049eb830f03bebd5f8c917b97739b082421963dc484841b3ddeaa9
AUX elinks-0.12_pre5-sm185-jsval-fixes.patch 3921 SHA256 d59f9e97f5d495803e0ac35726bf42592a8f726c2367fbc08b8fe9de79de4a2f SHA512 62a96d53b529c409d81094899c75cd7943176628e2b7301a005c6ebf9f660e813fbf1f3df213c43148d425e933208f761090b23b6ae75da93a93b13a1e924a34 WHIRLPOOL 03ae46d5a9497ac81db5cca364aa6cda4bfb3dc5864482e11778dfef752ae4c76a374026fafa3e2507c9626c528b483bd68a3277647b4c200de95197507fefa5
AUX elinks-0.12pre5-spidermonkey-callback.patch 513 SHA256 14b65ba92e8693105945d20de6e8f07ec946f17fbbf5248b4f8c431a92b88982 SHA512 81a2397b90531db291526fed738fd3661362c3d20c4bc330f909375cea3779f32f4286c8c43700bf7c19d6eb177e97acb3c32f15abba052651ee5b947f3bec43 WHIRLPOOL 224e95b0f09c61de04c1b6e9845a56ca94ee5c99fb90a7c9e57800c1cede50658091d7b1b3a7aec5a0bad9b7eff2e5ca4a1f7a107381bf8208b08e1624661f3d
DIST elinks-0.10.4.conf.bz2 5370 SHA256 cb0fcd10cc592697de5d8d9358447a770d2b4613b17b629c0f0e05965baa6209 SHA512 defdc743d78f9620eac60f4cfc1c07ecc6d18d1d771899b6eec184bea818d612ef110219127284a5b7c53ca07746fc90fbeb97344b3aef7f1f894ed839443296 WHIRLPOOL c6dd65a281a0f48461ddac18e9981c029acd4906a294a02cfcf40429a18b443dee92a7c3317e704dc61fb519df3fa80da14c49a3f138640e223b64372669aa3a
-DIST elinks-0.11.7.tar.bz2 2467915 RMD160 2e6e863d08f9accb71892ba6f236f795c83cba9c SHA1 d13edc1477d0ab32cafe7d3c1f3a23ae1c0a5c54 SHA256 456db6f704c591b1298b0cd80105f459ff8a1fc07a0ec1156a36c4da6f898979
+DIST elinks-0.11.7.tar.bz2 2467915 SHA256 456db6f704c591b1298b0cd80105f459ff8a1fc07a0ec1156a36c4da6f898979
DIST elinks-0.12_pre5-js185-patches.tar.bz2 13820 SHA256 64f7c4a657128983d054bd0d2027e11facd42fcc86bd8dfdf5b27ffbacbd54c8 SHA512 1552aeacdecb0a2db357402e0474d6b4810c767609d1d399b3350a4bcdc21ba9c0bde5a5d0bffd1d7b27d41ac46e3e85ae2527d715a1645a2dd51ab14b8eab3c WHIRLPOOL e6f7746407cd6654c19d4bc71dc4d0fd63070a78f7bc7c43f11f6e388268de963748597b0a2fd03cd22632651800b990ec0819d54799be9bfc4589332e11dbdd
DIST elinks-0.12pre5.tar.bz2 2783523 SHA256 2d19547831098acff0c5f97f9fbc7912240f122961fd49fb8b76738417dd24d2 SHA512 d731d58d97a3d96f099a92c91d378983278cf1699961ae1790d57c78d671618eb3e37845b0fbd3d73d3ab5df2d590b9fd2cff5b3357a79f29a25f31cd4f38081 WHIRLPOOL e6e6f00c58fbbd42a273d729da4b5ae5c1d0398ac3affa6a98bec41364d8c48e4048167ab0be61a563f1eea00a50f98364beb262ccc68eebb181e2d9e11bb3fb
EBUILD elinks-0.11.7.ebuild 4358 SHA256 2824d95dc5f12044a82a944c506dea477e1db14ed3d370062c23284b8e6a4bd4 SHA512 b41e2a0bcbc6eacf19b7435955b57fef0c21d8fd0817f4358cd7c3b6e81cdaac5acc80e788bf5fd955cf1bff6e6f472cc0d1183b73215399d289ecf1a528c84e WHIRLPOOL 83963d82bc0e494d383e0a0341a3b76a6288fa7d92eb6bfe99ebfc3e119ba025bc9c7d7cdd0c4a55779bb77b1b5c387093e7ba433eefa22cac4af89e818b9573
-EBUILD elinks-0.12_pre5-r2.ebuild 5217 SHA256 eab0b39016d34bbb2069954b2d2260c10ee03c5a9558b62a99865a9bf8efe989 SHA512 7d188edff4daf9070dc16812dfd38536c3a6b56490ef3e7979781d0979df7872977297d23e0e961cce9cf6bb83614e5e74352bc8622ca5cbd54202686b2bca0f WHIRLPOOL 80c33e9bac29ca29e500b277d7ccc0fa6bf46157e116534903c860987bb543ab8f4ae2c278fc5fae56a94a74196ad265574cab74949fce26d7e16d9da51225e5
-MISC ChangeLog 27762 SHA256 760622a7a00d7619463673b53c0df09b569b2828f761434c33b7d4a48dba6169 SHA512 c8bb7618a3fe1b6a7a59092d17f4a85b2c9798b242e27be9244faa5c1e0430b9b09cf5b24aa23e714757959c1a4cb9dde753c1f43bd7d2180be261dc350adb92 WHIRLPOOL a946970ad259240f7b859be194c802707b2fddbde99fba9232aef4bacee3b4959d5bba7b8c3cb8a827cd00f372e5e1df5c51b2877cc00e4eece0339407bc6a8b
+EBUILD elinks-0.12_pre5-r2.ebuild 5412 SHA256 fb269147fb407db4fc2b7da57faf42759d5ace8467c8a5e69ea03ae1c30ff4de SHA512 82117bf96718c80eba306bf488a23c320af03055dd973f394226c8a17cb9dbd1714f91e0a40c74f2da02fb11ddfe44ba412194e285ddaa925c849188e37e3d68 WHIRLPOOL e5b1e59bcac89cc2d4a5145d511ad707135f355066d9a42ff3759f56ff5449502a9e4f70867ddf1bfe5d13f46e63d97e17bc81191a574e7b576c3c26fe3ed83c
+MISC ChangeLog 27952 SHA256 b52608eba50b144f87768eabfc9904ab1a92a1ba6ca41c6de011a0ea6e214ffe SHA512 cad3f662833d4e803085e43dbc0d05b979ffc957bd377bcd4730e7b18ea8a502b39e2aa31548df8c0bf6c67321cc7c32edf01c5f46e2a6d07b25c00ebac6f2dd WHIRLPOOL ce64916484f579d2595b3165a46e79de8237f72799b3a6e62dd2426c92d19db5d51a7b0b9214da8bf9fd2c5222252ace6223df7537c20d33f0cd723263dbd980
MISC metadata.xml 497 SHA256 46c078d1cc7e933e17fc97f3fba58c8a6de73e65dc240cf96b18a7e5f9912b31 SHA512 8a0477bedea04f987b7e395e8c8dd15ace2ac7dfb64a71e3a7d2ccd9bb269af4c5f138a3e93e1598cab4655c4ec37cd0c2b11b587a9f692dca7439e35ab7b2a3 WHIRLPOOL d776babefb84a40889ddfa3f6b21922442bf2665ce3d0303ad270ec4f79e44395290131acc789d47862b6600e7df560cbee3f2393fe4c176af4dc7a6c6691f56
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iF4EAREIAAYFAk/0j1kACgkQ2ugaI38ACPAWYQD+OI3UxxpBooBIvrOOU6bglC5p
-Rlua9wgy3Q0IQnPQJMsA/jn8MizCtZ6emncAPqSUdhIjR5DgDXP9vRrAhe0cwxkX
-=5emh
+iEYEAREIAAYFAlBVsqkACgkQCaWpQKGI+9Q8/QCbBgyo8qHG+BcjPHahPyvpYA2E
+KwMAniqYTdn2YWhPwdlQX8Tns620SIlo
+=tos9
-----END PGP SIGNATURE-----
diff --git a/www-client/elinks/elinks-0.12_pre5-r2.ebuild b/www-client/elinks/elinks-0.12_pre5-r2.ebuild
index fcb793d1f4bf..9ed08994b369 100644
--- a/www-client/elinks/elinks-0.12_pre5-r2.ebuild
+++ b/www-client/elinks/elinks-0.12_pre5-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/elinks/elinks-0.12_pre5-r2.ebuild,v 1.3 2012/07/04 18:45:08 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/elinks/elinks-0.12_pre5-r2.ebuild,v 1.4 2012/09/16 11:06:11 pacho Exp $
EAPI=4
inherit eutils autotools flag-o-matic
@@ -68,9 +68,16 @@ src_prepare() {
epatch "${FILESDIR}"/${MY_P}-spidermonkey-callback.patch
fi
fi
- epatch "${FILESDIR}"/${P}-ruby-config.patch
+ epatch "${FILESDIR}"/${P}-ruby-1.9.patch
+ # Regenerate acinclude.m4 - based on autogen.sh.
+ cat > acinclude.m4 <<- _EOF
+ dnl Automatically generated from config/m4/ files.
+ dnl Do not modify!
+ _EOF
+ cat config/m4/*.m4 >> acinclude.m4
sed -i -e 's/-Werror//' configure*
+
eautoreconf
}
diff --git a/www-client/elinks/files/elinks-0.12_pre5-ruby-1.9.patch b/www-client/elinks/files/elinks-0.12_pre5-ruby-1.9.patch
new file mode 100644
index 000000000000..1e07bcde190a
--- /dev/null
+++ b/www-client/elinks/files/elinks-0.12_pre5-ruby-1.9.patch
@@ -0,0 +1,187 @@
+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);
+ }