Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/shogun/files/, sci-libs/shogun/
Date: Sat, 04 Feb 2017 21:07:27
Message-Id: 1486242433.9d87880e06967309bde9877094080884b7d9c9ec.soap@gentoo
1 commit: 9d87880e06967309bde9877094080884b7d9c9ec
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 4 21:02:10 2017 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 4 21:07:13 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d87880e
7
8 sci-libs/shogun: Remove old
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11 Closes: https://github.com/gentoo/gentoo/pull/3782
12
13 sci-libs/shogun/Manifest | 1 -
14 sci-libs/shogun/files/shogun-4.1.0-eigen-3.3.patch | 190 ---------------------
15 .../files/shogun-4.1.0-fix-buildsystem.patch | 81 ---------
16 sci-libs/shogun/shogun-4.1.0.ebuild | 129 --------------
17 4 files changed, 401 deletions(-)
18
19 diff --git a/sci-libs/shogun/Manifest b/sci-libs/shogun/Manifest
20 index b92de5f..b827f90 100644
21 --- a/sci-libs/shogun/Manifest
22 +++ b/sci-libs/shogun/Manifest
23 @@ -1,3 +1,2 @@
24 -DIST shogun-4.1.0.tar.bz2 2908955 SHA256 0eb313a95606edee046768a4577d63f32f7ccce340bed7bf0ff0d69225567185 SHA512 01950d5186a94735df5331752e1b97a5464015973ddba38a70bc977f9872b3aad02b162ae87919631cce56d1f10b0bea1fa7b463bf959816e5a15a726214f52a WHIRLPOOL 300bd0d887fe8ee4a1ac2aca7f3fbaebd4344dcffe2b20f9b5bb05e83d6973e8a98e54a216d99329c03eea2c02666c557a3c50ff7e11556298d119b8c262f762
25 DIST shogun-5.0.0.tar.bz2 2448509 SHA256 e82c6a58db9db6624192b018750b0e41f793481791fdc9a6d328bf278d0ae70d SHA512 fa8d9dee4596acce12022540a6927cbdb62e08f8468c8be3790de07ebf3a53055032bcc532b28334ca83284c38f2b0153602634f12bafe4019acb9121b9ff236 WHIRLPOOL 532058c44680909f3717785035c13fb3cf48efec22924101975d80990cb2a9e151814c673ad1a03fa33e363abbaf21fc9edc99d7d25686cc67e907547217bf69
26 DIST shogun-data-0.9.tar.bz2 287533841 SHA256 691dd37ccc9bdd4f56d6b7a8e061e80567c241219d70210f8148bc4b7b815559 SHA512 ab501640e2db650603899c857866b451fac5c7bbbc7b4ef98559581928869cea49aa326dfca1bb398eee7ebc8843dcc8ee3105c9f462718f1af672aac6b9340a WHIRLPOOL 19aa7a6d84be9ac7d8aaf7fb12747e17e0ba5a7ec8770b83cc1833b07cd1c6c397684a96eb8ebe709d544967ffaf23bcfbeea52dc8ddedf487fcf54a6d2b3ef7
27
28 diff --git a/sci-libs/shogun/files/shogun-4.1.0-eigen-3.3.patch b/sci-libs/shogun/files/shogun-4.1.0-eigen-3.3.patch
29 deleted file mode 100644
30 index ed57cec..00000000
31 --- a/sci-libs/shogun/files/shogun-4.1.0-eigen-3.3.patch
32 +++ /dev/null
33 @@ -1,190 +0,0 @@
34 -From 57cd0958b153accf12f535ab9406dc8511bf22ec Mon Sep 17 00:00:00 2001
35 -From: Viktor Gal <viktor.gal@×××××.com>
36 -Date: Wed, 18 May 2016 06:35:28 +0200
37 -Subject: [PATCH] Fixing eigen 3.3 related errors
38 -
39 -porting fix for #3141 from lisitsyn/tapkee@7c74473d12809e4122527b6e003c74a942d8a25c
40 -fix #3140: provide a workaround for the eigen bug for calculating log of mapped matrices
41 ----
42 - src/shogun/lib/tapkee/defines.hpp | 4 +--
43 - src/shogun/mathematics/eigen3.h | 7 +++++
44 - .../logdet/opfunc/DenseMatrixExactLog.cpp | 5 ++++
45 - .../SerialComputationEngine_unittest.cc | 5 ++++
46 - .../linalg/DenseExactLogJob_unittest.cc | 5 ++++
47 - .../linalg/RationalApproximation_unittest.cc | 10 ++++++++
48 - .../linalg/SparseMatrixOperator_unittest.cc | 30 ++++++++++++----------
49 - 7 files changed, 51 insertions(+), 15 deletions(-)
50 -
51 -diff --git a/src/shogun/lib/tapkee/defines.hpp b/src/shogun/lib/tapkee/defines.hpp
52 -index fd02636..1be45fe 100644
53 ---- a/src/shogun/lib/tapkee/defines.hpp
54 -+++ b/src/shogun/lib/tapkee/defines.hpp
55 -@@ -49,12 +49,12 @@ namespace tapkee
56 - TapkeeOutput(const tapkee::DenseMatrix& e, const tapkee::ProjectingFunction& p) :
57 - embedding(), projection(p)
58 - {
59 -- embedding.swap(e);
60 -+ embedding = e;
61 - }
62 - TapkeeOutput(const TapkeeOutput& that) :
63 - embedding(), projection(that.projection)
64 - {
65 -- this->embedding.swap(that.embedding);
66 -+ this->embedding = that.embedding;
67 - }
68 - tapkee::DenseMatrix embedding;
69 - tapkee::ProjectingFunction projection;
70 -diff --git a/src/shogun/mathematics/eigen3.h b/src/shogun/mathematics/eigen3.h
71 -index 0fb8522..734be6c 100644
72 ---- a/src/shogun/mathematics/eigen3.h
73 -+++ b/src/shogun/mathematics/eigen3.h
74 -@@ -61,6 +61,13 @@
75 -
76 - #endif //EIGEN_VERSION_AT_LEAST(3,0,93)
77 -
78 -+#if ((EIGEN_WORLD_VERSION == 3) && (EIGEN_MAJOR_VERSION == 2) && \
79 -+ ((EIGEN_MINOR_VERSION == 91) || (EIGEN_MINOR_VERSION == 92)))
80 -+ // Regression has been introduced to eigen develop (3.3alpha1+):
81 -+ // http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1229
82 -+ // until this is not fixed we need to copy the matrix and calculate the log
83 -+ #define EIGEN_WITH_LOG_BUG_1229 1
84 -+#endif
85 - namespace shogun
86 - {
87 - template<class T> class SGSparseMatrix;
88 -diff --git a/src/shogun/mathematics/linalg/ratapprox/logdet/opfunc/DenseMatrixExactLog.cpp b/src/shogun/mathematics/linalg/ratapprox/logdet/opfunc/DenseMatrixExactLog.cpp
89 -index a7918e6..1002a6c 100644
90 ---- a/src/shogun/mathematics/linalg/ratapprox/logdet/opfunc/DenseMatrixExactLog.cpp
91 -+++ b/src/shogun/mathematics/linalg/ratapprox/logdet/opfunc/DenseMatrixExactLog.cpp
92 -@@ -62,7 +62,12 @@ void CDenseMatrixExactLog::precompute()
93 - Map<MatrixXd> mat(m.matrix, m.num_rows, m.num_cols);
94 - SGMatrix<float64_t> log_m(m.num_rows, m.num_cols);
95 - Map<MatrixXd> log_mat(log_m.matrix, log_m.num_rows, log_m.num_cols);
96 -+#if EIGEN_WITH_LOG_BUG_1229
97 -+ MatrixXd tmp = mat;
98 -+ log_mat=tmp.log();
99 -+#else
100 - log_mat=mat.log();
101 -+#endif
102 -
103 - // the log(C) is also a linear operator here
104 - // reset the operator of this function with log(C)
105 -diff --git a/tests/unit/lib/computation/SerialComputationEngine_unittest.cc b/tests/unit/lib/computation/SerialComputationEngine_unittest.cc
106 -index c41a69a..7f96df1 100644
107 ---- a/tests/unit/lib/computation/SerialComputationEngine_unittest.cc
108 -+++ b/tests/unit/lib/computation/SerialComputationEngine_unittest.cc
109 -@@ -40,7 +40,12 @@ TEST(SerialComputationEngine, dense_log_det)
110 - mat(1,1)=3.0;
111 - Map<MatrixXd> m(mat.matrix, mat.num_rows, mat.num_cols);
112 - Map<MatrixXd> log_m(log_mat.matrix, log_mat.num_rows, log_mat.num_cols);
113 -+#if EIGEN_WITH_LOG_BUG_1229
114 -+ MatrixXd tmp = m;
115 -+ log_m=tmp.log();
116 -+#else
117 - log_m=m.log();
118 -+#endif
119 -
120 - // create linear operator and aggregator
121 - CDenseMatrixOperator<float64_t>* log_op=new CDenseMatrixOperator<float64_t>(log_mat);
122 -diff --git a/tests/unit/mathematics/linalg/DenseExactLogJob_unittest.cc b/tests/unit/mathematics/linalg/DenseExactLogJob_unittest.cc
123 -index a5a12cf..60daf40 100644
124 ---- a/tests/unit/mathematics/linalg/DenseExactLogJob_unittest.cc
125 -+++ b/tests/unit/mathematics/linalg/DenseExactLogJob_unittest.cc
126 -@@ -38,7 +38,12 @@ TEST(DenseExactLogJob, log_det)
127 - mat(1,1)=3.0;
128 - Map<MatrixXd> m(mat.matrix, mat.num_rows, mat.num_cols);
129 - Map<MatrixXd> log_m(log_mat.matrix, log_mat.num_rows, log_mat.num_cols);
130 -+#if EIGEN_WITH_LOG_BUG_1229
131 -+ MatrixXd tmp = m;
132 -+ log_m=tmp.log();
133 -+#else
134 - log_m=m.log();
135 -+#endif
136 -
137 - // create linear operator and aggregator
138 - CDenseMatrixOperator<float64_t>* log_op=new CDenseMatrixOperator<float64_t>(log_mat);
139 -diff --git a/tests/unit/mathematics/linalg/RationalApproximation_unittest.cc b/tests/unit/mathematics/linalg/RationalApproximation_unittest.cc
140 -index f401d06..682ed66 100644
141 ---- a/tests/unit/mathematics/linalg/RationalApproximation_unittest.cc
142 -+++ b/tests/unit/mathematics/linalg/RationalApproximation_unittest.cc
143 -@@ -182,7 +182,12 @@ TEST(RationalApproximation, trace_accuracy)
144 - #if EIGEN_VERSION_AT_LEAST(3,1,0)
145 - // compute the trace of log(m) using Eigen3 that uses Schur-Parlett algorithm
146 - Map<MatrixXd> eig_m(m.matrix, m.num_rows, m.num_cols);
147 -+#if EIGEN_WITH_LOG_BUG_1229
148 -+ MatrixXd tmp = eig_m;
149 -+ float64_t trace_log_m=tmp.log().diagonal().sum();
150 -+#else
151 - float64_t trace_log_m=eig_m.log().diagonal().sum();
152 -+#endif
153 - #else
154 - float64_t trace_log_m=-11.51292546497021618279;
155 - #endif // EIGEN_VERSION_AT_LEAST(3,1,0)
156 -@@ -364,7 +369,12 @@ TEST(RationalApproximation, trace_accuracy_cg_m)
157 - #if EIGEN_VERSION_AT_LEAST(3,1,0)
158 - // compute the trace of log(m) using Eigen3 that uses Schur-Parlett algorithm
159 - Map<MatrixXd> eig_m(m.matrix, m.num_rows, m.num_cols);
160 -+#if EIGEN_WITH_LOG_BUG_1229
161 -+ MatrixXd tmp = eig_m;
162 -+ float64_t trace_log_m=tmp.log().diagonal().sum();
163 -+#else
164 - float64_t trace_log_m=eig_m.log().diagonal().sum();
165 -+#endif
166 - #else
167 - float64_t trace_log_m=-11.51292546497021618279;
168 - #endif // EIGEN_VERSION_AT_LEAST(3,1,0)
169 -diff --git a/tests/unit/mathematics/linalg/SparseMatrixOperator_unittest.cc b/tests/unit/mathematics/linalg/SparseMatrixOperator_unittest.cc
170 -index 4d30724..9d171cc 100644
171 ---- a/tests/unit/mathematics/linalg/SparseMatrixOperator_unittest.cc
172 -+++ b/tests/unit/mathematics/linalg/SparseMatrixOperator_unittest.cc
173 -@@ -219,33 +219,37 @@ TEST(SparseMatrixOperator, get_set_diagonal_realloc_complex128)
174 -
175 - TEST(SparseMatrixOperator, get_sparsity_structure)
176 - {
177 -- const int size=9;
178 -- const int max_pow=10;
179 -+ const int32_t size=9;
180 -+ const int32_t max_pow=10;
181 -
182 -- SGMatrix<double> m(size, size);
183 -+ SGMatrix<float64_t> m(size, size);
184 -
185 - m.set_const(0.0);
186 -- for (int i=0; i<size; ++i)
187 -+ for (int32_t i=0; i<size; ++i)
188 - m(i,i)=2.0;
189 -- for (int i=0; i<size; i+=4)
190 -+ for (int32_t i=0; i<size; i+=4)
191 - m(i,size-1)=2.0;
192 -- for (int i=0; i<size; i+=4)
193 -+ for (int32_t i=0; i<size; i+=4)
194 - m(size-1,i)=2.0;
195 -
196 -- CSparseFeatures<double> feat(m);
197 -- SGSparseMatrix<double> sm=feat.get_sparse_feature_matrix();
198 -- CSparseMatrixOperator<double> op(sm);
199 -+ CSparseFeatures<float64_t> feat(m);
200 -+ SGSparseMatrix<float64_t> sm=feat.get_sparse_feature_matrix();
201 -+ CSparseMatrixOperator<float64_t> op(sm);
202 - CSparseMatrixOperator<bool>* b_op
203 - =static_cast<CSparseMatrixOperator<bool>*>(op);
204 -
205 -- SparseMatrix<bool, RowMajor, int> sp
206 -+ SparseMatrix<bool, RowMajor, int32_t> sp
207 - =EigenSparseUtil<bool>::toEigenSparse(b_op->get_matrix_operator());
208 -- SparseMatrix<double, RowMajor, int> sm2
209 -- =EigenSparseUtil<double>::toEigenSparse(sm);
210 -+ SparseMatrix<float64_t, RowMajor, int32_t> sm2
211 -+ =EigenSparseUtil<float64_t>::toEigenSparse(sm);
212 -
213 - // compute direct matrix power and then the sparsity structure
214 -- for (int i=2; i<=max_pow; ++i)
215 -+ for (int32_t i=2; i<=max_pow; ++i)
216 -+#if EIGEN_VERSION_AT_LEAST(3,2,91)
217 -+ sp=(sp.cast<float64_t>()*sm2).cast<bool>();
218 -+#else
219 - sp=sp*sm2;
220 -+#endif
221 -
222 - int32_t* outerIndexPtr=const_cast<int32_t*>(sp.outerIndexPtr());
223 - int32_t* innerIndexPtr=const_cast<int32_t*>(sp.innerIndexPtr());
224
225 diff --git a/sci-libs/shogun/files/shogun-4.1.0-fix-buildsystem.patch b/sci-libs/shogun/files/shogun-4.1.0-fix-buildsystem.patch
226 deleted file mode 100644
227 index e244c94..00000000
228 --- a/sci-libs/shogun/files/shogun-4.1.0-fix-buildsystem.patch
229 +++ /dev/null
230 @@ -1,81 +0,0 @@
231 -Remove CFLAGS/CXXFLAGS setting which is not desired in Gentoo
232 -
233 ---- shogun-4.1.0/cmake/FindAtlas.cmake
234 -+++ shogun-4.1.0/cmake/FindAtlas.cmake
235 -@@ -20,10 +20,10 @@
236 - endif()
237 - unset(CMAKE_REQUIRED_LIBRARIES CACHE)
238 - else()
239 -- find_file(ATLAS_LAPACK liblapack.so.3 PATHS /usr/lib/atlas /usr/lib64/atlas)
240 -- find_library(ATLAS_LAPACK NAMES lapack)
241 -- set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} ${ATLAS_CBLAS})
242 -- check_library_exists("${ATLAS_LAPACK}" clapack_dpotrf "" FOUND_CLAPACK)
243 -+ # find_file(ATLAS_LAPACK liblapack.so.3 PATHS /usr/lib/atlas /usr/lib64/atlas)
244 -+ # find_library(ATLAS_LAPACK NAMES lapack)
245 -+ # set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} ${ATLAS_CBLAS})
246 -+ check_library_exists("${ATLAS_LIBRARIES}" clapack_dpotrf "" FOUND_CLAPACK)
247 - if(NOT FOUND_CLAPACK)
248 - unset(ATLAS_LAPACK CACHE)
249 - endif()
250 ---- shogun-4.1.0/CMakeLists.txt
251 -+++ shogun-4.1.0/CMakeLists.txt
252 -@@ -23,15 +23,6 @@
253 - SET(EIGEN_VERSION_MINIMUM 3.1.2)
254 - SET(VIENNACL_VERSION_MINIMUM 1.5.0)
255 -
256 --# Store system's or distribution's C[XX]FLAGS.
257 --SET(SYSTEM_C_FLAGS "${CMAKE_C_FLAGS}")
258 --SET(SYSTEM_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
259 --STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UC)
260 --IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
261 -- SET(CMAKE_C_FLAGS "")
262 -- SET(CMAKE_CXX_FLAGS "")
263 --ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
264 --
265 - # CCACHE
266 - OPTION(ENABLE_CCACHE "Enable ccache for compilation" ON)
267 - FIND_PACKAGE(CCache)
268 -@@ -145,20 +136,8 @@
269 - SET(COMPILER_WARNINGS "-Wall -Wno-unused-parameter -Wformat -Wformat-security -Wparentheses -Wshadow -Wno-unknown-pragmas -Wno-deprecated")
270 - ENDIF()
271 -
272 --IF(CMAKE_COMPILER_IS_GNUCXX)
273 -- SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops -mfpmath=sse")
274 --ELSEIF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
275 -- SET(RELEASE_COMPILER_FLAGS "-funroll-loops")
276 --ENDIF()
277 --SET(SWIG_CXX_COMPILER_FLAGS "-O0 -g")
278 - SET(CMAKE_C_FLAGS "${COMPILER_WARNINGS} ${CMAKE_C_FLAGS}")
279 - SET(CMAKE_CXX_FLAGS "${COMPILER_WARNINGS} ${CMAKE_CXX_FLAGS}")
280 --SET(CMAKE_C_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
281 --SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
282 --SET(CMAKE_C_FLAGS_DISTRIBUTION "-O2")
283 --SET(CMAKE_CXX_FLAGS_DISTRIBUTION "-O2")
284 --SET(CMAKE_C_FLAGS_DEBUG "-g")
285 --SET(CMAKE_CXX_FLAGS_DEBUG "-g")
286 -
287 - OPTION(ENABLE_COVERAGE "Enable code coverage" OFF)
288 - IF(ENABLE_COVERAGE)
289 -@@ -881,21 +860,7 @@
290 - OPTION(USE_SWIG_DIRECTORS "Enable SWIG director classes" OFF)
291 -
292 - # Respect system's or distribution's C[XX]FLAGS.
293 --OPTION(SWIG_WITH_SYSTEM_CFLAGS "Enable system's C[XX]FLAGS for compilation of swig-binaries" ON)
294 --
295 --IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
296 -- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SYSTEM_C_FLAGS}")
297 -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SYSTEM_CXX_FLAGS}")
298 --ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
299 --
300 --IF(SWIG_WITH_SYSTEM_CFLAGS)
301 -- SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} ${SYSTEM_CXX_FLAGS}")
302 --ENDIF(SWIG_WITH_SYSTEM_CFLAGS)
303 --
304 --OPTION(REDUCE_SWIG_DEBUG "Reduce debuginfo when compiling interfaces" OFF)
305 --IF(REDUCE_SWIG_DEBUG)
306 -- SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} -g1")
307 --ENDIF(REDUCE_SWIG_DEBUG)
308 -+SET(SWIG_CXX_COMPILER_FLAGS "${CMAKE_CXX_FLAGS}")
309 -
310 - # python modular
311 - IF (PythonModular OR PythonStatic)
312
313 diff --git a/sci-libs/shogun/shogun-4.1.0.ebuild b/sci-libs/shogun/shogun-4.1.0.ebuild
314 deleted file mode 100644
315 index 3f31f9d..00000000
316 --- a/sci-libs/shogun/shogun-4.1.0.ebuild
317 +++ /dev/null
318 @@ -1,129 +0,0 @@
319 -# Copyright 1999-2017 Gentoo Foundation
320 -# Distributed under the terms of the GNU General Public License v2
321 -# $Id$
322 -
323 -EAPI=6
324 -
325 -PYTHON_COMPAT=( python2_7 python3_{4,5} )
326 -
327 -inherit cmake-utils flag-o-matic python-single-r1 toolchain-funcs versionator
328 -
329 -MYPV=$(get_version_component_range 1-2)
330 -MYPD=${PN}-data-0.9
331 -
332 -DESCRIPTION="Large Scale Machine Learning Toolbox"
333 -HOMEPAGE="http://shogun-toolbox.org/"
334 -SRC_URI="
335 - ftp://shogun-toolbox.org/shogun/releases/${MYPV}/sources/${P}.tar.bz2
336 - test? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )
337 - examples? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )"
338 -
339 -LICENSE="GPL-3 free-noncomm"
340 -SLOT="0/16"
341 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
342 -IUSE="doc examples lua mono octave python R ruby static-libs test"
343 -
344 -REQUIRED_USE="
345 - python? ( ${PYTHON_REQUIRED_USE} )
346 - test? ( python )"
347 -
348 -RDEPEND="
349 - app-arch/bzip2:=
350 - app-arch/gzip:=
351 - app-arch/lzma:=
352 - app-arch/snappy:=
353 - dev-libs/lzo:=
354 - >=dev-cpp/eigen-3.1
355 - dev-libs/json-c:=
356 - dev-libs/libxml2:=
357 - dev-libs/protobuf:=
358 - net-misc/curl:=
359 - sci-libs/arpack:=
360 - sci-libs/arprec:=
361 - sci-libs/colpack:=
362 - sci-libs/hdf5:=
363 - sci-libs/nlopt:=
364 - sci-mathematics/glpk:=
365 - sci-mathematics/lpsolve:=
366 - sys-libs/readline:0
367 - sys-libs/zlib:=
368 - virtual/blas
369 - virtual/cblas
370 - virtual/lapack
371 - lua? ( dev-lang/lua:0 )
372 - mono? ( dev-lang/mono )
373 - octave? ( <sci-mathematics/octave-3.8.0[hdf5] )
374 - python? ( dev-python/numpy[${PYTHON_USEDEP}] )
375 - R? ( dev-lang/R )
376 - ruby? ( dev-ruby/narray )"
377 -
378 -DEPEND="${RDEPEND}
379 - virtual/pkgconfig
380 - doc? ( app-doc/doxygen[dot] )
381 - lua? ( >=dev-lang/swig-2.0.4 )
382 - mono? ( >=dev-lang/swig-2.0.4 )
383 - octave? ( >=dev-lang/swig-2.0.4 )
384 - python? ( >=dev-lang/swig-2.0.4 test? ( sci-libs/scipy ) )
385 - R? ( >=dev-lang/swig-2.0.4 )
386 - ruby? ( >=dev-lang/swig-2.0.4 )
387 - test? (
388 - dev-python/jinja[${PYTHON_USEDEP}]
389 - dev-cpp/gmock
390 - )"
391 -
392 -# javamodular needs jblas (painful to package properly)
393 -# permodular work in progress (as 3.2.0)
394 -# could actually support multiple pythons, multiple rubys
395 -# feel free to do work for it
396 -
397 -PATCHES=(
398 - "${FILESDIR}"/${P}-fix-buildsystem.patch
399 - "${FILESDIR}"/${P}-remove-C-linkage.patch
400 - "${FILESDIR}"/${P}-eigen-3.3.patch
401 -)
402 -
403 -pkg_setup() {
404 - use python && python-single-r1_pkg_setup
405 -}
406 -
407 -src_configure() {
408 - export ATLAS_LIBRARY="$($(tc-getPKG_CONFIG) --libs cblas lapack)"
409 - export CBLAS_LIBRARY="$($(tc-getPKG_CONFIG) --libs cblas)"
410 - export ATLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas cblas lapack)"
411 - export LAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
412 -
413 - append-cppflags "$($(tc-getPKG_CONFIG) --cflags cblas)"
414 -
415 - local mycmakeargs=(
416 - -DCMAKE_SKIP_INSTALL_RPATH=ON
417 - -DCMAKE_SKIP_RPATH=ON
418 - -DBUNDLE_ARPREC=OFF
419 - -DBUNDLE_COLPACK=OFF
420 - -DBUNDLE_EIGEN=OFF
421 - -DBUNDLE_JSON=OFF
422 - -DBUNDLE_NLOPT=OFF
423 - -DENABLE_COVERAGE=OFF
424 - -DJavaModular=OFF
425 - -DPerlModular=OFF
426 - -DLIB_INSTALL_DIR=$(get_libdir)
427 - -DLuaModular="$(usex lua)"
428 - -DCSharpModular="$(usex mono)"
429 - -DOctaveModular="$(usex octave)"
430 - -DOctaveStatic="$(usex octave)"
431 - -DPythonModular="$(usex python)"
432 - -DPythonStatic="$(usex python)"
433 - -DRModular="$(usex R)"
434 - -DRStatic="$(usex R)"
435 - -DRubyModular="$(usex ruby)"
436 - -DENABLE_TESTING="$(usex test)"
437 - -DBUILD_EXAMPLES="$(usex examples)"
438 - )
439 - cmake-utils_src_configure
440 - # gentoo bug #302621
441 - has_version sci-libs/hdf5[mpi] && export CXX=mpicxx CC=mpicc
442 -}
443 -
444 -src_compile() {
445 - cmake-utils_src_compile
446 - use doc && emake -C "${BUILD_DIR}"/doc
447 -}