summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2006-07-08 23:43:23 +0000
committerMaho Nakata <maho@FreeBSD.org>2006-07-08 23:43:23 +0000
commit95414429625502618d9105137a173c8b7ad41bb0 (patch)
tree5cedb11f689886556a0cf11deba596fb412bf3c9 /math
parent- Readd IGNORE for sparc64, should be fixed in next version (diff)
Readd as ufsparse
Add UFsparse. UFsparse is a collection of libraries for sparse matrices. Submitted by: danfe
Notes
Notes: svn path=/head/; revision=167234
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/suitesparse/Makefile55
-rw-r--r--math/suitesparse/distinfo3
-rw-r--r--math/suitesparse/files/patch-CHOLMOD+Lib+Makefile11
-rw-r--r--math/suitesparse/files/patch-KLU+Demo+Makefile11
-rw-r--r--math/suitesparse/files/patch-KLU+Lib+Makefile11
-rw-r--r--math/suitesparse/files/patch-KLU+User+Makefile11
-rw-r--r--math/suitesparse/files/patch-UFconfig+UFconfig.mk46
-rw-r--r--math/suitesparse/pkg-descr15
-rw-r--r--math/suitesparse/pkg-plist68
-rw-r--r--math/ufsparse/Makefile55
-rw-r--r--math/ufsparse/distinfo3
-rw-r--r--math/ufsparse/files/patch-CHOLMOD+Lib+Makefile11
-rw-r--r--math/ufsparse/files/patch-KLU+Demo+Makefile11
-rw-r--r--math/ufsparse/files/patch-KLU+Lib+Makefile11
-rw-r--r--math/ufsparse/files/patch-KLU+User+Makefile11
-rw-r--r--math/ufsparse/files/patch-UFconfig+UFconfig.mk46
-rw-r--r--math/ufsparse/pkg-descr15
-rw-r--r--math/ufsparse/pkg-plist68
19 files changed, 463 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index baec8dafeace..5ba00988a079 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -319,6 +319,7 @@
SUBDIR += topaz
SUBDIR += triangle
SUBDIR += tvmet
+ SUBDIR += ufsparse
SUBDIR += umatrix
SUBDIR += umfpack
SUBDIR += ump
diff --git a/math/suitesparse/Makefile b/math/suitesparse/Makefile
new file mode 100644
index 000000000000..3abc5ceec245
--- /dev/null
+++ b/math/suitesparse/Makefile
@@ -0,0 +1,55 @@
+# New ports collection makefile for: ufspace
+# Date created: 4 July 2006
+# Whom: Maho Nakata <maho@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= ufsparse
+PORTVERSION= 2.0.0.b
+CATEGORIES= math
+MASTER_SITES= http://www.cise.ufl.edu/research/sparse/UFsparse/v2.0.0beta/
+DISTNAME= ${PORTNAME}
+
+MAINTAINER= maho@FreeBSD.org
+COMMENT= UFspace is a set of packages for sparse matrices calculation
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libmetis.a:${PORTSDIR}/math/metis
+
+USE_GMAKE= yes
+ALL_TARGET=
+
+BLAS= -L${LOCALBASE}/lib -lf77blas -latlas -lg2c
+LAPACK= -L${LOCALBASE}/lib -lalapack -lcblas
+
+post-patch:
+ @${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
+ -e 's,%%CFLAGS%%,${CFLAGS},g' \
+ -e 's,%%F77%%,${FC},g' \
+ -e 's,%%FFLAGS%%,${FFLAGS},g' \
+ -e 's,%%BLAS%%,${BLAS},g' \
+ -e 's,%%LAPACK%%,${LAPACK},g' \
+ ${WRKSRC}/UFconfig/UFconfig.mk
+do-install:
+ ${MKDIR} ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UFconfig/UFconfig.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UMFPACK/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/AMD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/BTF/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CCOLAMD/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CHOLMOD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/COLAMD/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CXSparse/Source/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/KLU/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CAMD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UMFPACK/Lib/libumfpack.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/AMD/Lib/libamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CCOLAMD/libccolamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CHOLMOD/Lib/libcholmod.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/COLAMD/libcolamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/KLU/Lib/libklu.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/BTF/Lib/libbtf.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CAMD/Lib/libcamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CXSparse/Source/libcxsparse.a ${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/math/suitesparse/distinfo b/math/suitesparse/distinfo
new file mode 100644
index 000000000000..bb0bc226a54a
--- /dev/null
+++ b/math/suitesparse/distinfo
@@ -0,0 +1,3 @@
+MD5 (UFsparse.tar.gz) = 9267081abf635b581a8ae4ba4309a79d
+SHA256 (UFsparse.tar.gz) = fdb59e8deb0a40bb5c311a0d9be406494ec6427eff7276c3fd3f650a96951341
+SIZE (UFsparse.tar.gz) = 7765937
diff --git a/math/suitesparse/files/patch-CHOLMOD+Lib+Makefile b/math/suitesparse/files/patch-CHOLMOD+Lib+Makefile
new file mode 100644
index 000000000000..a3bd4603705d
--- /dev/null
+++ b/math/suitesparse/files/patch-CHOLMOD+Lib+Makefile
@@ -0,0 +1,11 @@
+--- CHOLMOD/Lib/Makefile~ Tue May 2 09:12:16 2006
++++ CHOLMOD/Lib/Makefile Tue Jul 4 11:52:37 2006
+@@ -116,7 +116,7 @@
+ $(OBJ): $(INC)
+
+ I = -I../../AMD/Include -I../../AMD/Source -I../../COLAMD \
+- -I$(METIS_PATH)/Lib -I../../CCOLAMD -I../../CAMD/Include -I../Include \
++ -I$(METIS_PATH) -I../../CCOLAMD -I../../CAMD/Include -I../Include \
+ -I../../UFconfig
+
+
diff --git a/math/suitesparse/files/patch-KLU+Demo+Makefile b/math/suitesparse/files/patch-KLU+Demo+Makefile
new file mode 100644
index 000000000000..2ff219c1396d
--- /dev/null
+++ b/math/suitesparse/files/patch-KLU+Demo+Makefile
@@ -0,0 +1,11 @@
+--- KLU/Demo/Makefile~ Fri Apr 28 06:22:19 2006
++++ KLU/Demo/Makefile Tue Jul 4 11:58:10 2006
+@@ -9,7 +9,7 @@
+
+ I = -I../Include -I../../AMD/Include -I../../COLAMD -I../../BTF/Include \
+ -I../User -I../../CHOLMOD/Include -I$(METIS_PATH) -I../../CCOLAMD \
+- -I../../CAMD
++ -I../../CAMD -I../../UFconfig
+
+ LIBS = ../Lib/libklu.a ../../AMD/Lib/libamd.a ../../COLAMD/libcolamd.a \
+ ../../BTF/Lib/libbtf.a ../User/libklu_cholmod.a \
diff --git a/math/suitesparse/files/patch-KLU+Lib+Makefile b/math/suitesparse/files/patch-KLU+Lib+Makefile
new file mode 100644
index 000000000000..b0cca03ee0c8
--- /dev/null
+++ b/math/suitesparse/files/patch-KLU+Lib+Makefile
@@ -0,0 +1,11 @@
+--- KLU/Lib/Makefile~ Wed Mar 22 06:32:09 2006
++++ KLU/Lib/Makefile Tue Jul 4 11:36:37 2006
+@@ -12,7 +12,7 @@
+ INC = ../Include/klu.h ../Include/klu_internal.h ../Include/klu_version.h
+
+ I = -I../../AMD/Include -I../../AMD/Source -I../../COLAMD -I../../BTF/Include \
+- -I../Include
++ -I../Include -I../../UFconfig
+
+ all: library
+
diff --git a/math/suitesparse/files/patch-KLU+User+Makefile b/math/suitesparse/files/patch-KLU+User+Makefile
new file mode 100644
index 000000000000..09f3735d8872
--- /dev/null
+++ b/math/suitesparse/files/patch-KLU+User+Makefile
@@ -0,0 +1,11 @@
+--- KLU/User/Makefile~ Tue Jan 31 01:48:15 2006
++++ KLU/User/Makefile Tue Jul 4 11:56:34 2006
+@@ -4,7 +4,7 @@
+
+ all: libklu_cholmod.a
+
+-I = -I../../CHOLMOD/Include
++I = -I../../CHOLMOD/Include -I../../UFconfig
+
+ libklu_cholmod.a: library klu_cholmod.c klu_cholmod.h
+ $(CC) $(CFLAGS) $(I) -c klu_cholmod.c
diff --git a/math/suitesparse/files/patch-UFconfig+UFconfig.mk b/math/suitesparse/files/patch-UFconfig+UFconfig.mk
new file mode 100644
index 000000000000..069c1b8a5da3
--- /dev/null
+++ b/math/suitesparse/files/patch-UFconfig+UFconfig.mk
@@ -0,0 +1,46 @@
+--- UFconfig/UFconfig.mk Tue May 2 22:34:57 2006
++++ UFconfig/UFconfig.mk Tue Jul 4 11:44:40 2006
+@@ -31,8 +31,8 @@
+ # C compiler and compiler flags: These will normally not give you optimal
+ # performance. You should select the optimization parameters that are best
+ # for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example.
+-CC = cc
+-CFLAGS = -O
++CC = %%CC%%
++CFLAGS = %%CFLAGS%%
+
+ # ranlib, and ar, for generating libraries
+ RANLIB = ranlib
+@@ -43,8 +43,8 @@
+ MV = mv -f
+
+ # Fortran compiler (not normally required)
+-F77 = f77
+-F77FLAGS = -O
++F77 = %%F77%%
++F77FLAGS = %%FFLAGS%%
+ F77LIB =
+
+ # C and Fortran libraries
+@@ -76,8 +76,8 @@
+
+ # These settings will probably not work, since there is no fixed convention for
+ # naming the BLAS and LAPACK library (*.a or *.so) files.
+-BLAS = -lblas -lg2c
+-LAPACK = -llapack
++BLAS = %%BLAS%%
++LAPACK = %%LAPACK%%
+
+ # The BLAS might not contain xerbla, an error-handling routine for LAPACK and
+ # the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
+@@ -101,8 +101,8 @@
+ # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
+ # You may wish to use an absolute path. METIS is optional. Compile
+ # CHOLMOD with -DNPARTITION if you do not wish to use METIS.
+-METIS_PATH = ../../metis-4.0
+-METIS = ../../metis-4.0/libmetis.a
++METIS_PATH = /usr/local/include/metis
++METIS = /usr/local/lib/libmetis.a
+
+ # If you use CHOLMOD_CONFIG = -DNPARTITION then use the following options:
+ # METIS_PATH =
diff --git a/math/suitesparse/pkg-descr b/math/suitesparse/pkg-descr
new file mode 100644
index 000000000000..d7e48da5a6d1
--- /dev/null
+++ b/math/suitesparse/pkg-descr
@@ -0,0 +1,15 @@
+UFsparse is a set of sparse matrices libraries.
+It contains:
+ * AMD: symmetric approximate minimum degree
+ * BTF: permutation to block triangular form (beta)
+ * CCOLAMD: constrained column approximate minimum degree
+ * COLAMD: column approximate minimum degree
+ * CHOLMOD: sparse supernodal Cholesky factorization and update/downdate
+ * KLU: sparse LU factorization, for circuit simulation (beta)
+ * LDL: a simple LDL^T factorization
+ * UMFPACK: sparse multifrontal LU factorization
+ * UFconfig: common configuration for all of the above
+ * CSparse: a concise sparse matrix package
+ * CXSparse: and extended version of CSparse
+
+WWW: http://www.cise.ufl.edu/research/sparse/UFsparse/
diff --git a/math/suitesparse/pkg-plist b/math/suitesparse/pkg-plist
new file mode 100644
index 000000000000..acafd9adbcc2
--- /dev/null
+++ b/math/suitesparse/pkg-plist
@@ -0,0 +1,68 @@
+include/ufsparse/UFconfig.h
+include/ufsparse/amd.h
+include/ufsparse/amd_internal.h
+include/ufsparse/btf.h
+include/ufsparse/btf_internal.h
+include/ufsparse/camd.h
+include/ufsparse/camd_internal.h
+include/ufsparse/ccolamd.h
+include/ufsparse/cholmod.h
+include/ufsparse/cholmod_blas.h
+include/ufsparse/cholmod_check.h
+include/ufsparse/cholmod_cholesky.h
+include/ufsparse/cholmod_complexity.h
+include/ufsparse/cholmod_config.h
+include/ufsparse/cholmod_core.h
+include/ufsparse/cholmod_internal.h
+include/ufsparse/cholmod_matrixops.h
+include/ufsparse/cholmod_modify.h
+include/ufsparse/cholmod_partition.h
+include/ufsparse/cholmod_supernodal.h
+include/ufsparse/cholmod_template.h
+include/ufsparse/colamd.h
+include/ufsparse/cs.h
+include/ufsparse/klu.h
+include/ufsparse/klu_internal.h
+include/ufsparse/klu_version.h
+include/ufsparse/umfpack.h
+include/ufsparse/umfpack_col_to_triplet.h
+include/ufsparse/umfpack_defaults.h
+include/ufsparse/umfpack_free_numeric.h
+include/ufsparse/umfpack_free_symbolic.h
+include/ufsparse/umfpack_get_determinant.h
+include/ufsparse/umfpack_get_lunz.h
+include/ufsparse/umfpack_get_numeric.h
+include/ufsparse/umfpack_get_symbolic.h
+include/ufsparse/umfpack_global.h
+include/ufsparse/umfpack_load_numeric.h
+include/ufsparse/umfpack_load_symbolic.h
+include/ufsparse/umfpack_numeric.h
+include/ufsparse/umfpack_qsymbolic.h
+include/ufsparse/umfpack_report_control.h
+include/ufsparse/umfpack_report_info.h
+include/ufsparse/umfpack_report_matrix.h
+include/ufsparse/umfpack_report_numeric.h
+include/ufsparse/umfpack_report_perm.h
+include/ufsparse/umfpack_report_status.h
+include/ufsparse/umfpack_report_symbolic.h
+include/ufsparse/umfpack_report_triplet.h
+include/ufsparse/umfpack_report_vector.h
+include/ufsparse/umfpack_save_numeric.h
+include/ufsparse/umfpack_save_symbolic.h
+include/ufsparse/umfpack_scale.h
+include/ufsparse/umfpack_solve.h
+include/ufsparse/umfpack_symbolic.h
+include/ufsparse/umfpack_tictoc.h
+include/ufsparse/umfpack_timer.h
+include/ufsparse/umfpack_transpose.h
+include/ufsparse/umfpack_triplet_to_col.h
+include/ufsparse/umfpack_wsolve.h
+@dirrm include/ufsparse
+lib/libamd.a
+lib/libbtf.a
+lib/libcamd.a
+lib/libccolamd.a
+lib/libcholmod.a
+lib/libklu.a
+lib/libumfpack.a
+lib/libcxsparse.a
diff --git a/math/ufsparse/Makefile b/math/ufsparse/Makefile
new file mode 100644
index 000000000000..3abc5ceec245
--- /dev/null
+++ b/math/ufsparse/Makefile
@@ -0,0 +1,55 @@
+# New ports collection makefile for: ufspace
+# Date created: 4 July 2006
+# Whom: Maho Nakata <maho@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= ufsparse
+PORTVERSION= 2.0.0.b
+CATEGORIES= math
+MASTER_SITES= http://www.cise.ufl.edu/research/sparse/UFsparse/v2.0.0beta/
+DISTNAME= ${PORTNAME}
+
+MAINTAINER= maho@FreeBSD.org
+COMMENT= UFspace is a set of packages for sparse matrices calculation
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libmetis.a:${PORTSDIR}/math/metis
+
+USE_GMAKE= yes
+ALL_TARGET=
+
+BLAS= -L${LOCALBASE}/lib -lf77blas -latlas -lg2c
+LAPACK= -L${LOCALBASE}/lib -lalapack -lcblas
+
+post-patch:
+ @${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
+ -e 's,%%CFLAGS%%,${CFLAGS},g' \
+ -e 's,%%F77%%,${FC},g' \
+ -e 's,%%FFLAGS%%,${FFLAGS},g' \
+ -e 's,%%BLAS%%,${BLAS},g' \
+ -e 's,%%LAPACK%%,${LAPACK},g' \
+ ${WRKSRC}/UFconfig/UFconfig.mk
+do-install:
+ ${MKDIR} ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UFconfig/UFconfig.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UMFPACK/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/AMD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/BTF/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CCOLAMD/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CHOLMOD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/COLAMD/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CXSparse/Source/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/KLU/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CAMD/Include/*.h ${PREFIX}/include/ufsparse
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/UMFPACK/Lib/libumfpack.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/AMD/Lib/libamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CCOLAMD/libccolamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CHOLMOD/Lib/libcholmod.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/COLAMD/libcolamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/KLU/Lib/libklu.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/BTF/Lib/libbtf.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CAMD/Lib/libcamd.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/UFsparse/CXSparse/Source/libcxsparse.a ${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/math/ufsparse/distinfo b/math/ufsparse/distinfo
new file mode 100644
index 000000000000..bb0bc226a54a
--- /dev/null
+++ b/math/ufsparse/distinfo
@@ -0,0 +1,3 @@
+MD5 (UFsparse.tar.gz) = 9267081abf635b581a8ae4ba4309a79d
+SHA256 (UFsparse.tar.gz) = fdb59e8deb0a40bb5c311a0d9be406494ec6427eff7276c3fd3f650a96951341
+SIZE (UFsparse.tar.gz) = 7765937
diff --git a/math/ufsparse/files/patch-CHOLMOD+Lib+Makefile b/math/ufsparse/files/patch-CHOLMOD+Lib+Makefile
new file mode 100644
index 000000000000..a3bd4603705d
--- /dev/null
+++ b/math/ufsparse/files/patch-CHOLMOD+Lib+Makefile
@@ -0,0 +1,11 @@
+--- CHOLMOD/Lib/Makefile~ Tue May 2 09:12:16 2006
++++ CHOLMOD/Lib/Makefile Tue Jul 4 11:52:37 2006
+@@ -116,7 +116,7 @@
+ $(OBJ): $(INC)
+
+ I = -I../../AMD/Include -I../../AMD/Source -I../../COLAMD \
+- -I$(METIS_PATH)/Lib -I../../CCOLAMD -I../../CAMD/Include -I../Include \
++ -I$(METIS_PATH) -I../../CCOLAMD -I../../CAMD/Include -I../Include \
+ -I../../UFconfig
+
+
diff --git a/math/ufsparse/files/patch-KLU+Demo+Makefile b/math/ufsparse/files/patch-KLU+Demo+Makefile
new file mode 100644
index 000000000000..2ff219c1396d
--- /dev/null
+++ b/math/ufsparse/files/patch-KLU+Demo+Makefile
@@ -0,0 +1,11 @@
+--- KLU/Demo/Makefile~ Fri Apr 28 06:22:19 2006
++++ KLU/Demo/Makefile Tue Jul 4 11:58:10 2006
+@@ -9,7 +9,7 @@
+
+ I = -I../Include -I../../AMD/Include -I../../COLAMD -I../../BTF/Include \
+ -I../User -I../../CHOLMOD/Include -I$(METIS_PATH) -I../../CCOLAMD \
+- -I../../CAMD
++ -I../../CAMD -I../../UFconfig
+
+ LIBS = ../Lib/libklu.a ../../AMD/Lib/libamd.a ../../COLAMD/libcolamd.a \
+ ../../BTF/Lib/libbtf.a ../User/libklu_cholmod.a \
diff --git a/math/ufsparse/files/patch-KLU+Lib+Makefile b/math/ufsparse/files/patch-KLU+Lib+Makefile
new file mode 100644
index 000000000000..b0cca03ee0c8
--- /dev/null
+++ b/math/ufsparse/files/patch-KLU+Lib+Makefile
@@ -0,0 +1,11 @@
+--- KLU/Lib/Makefile~ Wed Mar 22 06:32:09 2006
++++ KLU/Lib/Makefile Tue Jul 4 11:36:37 2006
+@@ -12,7 +12,7 @@
+ INC = ../Include/klu.h ../Include/klu_internal.h ../Include/klu_version.h
+
+ I = -I../../AMD/Include -I../../AMD/Source -I../../COLAMD -I../../BTF/Include \
+- -I../Include
++ -I../Include -I../../UFconfig
+
+ all: library
+
diff --git a/math/ufsparse/files/patch-KLU+User+Makefile b/math/ufsparse/files/patch-KLU+User+Makefile
new file mode 100644
index 000000000000..09f3735d8872
--- /dev/null
+++ b/math/ufsparse/files/patch-KLU+User+Makefile
@@ -0,0 +1,11 @@
+--- KLU/User/Makefile~ Tue Jan 31 01:48:15 2006
++++ KLU/User/Makefile Tue Jul 4 11:56:34 2006
+@@ -4,7 +4,7 @@
+
+ all: libklu_cholmod.a
+
+-I = -I../../CHOLMOD/Include
++I = -I../../CHOLMOD/Include -I../../UFconfig
+
+ libklu_cholmod.a: library klu_cholmod.c klu_cholmod.h
+ $(CC) $(CFLAGS) $(I) -c klu_cholmod.c
diff --git a/math/ufsparse/files/patch-UFconfig+UFconfig.mk b/math/ufsparse/files/patch-UFconfig+UFconfig.mk
new file mode 100644
index 000000000000..069c1b8a5da3
--- /dev/null
+++ b/math/ufsparse/files/patch-UFconfig+UFconfig.mk
@@ -0,0 +1,46 @@
+--- UFconfig/UFconfig.mk Tue May 2 22:34:57 2006
++++ UFconfig/UFconfig.mk Tue Jul 4 11:44:40 2006
+@@ -31,8 +31,8 @@
+ # C compiler and compiler flags: These will normally not give you optimal
+ # performance. You should select the optimization parameters that are best
+ # for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example.
+-CC = cc
+-CFLAGS = -O
++CC = %%CC%%
++CFLAGS = %%CFLAGS%%
+
+ # ranlib, and ar, for generating libraries
+ RANLIB = ranlib
+@@ -43,8 +43,8 @@
+ MV = mv -f
+
+ # Fortran compiler (not normally required)
+-F77 = f77
+-F77FLAGS = -O
++F77 = %%F77%%
++F77FLAGS = %%FFLAGS%%
+ F77LIB =
+
+ # C and Fortran libraries
+@@ -76,8 +76,8 @@
+
+ # These settings will probably not work, since there is no fixed convention for
+ # naming the BLAS and LAPACK library (*.a or *.so) files.
+-BLAS = -lblas -lg2c
+-LAPACK = -llapack
++BLAS = %%BLAS%%
++LAPACK = %%LAPACK%%
+
+ # The BLAS might not contain xerbla, an error-handling routine for LAPACK and
+ # the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
+@@ -101,8 +101,8 @@
+ # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
+ # You may wish to use an absolute path. METIS is optional. Compile
+ # CHOLMOD with -DNPARTITION if you do not wish to use METIS.
+-METIS_PATH = ../../metis-4.0
+-METIS = ../../metis-4.0/libmetis.a
++METIS_PATH = /usr/local/include/metis
++METIS = /usr/local/lib/libmetis.a
+
+ # If you use CHOLMOD_CONFIG = -DNPARTITION then use the following options:
+ # METIS_PATH =
diff --git a/math/ufsparse/pkg-descr b/math/ufsparse/pkg-descr
new file mode 100644
index 000000000000..d7e48da5a6d1
--- /dev/null
+++ b/math/ufsparse/pkg-descr
@@ -0,0 +1,15 @@
+UFsparse is a set of sparse matrices libraries.
+It contains:
+ * AMD: symmetric approximate minimum degree
+ * BTF: permutation to block triangular form (beta)
+ * CCOLAMD: constrained column approximate minimum degree
+ * COLAMD: column approximate minimum degree
+ * CHOLMOD: sparse supernodal Cholesky factorization and update/downdate
+ * KLU: sparse LU factorization, for circuit simulation (beta)
+ * LDL: a simple LDL^T factorization
+ * UMFPACK: sparse multifrontal LU factorization
+ * UFconfig: common configuration for all of the above
+ * CSparse: a concise sparse matrix package
+ * CXSparse: and extended version of CSparse
+
+WWW: http://www.cise.ufl.edu/research/sparse/UFsparse/
diff --git a/math/ufsparse/pkg-plist b/math/ufsparse/pkg-plist
new file mode 100644
index 000000000000..acafd9adbcc2
--- /dev/null
+++ b/math/ufsparse/pkg-plist
@@ -0,0 +1,68 @@
+include/ufsparse/UFconfig.h
+include/ufsparse/amd.h
+include/ufsparse/amd_internal.h
+include/ufsparse/btf.h
+include/ufsparse/btf_internal.h
+include/ufsparse/camd.h
+include/ufsparse/camd_internal.h
+include/ufsparse/ccolamd.h
+include/ufsparse/cholmod.h
+include/ufsparse/cholmod_blas.h
+include/ufsparse/cholmod_check.h
+include/ufsparse/cholmod_cholesky.h
+include/ufsparse/cholmod_complexity.h
+include/ufsparse/cholmod_config.h
+include/ufsparse/cholmod_core.h
+include/ufsparse/cholmod_internal.h
+include/ufsparse/cholmod_matrixops.h
+include/ufsparse/cholmod_modify.h
+include/ufsparse/cholmod_partition.h
+include/ufsparse/cholmod_supernodal.h
+include/ufsparse/cholmod_template.h
+include/ufsparse/colamd.h
+include/ufsparse/cs.h
+include/ufsparse/klu.h
+include/ufsparse/klu_internal.h
+include/ufsparse/klu_version.h
+include/ufsparse/umfpack.h
+include/ufsparse/umfpack_col_to_triplet.h
+include/ufsparse/umfpack_defaults.h
+include/ufsparse/umfpack_free_numeric.h
+include/ufsparse/umfpack_free_symbolic.h
+include/ufsparse/umfpack_get_determinant.h
+include/ufsparse/umfpack_get_lunz.h
+include/ufsparse/umfpack_get_numeric.h
+include/ufsparse/umfpack_get_symbolic.h
+include/ufsparse/umfpack_global.h
+include/ufsparse/umfpack_load_numeric.h
+include/ufsparse/umfpack_load_symbolic.h
+include/ufsparse/umfpack_numeric.h
+include/ufsparse/umfpack_qsymbolic.h
+include/ufsparse/umfpack_report_control.h
+include/ufsparse/umfpack_report_info.h
+include/ufsparse/umfpack_report_matrix.h
+include/ufsparse/umfpack_report_numeric.h
+include/ufsparse/umfpack_report_perm.h
+include/ufsparse/umfpack_report_status.h
+include/ufsparse/umfpack_report_symbolic.h
+include/ufsparse/umfpack_report_triplet.h
+include/ufsparse/umfpack_report_vector.h
+include/ufsparse/umfpack_save_numeric.h
+include/ufsparse/umfpack_save_symbolic.h
+include/ufsparse/umfpack_scale.h
+include/ufsparse/umfpack_solve.h
+include/ufsparse/umfpack_symbolic.h
+include/ufsparse/umfpack_tictoc.h
+include/ufsparse/umfpack_timer.h
+include/ufsparse/umfpack_transpose.h
+include/ufsparse/umfpack_triplet_to_col.h
+include/ufsparse/umfpack_wsolve.h
+@dirrm include/ufsparse
+lib/libamd.a
+lib/libbtf.a
+lib/libcamd.a
+lib/libccolamd.a
+lib/libcholmod.a
+lib/libklu.a
+lib/libumfpack.a
+lib/libcxsparse.a