From 9bda8c30279c22dd287fc185c3ac9d3107730fd3 Mon Sep 17 00:00:00 2001
From: Maho Nakata <maho@FreeBSD.org>
Date: Thu, 18 Mar 2004 12:20:30 +0000
Subject: The SDPARA (SemiDefinite Programming Algorithm PARAllel version) is a
 parallel version of the SDPA (math/sdpa). solving SDPs in parallel with the
 help of MPI (Message Passing Interface) and ScaLAPACK (Scalable LAPACK).

---
 math/sdpara/Makefile                    | 78 +++++++++++++++++++++++++++++++++
 math/sdpara/distinfo                    |  4 ++
 math/sdpara/files/patch-Makefile        | 39 +++++++++++++++++
 math/sdpara/files/patch-rsdpa_include.h | 19 ++++++++
 math/sdpara/pkg-descr                   |  9 ++++
 math/sdpara/pkg-plist                   | 12 +++++
 6 files changed, 161 insertions(+)
 create mode 100644 math/sdpara/Makefile
 create mode 100644 math/sdpara/distinfo
 create mode 100644 math/sdpara/files/patch-Makefile
 create mode 100644 math/sdpara/files/patch-rsdpa_include.h
 create mode 100644 math/sdpara/pkg-descr
 create mode 100644 math/sdpara/pkg-plist

(limited to 'math/sdpara')

diff --git a/math/sdpara/Makefile b/math/sdpara/Makefile
new file mode 100644
index 000000000000..ecb756f6ad67
--- /dev/null
+++ b/math/sdpara/Makefile
@@ -0,0 +1,78 @@
+# New ports collection makefile for:    sdpara
+# Date created:                         March 17 2003
+# Whom:                                 NAKATA, Maho <maho@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME=	sdpara
+PORTVERSION=	0.90
+CATEGORIES=	math paralell
+MASTER_SITES=	http://sdpa.is.titech.ac.jp/
+DISTFILES=	${PORTNAME}.${PORTVERSION}.src.tar.gz
+.if !defined(NOPORTDOCS)
+DISTFILES+=	${PORTNAME}.${PORTVERSION}.install.txt
+.endif
+DIST_SUBDIR=    sdpara
+EXTRACT_ONLY=	${PORTNAME}.${PORTVERSION}.src.tar.gz
+
+MAINTAINER=	maho@FreeBSD.org
+COMMENT=	SDPARA paralell version of SDPA (math/sdpa)
+
+LIB_DEPENDS=	atlas:${PORTSDIR}/math/atlas
+BUILD_DEPENDS=	${LOCALBASE}/lib/libscalapack.a:${PORTSDIR}/math/scalapack
+
+RESTRICTED=	"unsure distribution condition"
+
+USE_REINPLACE=	yes
+USE_GMAKE=	yes
+USE_REINPLACE=	yes
+WRKSRC=		${WRKDIR}/${PORTNAME}
+LAPACK=		-lalapack
+CBLAS=		-lcblas -lf77blas -latlas -lg2c
+
+.if defined(WITH_OPTIMIZED_FLAGS)
+FFLAGS+=        -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double
+CXXFLAGS+=      -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double  -Wno-multichar
+.if (${MACHINE_ARCH} == "i386")
+FFLAGS+=        -mfancy-math-387 -mpreferred-stack-boundary=3
+CXXFLAGS+=      -mfancy-math-387 -mpreferred-stack-boundary=3
+.endif # i386
+.endif
+
+pre-build:
+	${CP} ${FILESDIR}/Makefile ${WRKDIR}
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
+			      s|%%LAPACK%%|${LAPACK}|g ; \
+			      s|%%LOCALBASE%%|${LOCALBASE}|g ; \
+			      s|%%CBLAS%%|${CBLAS}|g'  ${WRKDIR}/Makefile
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
+			      s|%%LOCALBASE%%|${LOCALBASE}|g ; \
+			      s|%%CXXFLAGS%%|${CXXFLAGS}|g ; \
+			      s|%%FFLAGS%%|${FFLAGS}|g ; \
+			      s|%%LAPACK%%|${LAPACK}|g ; \
+			      s|%%CBLAS%%|${CBLAS}|g'  ${WRKSRC}/Makefile
+.if !defined(WITH_OPTIMIZED_FLAGS)
+	@${ECHO} "You can optimize by setting WITH_OPTIMIZED_FLAGS=yes."
+.endif
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/sdpara ${PREFIX}/bin
+	@${MKDIR} ${DATADIR}
+	${INSTALL_DATA}    ${WRKSRC}/param.sdpa ${DATADIR}
+.if !defined(NOPORTDOCS)
+	@${MKDIR} ${DOCSDIR}
+.for i in sdpara.0.90.install.txt
+	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${i} ${DOCSDIR}
+.endfor
+	@${MKDIR} ${EXAMPLESDIR}
+
+.for i in example1.dat example1.dat-s example1.ini \
+	example1.ini-s example2.dat
+	${INSTALL_DATA}    ${WRKSRC}/${i} ${EXAMPLESDIR}
+.endfor
+	${INSTALL_DATA}    ${WRKSRC}/param.sdpa ${EXAMPLESDIR}
+
+.endif
+
+.include <bsd.port.mk>
diff --git a/math/sdpara/distinfo b/math/sdpara/distinfo
new file mode 100644
index 000000000000..623ceddd20f7
--- /dev/null
+++ b/math/sdpara/distinfo
@@ -0,0 +1,4 @@
+MD5 (sdpara/sdpara.0.90.src.tar.gz) = cdcdf52e2226dd5e477141da10272461
+SIZE (sdpara/sdpara.0.90.src.tar.gz) = 71394
+MD5 (sdpara/sdpara.0.90.install.txt) = cdafeaeb3c897c8a52a5ee9959f2a0d8
+SIZE (sdpara/sdpara.0.90.install.txt) = 3794
diff --git a/math/sdpara/files/patch-Makefile b/math/sdpara/files/patch-Makefile
new file mode 100644
index 000000000000..feee9d9f0d3b
--- /dev/null
+++ b/math/sdpara/files/patch-Makefile
@@ -0,0 +1,39 @@
+--- Makefile.orig	Fri Jun  6 17:43:02 2003
++++ Makefile	Thu Mar 18 20:25:55 2004
+@@ -1,8 +1,7 @@
+-LAPACK = $(HOME)/lib/b/lapack
++LAPACK = %%LOCALBASE%%
+ RSDPA  = .
+ 
+-LAPACK_LIB =  -llapack -lcblaswr -lcblas \
+-              -lf77blas -lI77 -lF77 -latlas
++LAPACK_LIB = -lalapack -lcblas -lf77blas -latlas -lg2c
+ 
+ # if you use BLAS in clapack.tgz, use next line
+ # and set NON_ATLAS_SDPA in rsdpa_include.h to 1.
+@@ -17,10 +16,11 @@
+ RSDPA_LIB = -l$(RSDPA_LIB_NAME)
+ 
+ # CC = /home/yamashi9/lib/b/mpich/bin/mpiCC
+-MPIBIN=
++MPIBIN= %%LOCALBASE%%/mpich/bin/
+ CC = $(MPIBIN)mpiCC
+ F77 = $(MPIBIN)mpif77
+-OPTION = -O3 #-Wall # -g
++FFLAGS = %%FFLAGS%%
++CXXFLAGS = %%CXXFLAGS%%
+ 
+ TARGET_EXE = $(RSDPA_LIB_NAME)
+ #TARGET_EXE = rsdpa_main.exe
+@@ -41,9 +41,9 @@
+ 	  -L$(LAPACK)/lib $(SCALAPACK_LIB) $(LAPACK_LIB) 
+ 
+ .cpp.o:
+-	$(CC) $(OPTION) -c -I$(RSDPA) -I$(LAPACK)/include $<
++	$(CC) $(CXXFLAGS) -c -I$(RSDPA) -I$(LAPACK)/include $<
+ .f.o:
+-	$(F77) $(OPTION) -c $<
++	$(F77) $(FFLAGS) -c $<
+ 
+ force: clean now
+ forceall: clean all
diff --git a/math/sdpara/files/patch-rsdpa_include.h b/math/sdpara/files/patch-rsdpa_include.h
new file mode 100644
index 000000000000..fd8d39bd5a09
--- /dev/null
+++ b/math/sdpara/files/patch-rsdpa_include.h
@@ -0,0 +1,19 @@
+--- rsdpa_include.h.orig	Sat Nov  2 11:10:59 2002
++++ rsdpa_include.h	Sun Aug  3 09:07:52 2003
+@@ -21,13 +21,13 @@
+ #include <cstring>
+ 
+ extern "C" {
+-#include <f2c.h>
++#include <g2c.h>
+ #if NON_ATLAS_SDPA
+ #include <blaswrap.h>
+ #endif
+-#include <fblaswr.h>
+ #include <cblas.h>
+-#include <clapack.h>
++#include <blas.h>
++#include <lapack.h>
+ };
+ 
+ using namespace std;
diff --git a/math/sdpara/pkg-descr b/math/sdpara/pkg-descr
new file mode 100644
index 000000000000..e03e775a304a
--- /dev/null
+++ b/math/sdpara/pkg-descr
@@ -0,0 +1,9 @@
+The SDPARA (SemiDefinite Programming Algorithm PARAllel version) is a parallel
+version of the SDPA. C++ source codes of the SDPARA are available in
+this homepage. They form a stand-alone software package for solving SDPs in
+parallel with the help of MPI (Message Passing Interface) and ScaLAPACK
+(Scalable LAPACK). However callable libraries of the SDPARA, which could be
+used combinedly with other C++ programs, are not available.
+We assume that you know how to use the latest version of the SDPA and MPICH.
+
+WWW: http://sdpa.is.titech.ac.jp/sdpara.index.html.
diff --git a/math/sdpara/pkg-plist b/math/sdpara/pkg-plist
new file mode 100644
index 000000000000..fd330f91115f
--- /dev/null
+++ b/math/sdpara/pkg-plist
@@ -0,0 +1,12 @@
+bin/sdpara
+share/examples/sdpara/example1.dat
+share/examples/sdpara/example1.dat-s
+share/examples/sdpara/example1.ini
+share/examples/sdpara/example1.ini-s
+share/examples/sdpara/example2.dat
+share/examples/sdpara/param.sdpa
+share/sdpara/param.sdpa
+@dirrm share/sdpara
+@dirrm share/examples/sdpara
+%%PORTDOCS%%%%DOCSDIR%%/sdpara.0.90.install.txt
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
-- 
cgit v1.2.3