summaryrefslogtreecommitdiff
path: root/math/umfpack
diff options
context:
space:
mode:
authorNorikatsu Shigemura <nork@FreeBSD.org>2003-06-20 20:04:56 +0000
committerNorikatsu Shigemura <nork@FreeBSD.org>2003-06-20 20:04:56 +0000
commit5fcf88e50c9cbbd30b07a3e6a00c0de99fb2cb43 (patch)
treee6ce06e84bf80873caf9e960eff6d373a3eee169 /math/umfpack
parentUpdate MASTER_SITES. (diff)
Update to 4.1.
Use CBLAS from ATLAS instead of the unaccelarated BLAS. PR: ports/53563 Submitted by: Pedro F. Giffuni <giffunip@yahoo.com>
Notes
Notes: svn path=/head/; revision=83378
Diffstat (limited to 'math/umfpack')
-rw-r--r--math/umfpack/Makefile28
-rw-r--r--math/umfpack/distinfo2
-rw-r--r--math/umfpack/files/Make.freebsd45
-rw-r--r--math/umfpack/files/patch-Make+Make.include31
-rw-r--r--math/umfpack/files/patch-aa19
-rw-r--r--math/umfpack/files/patch-ba84
-rw-r--r--math/umfpack/pkg-descr30
-rw-r--r--math/umfpack/pkg-message45
-rw-r--r--math/umfpack/pkg-plist14
9 files changed, 143 insertions, 155 deletions
diff --git a/math/umfpack/Makefile b/math/umfpack/Makefile
index 90d00639b5c7..9fc785f53857 100644
--- a/math/umfpack/Makefile
+++ b/math/umfpack/Makefile
@@ -6,25 +6,33 @@
#
PORTNAME= umfpack
-PORTVERSION= 2.2.1
+PORTVERSION= 4.1
CATEGORIES= math
MASTER_SITES= ftp://ftp.cise.ufl.edu/pub/faculty/davis/umfpack/
-DISTNAME= UMFPACK${PORTVERSION}
+DISTNAME= UMFPACKv${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
-COMMENT= Unsymmetric-pattern Multifrontal Package
+COMMENT= Unsymmetric-pattern MultiFrontal Package
-BUILD_DEPENDS= ${LOCALBASE}/lib/libblas.a:${PORTSDIR}/math/blas
+BUILD_DEPENDS= ${LOCALBASE}/lib/libcblas.a:${PORTSDIR}/math/atlas
-NO_CDROM= 'Must not be sold'
-ALL_TARGET= libumfpack.a
+WRKSRC= ${WRKDIR}/${DISTNAME}/UMFPACK
+ALL_TARGET= lib
+
+post-extract:
+ ${CP} ${FILESDIR}/Make.freebsd ${WRKDIR}/${DISTNAME}/AMD/Make
do-install:
- ${INSTALL_DATA} ${WRKSRC}/libumfpack.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/AMD/Lib/libamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/Lib/libumfpack.a ${PREFIX}/lib
+
.if !defined(NOPORTDOCS)
- @${MKDIR} ${PREFIX}/share/doc/umfpack
- ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/umfpack
- ${GZIP_CMD} ${PREFIX}/share/doc/umfpack/README
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/AMD/Doc/*.pdf ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+ ${GZIP_CMD} ${DOCSDIR}/README
+ ${INSTALL_DATA} ${WRKSRC}/*.pdf ${DOCSDIR}
+ ${CP} -R ${WRKDIR}/${DISTNAME}/Papers ${DOCSDIR}
.endif
.include <bsd.port.mk>
diff --git a/math/umfpack/distinfo b/math/umfpack/distinfo
index 811dd908072f..46655441517d 100644
--- a/math/umfpack/distinfo
+++ b/math/umfpack/distinfo
@@ -1 +1 @@
-MD5 (UMFPACK2.2.1.tar.gz) = b8668f68715929be9c7e30400c1cd6f7
+MD5 (UMFPACKv4.1.tar.gz) = 871dd16ea2b699f6f181ee212170ec63
diff --git a/math/umfpack/files/Make.freebsd b/math/umfpack/files/Make.freebsd
new file mode 100644
index 000000000000..8548fa0f1b89
--- /dev/null
+++ b/math/umfpack/files/Make.freebsd
@@ -0,0 +1,45 @@
+#-------------------------------------------------------------------------------
+# FreeBSD configuration (for both AMD and UMFPACK)
+#-------------------------------------------------------------------------------
+
+# Using GNU gcc and f77 compilers:
+CC ?= gcc
+CFLAGS ?= -O3 -fPIC
+
+# Using Intel's icc and ifc compilers:
+# F77 = ifc
+# CC = icc
+# CFLAGS = -ansi -O3 -ip -tpp7 -xW -vec_report0
+# CFLAGS = -pg -g
+
+# Using gcc compiler with picky tests
+# CC = gcc
+# CFLAGS = -ansi -pedantic -W -Wall -Wno-parentheses -Wshadow -Wcast-align -Winline -Wstrict-prototypes -Wno-unknown-pragmas -O3 -fPIC
+
+# for gcc and gcov:
+# CC = gcc
+# CFLAGS = -pg -ftest-coverage -fprofile-arcs
+
+# Running splint
+# CC = - splint
+# CFLAGS = -weak -fixedformalarray -badflag -fileextensions +relaxtypes +posixlib -unrecog
+
+#-------------------------------------------------------------------------------
+# BLAS options (for UMFPACK only)
+#-------------------------------------------------------------------------------
+
+# 1: with no BLAS (this will be slow)
+# CONFIG = -DNBLAS
+# LIB = -lm
+
+# 2: with the ATLAS C-BLAS (http://www.netlib.org/atlas).
+CONFIG = -DCBLAS -I../ATLAS/include -I${LOCALBASE}/include
+LIB = -L${LOCALBASE}/lib -lcblas -latlas -lm
+
+# 3: with Fortran interface to the ATLAS BLAS
+# CONFIG = -I${LOCALBASE}/include
+# LIB = -L${LOCALBASE}/lib -lf77blas -latlas -lg2c -lm
+
+# 4: with Fortran interface to the BLAS, and Goto's BLAS (untested)
+# CONFIG =
+# LIB = -lgoto -lxerbla -lfrtbegin -lg2c -lm -lunwind -lcprts
diff --git a/math/umfpack/files/patch-Make+Make.include b/math/umfpack/files/patch-Make+Make.include
new file mode 100644
index 000000000000..b2b914783d73
--- /dev/null
+++ b/math/umfpack/files/patch-Make+Make.include
@@ -0,0 +1,31 @@
+--- Make/Make.include.orig Wed Apr 23 14:08:18 2003
++++ Make/Make.include Thu Jun 19 14:01:42 2003
+@@ -10,15 +10,15 @@
+ # AMD, or both AMD and UMFPACK, you only need to edit this one file (and
+ # optionaly, one of the ../Make/Make.<arch> files below).
+
+-CFLAGS = -O
++CFLAGS ?= -O
+ RANLIB = ranlib
+ LIB = -lm
+ RM = rm -f
+ MV = mv -f
+-F77 = f77
+-F77FLAGS = -O
+-F77LIB =
+-AR = ar
++F77 ?= f77
++F77FLAGS = ${FFLAGS}
++#F77LIB =
++AR ?= ar
+
+ #-------------------------------------------------------------------------------
+ # for the AMD and UMFPACK mexFunctions (-DNBLAS and -DNUTIL for UMFPACK only)
+@@ -49,6 +49,7 @@
+ # CC = ... to redefine the name of your C compiler, for example. Without
+ # any specific changes, this Makefile should work on nearly all systems.
+
++include ../Make/Make.freebsd
+ # include ../Make/Make.linux
+ # include ../Make/Make.sgi
+ # include ../Make/Make.solaris
diff --git a/math/umfpack/files/patch-aa b/math/umfpack/files/patch-aa
deleted file mode 100644
index abbcb8645e3d..000000000000
--- a/math/umfpack/files/patch-aa
+++ /dev/null
@@ -1,19 +0,0 @@
-*** Makefile.orig Mon Jul 7 12:03:46 1997
---- Makefile Sun Dec 14 15:18:13 1997
-***************
-*** 19,25 ****
- umz2er.o umz2p1.o umz2p2.o \
- umz2rf.o umz2ra.o umz2r0.o umz2r2.o umz2rg.o umz21i.o
-
-! HARWELL = mc21b.o mc13e.o
-
- BLASLIB = libblas.a
- UMFPACKLIB = libumfpack.a
---- 19,25 ----
- umz2er.o umz2p1.o umz2p2.o \
- umz2rf.o umz2ra.o umz2r0.o umz2r2.o umz2rg.o umz21i.o
-
-! #HARWELL = mc21b.o mc13e.o
-
- BLASLIB = libblas.a
- UMFPACKLIB = libumfpack.a
diff --git a/math/umfpack/files/patch-ba b/math/umfpack/files/patch-ba
deleted file mode 100644
index 6ac80f2b2a40..000000000000
--- a/math/umfpack/files/patch-ba
+++ /dev/null
@@ -1,84 +0,0 @@
-Note: Although the Harwell routines are available in Netlib, they are a
-commercial product. This patch disables their use.
-
-*** umc2fb.f.orig Fri Nov 7 11:32:20 1997
---- umc2fb.f Fri Nov 7 11:43:14 1997
-***************
-*** 168,173 ****
---- 168,177 ----
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-
-+ RETURN
-+ C=======================================================================
-+ C The rest will be ignored !!!!!!!! (We are not using Harwell)
-+ C=======================================================================
- NZDIA = NZ
- NZOFF = 0
-
-*** umd2fb.f.orig Fri Nov 7 11:32:30 1997
---- umd2fb.f Fri Nov 7 11:44:14 1997
-***************
-*** 167,173 ****
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-!
- NZDIA = NZ
- NZOFF = 0
-
---- 167,176 ----
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-! RETURN
-! C=======================================================================
-! C The rest will be ignored !!!!!!!! (We are not using Harwell)
-! C=======================================================================
- NZDIA = NZ
- NZOFF = 0
-
-*** ums2fb.f.orig Fri Nov 7 11:32:44 1997
---- ums2fb.f Fri Nov 7 11:44:54 1997
-***************
-*** 167,173 ****
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-!
- NZDIA = NZ
- NZOFF = 0
-
---- 167,176 ----
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-! RETURN
-! C=======================================================================
-! C The rest will be ignored !!!!!!!! (We are not using Harwell)
-! C=======================================================================
- NZDIA = NZ
- NZOFF = 0
-
-*** umz2fb.f.orig Fri Nov 7 11:32:57 1997
---- umz2fb.f Fri Nov 7 11:45:42 1997
-***************
-*** 167,173 ****
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-!
- NZDIA = NZ
- NZOFF = 0
-
---- 167,176 ----
- C EXECUTABLE STATEMENTS:
- C if (MC21B and MC13E not available during installation) return
- C=======================================================================
-! RETURN
-! C=======================================================================
-! C The rest will be ignored !!!!!!!! (We are not using Harwell)
-! C=======================================================================
- NZDIA = NZ
- NZOFF = 0
-
diff --git a/math/umfpack/pkg-descr b/math/umfpack/pkg-descr
index 6c105e99b54e..b31998a3ca0e 100644
--- a/math/umfpack/pkg-descr
+++ b/math/umfpack/pkg-descr
@@ -1,12 +1,20 @@
-UMFPACK Version 2.2 is a package for solving systems of sparse linear systems,
-Ax=b, where A is sparse and can be unsymmetric. It is written in ANSI Fortran
-77. There are options for choosing a good pivot order, factorizing a
-subsequent matrix with the same pivot order and nonzero pattern as a
-previously factorized matrix, and solving systems of linear equations with
-the factors (with A, L, or U; or with their transposes in the single/double
-precision versions). Iterative refinement, with sparse backward error
-estimates, can be performed. Single and double precision, complex, and
-complex double precision (complex*16) routines are available. (Note that
-complex*16 is not ANSI Fortran-77, but is a common extension to it).
+A package for solving systems of sparse linear systems Ax=b, where A is
+sparse and can be unsymmetric. There are options for choosing a good
+pivot order, factorizing a subsequent matrix with the same pivot order and
+nonzero pattern as a previously factorized matrix, and solving systems of
+linear equations with the factors (with A, L, or U; or with their
+transposes in the single/double precision versions). Iterative
+refinement, with sparse backward error estimates, can be performed.
+Single and double precision, complex, and complex double precision
+(complex*16) routines are available.
-WWW: http://www.cise.ufl.edu/~davis/umfpack.html
+WWW: http://www.cise.ufl.edu/research/sparse/umfpack/
+
+This package also includes AMD, a set of routines for pre-ordering sparse
+matrices prior to Cholesky or LU factorization using the aproximate
+minimum degree ordering algorithm:
+ http://www.cise.ufl.edu/research/sparse/amd/
+_________
+Note: By default this port builds the C-callable interface using the CBLAS
+interface from ATLAS, but other versions of BLAS could be used and there
+is also a FORTRAN interface available.
diff --git a/math/umfpack/pkg-message b/math/umfpack/pkg-message
index 08e25d43d881..e99a77c4fc4b 100644
--- a/math/umfpack/pkg-message
+++ b/math/umfpack/pkg-message
@@ -1,29 +1,16 @@
-**********************************************************************
-* NOTICE: "The UMFPACK Package may be used SOLELY for educational, *
-* research, and benchmarking purposes by non-profit organizations and *
-* the U.S. government. Commercial and other organizations may make *
-* use of UMFPACK SOLELY for benchmarking purposes only. UMFPACK may *
-* be modified by or on behalf of the User for such use but at no time *
-* shall UMFPACK or any such modified version of UMFPACK become the *
-* property of the User. UMFPACK is provided without warranty of any *
-* kind, either expressed or implied. Neither the Authors nor their *
-* employers shall be liable for any direct or consequential loss or *
-* damage whatsoever arising out of the use or misuse of UMFPACK by *
-* the User. UMFPACK must not be sold. You may make copies of *
-* UMFPACK, but this NOTICE and the Copyright notice must appear in *
-* all copies. Any other use of UMFPACK requires written permission. *
-* Your use of UMFPACK is an implicit agreement to these conditions." *
-* *
-* The MA38 Package in Release 12 of the Harwell Subroutine Library *
-* (HSL) has equivalent functionality (and identical calling interface)*
-* as UMFPACK (the HSL has single and double precision versions only, *
-* however). It is available for commercial use. Technical reports, *
-* information on HSL, and matrices are available via the World Wide *
-* Web at http://www.cis.rl.ac.uk/struct/ARCD/NUM.html, or by *
-* anonymous ftp at seamus.cc.rl.ac.uk/pub. Also contact Dr. Scott *
-* Roberts, Harwell Subroutine Library, B 552, AEA Technology, *
-* Harwell, Didcot, Oxon OX11 0RA, England. *
-* telephone (44) 1235 434988, fax (44) 1235 434136 *
-* email Scott.Roberts@aeat.co.uk, who will provide details of price *
-* and conditions of use. *
-***********************************************************************
+ Your use or distribution of UMFPACK or any modified version of
+ UMFPACK implies that you agree to this License.
+
+ THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
+ EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+
+ Permission is hereby granted to use or copy this program, provided
+ that the Copyright, this License, and the Availability of the original
+ version is retained on all copies. User documentation of any code that
+ uses UMFPACK or any modified version of UMFPACK code must cite the
+ Copyright, this License, the Availability note, and "Used by permission."
+ Permission to modify the code and to distribute modified code is granted,
+ provided the Copyright, this License, and the Availability note are
+ retained, and a notice that the code was modified is included. This
+ software was developed with support from the National Science Foundation,
+ and is provided to you free of charge.
diff --git a/math/umfpack/pkg-plist b/math/umfpack/pkg-plist
index 8b8f59631fb5..e8ff5b1c0983 100644
--- a/math/umfpack/pkg-plist
+++ b/math/umfpack/pkg-plist
@@ -1,3 +1,15 @@
+lib/libamd.a
lib/libumfpack.a
-%%PORTDOCS%%share/doc/umfpack/README.gz
+%%PORTDOCS%%%%DOCSDIR%%/AMD_userguide.pdf
+%%PORTDOCS%%%%DOCSDIR%%/QuickStart.pdf
+%%PORTDOCS%%%%DOCSDIR%%/UserGuide.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amadalgo.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amadalgo.ps
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amf4.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amf4.ps
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amf4algo.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Papers/amf4algo.ps
+%%PORTDOCS%%%%DOCSDIR%%/README.gz
+%%PORTDOCS%%@dirrm share/doc/umfpack/Papers
%%PORTDOCS%%@dirrm share/doc/umfpack
+