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: Fri, 29 Jun 2012 00:27:11
Message-Id: 1340929605.6e42abef05166f8b5ff4b9c13acecfca56125da4.bicatali@gentoo
1 commit: 6e42abef05166f8b5ff4b9c13acecfca56125da4
2 Author: Sebastien Fabbro <sfabbro <AT> uvic <DOT> ca>
3 AuthorDate: Fri Jun 29 00:26:45 2012 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 29 00:26:45 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=6e42abef
7
8 dev-cpp/eigen: version bump
9
10 ---
11 dev-cpp/eigen/ChangeLog | 8 ++-
12 dev-cpp/eigen/eigen-3.0.4.ebuild | 82 --------------------
13 ...igen-3.1.0_alpha2.ebuild => eigen-3.1.0.ebuild} | 50 ++++++-------
14 3 files changed, 30 insertions(+), 110 deletions(-)
15
16 diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog
17 index 564da53..1b01212 100644
18 --- a/dev-cpp/eigen/ChangeLog
19 +++ b/dev-cpp/eigen/ChangeLog
20 @@ -1,7 +1,13 @@
21 # ChangeLog for dev-cpp/eigen
22 -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
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 (29 Jun 2012)
27 +
28 + 29 Jun 2012; Sebastien Fabbro <fabbros@g.o> -eigen-3.0.4.ebuild,
29 + -eigen-3.1.0_alpha2.ebuild, +eigen-3.1.0.ebuild:
30 + Version bump. Still work in progress, should be fine with -fortran
31 +
32 * eigen-3.1.0_alpha2 (25 Feb 2012)
33
34 25 Feb 2012; Andrea Arteaga <andyspiros@×××××.com> eigen-3.1.0_alpha2.ebuild
35
36 diff --git a/dev-cpp/eigen/eigen-3.0.4.ebuild b/dev-cpp/eigen/eigen-3.0.4.ebuild
37 deleted file mode 100644
38 index 57a9557..0000000
39 --- a/dev-cpp/eigen/eigen-3.0.4.ebuild
40 +++ /dev/null
41 @@ -1,82 +0,0 @@
42 -# Copyright 1999-2011 Gentoo Foundation
43 -# Distributed under the terms of the GNU General Public License v2
44 -# $Header: $
45 -
46 -EAPI=4
47 -
48 -inherit cmake-utils alternatives-2
49 -
50 -DESCRIPTION="C++ template library for linear algebra"
51 -HOMEPAGE="http://eigen.tuxfamily.org/"
52 -SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
53 -
54 -LICENSE="|| ( LGPL-3 GPL-2 )"
55 -KEYWORDS="~amd64 ~x86"
56 -SLOT="3"
57 -IUSE="adolc fortran fftw doc gmp sparse static-libs test"
58 -
59 -CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
60 - fftw? ( >=sci-libs/fftw-3 )
61 - gmp? ( dev-libs/gmp dev-libs/mpfr )
62 - sparse? ( dev-cpp/sparsehash
63 - sci-libs/cholmod
64 - sci-libs/superlu
65 - sci-libs/umfpack )"
66 -
67 -DEPEND="doc? ( app-doc/doxygen )
68 - test? ( ${CDEPEND} )"
69 -
70 -RDEPEND="!dev-cpp/eigen:0
71 - ${CDEPEND}"
72 -
73 -src_unpack() {
74 - unpack ${A} && mv ${PN}* ${P}
75 -}
76 -
77 -src_configure() {
78 - #TOFIX: static-libs for blas are always built with PIC
79 - #TOFIX: BTL benchmarks
80 - #TOFIX: is it worth fixing all the automagic given no library is built?
81 - mycmakeargs=(
82 - -DEIGEN_BUILD_BTL=OFF
83 - )
84 - CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
85 - use fortran && FORTRAN_LIBS="blas" # lapack not ready yet
86 -}
87 -
88 -src_compile() {
89 - cmake-utils_src_compile
90 - pushd "${S}_build" > /dev/null
91 - use doc && emake doc
92 - use fortran && emake ${FORTRAN_LIBS}
93 - use test && emake buildtests
94 - popd > /dev/null
95 -}
96 -
97 -src_install() {
98 - cmake-utils_src_install
99 - use doc && dohtml -r "${CMAKE_BUILD_DIR}"/doc/html/*
100 - local x
101 - for x in ${FORTRAN_LIBS}; do
102 - local libname="eigen_${x}"
103 - cd "${CMAKE_BUILD_DIR}"/${x}
104 - dolib.so lib${libname}.so
105 - use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
106 - #TOFIX: lapack implementation needs a Requires: field in pc file.
107 - cat <<-EOF > ${libname}.pc
108 - prefix="${EPREFIX}"/usr
109 - libdir=\${prefix}/$(get_libdir)
110 - includedir=\${prefix}/include
111 - Name: ${PN}
112 - Description: ${DESCRIPTION}
113 - Version: ${PV}
114 - URL: ${HOMEPAGE}
115 - Libs: -L\${libdir} -l${libname}
116 - Libs.private: -lm
117 - EOF
118 - alternatives_for ${x} eigen 0 \
119 - /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
120 - insinto /usr/$(get_libdir)/pkgconfig
121 - doins ${libname}.pc
122 - done
123 -}
124
125 diff --git a/dev-cpp/eigen/eigen-3.1.0_alpha2.ebuild b/dev-cpp/eigen/eigen-3.1.0.ebuild
126 similarity index 62%
127 rename from dev-cpp/eigen/eigen-3.1.0_alpha2.ebuild
128 rename to dev-cpp/eigen/eigen-3.1.0.ebuild
129 index a8f69ba..af3759a 100644
130 --- a/dev-cpp/eigen/eigen-3.1.0_alpha2.ebuild
131 +++ b/dev-cpp/eigen/eigen-3.1.0.ebuild
132 @@ -1,10 +1,10 @@
133 -# Copyright 1999-2011 Gentoo Foundation
134 +# Copyright 1999-2012 Gentoo Foundation
135 # Distributed under the terms of the GNU General Public License v2
136 # $Header: $
137
138 EAPI=4
139
140 -inherit cmake-utils alternatives-2
141 +inherit cmake-utils alternatives-2 fortran-2 multilib
142
143 DESCRIPTION="C++ template library for linear algebra"
144 HOMEPAGE="http://eigen.tuxfamily.org/"
145 @@ -13,46 +13,49 @@ MYPV=${PV/_/-}
146 SRC_URI="http://bitbucket.org/eigen/eigen/get/${MYPV}.tar.bz2 -> ${P}.tar.bz2"
147
148 LICENSE="|| ( LGPL-3 GPL-2 )"
149 -KEYWORDS=""
150 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
151 SLOT="3"
152 -IUSE="adolc fortran fftw doc gmp sparse static-libs test"
153 +IUSE="adolc doc fortran fftw gmp mkl sparse static-libs test"
154
155 +# TODO: support for pastix
156 CDEPEND="adolc? ( sci-libs/adolc[sparse?] )
157 fftw? ( >=sci-libs/fftw-3 )
158 gmp? ( dev-libs/gmp dev-libs/mpfr )
159 + mkl? ( sci-libs/mkl )
160 sparse? ( dev-cpp/sparsehash
161 - sci-libs/cholmod
162 + sci-libs/cholmod[metis]
163 sci-libs/superlu
164 sci-libs/umfpack )"
165
166 -DEPEND="doc? ( app-doc/doxygen )
167 +DEPEND="doc? ( app-doc/doxygen[dot,latex] )
168 test? ( ${CDEPEND} )"
169
170 RDEPEND="!dev-cpp/eigen:0
171 ${CDEPEND}"
172
173 +pkg_setup() {
174 + use fortran && fortran-2_pkg_setup
175 +}
176 +
177 src_unpack() {
178 unpack ${A} && mv ${PN}* ${P}
179 }
180
181 src_configure() {
182 - #TOFIX: static-libs for blas are always built with PIC
183 - #TOFIX: BTL benchmarks
184 - #TOFIX: is it worth fixing all the automagic given no library is built?
185 + # TOFIX: static-libs for blas are always built with PIC
186 + # TOFIX: BTL benchmarks
187 + # TOFIX: is it worth fixing all the automagic given no library is built?
188 mycmakeargs=(
189 -DEIGEN_BUILD_BTL=OFF
190 )
191 CMAKE_BUILD_TYPE="release" cmake-utils_src_configure
192 - use fortran && FORTRAN_LIBS="blas lapack" # lapack not ready yet
193 + use fortran && FORTRAN_LIBS="blas lapack"
194 }
195
196 src_compile() {
197 - cmake-utils_src_compile
198 - pushd "${S}_build" > /dev/null
199 - use doc && emake doc
200 - use fortran && emake ${FORTRAN_LIBS}
201 - use test && emake buildtests
202 - popd > /dev/null
203 + local targets="${FORTRAN_LIBS}"
204 + use doc && targets+=" doc"
205 + cmake-utils_src_compile ${targets}
206 }
207
208 src_install() {
209 @@ -64,24 +67,17 @@ src_install() {
210 cd "${CMAKE_BUILD_DIR}"/${x}
211 dolib.so lib${libname}.so
212 use static-libs && newlib.a lib${libname}_static.a lib${libname}.a
213 -
214 - if [[ $x = "lapack" ]]; then
215 - requires="Requires: blas"
216 - else
217 - requires=""
218 - fi
219 -
220 - cat <<-EOF > ${libname}.pc
221 - prefix="${EPREFIX}"/usr
222 + cat > ${libname}.pc <<-EOF
223 + prefix=${EPREFIX}/usr
224 libdir=\${prefix}/$(get_libdir)
225 includedir=\${prefix}/include
226 Name: ${PN}
227 - Description: ${DESCRIPTION}
228 + Description: ${DESCRIPTION} ${x^^} implementation
229 Version: ${PV}
230 URL: ${HOMEPAGE}
231 Libs: -L\${libdir} -l${libname}
232 Libs.private: -lm
233 - ${requires}
234 + $([[ ${x} == lapack ]] && echo "Requires: blas")
235 EOF
236 alternatives_for ${x} eigen 0 \
237 /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc