From 80814c743bfaaff1d5edab81c2ffc30b09cfd133 Mon Sep 17 00:00:00 2001 From: Akinori MUSHA Date: Fri, 24 Aug 2001 07:06:19 +0000 Subject: [PATCH] Add ruby-romp, the Ruby Object Message Proxy, a set of classes for providing distributed object support to a Ruby program. --- net/Makefile | 1 + net/ruby-romp/Makefile | 52 +++++++++++++++++++++++++++++++++++++++ net/ruby-romp/distinfo | 2 ++ net/ruby-romp/pkg-comment | 1 + net/ruby-romp/pkg-descr | 22 +++++++++++++++++ net/ruby-romp/pkg-plist | 8 ++++++ 6 files changed, 86 insertions(+) create mode 100644 net/ruby-romp/Makefile create mode 100644 net/ruby-romp/distinfo create mode 100644 net/ruby-romp/pkg-comment create mode 100644 net/ruby-romp/pkg-descr create mode 100644 net/ruby-romp/pkg-plist diff --git a/net/Makefile b/net/Makefile index 6c738ff50fb3..08299cc57ede 100644 --- a/net/Makefile +++ b/net/Makefile @@ -338,6 +338,7 @@ SUBDIR += ruby-ldap SUBDIR += ruby-nis SUBDIR += ruby-pcap + SUBDIR += ruby-romp SUBDIR += ruby-snmp SUBDIR += ruby-soap SUBDIR += ruby-tcpsocketpipe diff --git a/net/ruby-romp/Makefile b/net/ruby-romp/Makefile new file mode 100644 index 000000000000..4288ff2e0dfc --- /dev/null +++ b/net/ruby-romp/Makefile @@ -0,0 +1,52 @@ +# New ports collection makefile for: ROMP +# Date created: 24 August 2001 +# Whom: Akinori MUSHA aka knu +# +# $FreeBSD$ +# + +PORTNAME= romp +PORTVERSION= 0.1 +CATEGORIES= net ruby +MASTER_SITES= http://rm-f.net/~cout/ruby/romp/ +PKGNAMEPREFIX= ${RUBY_PKGNAMEPREFIX} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} romp.html +DIST_SUBDIR= ruby +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= knu@FreeBSD.org + +IGNOREFILES= romp.html + +USE_RUBY= yes +USE_RUBY_EXTCONF= yes + +INSTALL_TARGET= site-install + +EXAMPLES= client.rb server.rb +DOCS= romp.html + +post-extract: + ${MKDIR} ${WRKSRC}/lib +.for f in druby4.rb romp.rb + ${MV} ${WRKSRC}/${f} ${WRKSRC}/lib/ +.endfor + ${CP} ${_DISTDIR}/romp.html ${WRKSRC}/ + +post-patch: + ${RUBY} -i~ -pe 'sub /^(#include\s*)/, "/*\\1*/"' ${WRKSRC}/*.c + ${RUBY} -i~ -pe 'sub /(.*CFLAGS)/, "#\\1/"' ${WRKSRC}/extconf.rb + +post-install: +.if !defined(NOPORTDOCS) + ${MKDIR} ${RUBY_EXAMPLESDIR}/${PORTNAME} +.for f in ${EXAMPLES} + ${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_EXAMPLESDIR}/${PORTNAME}/ +.endfor + ${MKDIR} ${RUBY_DOCDIR}/${PORTNAME} +.for f in ${DOCS} + ${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_DOCDIR}/${PORTNAME}/ +.endfor +.endif + +.include diff --git a/net/ruby-romp/distinfo b/net/ruby-romp/distinfo new file mode 100644 index 000000000000..962be182e666 --- /dev/null +++ b/net/ruby-romp/distinfo @@ -0,0 +1,2 @@ +MD5 (ruby/romp-0.1.tar.gz) = 8e18642e414befd45da8644794bb524a +MD5 (ruby/romp.html) = IGNORE diff --git a/net/ruby-romp/pkg-comment b/net/ruby-romp/pkg-comment new file mode 100644 index 000000000000..712d74f7bf69 --- /dev/null +++ b/net/ruby-romp/pkg-comment @@ -0,0 +1 @@ +The Ruby Object Message Proxy diff --git a/net/ruby-romp/pkg-descr b/net/ruby-romp/pkg-descr new file mode 100644 index 000000000000..4e1f9b42d7e9 --- /dev/null +++ b/net/ruby-romp/pkg-descr @@ -0,0 +1,22 @@ +ROMP is the Ruby Object Message Proxy. It is sort of like drb +(distributed Ruby) in that it allows a Ruby client program to +seamlessly talk to an object that is sitting on a server. However, it +has many distinct advantages over drb: + +- Much faster, up to 40000 messages per second (compare to 50 messages + per second for drb). + +- Allows more than one object to reside on the server; supports a form + for naming service for retriving references to objects. + +- Fully thread-safe, provided the object sitting on the server is + thread-safe. + +- Supports oneway calls, so the client does not have to block waiting + for a response from the server. + +- Allows exceptions to be propogated from server to client; massages + the backtrace to make debugging easier. + +Author: Paul Brannan (cout at rm-f.net) +WWW: http://rm-f.net/~cout/ruby/romp/ diff --git a/net/ruby-romp/pkg-plist b/net/ruby-romp/pkg-plist new file mode 100644 index 000000000000..f297980c89df --- /dev/null +++ b/net/ruby-romp/pkg-plist @@ -0,0 +1,8 @@ +%%RUBY_SITEARCHLIBDIR%%/romp_helper.so +%%RUBY_SITELIBDIR%%/druby4.rb +%%RUBY_SITELIBDIR%%/romp.rb +%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/romp/client.rb +%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/romp/server.rb +%%PORTDOCS%%@dirrm %%RUBY_EXAMPLESDIR%%/romp +%%PORTDOCS%%%%RUBY_DOCDIR%%/romp/romp.html +%%PORTDOCS%%@dirrm %%RUBY_DOCDIR%%/romp