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> |