aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsunpoet <sunpoet@FreeBSD.org>2014-02-12 23:23:19 +0800
committersunpoet <sunpoet@FreeBSD.org>2014-02-12 23:23:19 +0800
commitbfd69881a83e613d18d7b76ee98578715018695e (patch)
treecce2c0ab4abf20b34df033559048d56f576b72cf
parentdff8859899428019021c419f8a1912c35f5b8dfe (diff)
downloadfreebsd-ports-gnome-bfd69881a83e613d18d7b76ee98578715018695e.tar.gz
freebsd-ports-gnome-bfd69881a83e613d18d7b76ee98578715018695e.tar.zst
freebsd-ports-gnome-bfd69881a83e613d18d7b76ee98578715018695e.zip
- Add rubygem-celluloid-io 0.15.0
Celluloid::IO provides an event-driven IO system for building fast, scalable network applications that integrates directly with the Celluloid actor library, making it easy to combine both threaded and evented concepts. Celluloid::IO is ideal for servers which handle large numbers of mostly-idle connections, such as Websocket servers or chat/messaging systems. Celluloid::IO provides a different class of actor: one that's slightly slower and heavier than standard Celluloid actors, but one which contains a high-performance reactor just like EventMachine or Cool.io. This means Celluloid::IO actors have the power of both Celluloid actors and evented I/O loops. Unlike certain other evented I/O systems which limit you to a single event loop per process, Celluloid::IO lets you make as many actors as you want, system resources permitting. Rather than callbacks, Celluloid::IO exposes a synchronous API built on duck types of Ruby's own IO classes, such as TCPServer and TCPSocket. These classes work identically to their core Ruby counterparts, but in the scope of Celluloid::IO actors provide "evented" performance. Since they're drop-in replacements for the standard classes, there's no need to rewrite every library just to take advantage of Celluloid::IO's event loop and you can freely switch between evented and blocking IO even over the lifetime of a single connection. WWW: https://github.com/celluloid/celluloid-io RG: https://rubygems.org/gems/celluloid-io
-rw-r--r--devel/Makefile1
-rw-r--r--devel/rubygem-celluloid-io/Makefile21
-rw-r--r--devel/rubygem-celluloid-io/distinfo2
-rw-r--r--devel/rubygem-celluloid-io/pkg-descr24
4 files changed, 48 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index f4b44c07d5d9..c68ae2e4f982 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4116,6 +4116,7 @@
SUBDIR += rubygem-cairo-gobject
SUBDIR += rubygem-capybara
SUBDIR += rubygem-celluloid
+ SUBDIR += rubygem-celluloid-io
SUBDIR += rubygem-childprocess
SUBDIR += rubygem-chronic
SUBDIR += rubygem-classifier
diff --git a/devel/rubygem-celluloid-io/Makefile b/devel/rubygem-celluloid-io/Makefile
new file mode 100644
index 000000000000..87baefbc239a
--- /dev/null
+++ b/devel/rubygem-celluloid-io/Makefile
@@ -0,0 +1,21 @@
+# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= celluloid-io
+PORTVERSION= 0.15.0
+CATEGORIES= devel rubygems
+MASTER_SITES= RG
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Evented IO for Celluloid actors
+
+LICENSE= MIT
+
+RUN_DEPENDS= rubygem-celluloid>=0.15.0:${PORTSDIR}/devel/rubygem-celluloid \
+ rubygem-nio4r>=0.5.0:${PORTSDIR}/devel/rubygem-nio4r
+
+USE_RUBY= yes
+USE_RUBYGEMS= yes
+RUBYGEM_AUTOPLIST= yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-celluloid-io/distinfo b/devel/rubygem-celluloid-io/distinfo
new file mode 100644
index 000000000000..2bad7174636e
--- /dev/null
+++ b/devel/rubygem-celluloid-io/distinfo
@@ -0,0 +1,2 @@
+SHA256 (rubygem/celluloid-io-0.15.0.gem) = 47d3c70d43580cd62d7c999cd3251b029ec2e4cdecb72ec40ab5614e82a3040a
+SIZE (rubygem/celluloid-io-0.15.0.gem) = 52224
diff --git a/devel/rubygem-celluloid-io/pkg-descr b/devel/rubygem-celluloid-io/pkg-descr
new file mode 100644
index 000000000000..ad6a8950c6ce
--- /dev/null
+++ b/devel/rubygem-celluloid-io/pkg-descr
@@ -0,0 +1,24 @@
+Celluloid::IO provides an event-driven IO system for building fast, scalable
+network applications that integrates directly with the Celluloid actor library,
+making it easy to combine both threaded and evented concepts. Celluloid::IO is
+ideal for servers which handle large numbers of mostly-idle connections, such as
+Websocket servers or chat/messaging systems.
+
+Celluloid::IO provides a different class of actor: one that's slightly slower
+and heavier than standard Celluloid actors, but one which contains a
+high-performance reactor just like EventMachine or Cool.io. This means
+Celluloid::IO actors have the power of both Celluloid actors and evented I/O
+loops. Unlike certain other evented I/O systems which limit you to a single
+event loop per process, Celluloid::IO lets you make as many actors as you want,
+system resources permitting.
+
+Rather than callbacks, Celluloid::IO exposes a synchronous API built on duck
+types of Ruby's own IO classes, such as TCPServer and TCPSocket. These classes
+work identically to their core Ruby counterparts, but in the scope of
+Celluloid::IO actors provide "evented" performance. Since they're drop-in
+replacements for the standard classes, there's no need to rewrite every library
+just to take advantage of Celluloid::IO's event loop and you can freely switch
+between evented and blocking IO even over the lifetime of a single connection.
+
+WWW: https://github.com/celluloid/celluloid-io
+RG: https://rubygems.org/gems/celluloid-io