diff options
author | Marcus D. Hanwell <cryos@gentoo.org> | 2009-08-21 16:00:02 +0000 |
---|---|---|
committer | Marcus D. Hanwell <cryos@gentoo.org> | 2009-08-21 16:00:02 +0000 |
commit | ab6eb1664e414c69b89fde076d1e548e2cae3084 (patch) | |
tree | b9d066f28a9c75e296e5f220d5c0a8586d81987a /dev-cpp | |
parent | Add patch and modify ebuild to properly respect LDFLAGS (bug #278607). (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-cpp/eigen/Manifest | 4 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-2.0.4-r1.ebuild | 76 | ||||
-rw-r--r-- | dev-cpp/eigen/files/eigen-2.0.4-gcc-4-1.patch | 33 |
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 + }; |