aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2006-11-19 09:42:13 +0800
committermaho <maho@FreeBSD.org>2006-11-19 09:42:13 +0800
commit103a0f4352ff71412eb4f1b4a1ad43361a709e1e (patch)
tree94cf00276ae785045609fe870719eda7087b0e63 /math
parentc5a3d3601b88e60363223d8bcac911df1e090f66 (diff)
downloadfreebsd-ports-gnome-103a0f4352ff71412eb4f1b4a1ad43361a709e1e.tar.gz
freebsd-ports-gnome-103a0f4352ff71412eb4f1b4a1ad43361a709e1e.tar.zst
freebsd-ports-gnome-103a0f4352ff71412eb4f1b4a1ad43361a709e1e.zip
Update to 1.7.4
- Add support for OpenMPI (requires math/blacs compiled with OpenMPI) - Make it possible to use math/blas instead of math/atlas PR: 105497 Submitted by: trasz <trasz@pin.if.uz.zgora.pl>
Diffstat (limited to 'math')
-rw-r--r--math/scalapack/Makefile40
-rw-r--r--math/scalapack/distinfo6
-rw-r--r--math/scalapack/files/SLmake.inc-mpich.diff (renamed from math/scalapack/files/patch-SLmake.inc)0
-rw-r--r--math/scalapack/files/SLmake.inc-openmpi.diff62
-rw-r--r--math/scalapack/files/pkg-message.in8
5 files changed, 103 insertions, 13 deletions
diff --git a/math/scalapack/Makefile b/math/scalapack/Makefile
index a2460ead9fad..2a823369ad26 100644
--- a/math/scalapack/Makefile
+++ b/math/scalapack/Makefile
@@ -6,28 +6,23 @@
#
PORTNAME= scalapack
-PORTVERSION= 1.7
-PORTREVISION= 2
+PORTVERSION= 1.7.4
CATEGORIES= math
MASTER_SITES= ftp://ftp.netlib.org/scalapack/
-DISTNAME= SCALAPACK
-DISTFILES= scalapack.tgz manpages.tgz
+DISTFILES= scalapack-${PORTVERSION}.tgz manpages.tgz
.if !defined(NOPORTDOCS)
DISTFILES+= scalapack_install.ps scalapackqref.ps \
lawn100.ps pblasqref.ps manual.ps design.ps \
pumma_refmanual.ps trans.ps
.endif
DIST_SUBDIR= scalapack
-EXTRACT_ONLY= scalapack.tgz manpages.tgz
+EXTRACT_ONLY= scalapack-${PORTVERSION}.tgz manpages.tgz
MAINTAINER= maho@FreeBSD.org
COMMENT= The ScaLAPACK Scalable LAPACK library
-BUILD_DEPENDS= ${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2 \
- ${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \
+BUILD_DEPENDS= ${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \
${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c
-LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack \
- atlas:${PORTSDIR}/math/atlas
CONFLICTS= elmer-mathlibs-1*
@@ -35,7 +30,6 @@ F77?= f77
ARCH2FIX= PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \
REDIST/SRC SRC TOOLS TOOLS/LAPACK
-BLAS= -lf77blas -latlas
DATADIR= ${PREFIX}/share/${PORTNAME:U}
EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:U}
@@ -46,6 +40,32 @@ SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
+.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS)
+WITH_ATLAS= yes
+.endif
+
+.if defined(WITH_ATLAS)
+LIB_DEPENDS+= atlas.1:${PORTSDIR}/math/atlas
+BLAS= -lf77blas -latlas
+.else
+LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas
+LIB_DEPENDS+= lapack:${PORTSDIR}/math/lapack
+BLAS= -lblas
+.endif
+
+.if exists(${LOCALBASE}/mpi/openmpi/bin/mpirun)
+WITH_OPENMPI= yes
+.endif
+
+.if defined(WITH_OPENMPI)
+BUILD_DEPENDS+= ${LOCALBASE}/mpi/openmpi/lib/libmpi.so:${PORTSDIR}/net/openmpi
+RUN_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpirun:${PORTSDIR}/net/openmpi
+EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-openmpi.diff
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2
+EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-mpich.diff
+.endif
+
.if defined(WITH_OPTIMIZED_FLAGS)
.if ${ARCH} == "amd64"
FFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
diff --git a/math/scalapack/distinfo b/math/scalapack/distinfo
index a306a7c9646b..809d13f7283f 100644
--- a/math/scalapack/distinfo
+++ b/math/scalapack/distinfo
@@ -1,6 +1,6 @@
-MD5 (scalapack/scalapack.tgz) = 6d214940fab71d56117184d55cbb29f1
-SHA256 (scalapack/scalapack.tgz) = fc18520ac36cad703ec5e774634f055c84c4e2ddd2d3e4e09779cda712e59eef
-SIZE (scalapack/scalapack.tgz) = 4468266
+MD5 (scalapack/scalapack-1.7.4.tgz) = 688b759059e11e54f5381bfa2850c519
+SHA256 (scalapack/scalapack-1.7.4.tgz) = 7b5de82088feb23d1581ae96d80ff80585b0d78ebcb32098bd2bf3ce670b02ff
+SIZE (scalapack/scalapack-1.7.4.tgz) = 5014804
MD5 (scalapack/manpages.tgz) = a536ab4837ec68addff0a3ec99427a10
SHA256 (scalapack/manpages.tgz) = a745c9f367d65e3c7611c126597a4681094b002552e47b621964d30a966aac7b
SIZE (scalapack/manpages.tgz) = 379541
diff --git a/math/scalapack/files/patch-SLmake.inc b/math/scalapack/files/SLmake.inc-mpich.diff
index b484fadc4a89..b484fadc4a89 100644
--- a/math/scalapack/files/patch-SLmake.inc
+++ b/math/scalapack/files/SLmake.inc-mpich.diff
diff --git a/math/scalapack/files/SLmake.inc-openmpi.diff b/math/scalapack/files/SLmake.inc-openmpi.diff
new file mode 100644
index 000000000000..6b60fbd8e810
--- /dev/null
+++ b/math/scalapack/files/SLmake.inc-openmpi.diff
@@ -0,0 +1,62 @@
+--- SLmake.inc.orig Thu Aug 9 04:59:50 2001
++++ SLmake.inc Mon Nov 13 15:45:36 2006
+@@ -19,26 +19,26 @@
+ # The complete path to the top level of ScaLAPACK directory, usually
+ # $(HOME)/SCALAPACK
+ #
+-home = $(HOME)/SCALAPACK
++home = @WRKSRC@
+ #
+ # The platform identifier to suffix to the end of library names
+ #
+-PLAT = LINUX
++PLAT = FreeBSD
+ #
+ # BLACS setup. All version need the debug level (0 or 1),
+ # and the directory where the BLACS libraries are
+ #
+ BLACSDBGLVL = 0
+-BLACSdir = /usr/local/lib
++BLACSdir = @LOCALBASE@/lib
+ #
+ # MPI setup; tailor to your system if using MPIBLACS
+ # Will need to comment out these 6 lines if using PVM
+ #
+ USEMPI = -DUsingMpiBlacs
+-SMPLIB = /usr/local/mpich-1.2.1/lib/libmpich.a
+-BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a
+-BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a
+-BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a
++SMPLIB =
++BLACSFINIT = $(BLACSdir)/libblacsf77.a
++BLACSCINIT = $(BLACSdir)/libblacsc.a
++BLACSLIB = $(BLACSdir)/libblacs.a
+ TESTINGdir = $(home)/TESTING
+
+ #
+@@ -67,12 +67,12 @@
+ #
+ # The fortran and C compilers, loaders, and their flags
+ #
+-F77 = g77
++F77 = mpif77
+ #F77 = /usr/local/pgi/linux86/bin/pgf77
+-CC = gcc
++CC = mpicc
+ NOOPT =
+-F77FLAGS = -O3 $(NOOPT)
+-CCFLAGS = -O4
++F77FLAGS = @FFLAGS@
++CCFLAGS = @CFLAGS@
+ SRCFLAG =
+ F77LOADER = $(F77)
+ CCLOADER = $(CC)
+@@ -94,7 +94,7 @@
+ # The name of the libraries to be created/linked to
+ #
+ SCALAPACKLIB = $(home)/libscalapack.a
+-BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a
++BLASLIB = -L@LOCALBASE@/lib @BLAS@
+ #
+ PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB)
+ PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB)
diff --git a/math/scalapack/files/pkg-message.in b/math/scalapack/files/pkg-message.in
index 61261cc6fa64..28d99c43a274 100644
--- a/math/scalapack/files/pkg-message.in
+++ b/math/scalapack/files/pkg-message.in
@@ -20,6 +20,14 @@
? end
% %%LOCALBASE%%/mpich2/bin/mpdallexit
+ If you're using OpenMPI, use this instead:
+ % cd %%DATADIR%%/TESTING
+ % LD_LIBRARY_PATH=%%LOCALBASE%%/mpi/openmpi/lib/ export LD_LIBRARY_PATH
+ % PATH=$PATH:%%LOCALBASE%%/mpi/openmpi/bin/ export PATH
+ % mpirun -np 4 ./xcbrd
+ % mpirun -np 4 ./xcdblu
+ etc., etc. ...
+
You can change -np 4 to any number to meet your environment.
See files at %%DOCSDIR%% for detail.
**********************************************************************