Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: dev-cpp/eigen/
Date: Mon, 09 Jul 2012 21:34:31
Message-Id: 1341867439.ee42e97672ffac9e93f5d7c3bccded16fe53c088.bicatali@gentoo
1 commit: ee42e97672ffac9e93f5d7c3bccded16fe53c088
2 Author: Sebastien Fabbro <sfabbro <AT> uvic <DOT> ca>
3 AuthorDate: Mon Jul 9 20:57:19 2012 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 9 20:57:19 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=ee42e976
7
8 dev-cpp/eigen: version bump and more test fixes
9
10 ---
11 dev-cpp/eigen/ChangeLog | 9 +++
12 .../{eigen-3.0.5.ebuild => eigen-3.0.6-r1.ebuild} | 39 +++++++------
13 dev-cpp/eigen/eigen-3.1.0-r1.ebuild | 1 +
14 dev-cpp/eigen/eigen-9999.ebuild | 58 +++++++++++++-------
15 dev-cpp/eigen/metadata.xml | 17 ++++---
16 5 files changed, 80 insertions(+), 44 deletions(-)
17
18 diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog
19 index 1b01212..9f17a2e 100644
20 --- a/dev-cpp/eigen/ChangeLog
21 +++ b/dev-cpp/eigen/ChangeLog
22 @@ -2,6 +2,15 @@
23 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
24 # $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.44 2011/03/25 16:01:28 jlec Exp $
25
26 +*eigen-3.1.0-r1 (09 Jul 2012)
27 +*eigen-3.0.6-r1 (09 Jul 2012)
28 +
29 + 09 Jul 2012; Sébastien Fabbro <bicatali@g.o> -eigen-3.0.5.ebuild,
30 + +eigen-3.0.6-r1.ebuild, -eigen-3.1.0.ebuild, +eigen-3.1.0-r1.ebuild,
31 + eigen-9999.ebuild, metadata.xml:
32 + now can really build for tests, remove lapack (not yet complete). Revision
33 + bump to avoid possible conflict with main tree. Merge 3.1 and live ebuild
34 +
35 *eigen-3.1.0 (29 Jun 2012)
36
37 29 Jun 2012; Sebastien Fabbro <fabbros@g.o> -eigen-3.0.4.ebuild,
38
39 diff --git a/dev-cpp/eigen/eigen-3.0.5.ebuild b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild
40 similarity index 65%
41 rename from dev-cpp/eigen/eigen-3.0.5.ebuild
42 rename to dev-cpp/eigen/eigen-3.0.6-r1.ebuild
43 index 57a9557..c98fb2e 100644
44 --- a/dev-cpp/eigen/eigen-3.0.5.ebuild
45 +++ b/dev-cpp/eigen/eigen-3.0.6-r1.ebuild
46 @@ -1,17 +1,17 @@
47 -# Copyright 1999-2011 Gentoo Foundation
48 +# Copyright 1999-2012 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: $
51
52 EAPI=4
53
54 -inherit cmake-utils alternatives-2
55 +inherit cmake-utils alternatives-2 fortran-2 multilib
56
57 DESCRIPTION="C++ template library for linear algebra"
58 HOMEPAGE="http://eigen.tuxfamily.org/"
59 SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
60
61 LICENSE="|| ( LGPL-3 GPL-2 )"
62 -KEYWORDS="~amd64 ~x86"
63 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
64 SLOT="3"
65 IUSE="adolc fortran fftw doc gmp sparse static-libs test"
66
67 @@ -19,38 +19,41 @@ CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
68 fftw? ( >=sci-libs/fftw-3 )
69 gmp? ( dev-libs/gmp dev-libs/mpfr )
70 sparse? ( dev-cpp/sparsehash
71 - sci-libs/cholmod
72 + sci-libs/cholmod[metis]
73 sci-libs/superlu
74 sci-libs/umfpack )"
75
76 -DEPEND="doc? ( app-doc/doxygen )
77 +DEPEND="doc? ( app-doc/doxygen[dot,latex] )
78 test? ( ${CDEPEND} )"
79
80 RDEPEND="!dev-cpp/eigen:0
81 ${CDEPEND}"
82
83 +pkg_setup() {
84 + use fortran && fortran-2_pkg_setup
85 +}
86 +
87 src_unpack() {
88 unpack ${A} && mv ${PN}* ${P}
89 }
90
91 src_configure() {
92 - #TOFIX: static-libs for blas are always built with PIC
93 - #TOFIX: BTL benchmarks
94 - #TOFIX: is it worth fixing all the automagic given no library is built?
95 + # TOFIX: static-libs for blas are always built with PIC
96 + # TOFIX: is it worth fixing all the automagic given no library is built?
97 mycmakeargs=(
98 -DEIGEN_BUILD_BTL=OFF
99 + $(cmake-utils_use test EIGEN_BUILD_TESTS)
100 + $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN)
101 )
102 CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
103 use fortran && FORTRAN_LIBS="blas" # lapack not ready yet
104 }
105
106 src_compile() {
107 - cmake-utils_src_compile
108 - pushd "${S}_build" > /dev/null
109 - use doc && emake doc
110 - use fortran && emake ${FORTRAN_LIBS}
111 - use test && emake buildtests
112 - popd > /dev/null
113 + local targets="${FORTRAN_LIBS}"
114 + use doc && targets+=" doc"
115 + use test && targets+=" buildtests"
116 + cmake-utils_src_compile ${targets}
117 }
118
119 src_install() {
120 @@ -62,17 +65,17 @@ src_install() {
121 cd "${CMAKE_BUILD_DIR}"/${x}
122 dolib.so lib${libname}.so
123 use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
124 - #TOFIX: lapack implementation needs a Requires: field in pc file.
125 - cat <<-EOF > ${libname}.pc
126 - prefix="${EPREFIX}"/usr
127 + cat > ${libname}.pc <<-EOF
128 + prefix=${EPREFIX}/usr
129 libdir=\${prefix}/$(get_libdir)
130 includedir=\${prefix}/include
131 Name: ${PN}
132 - Description: ${DESCRIPTION}
133 + Description: ${DESCRIPTION} ${x^^} implementation
134 Version: ${PV}
135 URL: ${HOMEPAGE}
136 Libs: -L\${libdir} -l${libname}
137 Libs.private: -lm
138 + $([[ ${x} == lapack ]] && echo "Requires: blas")
139 EOF
140 alternatives_for ${x} eigen 0 \
141 /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
142
143 diff --git a/dev-cpp/eigen/eigen-3.1.0-r1.ebuild b/dev-cpp/eigen/eigen-3.1.0-r1.ebuild
144 new file mode 120000
145 index 0000000..eafd774
146 --- /dev/null
147 +++ b/dev-cpp/eigen/eigen-3.1.0-r1.ebuild
148 @@ -0,0 +1 @@
149 +eigen-9999.ebuild
150 \ No newline at end of file
151
152 diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
153 index 61ea9cd..610c606 100644
154 --- a/dev-cpp/eigen/eigen-9999.ebuild
155 +++ b/dev-cpp/eigen/eigen-9999.ebuild
156 @@ -1,52 +1,71 @@
157 -# Copyright 1999-2011 Gentoo Foundation
158 +# Copyright 1999-2012 Gentoo Foundation
159 # Distributed under the terms of the GNU General Public License v2
160 # $Header: $
161
162 EAPI=4
163
164 -inherit cmake-utils alternatives-2 mercurial
165 +if [[ ${PV} == "9999" ]] ; then
166 + _SCM=mercurial
167 + EHG_REPO_URI="https://bitbucket.org/eigen/eigen"
168 + SRC_URI=""
169 + KEYWORDS=""
170 +else
171 + SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
172 + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
173 +fi
174 +
175 +inherit cmake-utils alternatives-2 fortran-2 multilib ${_SCM}
176
177 DESCRIPTION="C++ template library for linear algebra"
178 HOMEPAGE="http://eigen.tuxfamily.org/"
179 -EHG_REPO_URI="https://bitbucket.org/eigen/eigen"
180
181 LICENSE="|| ( LGPL-3 GPL-2 )"
182 -KEYWORDS=""
183 SLOT="3"
184 -IUSE="adolc fortran fftw doc gmp sparse static-libs test"
185 +IUSE="adolc doc fortran fftw gmp mkl sparse static-libs test"
186
187 +# TODO: support for pastix
188 CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
189 + fortran? ( virtual/fortran )
190 fftw? ( >=sci-libs/fftw-3 )
191 gmp? ( dev-libs/gmp dev-libs/mpfr )
192 + mkl? ( sci-libs/mkl )
193 sparse? ( dev-cpp/sparsehash
194 - sci-libs/cholmod
195 + sci-libs/cholmod[metis]
196 sci-libs/superlu
197 sci-libs/umfpack )"
198
199 -DEPEND="doc? ( app-doc/doxygen )
200 +DEPEND="doc? ( app-doc/doxygen[dot,latex] )
201 test? ( ${CDEPEND} )"
202
203 RDEPEND="!dev-cpp/eigen:0
204 ${CDEPEND}"
205
206 +pkg_setup() {
207 + use fortran && fortran-2_pkg_setup
208 +}
209 +
210 +src_unpack() {
211 + unpack ${A} && mv ${PN}* ${P}
212 +}
213 +
214 src_configure() {
215 - #TOFIX: static-libs for blas are always built with PIC
216 - #TOFIX: BTL benchmarks
217 - #TOFIX: is it worth fixing all the automagic given no library is built?
218 + # TOFIX: static-libs for blas are always built with PIC
219 + # TOFIX: is it worth fixing all the automagic given no library is built?
220 mycmakeargs=(
221 -DEIGEN_BUILD_BTL=OFF
222 + $(cmake-utils_use test EIGEN_BUILD_TESTS)
223 + $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN)
224 )
225 CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
226 - use fortran && FORTRAN_LIBS="blas lapack" # lapack not ready yet
227 + # lapack not ready yet?
228 + use fortran && FORTRAN_LIBS="blas"
229 }
230
231 src_compile() {
232 - cmake-utils_src_compile
233 - pushd "${S}_build" > /dev/null
234 - use doc && emake doc
235 - use fortran && emake ${FORTRAN_LIBS}
236 - use test && emake buildtests
237 - popd > /dev/null
238 + local targets="${FORTRAN_LIBS}"
239 + use doc && targets+=" doc"
240 + use test && targets+=" buildtests"
241 + cmake-utils_src_compile ${targets}
242 }
243
244 src_install() {
245 @@ -58,16 +77,17 @@ src_install() {
246 cd "${CMAKE_BUILD_DIR}"/${x}
247 dolib.so lib${libname}.so
248 use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
249 - cat <<-EOF > ${libname}.pc
250 + cat > ${libname}.pc <<-EOF
251 prefix=${EPREFIX}/usr
252 libdir=\${prefix}/$(get_libdir)
253 includedir=\${prefix}/include
254 Name: ${PN}
255 - Description: ${DESCRIPTION}
256 + Description: ${DESCRIPTION} ${x^^} implementation
257 Version: ${PV}
258 URL: ${HOMEPAGE}
259 Libs: -L\${libdir} -l${libname}
260 Libs.private: -lm
261 + $([[ ${x} == lapack ]] && echo "Requires: blas")
262 EOF
263 alternatives_for ${x} eigen 0 \
264 /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
265
266 diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
267 index a658022..6e9235c 100644
268 --- a/dev-cpp/eigen/metadata.xml
269 +++ b/dev-cpp/eigen/metadata.xml
270 @@ -1,17 +1,20 @@
271 <?xml version="1.0" encoding="UTF-8"?>
272 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
273 <pkgmetadata>
274 - <herd>sci</herd>
275 - <herd>kde</herd>
276 - <longdescription lang="en">
277 +<herd>sci</herd>
278 +<longdescription lang="en">
279 Eigen is a lightweight C++ template library for vector and matrix math,
280 a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen
281 focuses on the simple mathematical needs of applications: games and other
282 OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to
283 providing optimal speed with GCC.
284 </longdescription>
285 - <use>
286 - <flag name="adolc">Enable use for automatic differentiation using <pkg>sci-libs/adolc</pkg></flag>
287 - <flag name="sparse">Enable use for extra sparse matrix with <pkg>sci-libs/umfpack</pkg>, <pkg>sci-libs/cholmod</pkg>, <pkg>sci-libs/superlu</pkg> and <pkg>dev-cpp/sparsehash</pkg></flag>
288 - </use>
289 +<use>
290 + <flag name="adolc">
291 + Enable use for automatic differentiation using <pkg>sci-libs/adolc</pkg>
292 + </flag>
293 + <flag name="sparse">
294 + Enable use for extra sparse matrix with <pkg>sci-libs/umfpack</pkg>, <pkg>sci-libs/cholmod</pkg>, <pkg>sci-libs/superlu</pkg> and <pkg>dev-cpp/sparsehash</pkg>
295 + </flag>
296 +</use>
297 </pkgmetadata>