diff options
-rw-r--r-- | math/arpack/Makefile | 31 | ||||
-rw-r--r-- | math/arpack/distinfo | 3 | ||||
-rw-r--r-- | math/arpack/files/patch-ARmake.inc | 60 | ||||
-rw-r--r-- | math/arpack/pkg-descr | 42 | ||||
-rw-r--r-- | math/arpack/pkg-plist | 11 |
5 files changed, 109 insertions, 38 deletions
diff --git a/math/arpack/Makefile b/math/arpack/Makefile index bb60b21..5bcdc74 100644 --- a/math/arpack/Makefile +++ b/math/arpack/Makefile @@ -9,32 +9,38 @@ PORTNAME= arpack PORTVERSION= 96 CATEGORIES= math MASTER_SITES= http://www.caam.rice.edu/software/ARPACK/SRC/ -DISTFILES= ${PORTNAME}${PORTVERSION}.tar.gz patch.tar.Z +DISTFILES= ${PORTNAME}${PORTVERSION}.tar.gz patch.tar.gz +.ifndef NOPORTDOCS +DISTFILES+= ug.ps.gz +.endif +DIST_SUBDIR= arpack +EXTRACT_ONLY= ${PORTNAME}${PORTVERSION}.tar.gz PATCH_SITES= http://www.caam.rice.edu/software/ARPACK/SRC/ MAINTAINER= ports@FreeBSD.org -COMMENT= Argand Library (serial version) +COMMENT= Argand Library: large eigenvalue subroutines (serial version) -BUILD_DEPENDS= ${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c - -DIST_SUBDIR= arpack +BUILD_DEPENDS= ${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c \ + ${LOCALBASE}/lib/libf77blas.a:${PORTSDIR}/math/atlas WRKSRC= ${WRKDIR}/ARPACK ALL_TARGET= lib -MAKE_ENV= HOME=${WRKSRC} +BLAS_LIBS= ${LOCALBASE}/lib/libf77blas.a ${LOCALBASE}/lib/libatlas.a + INSTALLS_SHLIB= yes -USE_REINPLACE= yes +USE_REINPLACE= yes .include <bsd.port.pre.mk> pre-patch: @(cd ${WRKSRC}; tar -xzf ${DISTDIR}/${DIST_SUBDIR}/patch.tar.Z) -post-patch: - @${REINPLACE_CMD} -e 's+%FC%+${FC}+g;' ${WRKSRC}/ARmake.inc - @${REINPLACE_CMD} -e 's+%FFLAGS%+${FFLAGS}+g;' ${WRKSRC}/ARmake.inc +pre-build: + @${REINPLACE_CMD} -e 's+%FC%+${FC}+g ; s+%FFLAGS%+${FFLAGS}+g ; \ + s+%%WRKDIR%%+${WRKDIR}+ ; \ + s+%%BLAS_LIBS%%+${BLAS_LIBS}+' ${WRKSRC}/ARmake.inc do-install: ${INSTALL} ${WRKSRC}/libarpack.a ${PREFIX}/lib @@ -48,9 +54,10 @@ do-install: post-install: .if !defined(NOPORTDOCS) - ${MKDIR} $(PREFIX)/share/doc/arpack + ${MKDIR} ${DOCSDIR} -${GZIP_CMD} ${GZIP} ${WRKSRC}/DOCUMENTS/ex-*.doc - ${CP} $(WRKSRC)/DOCUMENTS/ex-*.doc.gz $(PREFIX)/share/doc/arpack/ + ${CP} ${WRKSRC}/DOCUMENTS/ex-*.doc.gz ${DOCSDIR} + ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/ug.ps.gz ${DOCSDIR} .endif .include <bsd.port.post.mk> diff --git a/math/arpack/distinfo b/math/arpack/distinfo index 62beba3..a80ef72 100644 --- a/math/arpack/distinfo +++ b/math/arpack/distinfo @@ -1,2 +1,3 @@ MD5 (arpack/arpack96.tar.gz) = fffaa970198b285676f4156cebc8626e -MD5 (arpack/patch.tar.Z) = f323dafc1610d45fb98987cf76a7d344 +MD5 (arpack/patch.tar.gz) = 14830d758f195f272b8594a493501fa2 +MD5 (arpack/ug.ps.gz) = 79cc51e4812c75873adafcad2185842e diff --git a/math/arpack/files/patch-ARmake.inc b/math/arpack/files/patch-ARmake.inc new file mode 100644 index 0000000..82162e1 --- /dev/null +++ b/math/arpack/files/patch-ARmake.inc @@ -0,0 +1,60 @@ +--- ARmake.inc.orig Fri Apr 26 14:12:57 1996 ++++ ARmake.inc Thu May 29 09:36:26 2003 +@@ -25,14 +25,14 @@ + # | other than your home directory. | + # %--------------------------------------% + # +-home = $(HOME)/ARPACK ++home = %%WRKDIR%%/ARPACK + # + # %--------------------------------------% + # | The platform identifier to suffix to | + # | the end of library names | + # %--------------------------------------% + # +-PLAT = SUN4 ++PLAT = FBSD + # + # %------------------------------------------------------% + # | The directories to find the various pieces of ARPACK | +@@ -43,7 +43,7 @@ + UTILdir = $(home)/UTIL + SRCdir = $(home)/SRC + # +-DIRS = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir) ++DIRS = $(LAPACKdir) $(UTILdir) $(SRCdir) + # + # %-------------------------------------------------------------------% + # | Comment out the previous line and uncomment the following | +@@ -57,9 +57,9 @@ + # | The name of the libraries to be created/linked to | + # %---------------------------------------------------% + # +-ARPACKLIB = $(home)/libarpack_$(PLAT).a ++ARPACKLIB = $(home)/libarpack.a + LAPACKLIB = +-BLASLIB = ++BLASLIB = %%BLAS_LIBS%% + # + ALIBS = $(ARPACKLIB) $(LAPACKLIB) $(BLASLIB) + # +@@ -101,8 +101,8 @@ + # | for your system. | + # %-----------------------------------------% + # +-FC = f77 +-FFLAGS = -O -cg89 ++FC = %FC% ++FFLAGS = %FFLAGS% + + LDFLAGS = + CD = cd +@@ -112,7 +112,7 @@ + LN = ln + LNFLAGS = -s + +-MAKE = /bin/make ++MAKE ?= /usr/bin/make + + RM = rm + RMFLAGS = -f diff --git a/math/arpack/pkg-descr b/math/arpack/pkg-descr index 54629b0..5b3c256 100644 --- a/math/arpack/pkg-descr +++ b/math/arpack/pkg-descr @@ -1,22 +1,24 @@ -ARPACK is a collection of Fortran77 subroutines designed to solve large -scale eigenvalue problems. - The package is designed to compute a few eigenvalues and corresponding eigenvectors of a general n by n matrix A. It is most appropriate for large -sparse or structured matrices A where structured means that a matrix-vector -product w <- Av requires order n rather than the usual order n**2 floating -point operations. This software is based upon an algorithmic variant of the -Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When -the matrix A is symmetric it reduces to a variant of the Lanczos process -called the Implicitly Restarted Lanczos Method (IRLM). These variants may be -viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly -Shifted QR technique that is suitable for large scale problems. For many -standard problems, a matrix factorization is not required. Only the action -of the matrix on a vector is needed. ARPACK software is capable of solving -large scale symmetric, nonsymmetric, and generalized eigenproblems from -significant application areas. The software is designed to compute a few (k) -eigenvalues with user specified features such as those of largest real part -or largest magnitude. Storage requirements are on the order of n*k locations. -No auxiliary storage is required. A set of Schur basis vectors for the desired -k-dimensional eigen-space is computed which is numerically orthogonal to working -precision. Numerically accurate eigenvectors are available on request. +sparse or structured matrices A where structured means that a matrix-vector +product w <- Av requires order n rather than the usual order n2 floating point +operations. This software is based upon an algorithmic variant of the Arnoldi +process called the Implicitly Restarted Arnoldi Method (IRAM). When the matrix +A is symmetric it reduces to a variant of the Lanczos process called the +Implicitly Restarted Lanczos Method (IRLM). These variants may be viewed as a +synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR +technique that is suitable for large scale problems. For many standard +problems, a matrix factorization is not required. Only the action of the matrix +on a vector is needed. +ARPACK software is capable of solving large scale symmetric, nonsymmetric, +and generalized eigenproblems from significant application areas. The software +is designed to compute a few (k) eigenvalues with user specified features +such as those of largest real part or largest magnitude. Storage requirements +are on the order of n*k locations. No auxiliary storage is required. A set +of Schur basis vectors for the desired k-dimensional eigen-space is computed +which is numerically orthogonal to working precision. Numerically accurate +eigenvectors are available on request. + + WWW: http://www.caam.rice.edu/ARPACK/ + +NOTE: You MUST link with BLAS library or a replacement like ATLAS. diff --git a/math/arpack/pkg-plist b/math/arpack/pkg-plist index 471adb3..db4fb243 100644 --- a/math/arpack/pkg-plist +++ b/math/arpack/pkg-plist @@ -1,6 +1,7 @@ -include/arpack.h +include/arpack.h lib/libarpack.a -share/doc/arpack/ex-complex.doc.gz -share/doc/arpack/ex-nonsym.doc.gz -share/doc/arpack/ex-sym.doc.gz -@dirrm share/doc/arpack +%%PORTDOCS%%share/doc/arpack/ex-complex.doc.gz +%%PORTDOCS%%share/doc/arpack/ex-nonsym.doc.gz +%%PORTDOCS%%share/doc/arpack/ex-sym.doc.gz +%%PORTDOCS%%share/doc/arpack/ug.ps.gz +%%PORTDOCS%%@dirrm share/doc/arpack |