diff options
Diffstat (limited to 'dev-cpp/eigen/eigen-9999.ebuild')
-rw-r--r-- | dev-cpp/eigen/eigen-9999.ebuild | 58 |
1 files changed, 39 insertions, 19 deletions
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 |