summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-cpp/eigen/Manifest1
-rw-r--r--dev-cpp/eigen/eigen-3.2.0.ebuild70
-rw-r--r--dev-cpp/eigen/files/eigen-3.0.0-gcc46.patch16
3 files changed, 87 insertions, 0 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
new file mode 100644
index 00000000000..e686eaf732c
--- /dev/null
+++ b/dev-cpp/eigen/Manifest
@@ -0,0 +1 @@
+DIST eigen-3.2.0.tar.bz2 1135851 SHA256 011f78960d939227f9276173d0c4cc0053bb9e0a7356539a9a6c7c89d984fab6 SHA512 ab30077c845b09aa3f652e4695f1e256c7c7ff1c0f850e38cf9867ab9659ec6008fa646c2796796ca718b996764e7e3d2811a2c6a24abacbe50a2513fc670ca5 WHIRLPOOL f1cbbc7405173ab1904a6f8272a0b7a558ec37060ce60f51b38e89f762e610844989dc99a3ba09cf34a0e94ca048ad56856adfbe69a4a54fe8c2abfd3d9ef24c
diff --git a/dev-cpp/eigen/eigen-3.2.0.ebuild b/dev-cpp/eigen/eigen-3.2.0.ebuild
new file mode 100644
index 00000000000..654090564d2
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.2.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/eigen-3.1.3.ebuild,v 1.1 2013/04/19 07:20:07 patrick Exp $
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="C++ template library for linear algebra: vectors, matrices, and related algorithms"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="LGPL-2 GPL-3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="3"
+IUSE="debug doc"
+
+DEPEND="doc? ( app-doc/doxygen[dot,latex] )"
+RDEPEND="!dev-cpp/eigen:0"
+
+src_unpack() {
+ default
+ mv ${PN}* ${P} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.0.0-gcc46.patch
+
+ sed -i CMakeLists.txt \
+ -e "/add_subdirectory(demos/d" \
+ -e "/add_subdirectory(blas/d" \
+ -e "/add_subdirectory(lapack/d" \
+ || die "sed disable unused bundles failed"
+}
+
+src_configure() {
+ # benchmarks (BTL) brings up damn load of external deps including fortran
+ # compiler
+ CMAKE_BUILD_TYPE="release"
+ mycmakeargs=(
+ -DEIGEN_BUILD_BTL=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc; then
+ cmake-utils_src_compile doc
+ fi
+}
+
+src_test() {
+ mycmakeargs=(
+ -DEIGEN_BUILD_TESTS=ON
+ -DEIGEN_TEST_NO_FORTRAN=ON
+ -DEIGEN_TEST_NO_OPENGL=ON
+ )
+ cmake-utils_src_configure
+ cmake-utils_src_compile buildtests
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc; then
+ cd "${CMAKE_BUILD_DIR}"/doc
+ dohtml -r html/*
+ fi
+}
diff --git a/dev-cpp/eigen/files/eigen-3.0.0-gcc46.patch b/dev-cpp/eigen/files/eigen-3.0.0-gcc46.patch
new file mode 100644
index 00000000000..ca4410be7dd
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.0.0-gcc46.patch
@@ -0,0 +1,16 @@
+ Eigen/src/StlSupport/details.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/Eigen/src/StlSupport/details.h b/Eigen/src/StlSupport/details.h
+index 397c8ef..c1ac745 100644
+--- a/Eigen/src/StlSupport/details.h
++++ b/Eigen/src/StlSupport/details.h
+@@ -30,6 +30,8 @@
+ #define EIGEN_ALIGNED_ALLOCATOR Eigen::aligned_allocator
+ #endif
+
++#include <cstddef>
++
+ namespace Eigen {
+
+ // This one is needed to prevent reimplementing the whole std::vector.