Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: dev-cpp/eigen/
Date: Fri, 04 Dec 2015 07:01:17
Message-Id: 1449178103.04bf3cc14a5cf162b7f361e6fcbb4c9f01068ce8.jlec@gentoo
1 commit: 04bf3cc14a5cf162b7f361e6fcbb4c9f01068ce8
2 Author: Ted Tanberry <ted.tanberry <AT> gmail <DOT> com>
3 AuthorDate: Thu Dec 3 21:28:23 2015 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 3 21:28:23 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=04bf3cc1
7
8 dev-cpp/eigen: version bump to 3.2.7
9
10 Package-Manager: portage-2.2.26
11
12 dev-cpp/eigen/ChangeLog | 5 ++
13 dev-cpp/eigen/eigen-3.2.7.ebuild | 116 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 121 insertions(+)
15
16 diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog
17 index bfb9224..cd01f65 100644
18 --- a/dev-cpp/eigen/ChangeLog
19 +++ b/dev-cpp/eigen/ChangeLog
20 @@ -2,6 +2,11 @@
21 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
22 # $Id$
23
24 +*eigen-3.2.7 (03 Dec 2015)
25 +
26 + 03 Dec 2015; Ted Tanberry <ted.tanberry@×××××.com> +eigen-3.2.7.ebuild:
27 + dev-cpp/eigen: version bump to 3.2.7
28 +
29 *eigen-3.2.4 (16 Apr 2015)
30
31 16 Apr 2015; Justin Lecher <jlec@g.o> +eigen-3.2.4.ebuild,
32
33 diff --git a/dev-cpp/eigen/eigen-3.2.7.ebuild b/dev-cpp/eigen/eigen-3.2.7.ebuild
34 new file mode 100644
35 index 0000000..cf14779
36 --- /dev/null
37 +++ b/dev-cpp/eigen/eigen-3.2.7.ebuild
38 @@ -0,0 +1,116 @@
39 +# Copyright 1999-2015 Gentoo Foundation
40 +# Distributed under the terms of the GNU General Public License v2
41 +# $Id$
42 +
43 +EAPI=5
44 +
45 +FORTRAN_NEEDED=fortran
46 +
47 +if [[ ${PV} == "9999" ]] ; then
48 + inherit mercurial
49 + EHG_REPO_URI="https://bitbucket.org/eigen/eigen"
50 + SRC_URI=""
51 + KEYWORDS=""
52 +else
53 + inherit vcs-snapshot
54 + SRC_URI="
55 + https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2
56 + https://bitbucket.org/eigen/eigen/commits/1d71b1341c03a7c485289be2c8bd906a259c0487/raw/ -> ${P}-cmake.patch
57 + "
58 + PATCHES=( "${DISTDIR}"/${P}-cmake.patch )
59 + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
60 +fi
61 +
62 +inherit alternatives-2 cmake-utils fortran-2 multilib numeric
63 +
64 +DESCRIPTION="C++ template library for linear algebra"
65 +HOMEPAGE="http://eigen.tuxfamily.org/"
66 +
67 +SLOT="3"
68 +LICENSE="MPL-2.0"
69 +IUSE="adolc doc fortran fftw gmp metis mkl pastix sparse static-libs test"
70 +
71 +CDEPEND="
72 + adolc? ( sci-libs/adolc[sparse?] )
73 + fftw? ( sci-libs/fftw:3.0 )
74 + gmp? ( dev-libs/gmp:0 dev-libs/mpfr:0 )
75 + metis? ( sci-libs/metis )
76 + mkl? ( sci-libs/mkl )
77 + pastix? ( sci-libs/pastix )
78 + sparse? (
79 + dev-cpp/sparsehash
80 + sci-libs/cholmod[metis?]
81 + sci-libs/spqr
82 + sci-libs/superlu
83 + sci-libs/umfpack )"
84 +DEPEND="
85 + doc? ( app-doc/doxygen[dot,latex] )
86 + test? ( ${CDEPEND} )"
87 +
88 +RDEPEND="
89 + !dev-cpp/eigen:0
90 + ${CDEPEND}"
91 +
92 +src_prepare() {
93 + sed -i \
94 + -e "s:/usr:${EPREFIX}/usr:g" \
95 + -e "s:/bin/bash:${EPREFIX}/bin/bash:g" \
96 + cmake/*.cmake || die
97 + sed -i \
98 + -e "/DESTINATION/s:lib:$(get_libdir):g" \
99 + {blas,lapack}/CMakeLists.txt || die
100 +
101 + # TOFIX: static-libs for blas are always built with PIC
102 + use static-libs || sed -i \
103 + -e "/add_dependencies/s/eigen_[a-z]*_static//g" \
104 + -e "/TARGETS/s/eigen_[a-z]*_static//g" \
105 + -e "/add_library(eigen_[a-z]*_static/d" \
106 + -e "/target_link_libraries(eigen_[a-z]*_static/d" \
107 + {blas,lapack}/CMakeLists.txt || die
108 +
109 + sed -i -e "/Unknown build type/d" CMakeLists.txt || die
110 +
111 + cmake-utils_src_prepare
112 +}
113 +
114 +src_configure() {
115 + # TOFIX: is it worth fixing all the automagic given no library is built?
116 + # cmake has buggy disable_testing feature, so leave it for now
117 + local mycmakeargs=(
118 + -DDART_TESTING_TIMEOUT=300
119 + -DEIGEN_BUILD_BTL=OFF
120 + )
121 + export VARTEXFONTS="${T}/fonts"
122 + cmake-utils_src_configure
123 + # use fortran && FORTRAN_LIBS="blas lapack" not ready
124 + use fortran && FORTRAN_LIBS="blas"
125 +}
126 +
127 +src_compile() {
128 + local targets="${FORTRAN_LIBS}"
129 + use doc && targets+=" doc"
130 + use test && targets+=" check"
131 + cmake-utils_src_compile ${targets}
132 +}
133 +
134 +src_install() {
135 + cmake-utils_src_install
136 + use doc && dohtml -r "${BUILD_DIR}"/doc/html/*
137 + local x
138 + for x in ${FORTRAN_LIBS}; do
139 + local libname="eigen_${x}"
140 + emake DESTDIR="${D}" -C "${BUILD_DIR}/${x}" install ${libname}
141 + create_pkgconfig \
142 + --description "${DESCRIPTION} ${x^^} implementation" \
143 + --libs "-L\${libdir} -l${libname}" \
144 + --libs-private "-lm" \
145 + $([[ ${x} == lapack ]] && echo "--requires 'blas'") \
146 + ${libname}
147 + alternatives_for ${x} eigen 0 \
148 + /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc
149 + done
150 +
151 + # Debian installs it and some projects started using it.
152 + insinto /usr/share/cmake/Modules/
153 + doins "${S}/cmake/FindEigen3.cmake"
154 +}