1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-23 04:23:08 +00:00

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.

PR:		ports/80310
Submitted by:	Michael Neumann <mneumann@ntecs.de>
This commit is contained in:
Pav Lucistnik 2005-06-12 22:18:40 +00:00
parent 9c5d1ddcf5
commit 3a154ed776
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=137371
6 changed files with 125 additions and 0 deletions

View File

@ -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

48
net/ruby-mpi/Makefile Normal file
View File

@ -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 <bsd.port.mk>

2
net/ruby-mpi/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (ruby/mpi_ruby-0.4.tar.bz2) = b8d3b5e0cf7544903fdaf54a72e44b33
SIZE (ruby/mpi_ruby-0.4.tar.bz2) = 102687

View File

@ -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

16
net/ruby-mpi/pkg-descr Normal file
View File

@ -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/

38
net/ruby-mpi/pkg-plist Normal file
View File

@ -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%%