aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2014-04-24 16:07:07 -0700
committerSébastien Fabbro <bicatali@gentoo.org>2014-04-24 16:07:07 -0700
commit41ff08425d0a3fd515e2e2625bd341743b81d393 (patch)
treeea7d34a86ca6c3f8705c0cecd04fb9c8f2cac471
parentsci-libs/pastix: Initial import (diff)
downloadsci-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/ChangeLog4
-rw-r--r--dev-cpp/eigen/Manifest2
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild47
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)