[144292] trunk/dports/math

sean at macports.org sean at macports.org
Tue Jan 5 17:13:37 PST 2016


Revision: 144292
          https://trac.macports.org/changeset/144292
Author:   sean at macports.org
Date:     2016-01-05 17:13:36 -0800 (Tue, 05 Jan 2016)
Log Message:
-----------
sprng: add new port for petsc variant

Added Paths:
-----------
    trunk/dports/math/sprng/
    trunk/dports/math/sprng/Portfile
    trunk/dports/math/sprng/files/
    trunk/dports/math/sprng/files/patch-makefile.diff
    trunk/dports/math/sprng/files/patch-shared.diff

Copied: trunk/dports/math/sprng/Portfile (from rev 144291, trunk/dports/math/superlu/Portfile)
===================================================================
--- trunk/dports/math/sprng/Portfile	                        (rev 0)
+++ trunk/dports/math/sprng/Portfile	2016-01-06 01:13:36 UTC (rev 144292)
@@ -0,0 +1,53 @@
+# -*- 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
+
+name                sprng
+version             1.0
+categories          math
+license             CC-BY-SA-4
+platforms           darwin
+maintainers         sean openmaintainer
+description         Scalable Parallel Random Number Generators
+long_description    ${description}
+
+homepage            http://www.sprng.org
+master_sites        http://ftp.mcs.anl.gov/pub/petsc/externalpackages
+
+checksums           rmd160  56869960903151ca58be796713f47a73d2d426c1 \
+                    sha256  a305343059fa8d42e4479e9e54a9e25e45bc3fb9094e457839fb457230da65e7
+
+# petsc expects this to be built with mpi
+mpi.setup           require
+
+use_configure       no
+use_parallel_build  no
+
+patch.pre_args      -p1
+patchfiles-append   patch-makefile.diff patch-shared.diff
+
+configure.cflags    -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -O3 -mtune=native
+
+build.pre_args      -C SRC
+
+post-patch {
+    reinplace "s|@@PREFIX@@|${prefix}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@CC@@|${configure.cc}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@FC@@|${configure.fc}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@CPP@@|${configure.cpp}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@CFLAGS@@|${configure.cflags}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@FFLAGS@@|${configure.fflags}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@MPICC@@|${mpi.cc}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@MPIFC@@|${mpi.fc}|" ${worksrcpath}/SRC/make.PETSC
+    reinplace "s|@@SHAREDFLAGS@@|-dynamiclib -Wl,-headerpad_max_install_names,-multiply_defined,suppress,-commons,use_dylibs,-search_paths_first|" ${worksrcpath}/SRC/make.PETSC
+}
+
+destroot {
+    xinstall -m 644 {*}[glob ${worksrcpath}/include/*.h] ${destroot}${prefix}/include
+    xinstall -m 644 {*}[glob ${worksrcpath}/lib/*.a] ${destroot}${prefix}/lib
+    xinstall -m 644 {*}[glob ${worksrcpath}/lib/*.dylib] ${destroot}${prefix}/lib
+}
+
+livecheck.type      none

Added: trunk/dports/math/sprng/files/patch-makefile.diff
===================================================================
--- trunk/dports/math/sprng/files/patch-makefile.diff	                        (rev 0)
+++ trunk/dports/math/sprng/files/patch-makefile.diff	2016-01-06 01:13:36 UTC (rev 144292)
@@ -0,0 +1,53 @@
+# HG changeset patch
+# User Sean Farley <sean at farley.io>
+# Date 1452040850 28800
+#      Tue Jan 05 16:40:50 2016 -0800
+# Node ID f03080aa3226c638f6e8429c802688521882a9f4
+# Parent  c921ba940436a9c0c1260b8c85083a9595e1ebbc
+use @@VAR@@ for substitution later
+
+diff --git a/SRC/make.PETSC b/SRC/make.PETSC
+--- a/SRC/make.PETSC
++++ b/SRC/make.PETSC
+@@ -1,27 +1,28 @@
+-AR = ar
++AR = /usr/bin/ar
+ ARFLAGS = cr
+-#If your system does not have ranlib, then replace next statement with 
+-#RANLIB = echo
+-RANLIB = ranlib
++RANLIB = /usr/bin/ranlib
+ 
+-CC = /sandbox/hzhang/externalpackages/mpich2-1.0.3/linux-gnu-intel-hong/bin/mpicc
++CC = @@CC@@
+ CLD = $(CC)
+ # Set f77 to echo if you do not have a FORTRAN compiler
+-F77 = /sandbox/hzhang/externalpackages/mpich2-1.0.3/linux-gnu-intel-hong/bin/mpif77
++F77 = @@FC@@
+ 
+ F77LD = $(F77)
+ FFXN = -DAdd_
+ FSUFFIX = F
+ 
+-MPIF77 = /sandbox/hzhang/externalpackages/mpich2-1.0.3/linux-gnu-intel-hong/bin/mpif77
+-MPICC = /sandbox/hzhang/externalpackages/mpich2-1.0.3/linux-gnu-intel-hong/bin/mpicc
++MPIF77 = @@MPIFC@@
++MPICC = @@MPICC@@
+ 
+ # Please include mpi header file path, if needed
+-CFLAGS = -O3 -DLittleEndian $(PMLCGDEF) $(MPIDEF) -D$(PLAT) 
++CFLAGS = @@CFLAGS@@
+ 
+-CLDFLAGS =  -O3 
++CLDFLAGS =
+ 
+-FFLAGS = -O3 $(PMLCGDEF) $(MPIDEF) -D$(PLAT) -I.
+-F77LDFLAGS =  -O3 
++FFLAGS = @@FFLAGS@@
++F77LDFLAGS =
+ 
+-CPP = cpp -P
++CPP = @@CPP@@
++
++SHAREDFLAGS = @@SHAREDFLAGS@@
++PREFIX = @@PREFIX@@

Added: trunk/dports/math/sprng/files/patch-shared.diff
===================================================================
--- trunk/dports/math/sprng/files/patch-shared.diff	                        (rev 0)
+++ trunk/dports/math/sprng/files/patch-shared.diff	2016-01-06 01:13:36 UTC (rev 144292)
@@ -0,0 +1,131 @@
+# HG changeset patch
+# User Sean Farley <sean at farley.io>
+# Date 1452041090 28800
+#      Tue Jan 05 16:44:50 2016 -0800
+# Node ID cb7c59b22d7c344320d1235e4b6ddf69ec56c513
+# Parent  f03080aa3226c638f6e8429c802688521882a9f4
+shared libs
+
+diff --git a/SRC/cmrg/Makefile b/SRC/cmrg/Makefile
+--- a/SRC/cmrg/Makefile
++++ b/SRC/cmrg/Makefile
+@@ -31,16 +31,21 @@ SPRNG_COMMON_DEPEND = $(SRCDIR)/fwrap_mp
+ 		      $(SRCDIR)/memory.o  $(SRCDIR)/communicate.o  $(SRCDIR)/checkid.o $(SRCDIR)/store.o
+ 
+ cmrg :
+ 	(cd ..; $(MAKE) sprng_common)
+ 	$(MAKE) $(LIBDIR)/libcmrg.a
++	$(MAKE) $(LIBDIR)/libcmrg.dylib
+ 
+ $(LIBDIR)/libcmrg.a : cmrg.o primes.o  $(SPRNG_COMMON_DEPEND)
+ 	$(AR) $(ARFLAGS) $(LIBDIR)/libcmrg.a cmrg.o primes.o \
+ 		$(SPRNG_COMMON_DEPEND)
+ 	$(RANLIB) $(LIBDIR)/libcmrg.a
+ 
++$(LIBDIR)/libcmrg.dylib : cmrg.o primes.o  $(SPRNG_COMMON_DEPEND)
++	$(CC) $(LDFLAGS) -o $(LIBDIR)/libcmrg.dylib cmrg.o primes.o \
++		$(SPRNG_COMMON_DEPEND) $(SHAREDFLAGS) -install_name $(PREFIX)/lib/libcmrg.dylib
++
+ cmrg.o : $(SRCDIR)/interface.h cmrg.c  $(SRCDIR)/memory.h  primes.h  $(SRCDIR)/multiply.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h
+ 	$(CC) -c $(CFLAGS) $(FFXN) $(INLINEOPT)  cmrg.c -I$(SRCDIR)
+ 
+ primes.o : primes.h primes.c
+ 	$(CC) -c $(CFLAGS) primes.c -I$(SRCDIR)
+diff --git a/SRC/lcg/Makefile b/SRC/lcg/Makefile
+--- a/SRC/lcg/Makefile
++++ b/SRC/lcg/Makefile
+@@ -31,16 +31,21 @@ SPRNG_COMMON_DEPEND = $(SRCDIR)/fwrap_mp
+ 		      $(SRCDIR)/memory.o  $(SRCDIR)/communicate.o  $(SRCDIR)/checkid.o $(SRCDIR)/store.o
+ 
+ lcg :
+ 	(cd ..; $(MAKE) sprng_common)
+ 	$(MAKE) $(LIBDIR)/liblcg.a
++	$(MAKE) $(LIBDIR)/liblcg.dylib
+ 
+ $(LIBDIR)/liblcg.a : lcg.o primes.o  $(SPRNG_COMMON_DEPEND)
+ 	$(AR) $(ARFLAGS) $(LIBDIR)/liblcg.a lcg.o primes.o \
+ 		$(SPRNG_COMMON_DEPEND)
+ 	$(RANLIB) $(LIBDIR)/liblcg.a
+ 
++$(LIBDIR)/liblcg.dylib : lcg.o primes.o  $(SPRNG_COMMON_DEPEND)
++	$(CC) $(LDFLAGS) -o $(LIBDIR)/liblcg.dylib lcg.o primes.o \
++		$(SPRNG_COMMON_DEPEND) $(SHAREDFLAGS) -install_name $(PREFIX)/lib/liblcg.dylib
++
+ lcg.o : $(SRCDIR)/interface.h lcg.c  $(SRCDIR)/memory.h  primes.h  $(SRCDIR)/multiply.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h
+ 	$(CC) -c $(CFLAGS)  $(FFXN) $(INLINEOPT) lcg.c -I$(SRCDIR)
+ 
+ primes.o : primes.h primes.c
+ 	$(CC) -c $(CFLAGS) primes.c -I$(SRCDIR)
+diff --git a/SRC/lcg64/Makefile b/SRC/lcg64/Makefile
+--- a/SRC/lcg64/Makefile
++++ b/SRC/lcg64/Makefile
+@@ -31,16 +31,21 @@ SPRNG_COMMON_DEPEND = $(SRCDIR)/fwrap_mp
+ 		      $(SRCDIR)/memory.o  $(SRCDIR)/communicate.o  $(SRCDIR)/checkid.o $(SRCDIR)/store.o
+ 
+ lcg64 :
+ 	(cd ..; $(MAKE) sprng_common)
+ 	$(MAKE) $(LIBDIR)/liblcg64.a
++	$(MAKE) $(LIBDIR)/liblcg64.dylib
+ 
+ $(LIBDIR)/liblcg64.a : lcg64.o primes.o  $(SPRNG_COMMON_DEPEND)
+ 	$(AR) $(ARFLAGS) $(LIBDIR)/liblcg64.a lcg64.o primes.o \
+ 		$(SPRNG_COMMON_DEPEND)
+ 	$(RANLIB) $(LIBDIR)/liblcg64.a
+ 
++$(LIBDIR)/liblcg64.dylib : lcg64.o primes.o  $(SPRNG_COMMON_DEPEND)
++	$(CC) $(LDFLAGS) -o $(LIBDIR)/liblcg64.dylib lcg64.o primes.o \
++		$(SPRNG_COMMON_DEPEND) $(SHAREDFLAGS) -install_name $(PREFIX)/lib/liblcg64.dylib
++
+ lcg64.o : $(SRCDIR)/interface.h lcg64.c  $(SRCDIR)/memory.h  primes.h  $(SRCDIR)/multiply.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h
+ 	$(CC) -c $(CFLAGS) $(FFXN) $(INLINEOPT) -I$(SRCDIR) lcg64.c 
+ 
+ primes.o : primes.h primes.c
+ 	$(CC) -c $(CFLAGS) primes.c -I$(SRCDIR)
+diff --git a/SRC/lfg/Makefile b/SRC/lfg/Makefile
+--- a/SRC/lfg/Makefile
++++ b/SRC/lfg/Makefile
+@@ -30,15 +30,20 @@ SPRNG_COMMON_DEPEND = $(SRCDIR)/fwrap_mp
+ 		      $(SRCDIR)/memory.o  $(SRCDIR)/communicate.o  $(SRCDIR)/checkid.o $(SRCDIR)/store.o
+ 
+ lfg :
+ 	(cd ..; $(MAKE) sprng_common)
+ 	$(MAKE) $(LIBDIR)/liblfg.a
++	$(MAKE) $(LIBDIR)/liblfg.dylib
+ 
+ $(LIBDIR)/liblfg.a: lfg.o  $(SPRNG_COMMON_DEPEND)
+ 	$(AR) $(ARFLAGS) $(LIBDIR)/liblfg.a lfg.o $(SPRNG_COMMON_DEPEND)
+ 	$(RANLIB) $(LIBDIR)/liblfg.a
+ 
++$(LIBDIR)/liblfg.dylib: lfg.o  $(SPRNG_COMMON_DEPEND)
++	$(CC) $(LDFLAGS) -o $(LIBDIR)/liblfg.dylib lfg.o \
++		$(SPRNG_COMMON_DEPEND) $(SHAREDFLAGS) -install_name $(PREFIX)/lib/liblfg.dylib
++
+ lfg.o : $(SRCDIR)/interface.h lfg.c  $(SRCDIR)/multiply.h  $(SRCDIR)/memory.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h
+ 	$(CC) -c $(CFLAGS)  $(FFXN) $(INLINEOPT) lfg.c -I$(SRCDIR)
+ 
+ 
+ #---------------------------------------------------------------------------
+diff --git a/SRC/mlfg/Makefile b/SRC/mlfg/Makefile
+--- a/SRC/mlfg/Makefile
++++ b/SRC/mlfg/Makefile
+@@ -30,15 +30,20 @@ SPRNG_COMMON_DEPEND = $(SRCDIR)/fwrap_mp
+ 		      $(SRCDIR)/memory.o  $(SRCDIR)/communicate.o  $(SRCDIR)/checkid.o $(SRCDIR)/store.o
+ 
+ mlfg :
+ 	(cd ..; $(MAKE) sprng_common)
+ 	$(MAKE) $(LIBDIR)/libmlfg.a
++	$(MAKE) $(LIBDIR)/libmlfg.dylib
+ 
+ $(LIBDIR)/libmlfg.a: mlfg.o  $(SPRNG_COMMON_DEPEND)
+ 	$(AR) $(ARFLAGS) $(LIBDIR)/libmlfg.a mlfg.o $(SPRNG_COMMON_DEPEND)
+ 	$(RANLIB) $(LIBDIR)/libmlfg.a
+ 
++$(LIBDIR)/libmlfg.dylib: mlfg.o  $(SPRNG_COMMON_DEPEND)
++	$(CC) $(LDFLAGS) -o $(LIBDIR)/libmlfg.dylib mlfg.o \
++		$(SPRNG_COMMON_DEPEND) $(SHAREDFLAGS) -install_name $(PREFIX)/lib/libmlfg.dylib
++
+ mlfg.o : $(SRCDIR)/interface.h mlfg.c int64.h  $(SRCDIR)/memory.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h
+ 	$(CC) -c $(CFLAGS)  $(FFXN) $(INLINEOPT) mlfg.c -I$(SRCDIR)
+ 
+ 
+ #---------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160105/12b61aa4/attachment.html>


More information about the macports-changes mailing list