summaryrefslogtreecommitdiff
path: root/dev-ruby/celluloid
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/celluloid')
-rw-r--r--dev-ruby/celluloid/Manifest1
-rw-r--r--dev-ruby/celluloid/celluloid-0.16.0.ebuild39
-rw-r--r--dev-ruby/celluloid/files/celluloid-0.16.0-call-private-methods.patch19
-rw-r--r--dev-ruby/celluloid/metadata.xml8
4 files changed, 67 insertions, 0 deletions
diff --git a/dev-ruby/celluloid/Manifest b/dev-ruby/celluloid/Manifest
new file mode 100644
index 00000000000..c966cb2135e
--- /dev/null
+++ b/dev-ruby/celluloid/Manifest
@@ -0,0 +1 @@
+DIST celluloid-0.16.0-git.tgz 63859 SHA256 3f5d5be010c97b9a0a3a21008a0ad9880729e23cfda100b5df174279d427f338 SHA512 b1acc0daf35b16c086d720fccec93519de609e6c9e8f411ed70c48f3cfcb0c88f5ee665ac41e4a535e00eef112cae26ca2e8ab6b6de4738e13ed50579098d8ed WHIRLPOOL a9d583ff8495c978e3d042df781ae5ced30a97eea8b401bd8c763aa75c7f72cf0de49e1a131345ff1e991f4303745c58b491cd413e7cb6b287d8a5df85de254d
diff --git a/dev-ruby/celluloid/celluloid-0.16.0.ebuild b/dev-ruby/celluloid/celluloid-0.16.0.ebuild
new file mode 100644
index 00000000000..d32eddae028
--- /dev/null
+++ b/dev-ruby/celluloid/celluloid-0.16.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# rbx or jruby recommended, but only in 1.9 mode.
+USE_RUBY="ruby19 ruby20 ruby21"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec"
+#Needed by dev-ruby/listen
+RUBY_FAKEGEM_EXTRAINSTALL="spec"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Celluloid provides a simple and natural way to build fault-tolerant concurrent programs in Ruby"
+HOMEPAGE="https://github.com/celluloid/celluloid"
+SRC_URI="https://github.com/celluloid/celluloid/archive/v${PV}.tar.gz -> ${P}-git.tgz"
+IUSE=""
+SLOT="0"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+RUBY_PATCHES=( "${P}-call-private-methods.patch" )
+
+ruby_add_rdepend ">=dev-ruby/timers-4.0.0:4"
+
+all_ruby_prepare() {
+ rm Gemfile .rspec || die
+
+ sed -i -e '/[Bb]undler/d' -e '/coveralls/I s:^:#:' spec/spec_helper.rb || die
+
+ # Force loading of the correct timers slot to avoid a bundler dependency.
+ sed -i -e '3igem "timers", "~>4.0.0"' spec/spec_helper.rb || die
+}
diff --git a/dev-ruby/celluloid/files/celluloid-0.16.0-call-private-methods.patch b/dev-ruby/celluloid/files/celluloid-0.16.0-call-private-methods.patch
new file mode 100644
index 00000000000..f503a2334c8
--- /dev/null
+++ b/dev-ruby/celluloid/files/celluloid-0.16.0-call-private-methods.patch
@@ -0,0 +1,19 @@
+commit 092ce58aa8713f387ae3d0467b6d8029cf2765cd
+Author: Jonathan <chapmajs@gmail.com>
+Date: Sun Oct 19 22:05:26 2014 -0400
+
+ Allowing calls to private_methods
+
+diff --git a/lib/celluloid/proxies/abstract_proxy.rb b/lib/celluloid/proxies/abstract_proxy.rb
+index 6a79acb..2db7a8e 100644
+--- a/lib/celluloid/proxies/abstract_proxy.rb
++++ b/lib/celluloid/proxies/abstract_proxy.rb
+@@ -5,7 +5,7 @@ module Celluloid
+ def __class__; AbstractProxy; end
+
+ # Needed for storing proxies in data structures
+- needed = [:object_id, :__id__, :hash] - instance_methods
++ needed = [:object_id, :__id__, :hash, :private_methods] - instance_methods
+ if needed.any?
+ include ::Kernel.dup.module_eval {
+ undef_method(*(instance_methods - needed))
diff --git a/dev-ruby/celluloid/metadata.xml b/dev-ruby/celluloid/metadata.xml
new file mode 100644
index 00000000000..50e2f62e807
--- /dev/null
+++ b/dev-ruby/celluloid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>ruby</herd>
+ <upstream>
+ <remote-id type="github">celluloid/celluloid</remote-id>
+ </upstream>
+</pkgmetadata>