aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <sfabbro@uvic.ca>2012-07-09 13:57:19 -0700
committerSebastien Fabbro <sfabbro@uvic.ca>2012-07-09 13:57:19 -0700
commitee42e97672ffac9e93f5d7c3bccded16fe53c088 (patch)
treefbbd00ffc2a9b1518e7cedbd647cc4116e0034eb
parentsci-libs/adolc: to main tree (diff)
downloadsci-ee42e97672ffac9e93f5d7c3bccded16fe53c088.tar.gz
sci-ee42e97672ffac9e93f5d7c3bccded16fe53c088.tar.bz2
sci-ee42e97672ffac9e93f5d7c3bccded16fe53c088.zip
dev-cpp/eigen: version bump and more test fixes
-rw-r--r--dev-cpp/eigen/ChangeLog9
-rw-r--r--dev-cpp/eigen/Manifest4
-rw-r--r--dev-cpp/eigen/eigen-3.0.6-r1.ebuild (renamed from dev-cpp/eigen/eigen-3.0.5.ebuild)39
l---------dev-cpp/eigen/eigen-3.1.0-r1.ebuild1
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild58
-rw-r--r--dev-cpp/eigen/metadata.xml17
6 files changed, 82 insertions, 46 deletions
diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog
index 1b012129c..9f17a2e4d 100644
--- a/dev-cpp/eigen/ChangeLog
+++ b/dev-cpp/eigen/ChangeLog
@@ -2,6 +2,15 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.44 2011/03/25 16:01:28 jlec Exp $
+*eigen-3.1.0-r1 (09 Jul 2012)
+*eigen-3.0.6-r1 (09 Jul 2012)
+
+ 09 Jul 2012; Sébastien Fabbro <bicatali@gentoo.org> -eigen-3.0.5.ebuild,
+ +eigen-3.0.6-r1.ebuild, -eigen-3.1.0.ebuild, +eigen-3.1.0-r1.ebuild,
+ eigen-9999.ebuild, metadata.xml:
+ now can really build for tests, remove lapack (not yet complete). Revision
+ bump to avoid possible conflict with main tree. Merge 3.1 and live ebuild
+
*eigen-3.1.0 (29 Jun 2012)
29 Jun 2012; Sebastien Fabbro <fabbros@gentoo.org> -eigen-3.0.4.ebuild,
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
index 4a5ee6236..2931017f6 100644
--- a/dev-cpp/eigen/Manifest
+++ b/dev-cpp/eigen/Manifest
@@ -1,2 +1,2 @@
-DIST eigen-3.0.5.tar.bz2 960679 SHA256 eea706ea59b534d0c8dba6f94f022158e54f812f171c9956f89873ecb1ee577c SHA512 37d0bf932d97fc7315ef836976cdba7aaa9938aba6abf6ed7562bd0ef7de7f01b9bdb7980bae13f5432ff0342b230883f00aea5bcf96d3364007694b40fc566e WHIRLPOOL 5f0060cb80b6824782ab39274b8763288b90bfad0e446dfe3965b40b8502e7660986ac7924c6f1e127f57cbe6e37ed51cb374442b8d24e5babd7559d161e2b8b
-DIST eigen-3.1.0.tar.bz2 1023451 RMD160 30fdea44ffc09a48ddf546903aef9c23d43d60ef SHA1 6afc46e7d44e85622024341500c3464e0e04beb4 SHA256 3c64a6792a55d8ee672ce45d5a1d1de1ffc50daaf6e8a3677bf8580ad99f036c SHA512 dbe39e5a0314d658b7d34f5a4216d4b11a92a37dd35e1d54d68ee2ec653af3b6a6d1107bff87d705660c04749ab15deaaf31adcbb0ae4b69b82beb94cc71b345 WHIRLPOOL a57f21a033c6d38757733ee300db36b7bf9d24945bf4a0cc3aca8972a400fe1ae64d77334f9b009685fe870a1f389a9275b2b9dac5e273ffb45b49ba7baed9ba
+DIST eigen-3.0.6.tar.bz2 961722 SHA256 32e1275a105339003ba34007dd07dc1c62077d75882f3eeddd40a7ec5a5bfd87 SHA512 97cf5126984848f31b3c45c44d7ee6b8d42eca459ff2cc5535413efc768254a1ab738d935c70f9a457a9eaee5faa3c1b08c1f17193b6fcecb5ae0f0b6b32d1fa WHIRLPOOL e17409a807228b63b866c282f767c9107e6c0b45ad84bb311a5ef70053dca3d48580c8839bb6b8fcf5c5bab1a0c102413a96c06007bfbd2218bf260c4a522586
+DIST eigen-3.1.0.tar.bz2 1023451 SHA256 3c64a6792a55d8ee672ce45d5a1d1de1ffc50daaf6e8a3677bf8580ad99f036c SHA512 dbe39e5a0314d658b7d34f5a4216d4b11a92a37dd35e1d54d68ee2ec653af3b6a6d1107bff87d705660c04749ab15deaaf31adcbb0ae4b69b82beb94cc71b345 WHIRLPOOL a57f21a033c6d38757733ee300db36b7bf9d24945bf4a0cc3aca8972a400fe1ae64d77334f9b009685fe870a1f389a9275b2b9dac5e273ffb45b49ba7baed9ba
diff --git a/dev-cpp/eigen/eigen-3.0.5.ebuild b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild
index 57a955794..c98fb2ec1 100644
--- a/dev-cpp/eigen/eigen-3.0.5.ebuild
+++ b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
-inherit cmake-utils alternatives-2
+inherit cmake-utils alternatives-2 fortran-2 multilib
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="http://eigen.tuxfamily.org/"
SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="|| ( LGPL-3 GPL-2 )"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
SLOT="3"
IUSE="adolc fortran fftw doc gmp sparse static-libs test"
@@ -19,38 +19,41 @@ CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
fftw? ( >=sci-libs/fftw-3 )
gmp? ( dev-libs/gmp dev-libs/mpfr )
sparse? ( dev-cpp/sparsehash
- sci-libs/cholmod
+ sci-libs/cholmod[metis]
sci-libs/superlu
sci-libs/umfpack )"
-DEPEND="doc? ( app-doc/doxygen )
+DEPEND="doc? ( app-doc/doxygen[dot,latex] )
test? ( ${CDEPEND} )"
RDEPEND="!dev-cpp/eigen:0
${CDEPEND}"
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
src_unpack() {
unpack ${A} && mv ${PN}* ${P}
}
src_configure() {
- #TOFIX: static-libs for blas are always built with PIC
- #TOFIX: BTL benchmarks
- #TOFIX: is it worth fixing all the automagic given no library is built?
+ # TOFIX: static-libs for blas are always built with PIC
+ # TOFIX: is it worth fixing all the automagic given no library is built?
mycmakeargs=(
-DEIGEN_BUILD_BTL=OFF
+ $(cmake-utils_use test EIGEN_BUILD_TESTS)
+ $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN)
)
CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
use fortran && FORTRAN_LIBS="blas" # lapack not ready yet
}
src_compile() {
- cmake-utils_src_compile
- pushd "${S}_build" > /dev/null
- use doc && emake doc
- use fortran && emake ${FORTRAN_LIBS}
- use test && emake buildtests
- popd > /dev/null
+ local targets="${FORTRAN_LIBS}"
+ use doc && targets+=" doc"
+ use test && targets+=" buildtests"
+ cmake-utils_src_compile ${targets}
}
src_install() {
@@ -62,17 +65,17 @@ src_install() {
cd "${CMAKE_BUILD_DIR}"/${x}
dolib.so lib${libname}.so
use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
- #TOFIX: lapack implementation needs a Requires: field in pc file.
- cat <<-EOF > ${libname}.pc
- prefix="${EPREFIX}"/usr
+ cat > ${libname}.pc <<-EOF
+ prefix=${EPREFIX}/usr
libdir=\${prefix}/$(get_libdir)
includedir=\${prefix}/include
Name: ${PN}
- Description: ${DESCRIPTION}
+ Description: ${DESCRIPTION} ${x^^} implementation
Version: ${PV}
URL: ${HOMEPAGE}
Libs: -L\${libdir} -l${libname}
Libs.private: -lm
+ $([[ ${x} == lapack ]] && echo "Requires: blas")
EOF
alternatives_for ${x} eigen 0 \
/usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
diff --git a/dev-cpp/eigen/eigen-3.1.0-r1.ebuild b/dev-cpp/eigen/eigen-3.1.0-r1.ebuild
new file mode 120000
index 000000000..eafd77401
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.1.0-r1.ebuild
@@ -0,0 +1 @@
+eigen-9999.ebuild \ No newline at end of file
diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
index 61ea9cd4d..610c6060c 100644
--- a/dev-cpp/eigen/eigen-9999.ebuild
+++ b/dev-cpp/eigen/eigen-9999.ebuild
@@ -1,52 +1,71 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
-inherit cmake-utils alternatives-2 mercurial
+if [[ ${PV} == "9999" ]] ; then
+ _SCM=mercurial
+ EHG_REPO_URI="https://bitbucket.org/eigen/eigen"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+inherit cmake-utils alternatives-2 fortran-2 multilib ${_SCM}
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="http://eigen.tuxfamily.org/"
-EHG_REPO_URI="https://bitbucket.org/eigen/eigen"
LICENSE="|| ( LGPL-3 GPL-2 )"
-KEYWORDS=""
SLOT="3"
-IUSE="adolc fortran fftw doc gmp sparse static-libs test"
+IUSE="adolc doc fortran fftw gmp mkl sparse static-libs test"
+# TODO: support for pastix
CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
+ fortran? ( virtual/fortran )
fftw? ( >=sci-libs/fftw-3 )
gmp? ( dev-libs/gmp dev-libs/mpfr )
+ mkl? ( sci-libs/mkl )
sparse? ( dev-cpp/sparsehash
- sci-libs/cholmod
+ sci-libs/cholmod[metis]
sci-libs/superlu
sci-libs/umfpack )"
-DEPEND="doc? ( app-doc/doxygen )
+DEPEND="doc? ( app-doc/doxygen[dot,latex] )
test? ( ${CDEPEND} )"
RDEPEND="!dev-cpp/eigen:0
${CDEPEND}"
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A} && mv ${PN}* ${P}
+}
+
src_configure() {
- #TOFIX: static-libs for blas are always built with PIC
- #TOFIX: BTL benchmarks
- #TOFIX: is it worth fixing all the automagic given no library is built?
+ # TOFIX: static-libs for blas are always built with PIC
+ # TOFIX: is it worth fixing all the automagic given no library is built?
mycmakeargs=(
-DEIGEN_BUILD_BTL=OFF
+ $(cmake-utils_use test EIGEN_BUILD_TESTS)
+ $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN)
)
CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
- use fortran && FORTRAN_LIBS="blas lapack" # lapack not ready yet
+ # lapack not ready yet?
+ use fortran && FORTRAN_LIBS="blas"
}
src_compile() {
- cmake-utils_src_compile
- pushd "${S}_build" > /dev/null
- use doc && emake doc
- use fortran && emake ${FORTRAN_LIBS}
- use test && emake buildtests
- popd > /dev/null
+ local targets="${FORTRAN_LIBS}"
+ use doc && targets+=" doc"
+ use test && targets+=" buildtests"
+ cmake-utils_src_compile ${targets}
}
src_install() {
@@ -58,16 +77,17 @@ src_install() {
cd "${CMAKE_BUILD_DIR}"/${x}
dolib.so lib${libname}.so
use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
- cat <<-EOF > ${libname}.pc
+ cat > ${libname}.pc <<-EOF
prefix=${EPREFIX}/usr
libdir=\${prefix}/$(get_libdir)
includedir=\${prefix}/include
Name: ${PN}
- Description: ${DESCRIPTION}
+ Description: ${DESCRIPTION} ${x^^} implementation
Version: ${PV}
URL: ${HOMEPAGE}
Libs: -L\${libdir} -l${libname}
Libs.private: -lm
+ $([[ ${x} == lapack ]] && echo "Requires: blas")
EOF
alternatives_for ${x} eigen 0 \
/usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
index a65802282..6e9235c8b 100644
--- a/dev-cpp/eigen/metadata.xml
+++ b/dev-cpp/eigen/metadata.xml
@@ -1,17 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>sci</herd>
- <herd>kde</herd>
- <longdescription lang="en">
+<herd>sci</herd>
+<longdescription lang="en">
Eigen is a lightweight C++ template library for vector and matrix math,
a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen
focuses on the simple mathematical needs of applications: games and other
OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to
providing optimal speed with GCC.
</longdescription>
- <use>
- <flag name="adolc">Enable use for automatic differentiation using <pkg>sci-libs/adolc</pkg></flag>
- <flag name="sparse">Enable use for extra sparse matrix with <pkg>sci-libs/umfpack</pkg>, <pkg>sci-libs/cholmod</pkg>, <pkg>sci-libs/superlu</pkg> and <pkg>dev-cpp/sparsehash</pkg></flag>
- </use>
+<use>
+ <flag name="adolc">
+ Enable use for automatic differentiation using <pkg>sci-libs/adolc</pkg>
+ </flag>
+ <flag name="sparse">
+ Enable use for extra sparse matrix with <pkg>sci-libs/umfpack</pkg>, <pkg>sci-libs/cholmod</pkg>, <pkg>sci-libs/superlu</pkg> and <pkg>dev-cpp/sparsehash</pkg>
+ </flag>
+</use>
</pkgmetadata>