aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2016-02-20 16:39:08 +0100
committerJustin Lecher <jlec@gentoo.org>2016-02-20 16:39:08 +0100
commit09be48b3fe9d1bd1dc9c45547041e8e56db29bf3 (patch)
tree54a14846cb42d5423708392ddf2cfe0f8d46ed72 /dev-cpp
parentMerge branch 'Reinis-ambertools' (diff)
downloadsci-09be48b3fe9d1bd1dc9c45547041e8e56db29bf3.tar.gz
sci-09be48b3fe9d1bd1dc9c45547041e8e56db29bf3.tar.bz2
sci-09be48b3fe9d1bd1dc9c45547041e8e56db29bf3.zip
dev-cpp/eigen: Version Bump
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=575218 Package-Manager: portage-2.2.27 Signed-off-by: Justin Lecher <jlec@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/eigen/Manifest2
-rw-r--r--dev-cpp/eigen/eigen-3.2.8.ebuild114
2 files changed, 116 insertions, 0 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
index 588ac6b75..978561b9c 100644
--- a/dev-cpp/eigen/Manifest
+++ b/dev-cpp/eigen/Manifest
@@ -1,2 +1,4 @@
DIST eigen-3.2.7-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3
DIST eigen-3.2.7.tar.bz2 1155162 SHA256 e58e1a11b23cf2754e32b3c5990f318a8461a3613c7acbf6035870daa45c2f3e SHA512 6e9beb4fdd69d96a1bb305ea9463547c19cac0072ce908c19bf952d2b7a254c0d674d19a7797a3ba5e8617e1c1bca74dfb7c01971301cb152e467f13eaaed6cc WHIRLPOOL ff42ff72757736dceab759e6d12a6430e5d41b8119890eaf0f1158af1f6f5f25267e830e8cd5c7dbc71f5e1c27b0a9880420c1a3acd9369387489183b199d9ce
+DIST eigen-3.2.8-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3
+DIST eigen-3.2.8.tar.bz2 1161201 SHA256 722a63d672b70f39c271c5e2a4a43ba14d12015674331790414fcb167c357e55 SHA512 53c27ba530c985dfef52188e03273eeef33abbc67e3f150cacd3371c8b9ddbd399228730595821c4c56c061d109cf509266c1dab2b8a7c730902cbd6fb18c100 WHIRLPOOL 75e54f5620299f49a540483b0b4163e3cf6c48695f30f5e258343925cb488c3915588862a3fbe2341b5dbe17ea20756409265000f19ea2f45e7706837cb2488a
diff --git a/dev-cpp/eigen/eigen-3.2.8.ebuild b/dev-cpp/eigen/eigen-3.2.8.ebuild
new file mode 100644
index 000000000..12b0a5d7d
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.2.8.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit alternatives-2 cmake-utils fortran-2 multilib numeric vcs-snapshot
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="
+ https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2
+ https://bitbucket.org/eigen/eigen/commits/1d71b1341c03a7c485289be2c8bd906a259c0487/raw/ -> ${P}-cmake.patch
+ "
+
+SLOT="3"
+LICENSE="MPL-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="adolc doc fortran fftw gmp metis mkl pastix sparse static-libs test"
+
+CDEPEND="
+ adolc? ( sci-libs/adolc[sparse?] )
+ fftw? ( sci-libs/fftw:3.0 )
+ gmp? ( dev-libs/gmp:0 dev-libs/mpfr:0 )
+ metis? ( sci-libs/metis )
+ mkl? ( sci-libs/mkl )
+ pastix? ( sci-libs/pastix )
+ sparse? (
+ dev-cpp/sparsehash
+ sci-libs/cholmod[metis?]
+ sci-libs/spqr
+ sci-libs/superlu
+ sci-libs/umfpack )"
+DEPEND="
+ doc? ( app-doc/doxygen[dot,latex] )
+ test? ( ${CDEPEND} )"
+
+RDEPEND="
+ !dev-cpp/eigen:0
+ ${CDEPEND}"
+
+PATCHES=( "${DISTDIR}"/${P}-cmake.patch )
+
+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
+
+ sed -i -e "/Unknown build type/d" CMakeLists.txt || die
+
+ sed \
+ -e '/Cflags/s|:.*|: -I${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}|g' \
+ -i eigen3.pc.in || 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
+ )
+ export VARTEXFONTS="${T}/fonts"
+ export PKG_CONFIG_LIBDIR=/usr/$(get_libdir)/
+
+ cmake-utils_src_configure
+ # use fortran && FORTRAN_LIBS="blas lapack" not ready
+ use fortran && FORTRAN_LIBS="blas"
+}
+
+src_compile() {
+ local targets="${FORTRAN_LIBS}"
+ use doc && targets+=" doc"
+ use test && targets+=" check"
+ cmake-utils_src_compile ${targets}
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r "${BUILD_DIR}"/doc/html/*
+ local x
+ for x in ${FORTRAN_LIBS}; do
+ local libname="eigen_${x}"
+ emake DESTDIR="${D}" -C "${BUILD_DIR}/${x}" install ${libname}
+ create_pkgconfig \
+ --description "${DESCRIPTION} ${x^^} implementation" \
+ --libs "-L\${libdir} -l${libname}" \
+ --libs-private "-lm" \
+ $([[ ${x} == lapack ]] && echo "--requires 'blas'") \
+ ${libname}
+ alternatives_for ${x} eigen 0 \
+ /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
+ done
+
+ # Debian installs it and some projects started using it.
+ insinto /usr/share/cmake/Modules/
+ doins "${S}/cmake/FindEigen3.cmake"
+}