summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2010-05-14 21:46:32 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2010-05-14 21:46:32 +0000
commit19903740e77682bd15e221a15b353b9c313d115b (patch)
tree662d4a30c649fa9d1288a39947da08a5d225ed50 /sci-libs
parentFix libgphoto2 dependency, bug #318973. (diff)
downloadhistorical-19903740e77682bd15e221a15b353b9c313d115b.tar.gz
historical-19903740e77682bd15e221a15b353b9c313d115b.tar.bz2
historical-19903740e77682bd15e221a15b353b9c313d115b.zip
Version bump. Now can use METIS partitioning, via CHOLMOD
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/suitesparse/Manifest13
-rw-r--r--sci-libs/umfpack/ChangeLog8
-rw-r--r--sci-libs/umfpack/Manifest15
-rw-r--r--sci-libs/umfpack/files/umfpack-5.5.0-autotools.patch560
-rw-r--r--sci-libs/umfpack/metadata.xml3
-rw-r--r--sci-libs/umfpack/umfpack-5.5.0.ebuild46
6 files changed, 631 insertions, 14 deletions
diff --git a/sci-libs/suitesparse/Manifest b/sci-libs/suitesparse/Manifest
index cd5ca6d65d2f..2031bfbe5060 100644
--- a/sci-libs/suitesparse/Manifest
+++ b/sci-libs/suitesparse/Manifest
@@ -1,15 +1,14 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-EBUILD suitesparse-3.1.0.ebuild 708 RMD160 ede1bf82839d23ac73d5aaaabbd399361afb921c SHA1 f2ed69b6e7347dbdec0a9c947ee215b4042225bc SHA256 d414206a5ce8aac895b6747186c4e4b16a67aec4495d2c49c346cde70482cfeb
-EBUILD suitesparse-3.2.0.ebuild 801 RMD160 0121fa7b31de900668b48441816141900438836a SHA1 c71e39b03ee4a7a9e95420b1bacba72205db15a3 SHA256 34b4e05536969ef0810472ce637de0b3abf36b4b1a666f0deab36ed8ba4a86d4
EBUILD suitesparse-3.4.0.ebuild 798 RMD160 d9f27bb7ad6cb8db900fdea758276ef9b787cfec SHA1 bfa3d8c80a40c55c76c19fc651fd9a30ae431afb SHA256 8d6e77bacebf036a4e5272e1803e1631293a160e3d27a59f1fed50285e9ea195
-MISC ChangeLog 749 RMD160 29bb1d5ae5150cf40a3870230ceb206e1159d503 SHA1 38d98764a933780f256b0d69d7423b2772c11704 SHA256 2d50449c29b607b4a9274e0e762da8d57d8213a9d4da9a1692038b54574d1683
+EBUILD suitesparse-3.5.0.ebuild 803 RMD160 56b7fcb89e63d00c4da8ba895ff345fc7cfba347 SHA1 8e0063269689ffc89f5ff3db223c0fa912f739a9 SHA256 b559176b844409a7edf1ba0e5eea75349fb1188abc7f12322f55028350563923
+MISC ChangeLog 987 RMD160 d645a98000efc547d1f664ca8281206443653e1f SHA1 d378aa9a07dbc098d86607ff8c4b33885e4a8634 SHA256 03ac28448e0584273d4b7d95b1d82b16f305667eafda8041a1db881bce55e656
MISC metadata.xml 1527 RMD160 4a7931d2c5d9b41907c48a7c81a96fccd69c8eca SHA1 07721a32bda669945a37f7e20f84235609f775e0 SHA256 6ba2f08285f0f135689caa11e37bdc612e193dd36bc11a26840c79dec8d6b007
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.13 (GNU/Linux)
+Version: GnuPG v2.0.15 (GNU/Linux)
-iEYEARECAAYFAksHqIAACgkQ1ycZbhPLE2DbGgCeLgodu+3kJ1wCjsHkrT2Q4SbP
-5jgAn0ZuBiaQpNAl3AaRTf40HJD9lun8
-=uYRb
+iEYEARECAAYFAkvtzrQACgkQ1ycZbhPLE2CFyQCbBpwSvuHXVwP42+muwp7AeDtN
+R2gAn2McbE351ubgLSiiNMQIfC05qEvg
+=zczU
-----END PGP SIGNATURE-----
diff --git a/sci-libs/umfpack/ChangeLog b/sci-libs/umfpack/ChangeLog
index b107ed693087..6529a47890e4 100644
--- a/sci-libs/umfpack/ChangeLog
+++ b/sci-libs/umfpack/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/umfpack
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/umfpack/ChangeLog,v 1.17 2010/01/02 18:19:03 fauli Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/umfpack/ChangeLog,v 1.18 2010/05/14 21:46:31 bicatali Exp $
+
+*umfpack-5.5.0 (14 May 2010)
+
+ 14 May 2010; SĂ©bastien Fabbro <bicatali@gentoo.org>
+ +umfpack-5.5.0.ebuild, +files/umfpack-5.5.0-autotools.patch, metadata.xml:
+ Version bump. Now can use METIS partitioning, via CHOLMOD
02 Jan 2010; Christian Faulhammer <fauli@gentoo.org> umfpack-5.4.0.ebuild:
Transfer Prefix keywords
diff --git a/sci-libs/umfpack/Manifest b/sci-libs/umfpack/Manifest
index 9086581e1322..62173e5f48b6 100644
--- a/sci-libs/umfpack/Manifest
+++ b/sci-libs/umfpack/Manifest
@@ -2,16 +2,19 @@
Hash: SHA1
AUX umfpack-5.2.0-autotools.patch 18317 RMD160 1a45245a299e831ea7d5bf5cd3c2fab166310bb6 SHA1 0656cc130ff6002520364edc88ca919a78277c63 SHA256 1fc1b6465d73582e61c0782b2d44f3b4e0f73ff22de9f65ffcdfc537c04d1452
+AUX umfpack-5.5.0-autotools.patch 19485 RMD160 48fb2f555c92450a9e8181d7fd3bd3194fd8238f SHA1 209e1f3d831491e9918860801fb229297fb88576 SHA256 b0e4cd1689218a22c13d2df9a7aa89e9eec70094ab35b3affc3a1cf8ec12e04e
DIST UMFPACK-5.2.0.tar.gz 1122066 RMD160 98cb8c6f3d62d0f78018f82714b063e9a4aaa4c0 SHA1 056df2b498c97a5e4ed0b396f55e4e4faf4ca346 SHA256 cdf1061c551625f7d572f6f887bad978b4e0e90c6e448a08013ba72c95691c1c
DIST UMFPACK-5.4.0.tar.gz 1105287 RMD160 bceee72614d676b0496458869afd4c5a7c42e016 SHA1 b9f7d1329d537fe42c8f1cb4a48e93846c197cd2 SHA256 a93854547441d17621cc341c89c7368d238886659f6776c2b727792c0a04c24f
+DIST UMFPACK-5.5.0.tar.gz 1109053 RMD160 b32b8cbb7e0726dc43bddf9b2f3fc00ce5169871 SHA1 ddac11183b5953a68cce7db9dc5b769e97e7a61b SHA256 c14aff8f3b49e8772b372a7b311b008d144a6d42ab63520224a4379aa8fec85f
EBUILD umfpack-5.2.0.ebuild 1104 RMD160 99e4ce9c5f0f7741112852ce50cbafa7b59d66e1 SHA1 575d31c3230d07ca278d5c546e48b74fd54cb364 SHA256 cac304fa72d728bbd90f71a4fc8ab7ee70f6650e8473680356d148efead032a0
EBUILD umfpack-5.4.0.ebuild 1080 RMD160 7c53c85219a70053ce88717c6f26c085fc5ac8f5 SHA1 4075847ef9572fca3bf45b2191317197d9f295b5 SHA256 f55a3bc210210af5e8aec0de0f307525dde9522c8a48f2d0e9b4f0edcdf278e0
-MISC ChangeLog 2801 RMD160 0aa64a0d177d87c88e7acb17b2a744d64d32e28d SHA1 256336900d2a1b0e252ce62b5be171774b77013c SHA256 da46e7dad784c43617cd50c6ce7f98baac3ff4654d4cacee529a1c6591342f5e
-MISC metadata.xml 459 RMD160 68be0781281582f5e418dd632e549f61c8302ef3 SHA1 be53152268274dd71ef87b819014761f95785d1c SHA256 21d8e999c800cfa92da3b00eb81697bb810b02ed2b693babf862877ea3cbc377
+EBUILD umfpack-5.5.0.ebuild 1187 RMD160 e583a8fc3adf227d9ecc4295e198ba884614a9cb SHA1 cd8d36ffa8df621076dc5c2b24581f2fc2f24512 SHA256 afb11de3f9743a5999be5f36b007592a9d81c7453ce28433077d9938b640d562
+MISC ChangeLog 3027 RMD160 c6b2e675de3c795c355d82d79e36034d36525328 SHA1 ecde42601aeafcdb06933bcaf68cb5fff800699b SHA256 8c0434d1863e117d1bb77cd5b9ccbbc4fa5586129064a6749068c995ba7d3021
+MISC metadata.xml 568 RMD160 cd2f888cdbc42ce5bc5b6177496aa0f2f876f99a SHA1 c9f1ab800f67a8d0041b391c4789a30b6fd108cf SHA256 3e0de3bbddf611f5e7d37f5393a51426811b72d88fd6c71c6774901570023526
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.11 (GNU/Linux)
+Version: GnuPG v2.0.15 (GNU/Linux)
-iEYEARECAAYFAks/jh0ACgkQNQqtfCuFnePxSACdGMqavK2Jb1/uyteoZE/yJzkI
-vQoAn1r7sGTeloSuQGubiaheUQOl2gZ4
-=dGiy
+iEYEARECAAYFAkvtzmwACgkQ1ycZbhPLE2ALxwCghr6+rJKe7oYGQJ9OIhFCJvHx
+LEEAoJDwFCRbgOVq6iX757I+n775qK/I
+=FcVS
-----END PGP SIGNATURE-----
diff --git a/sci-libs/umfpack/files/umfpack-5.5.0-autotools.patch b/sci-libs/umfpack/files/umfpack-5.5.0-autotools.patch
new file mode 100644
index 000000000000..44db752f45c5
--- /dev/null
+++ b/sci-libs/umfpack/files/umfpack-5.5.0-autotools.patch
@@ -0,0 +1,560 @@
+diff -Nur UMFPACK.orig/acx_blas.m4 UMFPACK/acx_blas.m4
+--- UMFPACK.orig/acx_blas.m4 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/acx_blas.m4 2010-05-14 20:54:52.000000000 +0100
+@@ -0,0 +1,191 @@
++##### http://autoconf-archive.cryp.to/acx_blas.html
++#
++# SYNOPSIS
++#
++# ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro looks for a library that implements the BLAS
++# linear-algebra interface (see http://www.netlib.org/blas/). On
++# success, it sets the BLAS_LIBS output variable to hold the
++# requisite library linkages.
++#
++# To link with BLAS, you should link with:
++#
++# $BLAS_LIBS $LIBS $FLIBS
++#
++# in that order. FLIBS is the output variable of the
++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), and
++# is sometimes necessary in order to link with F77 libraries. Users
++# will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),
++# for the same reason.
++#
++# Many libraries are searched for, from ATLAS to CXML to ESSL. The
++# user may also use --with-blas=<lib> in order to use some specific
++# BLAS library <lib>. In order to link successfully, however, be
++# aware that you will probably need to use the same Fortran compiler
++# (which can be set via the F77 env. var.) as was used to compile the
++# BLAS library.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS
++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
++# run it if it is not found. If ACTION-IF-FOUND is not specified, the
++# default action will define HAVE_BLAS.
++#
++# This macro requires autoconf 2.50 or later.
++#
++# LAST MODIFICATION
++#
++# 2007-07-29
++#
++# COPYLEFT
++#
++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation, either version 3 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright
++# owner gives unlimited permission to copy, distribute and modify the
++# configure scripts that are the output of Autoconf when processing
++# the Macro. You need not follow the terms of the GNU General Public
++# License when using or distributing such scripts, even though
++# portions of the text of the Macro appear in them. The GNU General
++# Public License (GPL) does govern all other use of the material that
++# constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the
++# Autoconf Macro released by the Autoconf Macro Archive. When you
++# make and distribute a modified version of the Autoconf Macro, you
++# may extend this special exception to the GPL to apply to your
++# modified version as well.
++
++AC_DEFUN([ACX_BLAS], [
++AC_PREREQ(2.50)
++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])
++acx_blas_ok=no
++
++AC_ARG_WITH(blas,
++ [AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
++case $with_blas in
++ yes | "") ;;
++ no) acx_blas_ok=disable ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;
++ *) BLAS_LIBS="-l$with_blas" ;;
++esac
++
++# Get fortran linker names of BLAS functions to check for.
++AC_F77_FUNC(sgemm)
++AC_F77_FUNC(dgemm)
++
++acx_blas_save_LIBS="$LIBS"
++LIBS="$LIBS $FLIBS"
++
++# First, check BLAS_LIBS environment variable
++if test $acx_blas_ok = no; then
++if test "x$BLAS_LIBS" != x; then
++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
++ AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""])
++ AC_MSG_RESULT($acx_blas_ok)
++ LIBS="$save_LIBS"
++fi
++fi
++
++# BLAS linked to by default? (happens on some supercomputers)
++if test $acx_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="$LIBS"
++ AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes])
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(atlas, ATL_xerbla,
++ [AC_CHECK_LIB(f77blas, $sgemm,
++ [AC_CHECK_LIB(cblas, cblas_dgemm,
++ [acx_blas_ok=yes
++ BLAS_LIBS="-lcblas -lf77blas -latlas"],
++ [], [-lf77blas -latlas])],
++ [], [-latlas])])
++fi
++
++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(dgemm, $dgemm,
++ [AC_CHECK_LIB(sgemm, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"],
++ [], [-lblas])],
++ [], [-lblas])])
++fi
++
++# BLAS in Alpha CXML library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"])
++fi
++
++# BLAS in Alpha DXML library? (now called CXML, see above)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])
++fi
++
++# BLAS in Sun Performance library?
++if test $acx_blas_ok = no; then
++ if test "x$GCC" != xyes; then # only works with Sun CC
++ AC_CHECK_LIB(sunmath, acosp,
++ [AC_CHECK_LIB(sunperf, $sgemm,
++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath"
++ acx_blas_ok=yes],[],[-lsunmath])])
++ fi
++fi
++
++# BLAS in SCSL library? (SGI/Cray Scientific Library)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])
++fi
++
++# BLAS in SGIMATH library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(complib.sgimath, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])
++fi
++
++# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(essl, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"],
++ [], [-lblas $FLIBS])])
++fi
++
++# Generic BLAS library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])
++fi
++
++AC_SUBST(BLAS_LIBS)
++
++LIBS="$acx_blas_save_LIBS"
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_blas_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])
++ :
++else
++ acx_blas_ok=no
++ $2
++fi
++])dnl ACX_BLAS
+diff -Nur UMFPACK.orig/configure.ac UMFPACK/configure.ac
+--- UMFPACK.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/configure.ac 2010-05-14 20:55:11.000000000 +0100
+@@ -0,0 +1,44 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(umfpack, 5.5.0, davis@cise.ufl.edu)
++AC_CONFIG_SRCDIR([Source/umf_solve.c])
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_F77
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++sinclude(acx_blas.m4)
++ACX_BLAS
++if test x"$BLAS_LIBS" = x; then
++ AC_MSG_ERROR([Cannot find blas libraries])
++fi
++AC_CHECK_LIB(amd, amd_aat)
++
++AC_ARG_WITH(cholmod,
++ [AC_HELP_STRING([--with-cholmod],
++ [Use CHOLMOD for ordering methods])],
++ [with_cholmod=$withval],
++ [with_cholmod="yes"])
++if test x$with_cholmod = xyes; then
++ AC_CHECK_HEADERS(cholmod.h)
++ AC_CHECK_LIB(cholmod, cholmod_solve, [], \
++ [AC_MSG_ERROR([Cannot find libcholmod])])
++
++ PKG_PROG_PKG_CONFIG
++ if test -n "$PKG_CONFIG"; then
++ PKG_CHECK_MODULES([metis], [metis])
++ else
++ AC_CHECK_HEADERS(metis.h)
++ AC_CHECK_LIB(metis, METIS_NodeND, [METIS_LIBS=-lmetis], \
++ [AC_MSG_ERROR([CHOLMOD needs metis. Cannot find libmetis])])
++ fi
++ AC_DEFINE(NCHOLMOD)
++fi
++AM_CONDITIONAL([CHOLMOD], [test x$with_cholmod = xyes])
++
++
++AC_CONFIG_FILES([Source/Makefile
++ Include/Makefile
++ Demo/Makefile
++ Makefile])
++AC_OUTPUT
+diff -Nur UMFPACK.orig/Demo/Makefile.am UMFPACK/Demo/Makefile.am
+--- UMFPACK.orig/Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/Demo/Makefile.am 2010-05-14 20:54:52.000000000 +0100
+@@ -0,0 +1,44 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++LDADD = $(top_builddir)/Source/libumfpack.la
++
++check_PROGRAMS = umfpack_simple \
++ umfpack_di_demo \
++ umfpack_dl_demo \
++ umfpack_zi_demo \
++ umfpack_zl_demo
++
++umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed
++ - sed -f umfpack_$*_demo.sed < umfpack_xx_demo.c > umfpack_$*_demo.c
++
++umfpack_simple_SOURCES = umfpack_simple.c
++umfpack_di_demo_SOURCES = umfpack_di_demo.c
++umfpack_dl_demo_SOURCES = umfpack_dl_demo.c
++umfpack_zi_demo_SOURCES = umfpack_zi_demo.c
++umfpack_zl_demo_SOURCES = umfpack_zl_demo.c
++
++check-local: $(check_PROGRAMS)
++ @total=0; failed=0; \
++ ./umfpack_simple; \
++ if [ "x$$?" = "x0" ]; then \
++ echo "Test umfpack_simple PASSED."; \
++ else \
++ echo "Test umfpack_simple FAILED!!!"; \
++ failed=$$(($$failed + 1)); \
++ fi; \
++ total=$$(($$total + 1)); \
++ for i in *demo; do \
++ echo "--- Testing $$i ---"; \
++ ./$$i$(EXEEXT) > my_$$i.out; \
++ diff $$i.out my_$$i.out; \
++ if [ "x$$?" = "x0" ]; then \
++ echo "Test \`$$i' PASSED."; \
++ else \
++ echo "Test \`$$i' FAILED!!!"; \
++ failed=$$(($$failed + 1)); \
++ fi; \
++ total=$$(($$total + 1)); \
++ done; \
++ if [ $$failed -gt 0 ]; then \
++ echo "*** ERROR: $$failed/$$total tests failed!!!"; \
++ echo "Please check the failures before reporting"; \
++ fi
+diff -Nur UMFPACK.orig/Include/Makefile.am UMFPACK/Include/Makefile.am
+--- UMFPACK.orig/Include/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/Include/Makefile.am 2010-05-14 20:54:52.000000000 +0100
+@@ -0,0 +1,34 @@
++include_HEADERS = \
++ umfpack.h \
++ umfpack_col_to_triplet.h \
++ umfpack_defaults.h \
++ umfpack_free_numeric.h \
++ umfpack_free_symbolic.h \
++ umfpack_get_determinant.h \
++ umfpack_get_lunz.h \
++ umfpack_get_numeric.h \
++ umfpack_get_symbolic.h \
++ umfpack_global.h \
++ umfpack_load_numeric.h \
++ umfpack_load_symbolic.h \
++ umfpack_numeric.h \
++ umfpack_qsymbolic.h \
++ umfpack_report_control.h \
++ umfpack_report_info.h \
++ umfpack_report_matrix.h \
++ umfpack_report_numeric.h \
++ umfpack_report_perm.h \
++ umfpack_report_status.h \
++ umfpack_report_symbolic.h \
++ umfpack_report_triplet.h \
++ umfpack_report_vector.h \
++ umfpack_save_numeric.h \
++ umfpack_save_symbolic.h \
++ umfpack_scale.h \
++ umfpack_solve.h \
++ umfpack_symbolic.h \
++ umfpack_tictoc.h \
++ umfpack_timer.h \
++ umfpack_transpose.h \
++ umfpack_triplet_to_col.h \
++ umfpack_wsolve.h
+diff -Nur UMFPACK.orig/Makefile.am UMFPACK/Makefile.am
+--- UMFPACK.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/Makefile.am 2010-05-14 20:54:52.000000000 +0100
+@@ -0,0 +1,2 @@
++SUBDIRS = Source Include Demo
++EXTRA_DIST = README.txt
+diff -Nur UMFPACK.orig/Source/Makefile.am UMFPACK/Source/Makefile.am
+--- UMFPACK.orig/Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/Source/Makefile.am 2010-05-14 20:54:52.000000000 +0100
+@@ -0,0 +1,221 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++lib_LTLIBRARIES = libumfpack.la
++
++# non-user-callable umf_*.[ch] files:
++UMFCH = umf_assemble umf_blas3_update umf_build_tuples umf_create_element \
++ umf_dump umf_extend_front umf_garbage_collection umf_get_memory \
++ umf_init_front umf_kernel umf_kernel_init umf_kernel_wrapup \
++ umf_local_search umf_lsolve umf_ltsolve umf_mem_alloc_element \
++ umf_mem_alloc_head_block umf_mem_alloc_tail_block \
++ umf_mem_free_tail_block umf_mem_init_memoryspace \
++ umf_report_vector umf_row_search umf_scale_column \
++ umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
++ umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
++ umf_valid_symbolic umf_grow_front umf_start_front \
++ umf_store_lu umf_scale
++
++# non-user-callable umf_*.[ch] files, int/UF_long versions only (no real/complex):
++UMFINT = umf_analyze umf_apply_order umf_colamd umf_cholmod umf_free umf_fsize \
++ umf_is_permutation umf_malloc umf_realloc umf_report_perm \
++ umf_singletons
++
++# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
++# umf_triplet.c, and umf_assemble.c , with int/UF_long and real/complex versions:
++UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
++ umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
++ umf_assemble_fixq umf_store_lu_drop
++
++# non-user-callable, int/UF_long and real/complex versions:
++UMF = $(UMF_CREATED) $(UMFCH)
++
++# user-callable umfpack_*.[ch] files (int/UF_long and real/complex):
++UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
++ umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
++ umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
++ umfpack_qsymbolic umfpack_report_control umfpack_report_info \
++ umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
++ umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
++ umfpack_report_vector umfpack_solve umfpack_symbolic \
++ umfpack_transpose umfpack_triplet_to_col umfpack_scale \
++ umfpack_load_numeric umfpack_save_numeric \
++ umfpack_load_symbolic umfpack_save_symbolic
++
++# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
++# with int/UF_long and real/complex versions:
++UMFPACKW = umfpack_wsolve
++
++USER = $(UMFPACKW) $(UMFPACK)
++
++# user-callable, only one version for int/UF_long, real/complex, *.[ch] files:
++GENERIC = umfpack_timer umfpack_tictoc umfpack_global
++
++
++#-------------------------------------------------------------------------------
++# object files for each version
++#-------------------------------------------------------------------------------
++
++DI = $(addsuffix .lo, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER)))
++DL = $(addsuffix .lo, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER)))
++ZI = $(addsuffix .lo, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER)))
++ZL = $(addsuffix .lo, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER)))
++II = $(addsuffix .lo, $(subst umf_,umf_i_,$(UMFINT)))
++LL = $(addsuffix .lo, $(subst umf_,umf_l_,$(UMFINT)))
++GN = $(addsuffix .lo, $(subst umfpack_,umfpack_gn_,$(GENERIC)))
++
++#-------------------------------------------------------------------------------
++# compile each int and UF_long routine (with no real/complex version)
++#-------------------------------------------------------------------------------
++
++umf_i_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_l_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the DI version
++#-------------------------------------------------------------------------------
++
++umf_di_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_di_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_di_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_di_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_MAP -c $< -o $@
++
++umf_di_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_VALUES -c $< -o $@
++
++umf_di_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_di_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DDINT -DFIXQ -c $< -o $@
++
++umf_di_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DDINT -DDROP -c $< -o $@
++
++umfpack_di_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DDINT -DWSOLVE -c $< -o $@
++
++umfpack_di_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the DL version
++#-------------------------------------------------------------------------------
++
++umf_dl_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++umf_dl_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_dl_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_dl_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_MAP -c $< -o $@
++
++umf_dl_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_VALUES -c $< -o $@
++
++umf_dl_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++umf_dl_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DDLONG -DFIXQ -c $< -o $@
++
++umf_dl_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDROP -c $< -o $@
++
++umfpack_dl_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DDLONG -DWSOLVE -c $< -o $@
++
++umfpack_dl_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the ZI version
++#-------------------------------------------------------------------------------
++
++umf_zi_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++umf_zi_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_zi_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_zi_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_MAP -c $< -o $@
++
++umf_zi_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_VALUES -c $< -o $@
++
++umf_zi_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++umf_zi_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DZINT -DFIXQ -c $< -o $@
++
++umf_zi_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DZINT -DDROP -c $< -o $@
++
++umfpack_zi_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DZINT -DWSOLVE -c $< -o $@
++
++umfpack_zi_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the ZL version
++#-------------------------------------------------------------------------------
++
++umf_zl_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++umf_zl_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_zl_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_zl_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_MAP -c $< -o $@
++
++umf_zl_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_VALUES -c $< -o $@
++
++umf_zl_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++umf_zl_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DZLONG -DFIXQ -c $< -o $@
++
++umf_zl_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDROP -c $< -o $@
++
++umfpack_zl_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DZLONG -DWSOLVE -c $< -o $@
++
++umfpack_zl_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# Create the generic routines (GN) using a generic rule
++#-------------------------------------------------------------------------------
++
++umfpack_gn_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -c $< -o $@
++
++
++libumfpack_la_SOURCES =
++libumfpack_la_LIBADD = $(BLAS_LIBS) -lm \
++ $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
diff --git a/sci-libs/umfpack/metadata.xml b/sci-libs/umfpack/metadata.xml
index 05599ed9de7d..77a1528629ce 100644
--- a/sci-libs/umfpack/metadata.xml
+++ b/sci-libs/umfpack/metadata.xml
@@ -8,4 +8,7 @@
Includes a C-callable interface, and a Fortran-callable interface.
MATLAB routines are not included in the Gentoo package.
</longdescription>
+<use>
+ <flag name='metis'>Use METIS via CHOLMOD(<pkg>sci-libs/cholmod</pkg>) for partitioning</flag>
+</use>
</pkgmetadata>
diff --git a/sci-libs/umfpack/umfpack-5.5.0.ebuild b/sci-libs/umfpack/umfpack-5.5.0.ebuild
new file mode 100644
index 000000000000..185627a093c7
--- /dev/null
+++ b/sci-libs/umfpack/umfpack-5.5.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/umfpack/umfpack-5.5.0.ebuild,v 1.1 2010/05/14 21:46:31 bicatali Exp $
+
+EAPI=2
+inherit autotools eutils
+
+MY_PN=UMFPACK
+
+DESCRIPTION="Unsymmetric multifrontal sparse LU factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/umfpack"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc metis"
+RDEPEND="virtual/blas
+ sci-libs/amd
+ metis? ( sci-libs/cholmod[metis] )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}"
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}"/${PN}-5.5.0-autotools.patch
+ cd "${S}"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-blas="$(pkg-config --libs blas)" \
+ $(use_with metis cholmod)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README.txt Doc/ChangeLog || die "dodoc failed"
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins Doc/*.pdf || die "doins failed"
+ fi
+}