diff options
author | thierry <thierry@FreeBSD.org> | 2014-08-29 03:16:45 +0800 |
---|---|---|
committer | thierry <thierry@FreeBSD.org> | 2014-08-29 03:16:45 +0800 |
commit | ef687386e098334f5eb656add23047aa50e3bdb9 (patch) | |
tree | 93037c58b8a7b1205956ed9a337b2d565c88796f | |
parent | 9c70129e9025e0e71466cbbc0c85c9a8ba30d721 (diff) | |
download | freebsd-ports-gnome-ef687386e098334f5eb656add23047aa50e3bdb9.tar.gz freebsd-ports-gnome-ef687386e098334f5eb656add23047aa50e3bdb9.tar.zst freebsd-ports-gnome-ef687386e098334f5eb656add23047aa50e3bdb9.zip |
- Stagify
- Upgrade to 4.3
Changelog at <http://crd-legacy.lbl.gov/~xiaoye/SuperLU/changes.html>.
PR: ports/193069
Submitted by: pfg
-rw-r--r-- | math/superlu/Makefile | 75 | ||||
-rw-r--r-- | math/superlu/distinfo | 4 | ||||
-rw-r--r-- | math/superlu/files/patch-SRC-Makefile | 58 | ||||
-rw-r--r-- | math/superlu/files/patch-TESTING_Makefile | 38 | ||||
-rw-r--r-- | math/superlu/files/patch-make.inc | 61 | ||||
-rw-r--r-- | math/superlu/pkg-plist | 9 |
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%% |