commit: 41ff08425d0a3fd515e2e2625bd341743b81d393 Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org> AuthorDate: Thu Apr 24 23:07:07 2014 +0000 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org> CommitDate: Thu Apr 24 23:07:07 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=41ff0842
dev-cpp/eigen: Added pastix support, restrict static libs for blas, configure with test enabled Package-Manager: portage-2.2.8-prefix --- dev-cpp/eigen/ChangeLog | 4 ++++ dev-cpp/eigen/eigen-9999.ebuild | 47 +++++++++++++++++++++++++++++------------ 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog index b014311..0ce6aee 100644 --- a/dev-cpp/eigen/ChangeLog +++ b/dev-cpp/eigen/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2014 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 $ + 24 Apr 2014; Sébastien Fabbro <bicat...@gentoo.org> eigen-9999.ebuild: + dev-cpp/eigen: Added pastix support, restrict static libs for blas, configure + with test enabled + *eigen-3.2.1-r1 (22 Apr 2014) 22 Apr 2014; Sébastien Fabbro <bicat...@gentoo.org> +eigen-3.2.1-r1.ebuild, diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild index 0256605..5d4d7e1 100644 --- a/dev-cpp/eigen/eigen-9999.ebuild +++ b/dev-cpp/eigen/eigen-9999.ebuild @@ -7,31 +7,35 @@ EAPI=5 FORTRAN_NEEDED=fortran if [[ ${PV} == "9999" ]] ; then - _SCM=mercurial + inherit 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" + SRC_URI=" + http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2 + https://bitbucket.org/eigen/eigen/commits/1d71b1341c03a7c485289be2c8bd906a259c0487/raw/ -> ${P}-cmake.patch + " + PATCHES=( "${DISTDIR}"/${P}-cmake.patch ) KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" fi -inherit alternatives-2 cmake-utils fortran-2 multilib vcs-snapshot ${_SCM} +inherit alternatives-2 cmake-utils fortran-2 multilib vcs-snapshot DESCRIPTION="C++ template library for linear algebra" HOMEPAGE="http://eigen.tuxfamily.org/" SLOT="3" LICENSE="MPL-2.0" -IUSE="adolc doc fortran fftw gmp metis mkl sparse static-libs test" +IUSE="adolc doc fortran fftw gmp metis mkl pastix sparse static-libs test" -# TODO: support for pastix CDEPEND=" adolc? ( sci-libs/adolc[sparse?] ) fftw? ( sci-libs/fftw:3.0 ) gmp? ( dev-libs/gmp dev-libs/mpfr ) metis? ( sci-libs/metis ) mkl? ( sci-libs/mkl ) + pastix? ( sci-libs/pastix ) sparse? ( dev-cpp/sparsehash sci-libs/cholmod[metis?] @@ -46,18 +50,35 @@ RDEPEND=" !dev-cpp/eigen:0 ${CDEPEND}" -src_configure() { +src_prepare() { + sed -i \ + -e "s:/usr:${EPREFIX}/usr:g" \ + -e "s:/bin/bash:${EPREFIX}/bin/bash:g" \ + cmake/*.cmake || die + sed -i \ + -e "/DESTINATION/s:lib:$(get_libdir):g" \ + {blas,lapack}/CMakeLists.txt || die + # TOFIX: static-libs for blas are always built with PIC + use static-libs || sed -i \ + -e "/add_dependencies/s/eigen_[a-z]*_static//g" \ + -e "/TARGETS/s/eigen_[a-z]*_static//g" \ + -e "/add_library(eigen_[a-z]*_static/d" \ + -e "/target_link_libraries(eigen_[a-z]*_static/d" \ + {blas,lapack}/CMakeLists.txt || die + cmake-utils_src_prepare +} + +src_configure() { # TOFIX: is it worth fixing all the automagic given no library is built? + # cmake has buggy disable_testing feature, so leave it for now local mycmakeargs=( + -DDART_TESTING_TIMEOUT=300 -DEIGEN_BUILD_BTL=OFF - -DEIGEN_TEST_NO_OPENGL=ON - $(cmake-utils_use test BUILD_TESTING) - $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN) ) export VARTEXFONTS="${T}/fonts" CMAKE_BUILD_TYPE="release" cmake-utils_src_configure - # lapack not ready yet? + # use fortran && FORTRAN_LIBS="blas lapack" not ready use fortran && FORTRAN_LIBS="blas" } @@ -70,13 +91,11 @@ src_compile() { src_install() { cmake-utils_src_install - use doc && dohtml -r "${CMAKE_BUILD_DIR}"/doc/html/* + use doc && dohtml -r "${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 + emake DESTDIR="${D}" -C "${BUILD_DIR}/${x}" install ${libname} cat > ${libname}.pc <<-EOF prefix=${EPREFIX}/usr libdir=\${prefix}/$(get_libdir)