aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2014-08-28 19:16:45 +0000
committerThierry Thomas <thierry@FreeBSD.org>2014-08-28 19:16:45 +0000
commit4199d239fef0447d2fa05cdee683c7c22393e959 (patch)
tree93037c58b8a7b1205956ed9a337b2d565c88796f /math
parent75a4d7c20c4d7e2598a670f84b7f9b76e7962968 (diff)
downloadports-4199d239fef0447d2fa05cdee683c7c22393e959.tar.gz
ports-4199d239fef0447d2fa05cdee683c7c22393e959.zip
Notes
Diffstat (limited to 'math')
-rw-r--r--math/superlu/Makefile75
-rw-r--r--math/superlu/distinfo4
-rw-r--r--math/superlu/files/patch-SRC-Makefile58
-rw-r--r--math/superlu/files/patch-TESTING_Makefile38
-rw-r--r--math/superlu/files/patch-make.inc61
-rw-r--r--math/superlu/pkg-plist9
6 files changed, 152 insertions, 93 deletions
diff --git a/math/superlu/Makefile b/math/superlu/Makefile
index 8048d0bea4f9..0a863dac2022 100644
--- a/math/superlu/Makefile
+++ b/math/superlu/Makefile
@@ -2,26 +2,39 @@
# $FreeBSD$
PORTNAME= superlu
-PORTREVISION= 6
-DISTVERSION= ${P_VERSION}.20060201
+PORTVERSION= ${P_VERSION}
CATEGORIES= math
MASTER_SITES= http://crd.lbl.gov/~xiaoye/SuperLU/ \
http://crd.lbl.gov/~xiaoye/:doc
DISTNAME= ${PORTNAME}_${P_VERSION}
-.ifndef NOPORTDOCS
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} superlu_ug.pdf SLU_general.ps.gz:doc simax95.ps.gz:doc
-.endif
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
COMMENT= Library of routines for performing sparse factorization
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/README
+
USES= fortran
-NO_STAGE= yes
+USE_LDCONFIG= yes
+
+P_VERSION= 4.3
+P_VER= ${P_VERSION:R}
+WRKSRC= ${WRKDIR}/SuperLU_${P_VERSION}
+ALL_TARGET= lib
+PLIST_SUB= P_VERSION=${P_VERSION} P_VER=${P_VER}
+
+ARCH2FIX= SRC/Makefile TESTING/MATGEN/Makefile CBLAS/Makefile make.inc \
+ MAKE_INC/make.alpha MAKE_INC/make.inc
+
.include <bsd.port.pre.mk>
+.if ${PORT_OPTIONS:MDOCS}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} superlu_ug.pdf SLU_general.ps.gz:doc simax95.ps.gz:doc
+.endif
+
.if exists(${LOCALBASE}/lib/libgoto2.so)
WITH_BLAS?= gotoblas
.elif exists(${LOCALBASE}/lib/libatlas.so)
@@ -41,46 +54,40 @@ LIB_DEPENDS+= libatlas.so:${PORTSDIR}/math/atlas
BLAS= -lptf77blas
.endif
-USE_LDCONFIG= yes
-
-P_VERSION= 3.0
-WRKSRC= ${WRKDIR}/SuperLU_${P_VERSION}
-ALL_TARGET= lib
-
-ARCH2FIX= SRC/Makefile TESTING/MATGEN/Makefile CBLAS/Makefile make.inc \
- MAKE_INC/make.alpha MAKE_INC/make.inc
-
pre-build:
- @${REINPLACE_CMD} -e 's+%%BLAS%%+-L${LOCALBASE}/lib ${BLAS}+ ; \
+ ${REINPLACE_CMD} -e 's+%%BLAS%%+-L${LOCALBASE}/lib ${BLAS}+ ; \
s+%%CC%%+${CC}+; s+%%FC%%+${FC}+; \
+ s+%%WRKSRC%%+${WRKSRC}+; \
s+%%CFLAGS%%+${CFLAGS}+; \
s+%%FFLAGS%%+${FFLAGS}+' \
${WRKSRC}/make.inc
.for fmk in ${ARCH2FIX}
- @${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
+ ${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk}
.endfor
+ ${FIND} ${WRKSRC} -name Makefile | ${XARGS} \
+ ${REINPLACE_CMD} -E -e 's|\( cd (.*); \$$\(MAKE\) \)|\$$(MAKE) -C \1|'
do-install:
- ${INSTALL_DATA} ${WRKSRC}/libsuperlu_${P_VERSION}.a \
- ${PREFIX}/lib/libsuperlu.a
+ ${INSTALL_DATA} ${WRKSRC}/lib/libsuperlu_${P_VERSION}.a \
+ ${STAGEDIR}${PREFIX}/lib/libsuperlu.a
${INSTALL_DATA} ${WRKSRC}/libsuperlu_${P_VERSION}.so \
- ${PREFIX}/lib/libsuperlu.so.${PORTREVISION}
- ${LN} -fs ${PREFIX}/lib/libsuperlu.so.${PORTREVISION} \
- ${PREFIX}/lib/libsuperlu_${P_VERSION}.so
- ${LN} -fs ${PREFIX}/lib/libsuperlu_${P_VERSION}.so \
- ${PREFIX}/lib/libsuperlu.so
- @${MKDIR} ${PREFIX}/include/superlu
- ${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${PREFIX}/include/superlu
-.if !defined(NOPORTDOCS)
- @${MKDIR} ${DOCSDIR}
- ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/SLU_general.ps.gz ${DOCSDIR}
- ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax95.ps.gz ${DOCSDIR}
- ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/superlu_ug.pdf ${DOCSDIR}
+ ${STAGEDIR}${PREFIX}/lib/libsuperlu.so.${P_VER}
+ ${LN} -fs libsuperlu.so.${PORTREVISION} \
+ ${STAGEDIR}${PREFIX}/lib/libsuperlu_${P_VERSION}.so
+ ${LN} -fs libsuperlu_${P_VERSION}.so \
+ ${STAGEDIR}${PREFIX}/lib/libsuperlu.so
+ @${MKDIR} ${STAGEDIR}${PREFIX}/include/superlu
+ ${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/superlu
+.if ${PORT_OPTIONS:MDOCS}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/SLU_general.ps.gz ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax95.ps.gz ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/superlu_ug.pdf ${STAGEDIR}${DOCSDIR}
.endif
regression-test: build
- @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} testing )
- @(cd ${WRKSRC}/TESTING && ${CAT} *.out )
-
+ (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} testing )
+ (cd ${WRKSRC}/TESTING && ${CAT} *.out )
+
.include <bsd.port.post.mk>
diff --git a/math/superlu/distinfo b/math/superlu/distinfo
index 55c783c958c1..79ffd5f4eb2c 100644
--- a/math/superlu/distinfo
+++ b/math/superlu/distinfo
@@ -1,5 +1,5 @@
-SHA256 (superlu/superlu_3.0.tar.gz) = d0132a3a2fb6269dc8faa0b9ea9611764e8ca31265441f64cfc80485a86d5784
-SIZE (superlu/superlu_3.0.tar.gz) = 1134160
+SHA256 (superlu/superlu_4.3.tar.gz) = 169920322eb9b9c6a334674231479d04df72440257c17870aaa0139d74416781
+SIZE (superlu/superlu_4.3.tar.gz) = 2875951
SHA256 (superlu/superlu_ug.pdf) = 4657e60fb7832465b60e208613992d29b6bbd8110103bfe0f5cee0ab79b67766
SIZE (superlu/superlu_ug.pdf) = 458405
SHA256 (superlu/SLU_general.ps.gz) = 00d00cedfadd96a42014d22b30c0cc451a575d8d309774519068b11d4be1ebe5
diff --git a/math/superlu/files/patch-SRC-Makefile b/math/superlu/files/patch-SRC-Makefile
index b97513e4043c..12f12fa0fcc1 100644
--- a/math/superlu/files/patch-SRC-Makefile
+++ b/math/superlu/files/patch-SRC-Makefile
@@ -1,35 +1,42 @@
---- SRC/Makefile.orig 2006-01-06 00:09:14.000000000 +0100
-+++ SRC/Makefile 2012-04-06 20:56:28.000000000 +0200
-@@ -89,39 +89,47 @@
- zcolumn_dfs.o zcolumn_bmod.o zpivotL.o zpruneL.o \
- zmemory.o zutil.o zmyblas2.o
+--- SRC/Makefile.orig 2011-10-27 21:49:47.000000000 +0200
++++ SRC/Makefile 2014-08-28 21:11:48.000000000 +0200
+@@ -111,35 +111,43 @@
+ ilu_zcolumn_dfs.o ilu_zpanel_dfs.o ilu_zcopy_to_ucol.o \
+ ilu_zpivotL.o zdiagonal.o
-all: single double complex complex16
-+all: single double complex complex16 shared
++SINGLE = $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX)
++DOUBLE = $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX)
++COMPLEX = $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX)
++COMPLEX16 = $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX)
++
++all: static shared
single: $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX)
-- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \
-+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \
- $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX)
- $(RANLIB) ../$(SUPERLULIB)
+- $(ARCH) $(ARCHFLAGS) $(SUPERLULIB) \
+- $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX)
+- $(RANLIB) $(SUPERLULIB)
double: $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX)
-- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \
-+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \
- $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX)
- $(RANLIB) ../$(SUPERLULIB)
+- $(ARCH) $(ARCHFLAGS) $(SUPERLULIB) \
+- $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX)
+- $(RANLIB) $(SUPERLULIB)
complex: $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX)
-- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \
-+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \
- $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX)
- $(RANLIB) ../$(SUPERLULIB)
+- $(ARCH) $(ARCHFLAGS) $(SUPERLULIB) \
+- $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX)
+- $(RANLIB) $(SUPERLULIB)
complex16: $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX)
-- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \
-+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \
- $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX)
- $(RANLIB) ../$(SUPERLULIB)
+- $(ARCH) $(ARCHFLAGS) $(SUPERLULIB) \
+- $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX)
++
++static: single double complex complex16
++ $(ARCMD) $(ARCHFLAGS) $(SUPERLULIB) $(SINGLE)
++ $(ARCMD) $(ARCHFLAGS) $(SUPERLULIB) $(DOUBLE)
++ $(ARCMD) $(ARCHFLAGS) $(SUPERLULIB) $(COMPLEX)
++ $(ARCMD) $(ARCHFLAGS) $(SUPERLULIB) $(COMPLEX16)
+ $(RANLIB) $(SUPERLULIB)
+shared: single double complex complex16
+ $(CC) -shared -Wl,-soname=$(SUPERLULIB_SHARED) -o ../$(SUPERLULIB_SHARED) \
@@ -52,8 +59,9 @@
##################################
.c.o:
- $(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
+@@ -149,4 +157,4 @@
+ $(FORTRAN) $(FFLAGS) -c $<
clean:
-- rm -f *.o ../libsuperlu_3.0.a
-+ rm -f *.o ../libsuperlu_3.0.a ../libsuperlu_3.0.so
+- rm -f *.o $(SUPERLULIB)
++ rm -f *.o $(SUPERLULIB) $(SUPERLULIB_SHARED)
diff --git a/math/superlu/files/patch-TESTING_Makefile b/math/superlu/files/patch-TESTING_Makefile
new file mode 100644
index 000000000000..f85e6a1f8414
--- /dev/null
+++ b/math/superlu/files/patch-TESTING_Makefile
@@ -0,0 +1,38 @@
+--- TESTING/Makefile.orig 2011-10-27 21:49:47.000000000 +0200
++++ TESTING/Makefile 2014-08-27 19:38:04.000000000 +0200
+@@ -54,7 +54,7 @@
+
+ ./stest: $(SLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
+ $(LOADER) $(LOADOPTS) $(SLINTST) $(ALINTST) \
+- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
++ $(TMGLIB) $(SUPERLULIB) $(BLASLIB) ${LDFLAGS} -lm -o $@
+
+ stest.out: stest stest.csh
+ @echo Testing SINGLE PRECISION linear equation routines
+@@ -64,7 +64,7 @@
+
+ ./dtest: $(DLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
+ $(LOADER) $(LOADOPTS) $(DLINTST) $(ALINTST) \
+- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
++ $(TMGLIB) $(SUPERLULIB) $(BLASLIB) ${LDFLAGS} -lm -o $@
+
+ dtest.out: dtest dtest.csh
+ @echo Testing DOUBLE PRECISION linear equation routines
+@@ -74,7 +74,7 @@
+
+ ./ctest: $(CLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
+ $(LOADER) $(LOADOPTS) $(CLINTST) $(ALINTST) \
+- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
++ $(TMGLIB) $(SUPERLULIB) $(BLASLIB) ${LDFLAGS} -lm -o $@
+
+ ctest.out: ctest ctest.csh
+ @echo Testing SINGLE COMPLEX linear equation routines
+@@ -84,7 +84,7 @@
+
+ ./ztest: $(ZLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
+ $(LOADER) $(LOADOPTS) $(ZLINTST) $(ALINTST) \
+- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
++ $(TMGLIB) $(SUPERLULIB) $(BLASLIB) ${LDFLAGS} -lm -o $@
+
+ ztest.out: ztest ztest.csh
+ @echo Testing DOUBLE COMPLEX linear equation routines
diff --git a/math/superlu/files/patch-make.inc b/math/superlu/files/patch-make.inc
index 6bc2cb47a062..84e01d14120e 100644
--- a/math/superlu/files/patch-make.inc
+++ b/math/superlu/files/patch-make.inc
@@ -1,42 +1,47 @@
---- make.inc.orig 2006-01-02 00:52:00.000000000 +0100
-+++ make.inc 2012-04-11 09:50:17.000000000 +0200
-@@ -19,22 +19,25 @@
+--- make.inc.orig 2011-12-12 23:34:18.000000000 +0100
++++ make.inc 2014-08-26 23:26:34.000000000 +0200
+@@ -21,14 +21,15 @@
#
- TMGLIB = libtmglib.a
- SUPERLULIB = libsuperlu_3.0.a
--BLASLIB = ../libblas.a
-+SUPERLULIB_SHARED = libsuperlu_3.0.so
-+BLASLIB = -L/usr/local/lib -lblas
-
+ # The name of the libraries to be created/linked to
#
+-SuperLUroot = $(HOME)/Codes/SuperLU/SuperLU_4.3
++SuperLUroot = %%WRKSRC%%
+ SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.3.a
++SUPERLULIB_SHARED = libsuperlu_4.3.so
+ TMGLIB = libtmglib.a
+
+ ## BLASLIB = $(SuperLUroot)/lib/libblas.a
+
+ BLASDEF = -DUSE_VENDOR_BLAS
+-BLASLIB = -L$(HOME)/lib/GotoBLAS -lgoto
++BLASLIB = %%BLAS%%
+
+ ## ATLAS BLAS causes single-precision to fail
+ #BLASLIB = -L/usr/lib/atlas -lblas
+@@ -41,15 +42,14 @@
# The archiver and the flag(s) to use when building archive (library)
# If your system has no ranlib, set RANLIB = echo.
#
-ARCH = ar
-+ARCMD = ar
++ARCMD = ar
ARCHFLAGS = cr
RANLIB = ranlib
--CC = cc
--CFLAGS = -xO3 -xcg92
--FORTRAN = f77
--FFLAGS = -O
--LOADER = cc
--LOADOPTS = -xO3
-+#CC ?= gcc46
-+#CFLAGS ?= -O3 -pipe -fno-strict-aliasing -march=native -Wl,-rpath=/usr/local/lib/gcc46
-+#FORTRAN ?= gfortran46
-+#FFLAGS ?= -O -Wl,-rpath=/usr/local/lib/gcc46
-+#LOADER ?= gfortran46
-+#LOADOPTS =
-+
-+CFLAGS += -Wall -fpic
+-CC = gcc
+-CFLAGS = -DPRNTlevel=0 -O3
++CFLAGS = -DPRNTlevel=0 %%CFLAGS%% -fpic
+ NOOPTS =
+-FORTRAN = g77
+-FFLAGS = -O2
++FORTRAN = %%FC%%
++FFLAGS = %%FFLAGS%%
+ LOADER = $(CC)
+ LOADOPTS =
- #
- # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase)
-@@ -43,4 +46,4 @@
+@@ -61,5 +61,5 @@
#
# The directory in which Matlab is installed
#
--MATLAB = /usr/sww/pkg/matlab
+-MATLAB = /usr/sww/matlab
+#MATLAB = /usr/sww/pkg/matlab
+
diff --git a/math/superlu/pkg-plist b/math/superlu/pkg-plist
index fd5252ca41dd..7921ebe07cb9 100644
--- a/math/superlu/pkg-plist
+++ b/math/superlu/pkg-plist
@@ -1,5 +1,5 @@
include/superlu/colamd.h
-include/superlu/old_colamd.h
+include/superlu/html_mainpage.h
include/superlu/slu_Cnames.h
include/superlu/slu_cdefs.h
include/superlu/slu_dcomplex.h
@@ -8,13 +8,14 @@ include/superlu/slu_scomplex.h
include/superlu/slu_sdefs.h
include/superlu/slu_util.h
include/superlu/slu_zdefs.h
+include/superlu/superlu_enum_consts.h
include/superlu/supermatrix.h
lib/libsuperlu.a
lib/libsuperlu.so
-lib/libsuperlu.so.4
-lib/libsuperlu_3.0.so
-@dirrm include/superlu
+lib/libsuperlu.so.%%P_VER%%
+lib/libsuperlu_%%P_VERSION%%.so
%%PORTDOCS%%%%DOCSDIR%%/SLU_general.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/simax95.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/superlu_ug.pdf
+@dirrm include/superlu
%%PORTDOCS%%@dirrm %%DOCSDIR%%