[116389] trunk/dports/math

sean at macports.org sean at macports.org
Thu Jan 23 12:15:32 PST 2014


Revision: 116389
          https://trac.macports.org/changeset/116389
Author:   sean at macports.org
Date:     2014-01-23 12:15:32 -0800 (Thu, 23 Jan 2014)
Log Message:
-----------
superlu_dist: add new port for parallel version of superlu

Added Paths:
-----------
    trunk/dports/math/superlu_dist/
    trunk/dports/math/superlu_dist/Portfile
    trunk/dports/math/superlu_dist/files/
    trunk/dports/math/superlu_dist/files/duplicate.patch

Added: trunk/dports/math/superlu_dist/Portfile
===================================================================
--- trunk/dports/math/superlu_dist/Portfile	                        (rev 0)
+++ trunk/dports/math/superlu_dist/Portfile	2014-01-23 20:15:32 UTC (rev 116389)
@@ -0,0 +1,68 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem          1.0
+PortGroup           mpi 1.0
+
+compilers.choose    cc cxx
+mpi.setup           require
+
+name                superlu_dist
+version             3.3
+categories          math
+platforms           darwin
+maintainers         sean openmaintainer
+description         A package for solving linear equations
+long_description    SuperLU is a general purpose library for the direct \
+                    solution of large, sparse, nonsymmetric systems of \
+                    linear equations on high performance machines.
+
+homepage            http://crd-legacy.lbl.gov/~xiaoye/SuperLU
+master_sites        ${homepage}
+
+distname            ${name}_${version}
+worksrcdir          SuperLU_DIST_${version}
+
+checksums           rmd160  36441437d9a8e22c9f635336d7a71b8d9aea97b5 \
+                    sha256  d2fd8dc847ae63ed7980cff2ad4db8d117640ecdf0234c9711e0f6ee1398cac2
+
+depends_lib         port:parmetis
+
+patchfiles-append   duplicate.patch
+
+use_configure       no
+
+configure.cflags    -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -O3 -mtune=native
+configure.cxxflags  ${configure.cflags}
+
+build.target        lib LAAUX=""
+
+post-extract {
+    reinplace "s|^DSuperLUroot.*$|DSuperLUroot = ${worksrcpath}|" ${worksrcpath}/make.inc
+    reinplace "s|^PARMETISLIB.*$|PARMETISLIB = -L${prefix}/lib -lparmetis|" ${worksrcpath}/make.inc
+    reinplace "s|^METISLIB.*$|METISLIB = -L${prefix}/lib -lmetis|" ${worksrcpath}/make.inc
+    reinplace "s|^ARCHFLAGS.*$|ARCHFLAGS = cr|" ${worksrcpath}/make.inc
+    reinplace "s|^IMPI.*$||" ${worksrcpath}/make.inc
+    reinplace "s|^CC.*$|CC = ${mpi.cc}|" ${worksrcpath}/make.inc
+    reinplace "s|^CFLAGS.*$|CFLAGS = ${configure.cflags} \\\\|" ${worksrcpath}/make.inc
+    reinplace "s|^BLASLIB.*$|BLASLIB = -framework Accelerate -framework vecLib|" ${worksrcpath}/make.inc
+    reinplace "s|supermatrix\.h|supermatrix_dist\.h|" ${worksrcpath}/SRC/superlu_defs.h
+    file rename ${worksrcpath}/SRC/supermatrix.h ${worksrcpath}/SRC/supermatrix_dist.h
+}
+
+destroot {
+    # make shared libraries
+    system -W ${worksrcpath}/SRC "${mpi.cc} *.o -framework Accelerate -L${prefix}/lib -lparmetis -lmetis -dynamiclib -all_load -Wl,-headerpad_max_install_names,-multiply_defined,suppress,-commons,use_dylibs,-search_paths_first -install_name ${prefix}/lib/lib${distname}.dylib -o ../lib/lib${distname}.dylib"
+
+    xinstall -W ${worksrcpath}/SRC -m 644 Cnames.h dcomplex.h machines.h old_colamd.h \
+        psymbfact.h superlu_ddefs.h superlu_defs.h superlu_zdefs.h util_dist.h supermatrix_dist.h \
+        ${destroot}${prefix}/include
+    xinstall -m 644 ${worksrcpath}/lib/libsuperlu_dist_${version}.dylib ${destroot}${prefix}/lib
+}
+
+variant longindex description {Build with 64 ints} {
+    configure.cflags-append     -D_LONGINT
+}
+
+livecheck.type      regex
+livecheck.regex     ${name}_(\[0-9.\]+)${extract.suffix}

Added: trunk/dports/math/superlu_dist/files/duplicate.patch
===================================================================
--- trunk/dports/math/superlu_dist/files/duplicate.patch	                        (rev 0)
+++ trunk/dports/math/superlu_dist/files/duplicate.patch	2014-01-23 20:15:32 UTC (rev 116389)
@@ -0,0 +1,48 @@
+--- SRC/dreadtriple.c	2012-11-08 17:36:07.000000000 -0600
++++ SRC/dreadtriple.c	2012-11-08 17:36:36.000000000 -0600
+@@ -149,22 +149,3 @@
+ 
+ }
+ 
+-
+-void dreadrhs(int m, double *b)
+-{
+-    FILE *fp, *fopen();
+-    int i, j;
+-
+-    if ( !(fp = fopen("b.dat", "r")) ) {
+-        fprintf(stderr, "dreadrhs: file does not exist\n");
+-	exit(-1);
+-    }
+-    for (i = 0; i < m; ++i)
+-      fscanf(fp, "%lf\n", &b[i]);
+-      /*fscanf(fp, "%d%lf\n", &j, &b[i]);*/
+-    /*        readpair_(j, &b[i]);*/
+-
+-    fclose(fp);
+-}
+-
+-
+--- SRC/zreadtriple.c	2012-11-08 17:36:07.000000000 -0600
++++ SRC/zreadtriple.c	2012-11-08 17:36:46.000000000 -0600
+@@ -148,20 +148,3 @@
+ 
+ }
+ 
+-
+-void zreadrhs(int m, doublecomplex *b)
+-{
+-    FILE *fp, *fopen();
+-    int i, j;
+-
+-    if ( !(fp = fopen("b.dat", "r")) ) {
+-        fprintf(stderr, "zreadrhs: file does not exist\n");
+-	exit(-1);
+-    }
+-    for (i = 0; i < m; ++i)
+-      fscanf(fp, "%lf%lf\n", &(b[i].r), &(b[i].i));
+-
+-    fclose(fp);
+-}
+-
+-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140123/8431cc19/attachment-0001.html>


More information about the macports-changes mailing list