summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2009-03-14 12:19:25 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2009-03-14 12:19:25 +0000
commit0536d40c0bdcb194b028642eba6ec606371c6594 (patch)
treee9a771b203dc8a6d410b7a6fa204117f93d7d1cc /sci-libs/spqr
parentamd64/x86 stable, bug #262418 (diff)
downloadgentoo-2-0536d40c0bdcb194b028642eba6ec606371c6594.tar.gz
gentoo-2-0536d40c0bdcb194b028642eba6ec606371c6594.tar.bz2
gentoo-2-0536d40c0bdcb194b028642eba6ec606371c6594.zip
Initial import
(Portage version: 2.2_rc25/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/spqr')
-rw-r--r--sci-libs/spqr/ChangeLog11
-rw-r--r--sci-libs/spqr/files/spqr-1.1.0-autotools.patch207
-rw-r--r--sci-libs/spqr/files/spqr-1.1.0-gcc43.patch10
-rw-r--r--sci-libs/spqr/metadata.xml18
-rw-r--r--sci-libs/spqr/spqr-1.1.0.ebuild45
5 files changed, 291 insertions, 0 deletions
diff --git a/sci-libs/spqr/ChangeLog b/sci-libs/spqr/ChangeLog
new file mode 100644
index 000000000000..16f667b4e0b3
--- /dev/null
+++ b/sci-libs/spqr/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for sci-libs/spqr
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/spqr/ChangeLog,v 1.1 2009/03/14 12:19:25 bicatali Exp $
+
+*spqr-1.1.0 (14 Mar 2009)
+
+ 14 Mar 2009; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/spqr-1.1.0-autotools.patch, +files/spqr-1.1.0-gcc43.patch,
+ +metadata.xml, +spqr-1.1.0.ebuild:
+ Initial import
+
diff --git a/sci-libs/spqr/files/spqr-1.1.0-autotools.patch b/sci-libs/spqr/files/spqr-1.1.0-autotools.patch
new file mode 100644
index 000000000000..599fa64a36a4
--- /dev/null
+++ b/sci-libs/spqr/files/spqr-1.1.0-autotools.patch
@@ -0,0 +1,207 @@
+diff -Nur SPQR.orig/configure.ac SPQR/configure.ac
+--- SPQR.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ SPQR/configure.ac 2009-03-14 11:20:10.319915444 +0000
+@@ -0,0 +1,54 @@
++AC_PREREQ(2.59)
++AC_INIT(spqr, 1.1.0, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_SRCDIR([Source/spqr_kernel.cpp])
++AM_INIT_AUTOMAKE([foreign])
++
++AC_PROG_LIBTOOL
++AC_PROG_CXX
++AC_LANG(C++)
++
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CHECK_HEADERS(cholmod.h)
++AC_CHECK_LIB(cholmod, cholmod_solve, [], \
++ [AC_MSG_ERROR([Cannot find libcholmod])])
++
++AC_ARG_WITH(metis,
++ [AC_HELP_STRING([--with-metis],
++ [Use METIS for partitioning])],
++ [with_metis=$withval],
++ [with_metis="yes"])
++if test x$with_metis = xyes; then
++ 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([Cannot find libmetis])])
++ fi
++ AC_DEFINE(NPARTITION)
++fi
++AM_CONDITIONAL([METIS], [test x$with_metis = xyes])
++
++AC_ARG_WITH(tbb,
++ [AC_HELP_STRING([--with-tbb],
++ [Use Intel Threading Building Block for multithreading])],
++ [with_tbb=$withval],
++ [with_tbb="yes"])
++if test x$with_tbb = xyes; then
++ AC_CHECK_HEADERS(tbb/task.h)
++ TBB_CFLAGS=""
++ TBB_LIBS="-ltbb"
++ AC_SUBST(TBB_CFLAGS)
++ AC_SUBST(TBB_LIBS)
++ AC_DEFINE(HAVE_TBB)
++fi
++AM_CONDITIONAL([WITH_TBB], [test x$with_tbb = xyes])
++
++AC_CONFIG_FILES([Makefile
++ Source/Makefile
++ Include/Makefile
++ Demo/Makefile])
++AC_OUTPUT
+diff -Nur SPQR.orig/Demo/Makefile.am SPQR/Demo/Makefile.am
+--- SPQR.orig/Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SPQR/Demo/Makefile.am 2009-03-14 11:03:44.580364074 +0000
+@@ -0,0 +1,78 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++LDADD = $(top_builddir)/Source/libspqr.la \
++ $(CHOLMOD_LIBS) $(AMD_LIBS) $(CAMD_LIBS) \
++ $(COLAMD_LIBS) $(CCOLAMD_LIBS) \
++ $(METIS_LIBS) $(BLAS_LIBS) $(LAPACK_LIBS) $(TBB_LIBS)
++
++check_PROGRAMS = \
++ qrsimple qrsimplec \
++ qrdemo qrdemoc
++
++qrsimple_SOURCES = qrsimple.cpp
++qrsimplec = qrsimplec.c
++qrsimplec_CFLAGS = -ansi
++qrdemo_SOURCES = qrdemo.cpp
++qrdemoc_SOURCES = qrdemoc.c
++qrdemoc_CFLAGS = -ansi
++
++
++check-local: $(check_PROGRAMS)
++ ./qrsimple < ../Matrix/ash219.mtx || exit 1
++ ./qrsimplec < ../Matrix/ash219.mtx || exit 1
++ ./qrsimple < ../Matrix/west0067.mtx || exit 1
++ ./qrsimplec < ../Matrix/west0067.mtx || exit 1
++ ./qrdemo < ../Matrix/a2.mtx || exit 1
++ ./qrdemo < ../Matrix/r2.mtx || exit 1
++ ./qrdemo < ../Matrix/a04.mtx || exit 1
++ ./qrdemo < ../Matrix/a2.mtx || exit 1
++ ./qrdemo < ../Matrix/west0067.mtx || exit 1
++ ./qrdemo < ../Matrix/c2.mtx || exit 1
++ ./qrdemo < ../Matrix/a0.mtx || exit 1
++ ./qrdemo < ../Matrix/lfat5b.mtx || exit 1
++ ./qrdemo < ../Matrix/bfwa62.mtx || exit 1
++ ./qrdemo < ../Matrix/LFAT5.mtx || exit 1
++ ./qrdemo < ../Matrix/b1_ss.mtx || exit 1
++ ./qrdemo < ../Matrix/bcspwr01.mtx || exit 1
++ ./qrdemo < ../Matrix/lpi_galenet.mtx || exit 1
++ ./qrdemo < ../Matrix/lpi_itest6.mtx || exit 1
++ ./qrdemo < ../Matrix/ash219.mtx || exit 1
++ ./qrdemo < ../Matrix/a4.mtx || exit 1
++ ./qrdemo < ../Matrix/s32.mtx || exit 1
++ ./qrdemo < ../Matrix/c32.mtx || exit 1
++ ./qrdemo < ../Matrix/lp_share1b.mtx || exit 1
++ ./qrdemo < ../Matrix/a1.mtx || exit 1
++ ./qrdemo < ../Matrix/GD06_theory.mtx || exit 1
++ ./qrdemo < ../Matrix/GD01_b.mtx || exit 1
++ ./qrdemo < ../Matrix/Tina_AskCal_perm.mtx || exit 1
++ ./qrdemo < ../Matrix/Tina_AskCal.mtx || exit 1
++ ./qrdemo < ../Matrix/GD98_a.mtx || exit 1
++ ./qrdemo < ../Matrix/Ragusa16.mtx || exit 1
++ ./qrdemo < ../Matrix/young1c.mtx || exit 1
++ ./qrdemoc < ../Matrix/a2.mtx || exit 1
++ ./qrdemoc < ../Matrix/r2.mtx || exit 1
++ ./qrdemoc < ../Matrix/a04.mtx || exit 1
++ ./qrdemoc < ../Matrix/a2.mtx || exit 1
++ ./qrdemoc < ../Matrix/west0067.mtx || exit 1
++ ./qrdemoc < ../Matrix/c2.mtx || exit 1
++ ./qrdemoc < ../Matrix/a0.mtx || exit 1
++ ./qrdemoc < ../Matrix/lfat5b.mtx || exit 1
++ ./qrdemoc < ../Matrix/bfwa62.mtx || exit 1
++ ./qrdemoc < ../Matrix/LFAT5.mtx || exit 1
++ ./qrdemoc < ../Matrix/b1_ss.mtx || exit 1
++ ./qrdemoc < ../Matrix/bcspwr01.mtx || exit 1
++ ./qrdemoc < ../Matrix/lpi_galenet.mtx || exit 1
++ ./qrdemoc < ../Matrix/lpi_itest6.mtx || exit 1
++ ./qrdemoc < ../Matrix/ash219.mtx || exit 1
++ ./qrdemoc < ../Matrix/a4.mtx || exit 1
++ ./qrdemoc < ../Matrix/s32.mtx || exit 1
++ ./qrdemoc < ../Matrix/c32.mtx || exit 1
++ ./qrdemoc < ../Matrix/lp_share1b.mtx || exit 1
++ ./qrdemoc < ../Matrix/a1.mtx || exit 1
++ ./qrdemoc < ../Matrix/GD06_theory.mtx || exit 1
++ ./qrdemoc < ../Matrix/GD01_b.mtx || exit 1
++ ./qrdemoc < ../Matrix/Tina_AskCal_perm.mtx || exit 1
++ ./qrdemoc < ../Matrix/Tina_AskCal.mtx || exit 1
++ ./qrdemoc < ../Matrix/GD98_a.mtx || exit 1
++ ./qrdemoc < ../Matrix/Ragusa16.mtx || exit 1
++ ./qrdemoc < ../Matrix/young1c.mtx || exit 1
+diff -Nur SPQR.orig/Include/Makefile.am SPQR/Include/Makefile.am
+--- SPQR.orig/Include/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SPQR/Include/Makefile.am 2009-03-14 10:56:08.933594972 +0000
+@@ -0,0 +1,5 @@
++include_HEADERS = \
++ spqr.hpp \
++ SuiteSparseQR_C.h \
++ SuiteSparseQR_definitions.h \
++ SuiteSparseQR.hpp
+diff -Nur SPQR.orig/Makefile.am SPQR/Makefile.am
+--- SPQR.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SPQR/Makefile.am 2009-03-14 10:27:25.415020632 +0000
+@@ -0,0 +1,2 @@
++SUBDIRS = Include Source Demo
++EXTRA_DIST = README.txt
+diff -Nur SPQR.orig/Source/Makefile.am SPQR/Source/Makefile.am
+--- SPQR.orig/Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SPQR/Source/Makefile.am 2009-03-14 10:10:07.617029851 +0000
+@@ -0,0 +1,48 @@
++AM_CPPFLAGS=-I$(top_srcdir)/Include
++
++lib_LTLIBRARIES = libspqr.la
++
++libspqr_la_SOURCES = \
++ spqr_rmap.cpp \
++ SuiteSparseQR_C.cpp \
++ SuiteSparseQR_expert.cpp \
++ spqr_parallel.cpp \
++ spqr_kernel.cpp \
++ spqr_analyze.cpp \
++ spqr_assemble.cpp \
++ spqr_cpack.cpp \
++ spqr_csize.cpp \
++ spqr_fcsize.cpp \
++ spqr_debug.cpp \
++ spqr_front.cpp \
++ spqr_factorize.cpp \
++ spqr_freenum.cpp \
++ spqr_freesym.cpp \
++ spqr_freefac.cpp \
++ spqr_fsize.cpp \
++ spqr_maxcolnorm.cpp \
++ spqr_rconvert.cpp \
++ spqr_rcount.cpp \
++ spqr_rhpack.cpp \
++ spqr_rsolve.cpp \
++ spqr_stranspose1.cpp \
++ spqr_stranspose2.cpp \
++ spqr_hpinv.cpp \
++ spqr_1fixed.cpp \
++ spqr_1colamd.cpp \
++ SuiteSparseQR.cpp \
++ spqr_1factor.cpp \
++ spqr_cumsum.cpp \
++ spqr_shift.cpp \
++ spqr_happly.cpp \
++ spqr_panel.cpp \
++ spqr_happly_work.cpp \
++ SuiteSparseQR_qmult.cpp \
++ spqr_trapezoidal.cpp \
++ spqr_larftb.cpp \
++ spqr_append.cpp \
++ spqr_type.cpp \
++ spqr_tol.cpp
++
++libspqr_la_CPPFLAGS = $(AM_CPPFLAGS) $(METIS_CFLAGS) $(TBB_CFLAGS)
++libspqr_la_LIBADD = $(METIS_LIBS) $(TBB_LIBS)
diff --git a/sci-libs/spqr/files/spqr-1.1.0-gcc43.patch b/sci-libs/spqr/files/spqr-1.1.0-gcc43.patch
new file mode 100644
index 000000000000..d9adb2093bb8
--- /dev/null
+++ b/sci-libs/spqr/files/spqr-1.1.0-gcc43.patch
@@ -0,0 +1,10 @@
+--- SPQR.orig/Source/spqr_factorize.cpp 2009-03-09 15:12:47.091289398 +0000
++++ SPQR/Source/spqr_factorize.cpp 2009-03-14 09:30:18.570989288 +0000
+@@ -30,6 +30,7 @@
+ // === macros ==================================================================
+ // =============================================================================
+
++#include <cstring>
+ #include "spqr.hpp"
+
+ #define FCHUNK 32 // FUTURE: make a parameter; Householder block size
diff --git a/sci-libs/spqr/metadata.xml b/sci-libs/spqr/metadata.xml
new file mode 100644
index 000000000000..1173b0ece1d7
--- /dev/null
+++ b/sci-libs/spqr/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ SuiteSparseQR is an implementation of the multifrontal sparse QR
+ factorization method. Parallelism is exploited both in the BLAS and
+ across different frontal matrices using Intel's Threading Building
+ Blocks. It can obtain a substantial fraction of the theoretical
+ peak performance of a multicore computer.
+</longdescription>
+<use>
+ <flag name='metis'>Use METIS (<pkg>sci-libs/metis</pkg>
+ or <pkg>sci-libs/parmetis</pkg>) for partitioning</flag>
+ <flag name='tbb'>Enable multithreading with the Intel Threads Building Block
+ (needs <pkg>dev-cpp/tbb</pkg>)</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/spqr/spqr-1.1.0.ebuild b/sci-libs/spqr/spqr-1.1.0.ebuild
new file mode 100644
index 000000000000..ce9d12acc037
--- /dev/null
+++ b/sci-libs/spqr/spqr-1.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/spqr/spqr-1.1.0.ebuild,v 1.1 2009/03/14 12:19:25 bicatali Exp $
+
+EAPI=2
+inherit eutils autotools
+
+MY_PN=SPQR
+DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SPQR"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc metis tbb"
+RDEPEND="tbb? ( dev-cpp/tbb )
+ metis? ( >=sci-libs/cholmod-1.7.0-r1[metis] )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}"
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+ cd "${S}"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with metis) \
+ $(use_with tbb)
+}
+
+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
+ fi
+}