diff options
author | Sébastien Fabbro <bicatali@gentoo.org> | 2014-04-24 16:07:07 -0700 |
---|---|---|
committer | Sébastien Fabbro <bicatali@gentoo.org> | 2014-04-24 16:07:07 -0700 |
commit | 41ff08425d0a3fd515e2e2625bd341743b81d393 (patch) | |
tree | ea7d34a86ca6c3f8705c0cecd04fb9c8f2cac471 | |
parent | sci-libs/pastix: Initial import (diff) | |
download | sci-41ff08425d0a3fd515e2e2625bd341743b81d393.tar.gz sci-41ff08425d0a3fd515e2e2625bd341743b81d393.tar.bz2 sci-41ff08425d0a3fd515e2e2625bd341743b81d393.zip |
dev-cpp/eigen: Added pastix support, restrict static libs for blas, configure with test enabled
Package-Manager: portage-2.2.8-prefix
-rw-r--r-- | dev-cpp/eigen/ChangeLog | 4 | ||||
-rw-r--r-- | dev-cpp/eigen/Manifest | 2 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-9999.ebuild | 47 |
3 files changed, 39 insertions, 14 deletions
diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog index b0143114c..0ce6aeef8 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 <bicatali@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 <bicatali@gentoo.org> +eigen-3.2.1-r1.ebuild, diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index a698ef866..452b05174 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1,4 +1,6 @@ +DIST eigen-3.1.4-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 DIST eigen-3.1.4.tar.bz2 1052745 SHA256 80ea2d76b649e9ea413090f96c32bd408f07872b50cc6844bc3136e635492414 SHA512 555aea79b5dcdb8a1c15f223bb64191d69012a9f895e15218a2e0478bc7dc3d8a61d257c072ca29cd9e5788541ac0540af45320cfdb4095360dce841dfaba692 WHIRLPOOL b0e52eb7f6a89a75e67a3f0f3ad73abd0e51bfc639960c9f5699ae48c628e6160f6b3059178f4fa5b5212357b7cd5fe31082f06e0bfe1557d4dad1332999d62f DIST eigen-3.2.0-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 DIST eigen-3.2.0.tar.bz2 1135851 SHA256 011f78960d939227f9276173d0c4cc0053bb9e0a7356539a9a6c7c89d984fab6 SHA512 ab30077c845b09aa3f652e4695f1e256c7c7ff1c0f850e38cf9867ab9659ec6008fa646c2796796ca718b996764e7e3d2811a2c6a24abacbe50a2513fc670ca5 WHIRLPOOL f1cbbc7405173ab1904a6f8272a0b7a558ec37060ce60f51b38e89f762e610844989dc99a3ba09cf34a0e94ca048ad56856adfbe69a4a54fe8c2abfd3d9ef24c +DIST eigen-3.2.1-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 DIST eigen-3.2.1.tar.bz2 1138080 SHA256 66e6f2ede78d0ef650ae95aa570f548c095690b011000f9163c32618736c928a SHA512 0c60139d23c6e51883d06c92d4c089f1b3eb3b75738d7064cfa3bc79148dd23bb00c98a53636fe396d89a3734d950ef938993c5662181d5327a8ae930afeb4e5 WHIRLPOOL 85f25256732bf995b9431dfae6c44d2c42c7f610b351854f1c0e92ebe795578a9d0dac3d2444b535760bee0dc0c009808fcfe7e74a03737291777ff47a959b17 diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild index 0256605cd..5d4d7e137 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) |