summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus D. Hanwell <cryos@gentoo.org>2009-08-21 16:00:02 +0000
committerMarcus D. Hanwell <cryos@gentoo.org>2009-08-21 16:00:02 +0000
commitab6eb1664e414c69b89fde076d1e548e2cae3084 (patch)
treeb9d066f28a9c75e296e5f220d5c0a8586d81987a /dev-cpp
parentAdd patch and modify ebuild to properly respect LDFLAGS (bug #278607). (diff)
downloadhistorical-ab6eb1664e414c69b89fde076d1e548e2cae3084.tar.gz
historical-ab6eb1664e414c69b89fde076d1e548e2cae3084.tar.bz2
historical-ab6eb1664e414c69b89fde076d1e548e2cae3084.zip
Patch applied by Benoit Jacob upstream, fixes compilation issue with GCC 4.1. Closes bug 280588.
Package-Manager: portage-2.2_rc38/cvs/Linux x86_64
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/eigen/ChangeLog9
-rw-r--r--dev-cpp/eigen/Manifest4
-rw-r--r--dev-cpp/eigen/eigen-2.0.4-r1.ebuild76
-rw-r--r--dev-cpp/eigen/files/eigen-2.0.4-gcc-4-1.patch33
4 files changed, 120 insertions, 2 deletions
diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog
index b2d89df376f0..2d9d3bb0cb83 100644
--- a/dev-cpp/eigen/ChangeLog
+++ b/dev-cpp/eigen/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-cpp/eigen
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.13 2009/08/01 18:07:18 cryos Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.14 2009/08/21 16:00:02 cryos Exp $
+
+*eigen-2.0.4-r1 (21 Aug 2009)
+
+ 21 Aug 2009; Marcus D. Hanwell <cryos@gentoo.org> +eigen-2.0.4-r1.ebuild,
+ +files/eigen-2.0.4-gcc-4-1.patch:
+ Patch applied by Benoit Jacob upstream, fixes compilation issue with GCC
+ 4.1. Closes bug 280588.
*eigen-2.0.4 (01 Aug 2009)
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
index 425bd66e88ca..d9c9518c188a 100644
--- a/dev-cpp/eigen/Manifest
+++ b/dev-cpp/eigen/Manifest
@@ -1,3 +1,4 @@
+AUX eigen-2.0.4-gcc-4-1.patch 1469 RMD160 191795659ccf32ab0f01df8f287b80a28b1c536f SHA1 4508dff0ccf1a11df86267c168c74f77afcddff1 SHA256 4d92b11b12e66925be04883a8cf5bb31cfe12e64b2d9511a3bc940456130750e
AUX eigen-2.0.4-qt-test.patch 1259 RMD160 7cb062d6e5f6be4b4ce5751ba5a8072009d8a63e SHA1 724914fc069b716b74a3b8079f33a5276e03be23 SHA256 6bb819e01ff3c10c357a6a9e0e4ac306cd9030fee90cf07f434cb5f3089e33c2
AUX eigen-ppc-define.patch 730 RMD160 ae5bdfbccd15c8b1bc401d34e2c98beffca7fa5f SHA1 0df8892dea5d0e119d94216bb12dd7e6956a5320 SHA256 7d8cbc4897db6cb652f34494c93d0da8a288978b3f211019b69033bd4191bfab
DIST 2.0.3.tar.bz2 356163 RMD160 88760f77251c25e74c89981d1ae4d1c548989ac2 SHA1 e0903398cfe22f24494c54d60ffd35bc1756ac9f SHA256 6f0c17f36d8ca9f56509322991b28da71295ae58a2603cb99ffe2c12bea8581f
@@ -5,6 +6,7 @@ DIST 2.0.4.tar.bz2 357260 RMD160 512ead52f9db6f40e1b90f953a304ead55055d7b SHA1 4
DIST eigen-2.0.2.tar.bz2 348996 RMD160 ce309c535783401205046cd77842513b3c0f80a2 SHA1 961d37e200e1b0d6f05ea95c4858f4aaddf51c71 SHA256 9e7d84f07538e61a69064e7056324e30ac6fe7a7bb2e7d3227a79ff8c7311743
EBUILD eigen-2.0.2.ebuild 582 RMD160 c61a350504733bc70660c24c6a282321661dfb9e SHA1 9407ff2c67e9a8e6f03c49a99d3adab77d2d7936 SHA256 fd9a8004c132d2c34d153a0167c0544b620009f14edd45ca8bb14f1db7cebd58
EBUILD eigen-2.0.3.ebuild 1676 RMD160 5875f9b228e0fd597814d6c01f363ecc89e3353a SHA1 d63d5e683ca6590ab90edb5a7bbbcfdf62301572 SHA256 2511b6c9ae8ab79fb3fc88a3c8f4c0b3126ad87eaab5fa5b166d373687c4298b
+EBUILD eigen-2.0.4-r1.ebuild 1784 RMD160 d582bc805b71cb4412c2c8cbb8ebe732aab4acb5 SHA1 d7c23d9ca010d7bb55b84f4235d9f69ed96e8a6e SHA256 1c2102b2a9fd8e59f84f65d8155549d2387920da4da4adefeca4d1d3aa03ce65
EBUILD eigen-2.0.4.ebuild 1744 RMD160 c176a7902e894a99fad0d47538c2169e63f19dcc SHA1 c1ca171a740ff4b39568ced9bb21fcc87baeff1e SHA256 bcf852a89414d2dd6142c276dd4466f0050d1ee78ea0c4ebf31425b3909eda0e
-MISC ChangeLog 2026 RMD160 3978250eecbfc81a7a17a0ec3435dfbba63a8520 SHA1 c98d908abb7d8f2be14d554d5791dc4abaf7f8e3 SHA256 096fff20ab942948bc3a4137bd8d39d3a3b7634bd34b7a10184ec03b77853c36
+MISC ChangeLog 2271 RMD160 3752904033c4cd5447f51836c71698dff4ffa9cd SHA1 b237ff309f4c6b15b2557554bbfd6dcd3f6e879e SHA256 26d7e9a4f5dd7ab7ff0cbb7f172a3300ec7914ecd658fb8c8d6da9229f4c85a9
MISC metadata.xml 620 RMD160 5e24e438e3a9501381b1cab57dcaf29f8cff8374 SHA1 419bbd39ba071fb7ed3588903419ceadf9833a36 SHA256 35dc30130eccec1771de4dd1392b86fc2d6451bcac10babb0ccf5a5e71aad593
diff --git a/dev-cpp/eigen/eigen-2.0.4-r1.ebuild b/dev-cpp/eigen/eigen-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..af37377421ee
--- /dev/null
+++ b/dev-cpp/eigen/eigen-2.0.4-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/eigen-2.0.4-r1.ebuild,v 1.1 2009/08/21 16:00:02 cryos Exp $
+
+EAPI="2"
+
+inherit cmake-utils
+
+DESCRIPTION="Lightweight C++ template library for vector and matrix math, a.k.a. linear algebra"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="http://bitbucket.org/eigen/eigen2/get/${PV}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+SLOT="2"
+IUSE="debug doc examples"
+
+DEPEND="
+ examples? (
+ x11-libs/qt-gui:4
+ x11-libs/qt-opengl:4
+ )
+"
+RDEPEND="${DEPEND}
+ !dev-cpp/eigen:0
+"
+
+S="${WORKDIR}/eigen2"
+
+src_prepare() {
+ # fix compilation agains eigen on the PPC platform:
+ epatch "${FILESDIR}/${PN}-ppc-define.patch"
+ epatch "${FILESDIR}/${P}-qt-test.patch"
+ epatch "${FILESDIR}/${P}-gcc-4-1.patch"
+}
+
+src_configure() {
+ # benchmarks (BTL) brings up damn load of external deps including fortran
+ # compiler
+ # library hangs up complete compilation proccess, test later
+ mycmakeargs="
+ -DEIGEN_BUILD_LIB=OFF
+ -DEIGEN_BUILD_BTL=OFF
+ $(cmake-utils_use examples EIGEN_BUILD_DEMOS)
+ "
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc; then
+ cd "${CMAKE_BUILD_DIR}"
+ emake doc || die "building documentation failed"
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc; then
+ cd "${CMAKE_BUILD_DIR}"/doc
+ dohtml -r html/* || die "dohtml failed"
+ fi
+ if use examples; then
+ cd "${CMAKE_BUILD_DIR}"/demos
+ dobin mandelbrot/mandelbrot opengl/quaternion_demo || die "dobin failed"
+ fi
+}
+
+src_test() {
+ mycmakeargs="${mycmakeargs}
+ -DEIGEN_BUILD_TESTS=ON
+ -DEIGEN_TEST_NO_FORTRAN=ON"
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+ cmake-utils_src_test
+}
diff --git a/dev-cpp/eigen/files/eigen-2.0.4-gcc-4-1.patch b/dev-cpp/eigen/files/eigen-2.0.4-gcc-4-1.patch
new file mode 100644
index 000000000000..f19aa1c22b3e
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-2.0.4-gcc-4-1.patch
@@ -0,0 +1,33 @@
+diff -r 4caa5b8cc482 Eigen/StdVector
+--- a/Eigen/StdVector Thu Aug 20 12:27:01 2009 -0400
++++ b/Eigen/StdVector Fri Aug 21 11:35:55 2009 -0400
+@@ -112,10 +112,8 @@
+ else if (__new_size < vector_base::size())
+ vector_base::erase(vector_base::begin() + __new_size, vector_base::end());
+ }
+- #elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,1)
++ #elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,2)
+ // workaround GCC std::vector implementation
+- // Note that before gcc-4.1 we already have: std::vector::resize(size_type,const T&),
+- // no no need to workaround !
+ void resize(size_type __new_size, const value_type& __x)
+ {
+ if (__new_size < vector_base::size())
+@@ -123,7 +121,17 @@
+ else
+ vector_base::insert(vector_base::end(), __new_size - vector_base::size(), __x);
+ }
++ #elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,1)
++ void resize(size_type __new_size, const value_type& __x)
++ {
++ if (__new_size < vector_base::size())
++ erase(vector_base::begin() + __new_size, vector_base::end());
++ else
++ insert(vector_base::end(), __new_size - vector_base::size(), __x);
++ }
+ #else
++ // Before gcc-4.1 we already have: std::vector::resize(size_type,const T&),
++ // so no need for a workaround !
+ using vector_base::resize;
+ #endif
+ };