diff --git a/net/Makefile b/net/Makefile index 1ddf670cba66..fcb981f7792c 100644 --- a/net/Makefile +++ b/net/Makefile @@ -709,6 +709,7 @@ SUBDIR += ruby-dict SUBDIR += ruby-icmp SUBDIR += ruby-ldap + SUBDIR += ruby-mpi SUBDIR += ruby-net-geoip SUBDIR += ruby-nis SUBDIR += ruby-pcap diff --git a/net/ruby-mpi/Makefile b/net/ruby-mpi/Makefile new file mode 100644 index 000000000000..f582b2f3855e --- /dev/null +++ b/net/ruby-mpi/Makefile @@ -0,0 +1,48 @@ +# New ports collection makefile for: ruby-mpi +# Date created: 2005 Apr 24 +# Whom: mneumann@ntecs.de +# +# $FreeBSD$ +# + +PORTNAME= mpi +PORTVERSION= 0.4 +CATEGORIES= net ruby +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR=${PORTNAME}ruby +PKGNAMEPREFIX= ${RUBY_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME}_ruby-${PORTVERSION} +DIST_SUBDIR= ruby + +MAINTAINER= mneumann@ntecs.de +COMMENT= Ruby binding of MPI (Message Passing Interface) + +BUILD_DEPENDS= ${LOCALBASE}/mpich/lib/libmpich.a:${PORTSDIR}/net/mpich + +USE_BZIP2= yes +USE_RUBY= yes +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --with-mpi-path=${LOCALBASE}/mpich + +MAN1= mpi_ruby.1 +MAN3= MPI_Comm.3 MPI_Exception.3 MPI_Group.3 MPI_Keyval.3 MPI_Op.3 MPI_Request.3 \ + MPI_Ruby.3 MPI_Status.3 + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/mpi_ruby ${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/docs/man/man1/*.1 ${PREFIX}/man/man1 + ${INSTALL_MAN} ${WRKSRC}/docs/man/man3/*.3 ${PREFIX}/man/man3 +.if !defined(NOPORTDOCS) + ${MKDIR} ${RUBY_MODEXAMPLESDIR} + ${MKDIR} ${RUBY_MODDOCDIR} + ${MKDIR} ${RUBY_MODDOCDIR}/html + ${MKDIR} ${RUBY_MODDOCDIR}/rd + + ${CP} ${WRKSRC}/examples/*.rb ${RUBY_MODEXAMPLESDIR}/ + ${INSTALL_DATA} ${WRKSRC}/ChangeLog ${WRKSRC}/README ${WRKSRC}/docs/MPI \ + ${RUBY_MODDOCDIR}/ + ${INSTALL_DATA} ${WRKSRC}/docs/html/*.html ${RUBY_MODDOCDIR}/html/ + ${INSTALL_DATA} ${WRKSRC}/docs/rd/*.rd ${RUBY_MODDOCDIR}/rd/ +.endif + +.include diff --git a/net/ruby-mpi/distinfo b/net/ruby-mpi/distinfo new file mode 100644 index 000000000000..4c1bc23a6c76 --- /dev/null +++ b/net/ruby-mpi/distinfo @@ -0,0 +1,2 @@ +MD5 (ruby/mpi_ruby-0.4.tar.bz2) = b8d3b5e0cf7544903fdaf54a72e44b33 +SIZE (ruby/mpi_ruby-0.4.tar.bz2) = 102687 diff --git a/net/ruby-mpi/files/patch-configure b/net/ruby-mpi/files/patch-configure new file mode 100644 index 000000000000..3dbaef35b36a --- /dev/null +++ b/net/ruby-mpi/files/patch-configure @@ -0,0 +1,20 @@ +--- configure-orig Sun Apr 24 22:32:31 2005 ++++ configure Sun Apr 24 22:32:47 2005 +@@ -2778,7 +2778,7 @@ + { echo "$as_me:$LINENO: WARNING: Could not find Config Ruby module. Assuming CFLAGS and LIBS for Ruby are in standard path..." >&5 + echo "$as_me: WARNING: Could not find Config Ruby module. Assuming CFLAGS and LIBS for Ruby are in standard path..." >&2;} + RUBY_CFLAGS="" +- RUBY_LIBS="-lruby" ++ RUBY_LIBS="-lruby18" + else + echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6 +@@ -2792,7 +2792,7 @@ + echo "$as_me:$LINENO: checking ruby LIBS" >&5 + echo $ECHO_N "checking ruby LIBS... $ECHO_C" >&6 + RB_LIB_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG["libdir"]'` +- RUBY_LIBS="-lruby -L$RB_LIB_DIR" ++ RUBY_LIBS="-lruby18 -L$RB_LIB_DIR" + echo "$as_me:$LINENO: result: $RUBY_LIBS" >&5 + echo "${ECHO_T}$RUBY_LIBS" >&6 + fi diff --git a/net/ruby-mpi/pkg-descr b/net/ruby-mpi/pkg-descr new file mode 100644 index 000000000000..b56b6da8f39d --- /dev/null +++ b/net/ruby-mpi/pkg-descr @@ -0,0 +1,16 @@ +MPI Ruby is a Ruby binding of MPI. The primary goal in making this binding was +to make the power of MPI available to Ruby users in a way that fits into the +language's object oriented model. In order to do this, the buffer and datatype +management necessary in the C, C++, and Fortran bindings have been removed. +What this means is that MPI Ruby allows you to treat objects as messages. + +MPI Ruby also aims to be a complete binding to MPI in that it offers access to +nearly all functionality of MPI. While there is not a one-to-one correspondence +to functions and constants in the Ruby and C/C++/Fortran bindings, all of the +communication and topology features are available. There are fewer methods in +the Ruby binding than there are functions in the C/C++/Fortran bindings, but +this is mainly due to the fact that the programmer no longer needs to deal with +buffers and datatypes. + +Author: Emil Ong +WWW: http://mpiruby.sourceforge.net/ diff --git a/net/ruby-mpi/pkg-plist b/net/ruby-mpi/pkg-plist new file mode 100644 index 000000000000..789c2a47b1e2 --- /dev/null +++ b/net/ruby-mpi/pkg-plist @@ -0,0 +1,38 @@ +bin/mpi_ruby +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/allgather.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/allreduce.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/basic.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/bcast.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/gather.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/hello.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/irecv.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/op.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/red.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/redhalt.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/redsubmit.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/reduce.rb +%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/rpi.rb +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/ChangeLog +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/README +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/MPI +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/index.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_comm.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_exception.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_group.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_keyval.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_op.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_request.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/html/mpi_status.html +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_comm.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_exception.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_group.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_keyval.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_op.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_request.rd +%%PORTDOCS%%%%RUBY_MODDOCDIR%%/rd/mpi_status.rd +%%PORTDOCS%%@dirrm %%RUBY_MODEXAMPLESDIR%% +%%PORTDOCS%%@dirrm %%RUBY_MODDOCDIR%%/html +%%PORTDOCS%%@dirrm %%RUBY_MODDOCDIR%%/rd +%%PORTDOCS%%@dirrm %%RUBY_MODDOCDIR%%