From ee42e97672ffac9e93f5d7c3bccded16fe53c088 Mon Sep 17 00:00:00 2001 From: Sebastien Fabbro Date: Mon, 9 Jul 2012 13:57:19 -0700 Subject: dev-cpp/eigen: version bump and more test fixes --- dev-cpp/eigen/ChangeLog | 9 ++++ dev-cpp/eigen/Manifest | 4 +- dev-cpp/eigen/eigen-3.0.5.ebuild | 82 ----------------------------------- dev-cpp/eigen/eigen-3.0.6-r1.ebuild | 85 +++++++++++++++++++++++++++++++++++++ dev-cpp/eigen/eigen-3.1.0-r1.ebuild | 1 + dev-cpp/eigen/eigen-9999.ebuild | 58 ++++++++++++++++--------- dev-cpp/eigen/metadata.xml | 17 +++++--- 7 files changed, 146 insertions(+), 110 deletions(-) delete mode 100644 dev-cpp/eigen/eigen-3.0.5.ebuild create mode 100644 dev-cpp/eigen/eigen-3.0.6-r1.ebuild create mode 120000 dev-cpp/eigen/eigen-3.1.0-r1.ebuild 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 -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 -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.5.ebuild deleted file mode 100644 index 57a955794..000000000 --- a/dev-cpp/eigen/eigen-3.0.5.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -inherit cmake-utils alternatives-2 - -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" -SLOT="3" -IUSE="adolc fortran fftw doc gmp sparse static-libs test" - -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/superlu - sci-libs/umfpack )" - -DEPEND="doc? ( app-doc/doxygen ) - test? ( ${CDEPEND} )" - -RDEPEND="!dev-cpp/eigen:0 - ${CDEPEND}" - -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? - mycmakeargs=( - -DEIGEN_BUILD_BTL=OFF - ) - 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 -} - -src_install() { - cmake-utils_src_install - use doc && dohtml -r "${CMAKE_BUILD_DIR}"/doc/html/* - local x - for x in ${FORTRAN_LIBS}; do - local libname="eigen_${x}" - 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 - libdir=\${prefix}/$(get_libdir) - includedir=\${prefix}/include - Name: ${PN} - Description: ${DESCRIPTION} - Version: ${PV} - URL: ${HOMEPAGE} - Libs: -L\${libdir} -l${libname} - Libs.private: -lm - EOF - alternatives_for ${x} eigen 0 \ - /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc - insinto /usr/$(get_libdir)/pkgconfig - doins ${libname}.pc - done -} diff --git a/dev-cpp/eigen/eigen-3.0.6-r1.ebuild b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild new file mode 100644 index 000000000..c98fb2ec1 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +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 ~amd64-linux ~x86-linux" +SLOT="3" +IUSE="adolc fortran fftw doc gmp sparse static-libs test" + +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[metis] + sci-libs/superlu + sci-libs/umfpack )" + +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: 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() { + local targets="${FORTRAN_LIBS}" + use doc && targets+=" doc" + use test && targets+=" buildtests" + cmake-utils_src_compile ${targets} +} + +src_install() { + cmake-utils_src_install + use doc && dohtml -r "${CMAKE_BUILD_DIR}"/doc/html/* + local x + for x in ${FORTRAN_LIBS}; do + local libname="eigen_${x}" + cd "${CMAKE_BUILD_DIR}"/${x} + dolib.so lib${libname}.so + use static-libs && newlib.a lib${libname}_static.a lib${libname}.a + cat > ${libname}.pc <<-EOF + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + 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 + insinto /usr/$(get_libdir)/pkgconfig + doins ${libname}.pc + done +} 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 @@ - sci - kde - +sci + 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. - - Enable use for automatic differentiation using sci-libs/adolc - Enable use for extra sparse matrix with sci-libs/umfpack, sci-libs/cholmod, sci-libs/superlu and dev-cpp/sparsehash - + + + Enable use for automatic differentiation using sci-libs/adolc + + + Enable use for extra sparse matrix with sci-libs/umfpack, sci-libs/cholmod, sci-libs/superlu and dev-cpp/sparsehash + + -- cgit v1.2.3-18-g5258