summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2007-02-19 10:39:50 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2007-02-19 10:39:50 +0000
commit539eeb5ef4d3576f176bf44cae8f31c1d4a1f68f (patch)
treee9f8316359eb09510878276240829a6cb297704c /sci-libs/umfpack
parentamd-2.0.4: initial import (diff)
downloadgentoo-2-539eeb5ef4d3576f176bf44cae8f31c1d4a1f68f.tar.gz
gentoo-2-539eeb5ef4d3576f176bf44cae8f31c1d4a1f68f.tar.bz2
gentoo-2-539eeb5ef4d3576f176bf44cae8f31c1d4a1f68f.zip
umfpack initial import
(Portage version: 2.1.2-r9)
Diffstat (limited to 'sci-libs/umfpack')
-rw-r--r--sci-libs/umfpack/ChangeLog12
-rw-r--r--sci-libs/umfpack/Manifest20
-rw-r--r--sci-libs/umfpack/files/digest-umfpack-5.0.33
-rw-r--r--sci-libs/umfpack/files/umfpack-5.0.3-autotools.patch324
-rw-r--r--sci-libs/umfpack/metadata.xml13
-rw-r--r--sci-libs/umfpack/umfpack-5.0.3.ebuild43
6 files changed, 415 insertions, 0 deletions
diff --git a/sci-libs/umfpack/ChangeLog b/sci-libs/umfpack/ChangeLog
new file mode 100644
index 000000000000..78d7c21dbd56
--- /dev/null
+++ b/sci-libs/umfpack/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for sci-libs/umfpack
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/umfpack/ChangeLog,v 1.1 2007/02/19 10:39:50 bicatali Exp $
+
+*umfpack-5.0.3 (19 Feb 2007)
+
+ 19 Feb 2007; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/umfpack-5.0.3-autotools.patch, +metadata.xml,
+ +umfpack-5.0.3.ebuild:
+ Initial import. Closing bug #40255, with autotoolization added.
+ Thanks Nathaniel Domingo <nathaniel.domingo@up.edu.ph> for the initial ebuild.
+
diff --git a/sci-libs/umfpack/Manifest b/sci-libs/umfpack/Manifest
new file mode 100644
index 000000000000..c193dd2d329a
--- /dev/null
+++ b/sci-libs/umfpack/Manifest
@@ -0,0 +1,20 @@
+AUX umfpack-5.0.3-autotools.patch 11710 RMD160 3db05b75198c5a772f7c973275128f13344f49d4 SHA1 0537ed02293952c8b352043ca226d28303f646e0 SHA256 c4a84022594837395432dffc414e477cde68f48679f72eaedf61e699461b0079
+MD5 c8da8a12c03c5a42f45548af830fc36c files/umfpack-5.0.3-autotools.patch 11710
+RMD160 3db05b75198c5a772f7c973275128f13344f49d4 files/umfpack-5.0.3-autotools.patch 11710
+SHA256 c4a84022594837395432dffc414e477cde68f48679f72eaedf61e699461b0079 files/umfpack-5.0.3-autotools.patch 11710
+DIST UMFPACK-5.0.3.tar.gz 1266492 RMD160 c5b9915cf0d914c75ac5e6d91c588060d45a4d89 SHA1 a1fa0c60e68942adcdb3874cbd4d679e82a387d3 SHA256 ea9e49feeaab02c5980d7cf7751d5e3dd2ce397c29b281e6fa0aa7dc2db40a15
+EBUILD umfpack-5.0.3.ebuild 927 RMD160 8d9a69662011eb97f786863b1eecf27669bcf075 SHA1 0d4536085ead6c2788137118a5eb6b7f6211bce3 SHA256 cb332cf5a03f0241e794892067a6ddbb4a8fa73f9fd3fee1a01a8d95548e56f1
+MD5 d355feeb71f5ea4c40717c88f0e5013b umfpack-5.0.3.ebuild 927
+RMD160 8d9a69662011eb97f786863b1eecf27669bcf075 umfpack-5.0.3.ebuild 927
+SHA256 cb332cf5a03f0241e794892067a6ddbb4a8fa73f9fd3fee1a01a8d95548e56f1 umfpack-5.0.3.ebuild 927
+MISC ChangeLog 431 RMD160 67f33d449a6c5b89512e8caf6f73308d62bb00ae SHA1 2f2b24361b65de3a883cec326760426ac7e239fb SHA256 4cbdb043ef468eedd36aeb14dcb3e99a1dd23f79a49eb75c35bc1abbf8e2cd16
+MD5 ac98f2c541a20004bcb6ea7e3ea039af ChangeLog 431
+RMD160 67f33d449a6c5b89512e8caf6f73308d62bb00ae ChangeLog 431
+SHA256 4cbdb043ef468eedd36aeb14dcb3e99a1dd23f79a49eb75c35bc1abbf8e2cd16 ChangeLog 431
+MISC metadata.xml 567 RMD160 586210adc60d5307601a86424d64ee775c3bdbf5 SHA1 a4c5eec6fda1af96180ebdee08182cef70c89d98 SHA256 fe72a57931152ffe18cc898f20c6db9fe7f593a4f8e0f88ce0a38bbcb5ee9189
+MD5 19d2c5573327d7aba349bfde418f157a metadata.xml 567
+RMD160 586210adc60d5307601a86424d64ee775c3bdbf5 metadata.xml 567
+SHA256 fe72a57931152ffe18cc898f20c6db9fe7f593a4f8e0f88ce0a38bbcb5ee9189 metadata.xml 567
+MD5 d18d86116283c00ebe03ee452069529a files/digest-umfpack-5.0.3 244
+RMD160 e0669afcc9f446de847e9eb03546ccb7f063184f files/digest-umfpack-5.0.3 244
+SHA256 206b80be56e6b6fa3e55d01a5dc5c99fa9f9a636de92838f9fc889c2df4a0110 files/digest-umfpack-5.0.3 244
diff --git a/sci-libs/umfpack/files/digest-umfpack-5.0.3 b/sci-libs/umfpack/files/digest-umfpack-5.0.3
new file mode 100644
index 000000000000..80d712199f90
--- /dev/null
+++ b/sci-libs/umfpack/files/digest-umfpack-5.0.3
@@ -0,0 +1,3 @@
+MD5 2a18c46e700f264088b8bec2794fd446 UMFPACK-5.0.3.tar.gz 1266492
+RMD160 c5b9915cf0d914c75ac5e6d91c588060d45a4d89 UMFPACK-5.0.3.tar.gz 1266492
+SHA256 ea9e49feeaab02c5980d7cf7751d5e3dd2ce397c29b281e6fa0aa7dc2db40a15 UMFPACK-5.0.3.tar.gz 1266492
diff --git a/sci-libs/umfpack/files/umfpack-5.0.3-autotools.patch b/sci-libs/umfpack/files/umfpack-5.0.3-autotools.patch
new file mode 100644
index 000000000000..0acefbac9f84
--- /dev/null
+++ b/sci-libs/umfpack/files/umfpack-5.0.3-autotools.patch
@@ -0,0 +1,324 @@
+diff -Nur UMFPACK.orig/Demo/Makefile UMFPACK/Demo/Makefile
+--- UMFPACK.orig/Demo/Makefile 2006-05-02 13:46:21.000000000 +0100
++++ UMFPACK/Demo/Makefile 2007-02-18 20:03:33.000000000 +0000
+@@ -5,29 +5,14 @@
+ # UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
+ # All Rights Reserved. See ../Doc/License for License.
+
+-default: libs umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo \
++default: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo \
+ umfpack_simple
+
+-include ../../UFconfig/UFconfig.mk
++C = $(CC) $(CFLAGS) -I../Include
++INC = ../Include/umfpack.h
++UMFPACK= ../Source/.libs/libumfpack.a
++LIBS = -lblas -lamd -lm
+
+-C = $(CC) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I../../AMD/Include \
+- -I../../UFconfig
+-
+-INC = ../Include/umfpack.h ../../AMD/Include/amd.h ../../UFconfig/UFconfig.h
+-
+-LIBS = $(BLAS) $(XERBLA) $(LIB)
+-
+-../Lib/libumfpack.a:
+- ( cd ../Source ; $(MAKE) )
+-
+-../../AMD/Lib/libamd.a:
+- ( cd ../../AMD/Source ; $(MAKE) )
+-
+-UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a
+-
+-libs:
+- ( cd ../Source ; $(MAKE) )
+- ( cd ../../AMD/Source ; $(MAKE) )
+
+ #-------------------------------------------------------------------------------
+ # Create the demo programs, run them, and compare the output
+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 2007-02-18 23:30:33.000000000 +0000
+@@ -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 2007-02-17 18:55:57.000000000 +0000
+@@ -0,0 +1,2 @@
++SUBDIRS = Source Include
++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 2007-02-18 19:56:22.000000000 +0000
+@@ -0,0 +1,220 @@
++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_2by2 \
++ 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_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 = $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
+diff -Nur UMFPACK.orig/configure.ac UMFPACK/configure.ac
+--- UMFPACK.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ UMFPACK/configure.ac 2007-02-18 23:30:46.000000000 +0000
+@@ -0,0 +1,14 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(umfpack, 5.0.3, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_F77
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_LIB(blas, dgemv_)
++AC_CHECK_LIB(amd, amd_aat)
++AC_CONFIG_FILES([Source/Makefile
++ Include/Makefile
++ Makefile])
++AC_OUTPUT
diff --git a/sci-libs/umfpack/metadata.xml b/sci-libs/umfpack/metadata.xml
new file mode 100644
index 000000000000..d81f6309e314
--- /dev/null
+++ b/sci-libs/umfpack/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+UMFPACK is a set of routines for solving unsymmetric sparse linear
+systems, Ax=b, using the Unsymmetric MultiFrontal method. Written
+in ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface.
+Appears as a built-in routine (for lu, backslash, and forward
+slash) in MATLAB. Includes a MATLAB interface, a C-callable
+interface, and a Fortran-callable interface.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/umfpack/umfpack-5.0.3.ebuild b/sci-libs/umfpack/umfpack-5.0.3.ebuild
new file mode 100644
index 000000000000..bd9240960a54
--- /dev/null
+++ b/sci-libs/umfpack/umfpack-5.0.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/umfpack/umfpack-5.0.3.ebuild,v 1.1 2007/02/19 10:39:50 bicatali Exp $
+
+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="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+DEPEND="virtual/blas
+ >=sci-libs/amd-2.0"
+RESTRICT="test"
+S="${WORKDIR}/${MY_PN}"
+
+src_unpack() {
+ unpack ${A}
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ cd "${S}"
+ rm -f Makefile */*akefile
+ eautoreconf
+}
+
+src_test() {
+ cd "${S}"/Demo
+ # test is still buggy but worth testing
+ make > test.log || die "test failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || "emake install failed"
+ dodoc README.txt Doc/ChangeLog
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins Doc/*.pdf
+ fi
+}