summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2012-08-16 03:44:43 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2012-08-16 03:44:43 +0000
commit2d578a11d7f39f03bcaea2ac7c02cf2c6094a41b (patch)
tree2f03ee0706fb041c646a33c7c8e3fa94bec14042 /dev-ruby/RubyInline
parentMove to new location. (diff)
downloadgentoo-2-2d578a11d7f39f03bcaea2ac7c02cf2c6094a41b.tar.gz
gentoo-2-2d578a11d7f39f03bcaea2ac7c02cf2c6094a41b.tar.bz2
gentoo-2-2d578a11d7f39f03bcaea2ac7c02cf2c6094a41b.zip
Move to new location.
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64, RepoMan options: --force)
Diffstat (limited to 'dev-ruby/RubyInline')
-rw-r--r--dev-ruby/RubyInline/ChangeLog216
-rw-r--r--dev-ruby/RubyInline/RubyInline-3.11.3.ebuild53
-rw-r--r--dev-ruby/RubyInline/RubyInline-3.8.6.ebuild57
-rw-r--r--dev-ruby/RubyInline/files/ruby-inline-3.11.0-gentoo.patch66
-rw-r--r--dev-ruby/RubyInline/files/ruby-inline-3.11.1-ldflags.patch10
-rw-r--r--dev-ruby/RubyInline/files/ruby-inline-3.8.4-gentoo.patch61
-rw-r--r--dev-ruby/RubyInline/files/ruby-inline-3.8.4-ldflags.patch11
-rw-r--r--dev-ruby/RubyInline/metadata.xml5
8 files changed, 479 insertions, 0 deletions
diff --git a/dev-ruby/RubyInline/ChangeLog b/dev-ruby/RubyInline/ChangeLog
new file mode 100644
index 000000000000..fc1449244ce9
--- /dev/null
+++ b/dev-ruby/RubyInline/ChangeLog
@@ -0,0 +1,216 @@
+# ChangeLog for dev-ruby/ruby-inline
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/RubyInline/ChangeLog,v 1.1 2012/08/16 03:44:43 flameeyes Exp $
+
+ 14 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> metadata.xml:
+ Update metadata.xml so that it's the same as most other packages.
+
+*ruby-inline-3.11.3 (08 Jul 2012)
+
+ 08 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org>
+ +ruby-inline-3.11.3.ebuild, -ruby-inline-3.11.0.ebuild,
+ -ruby-inline-3.11.1.ebuild, -ruby-inline-3.11.2.ebuild,
+ -ruby-inline-3.8.6-r1.ebuild, -ruby-inline-3.9.0.ebuild:
+ Version bump, remove old.
+
+*ruby-inline-3.11.2 (21 Apr 2012)
+
+ 21 Apr 2012; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.11.2.ebuild:
+ Version bump.
+
+*ruby-inline-3.11.1 (28 Jan 2012)
+
+ 28 Jan 2012; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.11.1.ebuild,
+ +files/ruby-inline-3.11.1-ldflags.patch:
+ Version bump. Update patch to remove fix applied upstream.
+
+*ruby-inline-3.11.0 (25 Dec 2011)
+
+ 25 Dec 2011; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.11.0.ebuild,
+ +files/ruby-inline-3.11.0-gentoo.patch:
+ Version bump.
+
+ 05 Dec 2011; Naohiro Aota <naota@gentoo.org> ruby-inline-3.9.0.ebuild:
+ Add ~x86-fbsd.
+
+ 15 Sep 2011; Jeroen Roovers <jer@gentoo.org> ruby-inline-3.8.6.ebuild:
+ Stable for HPPA (bug #369573).
+
+ 27 Aug 2011; Fabian Groffen <grobian@gentoo.org> ruby-inline-3.9.0.ebuild:
+ Marked ~x64-macos
+
+ 10 Jul 2011; Mark Loeser <halcy0n@gentoo.org> ruby-inline-3.8.6.ebuild:
+ Stable for ppc64; bug #355299
+
+ 16 Apr 2011; Raúl Porcel <armin76@gentoo.org> ruby-inline-3.8.6.ebuild:
+ ia64 stable wrt #355299
+
+ 01 Apr 2011; Michael Weber <xmw@gentoo.org> ruby-inline-3.8.6.ebuild:
+ sparc stable (bug 355299)
+
+ 27 Mar 2011; Brent Baude <ranger@gentoo.org> ruby-inline-3.8.6.ebuild:
+ Marking ruby-inline-3.8.6 ppc stable for bug 355299
+
+ 08 Mar 2011; Thomas Kahle <tomka@gentoo.org> ruby-inline-3.8.6.ebuild:
+ x86 stable per bug 355299
+
+ 21 Feb 2011; Markos Chandras <hwoarang@gentoo.org> ruby-inline-3.8.6.ebuild:
+ Stable on amd64 wrt bug #355299
+
+*ruby-inline-3.9.0 (19 Feb 2011)
+
+ 19 Feb 2011; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.9.0.ebuild:
+ Version bump.
+
+*ruby-inline-3.8.6-r1 (17 Feb 2011)
+
+ 17 Feb 2011; Hans de Graaff <graaff@gentoo.org> ruby-inline-3.8.6.ebuild,
+ +ruby-inline-3.8.6-r1.ebuild:
+ Revision bump to create a stable candidate with ree18 and without ruby19.
+
+ 17 Feb 2011; Hans de Graaff <graaff@gentoo.org>
+ -ruby-inline-3.8.4-r2.ebuild:
+ Remove old version.
+
+ 27 Dec 2010; Fabian Groffen <grobian@gentoo.org> ruby-inline-3.8.6.ebuild:
+ Marked ~x64-solaris
+
+ 23 Oct 2010; Jeroen Roovers <jer@gentoo.org> ruby-inline-3.8.4-r2.ebuild,
+ ruby-inline-3.8.6.ebuild:
+ Marked ~hppa (bug #337956).
+
+ 10 Oct 2010; Tobias Klausmann <klausman@gentoo.org>
+ ruby-inline-3.8.6.ebuild:
+ Keyworded on alpha, bug #330337
+
+ 09 Oct 2010; Hans de Graaff <graaff@gentoo.org>
+ ruby-inline-3.8.4-r2.ebuild:
+ Drop ree18/ruby19 to create a stable candidate.
+
+ 09 Oct 2010; Hans de Graaff <graaff@gentoo.org> -ruby-inline-3.8.4.ebuild,
+ -ruby-inline-3.8.4-r1.ebuild:
+ Remove old versions.
+
+*ruby-inline-3.8.6 (02 Oct 2010)
+
+ 02 Oct 2010; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.8.6.ebuild:
+ Version bump.
+
+*ruby-inline-3.8.4-r2 (28 Aug 2010)
+
+ 28 Aug 2010; Hans de Graaff <graaff@gentoo.org>
+ +ruby-inline-3.8.4-r2.ebuild, +files/ruby-inline-3.8.4-ldflags.patch:
+ Respect ruby's LDFLAGS and explicitly link against the right shared
+ library. Fixes bug 334373.
+
+*ruby-inline-3.8.4-r1 (23 May 2010)
+
+ 23 May 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+ ruby-inline-3.8.4.ebuild, +ruby-inline-3.8.4-r1.ebuild,
+ +files/ruby-inline-3.8.4-gentoo.patch:
+ Drop REE18 from 3.8.4 vanilla, add a patched version that can work with
+ different Ruby implementations (otherwise the same extensions will be used
+ for both MRI and REE, and the two are not binary compatible.
+
+ 22 May 2010; Alex Legler <a3li@gentoo.org> ruby-inline-3.8.4.ebuild:
+ Add REE18 support
+
+ 22 May 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+ ruby-inline-3.8.4.ebuild:
+ Various cleanups.
+
+ 28 Feb 2010; Hans de Graaff <graaff@gentoo.org> -ruby-inline-3.8.3.ebuild:
+ Remove old version.
+
+ 13 Feb 2010; Raúl Porcel <armin76@gentoo.org> ruby-inline-3.8.3.ebuild,
+ ruby-inline-3.8.4.ebuild:
+ Add ~sparc
+
+ 29 Jan 2010; Raúl Porcel <armin76@gentoo.org> ruby-inline-3.8.3.ebuild,
+ ruby-inline-3.8.4.ebuild:
+ Add ~ia64
+
+ 14 Jan 2010; Brent Baude <ranger@gentoo.org> ruby-inline-3.8.4.ebuild:
+ Marking ruby-inline-3.8.4 ~ppc for bug 298368
+
+ 13 Jan 2010; Brent Baude <ranger@gentoo.org> ruby-inline-3.8.4.ebuild:
+ Marking ruby-inline-3.8.4 ~ppc64 for bug 298368
+
+ 04 Jan 2010; Markus Meier <maekke@gentoo.org> ruby-inline-3.8.4.ebuild:
+ add ~x86, bug #298368
+
+ 04 Jan 2010; Christian Faulhammer <fauli@gentoo.org>
+ ruby-inline-3.8.4.ebuild:
+ Transfer Prefix keywords
+
+*ruby-inline-3.8.4 (25 Dec 2009)
+
+ 25 Dec 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +ruby-inline-3.8.4.ebuild:
+ Version bump and port to ruby-fakegem.
+
+ 15 Dec 2009; Hans de Graaff <graaff@gentoo.org> -ruby-inline-3.8.1.ebuild,
+ -ruby-inline-3.8.2.ebuild:
+ Remove old versions.
+
+*ruby-inline-3.8.3 (10 Aug 2009)
+
+ 10 Aug 2009; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.8.3.ebuild:
+ Version bump: Added Inline::C#add_static to make consts cleaner.
+
+*ruby-inline-3.8.2 (25 Jul 2009)
+
+ 25 Jul 2009; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.8.2.ebuild:
+ Version bump: fix broken tests for ruby 1.9.
+
+ 25 Jul 2009; Hans de Graaff <graaff@gentoo.org> -ruby-inline-3.6.7.ebuild,
+ -ruby-inline-3.7.0.ebuild:
+ Remove old versions.
+
+*ruby-inline-3.8.1 (26 Dec 2008)
+
+ 26 Dec 2008; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.8.1.ebuild:
+ Version bump
+
+*ruby-inline-3.7.0 (06 Oct 2008)
+
+ 06 Oct 2008; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.7.0.ebuild:
+ Version bump with ruby 1.9 compatibility and minor bugfixes
+
+ 06 Oct 2008; Hans de Graaff <graaff@gentoo.org> -ruby-inline-3.6.2.ebuild,
+ -ruby-inline-3.6.4.ebuild, -ruby-inline-3.6.5.ebuild,
+ -ruby-inline-3.6.6.ebuild:
+ Remove old versions
+
+*ruby-inline-3.6.7 (24 Mar 2008)
+
+ 24 Mar 2008; Richard Brown <rbrown@gentoo.org> +ruby-inline-3.6.7.ebuild:
+ Version bump.
+
+*ruby-inline-3.6.6 (26 Jan 2008)
+
+ 26 Jan 2008; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.6.6.ebuild:
+ Version bump: better Windows support
+
+*ruby-inline-3.6.5 (24 Nov 2007)
+
+ 24 Nov 2007; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.6.5.ebuild:
+ Version bump: Quick fix for OSX 10.5 native ruby.
+
+ 14 Oct 2007; Tom Gall <tgall@gentoo.org> ruby-inline-3.6.4.ebuild:
+ added ~ppc64
+
+*ruby-inline-3.6.4 (25 Aug 2007)
+
+ 25 Aug 2007; Hans de Graaff <graaff@gentoo.org> +ruby-inline-3.6.4.ebuild:
+ Version bump: Added ability to include ruby.h last
+
+ 13 Apr 2007; Robin H. Johnson <robbat2@gentoo.org>
+ ruby-inline-3.6.2.ebuild:
+ Add ~ppc and ~amd64 for work.
+
+*ruby-inline-3.6.2 (04 Feb 2007)
+
+ 04 Feb 2007; Nguyễn Thái Ngọc Duy <pclouds@gentoo.org> +metadata.xml,
+ +ruby-inline-3.6.2.ebuild:
+ Initial ebuild by Guillaume Benny <guillaume.benny@sympatico.ca>, #147065
diff --git a/dev-ruby/RubyInline/RubyInline-3.11.3.ebuild b/dev-ruby/RubyInline/RubyInline-3.11.3.ebuild
new file mode 100644
index 000000000000..2860663bcd87
--- /dev/null
+++ b/dev-ruby/RubyInline/RubyInline-3.11.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/RubyInline/RubyInline-3.11.3.ebuild,v 1.1 2012/08/16 03:44:43 flameeyes Exp $
+
+EAPI=4
+
+USE_RUBY="ruby18 ree18 ruby19"
+
+RUBY_FAKEGEM_NAME="RubyInline"
+
+RUBY_FAKEGEM_TASK_DOC="docs"
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="README.txt History.txt"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Allows to embed C/C++ in Ruby code"
+HOMEPAGE="http://www.zenspider.com/ZSS/Products/RubyInline/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+ruby_add_rdepend dev-ruby/zentest
+
+ruby_add_bdepend "
+ doc? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ )
+ test? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ )"
+
+all_ruby_prepare() {
+ epatch "${FILESDIR}/ruby-inline-3.11.0-gentoo.patch"
+
+ # Respect ruby's (and thus Gentoo's) LDFLAGS, and explicitly link
+ # against the ruby shared library to avoid confusion and potential
+ # crashes when later using the shared object.
+ epatch "${FILESDIR}/ruby-inline-3.11.1-ldflags.patch"
+
+ sed -i -e '/isolate/ s:^:#:' Rakefile || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ docinto examples
+ dodoc example.rb example2.rb demo/*.rb
+}
diff --git a/dev-ruby/RubyInline/RubyInline-3.8.6.ebuild b/dev-ruby/RubyInline/RubyInline-3.8.6.ebuild
new file mode 100644
index 000000000000..b2e5c6d3c97a
--- /dev/null
+++ b/dev-ruby/RubyInline/RubyInline-3.8.6.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/RubyInline/RubyInline-3.8.6.ebuild,v 1.1 2012/08/16 03:44:43 flameeyes Exp $
+
+EAPI=2
+
+USE_RUBY="ruby18 ree18"
+
+RUBY_FAKEGEM_NAME="RubyInline"
+
+RUBY_FAKEGEM_TASK_DOC="docs"
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="README.txt History.txt"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Allows to embed C/C++ in Ruby code"
+HOMEPAGE="http://www.zenspider.com/ZSS/Products/RubyInline/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+ruby_add_rdepend dev-ruby/zentest
+
+ruby_add_bdepend "
+ doc? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ )
+ test? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ virtual/ruby-test-unit
+ )"
+
+all_ruby_prepare() {
+ # we have to patch the code so that it takes the RUBY_DESCRIPTION
+ # into consideration, to avoid loading Ruby-Enterprise (REE18)
+ # objects in MRI and vice-versa; we're a bit “greedier” since we
+ # will rebuild objects even when just switching versions, but
+ # it'll be better this way than being too conservatives.
+ epatch "${FILESDIR}/ruby-inline-3.8.4-gentoo.patch"
+
+ # Respect ruby's (and thus Gentoo's) LDFLAGS, and explicitly link
+ # against the ruby shared library to avoid confusion and potential
+ # crashes when later using the shared object.
+ epatch "${FILESDIR}/ruby-inline-3.8.4-ldflags.patch"
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ docinto examples
+ dodoc example.rb example2.rb demo/*.rb || die
+}
diff --git a/dev-ruby/RubyInline/files/ruby-inline-3.11.0-gentoo.patch b/dev-ruby/RubyInline/files/ruby-inline-3.11.0-gentoo.patch
new file mode 100644
index 000000000000..38e856b972a4
--- /dev/null
+++ b/dev-ruby/RubyInline/files/ruby-inline-3.11.0-gentoo.patch
@@ -0,0 +1,66 @@
+we have to patch the code so that it takes the RUBY_DESCRIPTION into
+consideration, to avoid loading Ruby-Enterprise (REE18) objects in MRI
+and vice-versa; we're a bit “greedier” since we will rebuild objects
+even when just switching versions, but it'll be better this way than
+being too conservatives.
+
+Index: ruby-inline-3.8.4/lib/inline.rb
+===================================================================
+--- ruby-inline-3.8.4.orig/lib/inline.rb
++++ ruby-inline-3.8.4/lib/inline.rb
+@@ -360,12 +360,17 @@ module Inline
+ ext.join "\n"
+ end
+
++ def implementation_checksum
++ @implementation_checksum ||=
++ (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
++ end
++
+ def module_name
+ unless defined? @module_name then
+ module_name = @mod.name.gsub('::','__')
+ md5 = Digest::MD5.new
+ @sig.keys.sort_by { |x| x.to_s }.each { |m| md5 << m.to_s }
+- @module_name = "Inline_#{module_name}_#{md5}"
++ @module_name = "Inline_#{module_name}_#{md5}_#{implementation_checksum}"
+ end
+ @module_name
+ end
+Index: ruby-inline-3.8.4/test/test_inline.rb
+===================================================================
+--- ruby-inline-3.8.4.orig/test/test_inline.rb
++++ ruby-inline-3.8.4/test/test_inline.rb
+@@ -404,6 +404,7 @@ static VALUE method_name_equals(VALUE se
+ end
+
+ def util_module_name(*signatures)
++ implementation = (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
+ md5 = Digest::MD5.new
+
+ signatures.each do |signature|
+@@ -411,6 +412,6 @@ static VALUE method_name_equals(VALUE se
+ md5 << signature.to_s
+ end
+
+- assert_equal("Inline_TestInline__TestC_#{md5}", @builder.module_name)
++ assert_equal("Inline_TestInline__TestC_#{md5}_#{implementation}", @builder.module_name)
+ end
+
+@@ -757,6 +758,7 @@ puts(s); return rb_str_new2(s)}"
+ @builder.c "VALUE my_method() { return Qnil; }"
+
+ windoze = "\n __declspec(dllexport)" if Inline::WINDOZE
++ implementation = (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
+
+ expected = <<-EXT
+ #include "ruby.h"
+@@ -773,7 +775,7 @@ static VALUE my_method(VALUE self) {
+ #ifdef __cplusplus
+ extern \"C\" {
+ #endif#{windoze}
+- void Init_Inline_TestInline__TestC_eba5e5454322e22fe2310198ef14e43f() {
++ void Init_Inline_TestInline__TestC_eba5e5454322e22fe2310198ef14e43f_#{implementation}() {
+ VALUE c = rb_cObject;
+ c = rb_const_get(c, rb_intern("TestInline"));
+ c = rb_const_get(c, rb_intern("TestC"));
diff --git a/dev-ruby/RubyInline/files/ruby-inline-3.11.1-ldflags.patch b/dev-ruby/RubyInline/files/ruby-inline-3.11.1-ldflags.patch
new file mode 100644
index 000000000000..e6856ac5a0d7
--- /dev/null
+++ b/dev-ruby/RubyInline/files/ruby-inline-3.11.1-ldflags.patch
@@ -0,0 +1,10 @@
+--- lib/inline.rb.~1~ 2010-08-28 14:49:06.866480357 +0200
++++ lib/inline.rb 2010-08-28 15:05:14.553732182 +0200
+@@ -577,6 +577,7 @@
+ "-L#{Config::CONFIG['libdir']}",
+ '-o', so_name.inspect,
+ File.expand_path(src_name).inspect,
++ Config::CONFIG['LIBRUBYARG_SHARED'],
+ libs,
+ crap_for_windoze ].join(' ')
+
diff --git a/dev-ruby/RubyInline/files/ruby-inline-3.8.4-gentoo.patch b/dev-ruby/RubyInline/files/ruby-inline-3.8.4-gentoo.patch
new file mode 100644
index 000000000000..42690b364050
--- /dev/null
+++ b/dev-ruby/RubyInline/files/ruby-inline-3.8.4-gentoo.patch
@@ -0,0 +1,61 @@
+Index: ruby-inline-3.8.4/lib/inline.rb
+===================================================================
+--- ruby-inline-3.8.4.orig/lib/inline.rb
++++ ruby-inline-3.8.4/lib/inline.rb
+@@ -360,12 +360,17 @@ module Inline
+ ext.join "\n"
+ end
+
++ def implementation_checksum
++ @implementation_checksum ||=
++ (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
++ end
++
+ def module_name
+ unless defined? @module_name then
+ module_name = @mod.name.gsub('::','__')
+ md5 = Digest::MD5.new
+ @sig.keys.sort_by { |x| x.to_s }.each { |m| md5 << m.to_s }
+- @module_name = "Inline_#{module_name}_#{md5.to_s[0,4]}"
++ @module_name = "Inline_#{module_name}_#{md5.to_s[0,4]}_#{implementation_checksum}"
+ end
+ @module_name
+ end
+Index: ruby-inline-3.8.4/test/test_inline.rb
+===================================================================
+--- ruby-inline-3.8.4.orig/test/test_inline.rb
++++ ruby-inline-3.8.4/test/test_inline.rb
+@@ -404,6 +404,7 @@ static VALUE method_name_equals(VALUE se
+ end
+
+ def util_module_name(*signatures)
++ implementation = (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
+ md5 = Digest::MD5.new
+
+ signatures.each do |signature|
+@@ -411,7 +412,7 @@ static VALUE method_name_equals(VALUE se
+ md5 << signature.to_s
+ end
+
+- assert_equal("Inline_TestInline__TestC_#{md5.to_s[0,4]}",
++ assert_equal("Inline_TestInline__TestC_#{md5.to_s[0,4]}_#{implementation}",
+ @builder.module_name)
+ end
+
+@@ -757,6 +758,7 @@ puts(s); return rb_str_new2(s)}"
+ @builder.c "VALUE my_method() { return Qnil; }"
+
+ windoze = "\n __declspec(dllexport)" if Inline::WINDOZE
++ implementation = (Digest::MD5.new << RUBY_DESCRIPTION).to_s[0,4]
+
+ expected = <<-EXT
+ #include "ruby.h"
+@@ -773,7 +775,7 @@ static VALUE my_method(VALUE self) {
+ #ifdef __cplusplus
+ extern \"C\" {
+ #endif#{windoze}
+- void Init_Inline_TestInline__TestC_eba5() {
++ void Init_Inline_TestInline__TestC_eba5_#{implementation}() {
+ VALUE c = rb_cObject;
+ c = rb_const_get(c, rb_intern("TestInline"));
+ c = rb_const_get(c, rb_intern("TestC"));
diff --git a/dev-ruby/RubyInline/files/ruby-inline-3.8.4-ldflags.patch b/dev-ruby/RubyInline/files/ruby-inline-3.8.4-ldflags.patch
new file mode 100644
index 000000000000..6f20b500cad9
--- /dev/null
+++ b/dev-ruby/RubyInline/files/ruby-inline-3.8.4-ldflags.patch
@@ -0,0 +1,11 @@
+--- lib/inline.rb.~1~ 2010-08-28 14:49:06.866480357 +0200
++++ lib/inline.rb 2010-08-28 15:05:14.553732182 +0200
+@@ -577,6 +577,8 @@
+ "-L#{Config::CONFIG['libdir']}",
+ '-o', so_name.inspect,
+ File.expand_path(src_name).inspect,
++ Config::CONFIG['LDFLAGS'],
++ Config::CONFIG['LIBRUBYARG_SHARED'],
+ libs,
+ crap_for_windoze ].join(' ')
+
diff --git a/dev-ruby/RubyInline/metadata.xml b/dev-ruby/RubyInline/metadata.xml
new file mode 100644
index 000000000000..852136183369
--- /dev/null
+++ b/dev-ruby/RubyInline/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>ruby</herd>
+</pkgmetadata>