forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: portage-2.3.3
- Loading branch information
Showing
2 changed files
with
142 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST armadillo-3.4.4.tar.gz 3006964 SHA256 ef94e12556421fa62ba7734f8b18bb12c188f43dd6192d3648a28e8d154e6ba7 SHA512 78fbb107b220d283a2404483ee38720fd8259bbf675d8753d706cc3c3ba9678d47412d156f24a4b3cc95e20ce3c935167e2f7657806b5b8e8b7c95938c4b3f3f WHIRLPOOL 2a1b6426b695569c10b13d3df1183c615fdb4261497eea405e61316a838a5744477db7bfd8344f25d741e69899f64a19c801bd068d366175a2c9898369090093 | ||
DIST armadillo-3.6.2.tar.gz 3016818 SHA256 04f64c632e619989616c7f219310a06cb1618b16274bdac05b4798d49eb4f149 SHA512 0c769caad012f7893cc8ebb46969179f1175edac638f98fd2a0898aed062f7456536eecd12c9720f77caf4859cd0049e00dd71c9f096458b5fd5ce9cea517c66 WHIRLPOOL 898c29f7d0a7b02658f8d95a528be7d321a7d15f95ada6a4296d9822ee873556a49ccaafcaca16cb25e4a05321fa91b9711d7790b0910464b653398fb6ce4738 | ||
DIST armadillo-6.200.3.tar.gz 5442342 SHA256 4e436704a3b0824be6286ffa7c71c91ef783699889fa0992897d446b7ed82b28 SHA512 598ba8be19971fc0e44703b17be922568e697c592ed85d0148c31f8476ecd7b5a0e6185918763bc063ba68244330b17594333c1453e9c1cfd39b9fefe85be222 WHIRLPOOL b774fd736a55c6bad44f26ed839ef7539784be494e9379b2c9fd7ff47363cfe304c23baedd24fa0c990fb94f73ce10db77a32dab77b2d6cc549e61ec83a6e33e | ||
DIST armadillo-7.500.2.tar.xz 3994336 SHA256 bdde22b47cc9718a05762300828ba4e086aa0527970e4ce08eb08677fb2623ea SHA512 1f73944fa26eec93973630a7f101ca875de8decf9cbd6d7f87431a43e855479d5e79775823ba2e97e8d2615902deebd98af65808a529af16d6f8d88de60703d3 WHIRLPOOL d7942fd945ad30263b1da2ba5818852c32ac0e42d78c520fd7ab13cc73bfd0f07c6505c85fb570bf74ae5a1c3ebe2a122ab3c72d8109cebd8d37493843f010df |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
|
||
CMAKE_IN_SOURCE_BUILD=1 | ||
|
||
inherit cmake-utils toolchain-funcs multilib eutils | ||
|
||
DESCRIPTION="Streamlined C++ linear algebra library" | ||
HOMEPAGE="http://arma.sourceforge.net/" | ||
SRC_URI="mirror://sourceforge/arma/${P}.tar.xz" | ||
|
||
LICENSE="MPL-2.0" | ||
SLOT="0/6" | ||
KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux" | ||
IUSE="arpack blas debug doc examples hdf5 lapack mkl tbb test" | ||
REQUIRED_USE="test? ( lapack )" | ||
|
||
RDEPEND=" | ||
dev-libs/boost | ||
arpack? ( sci-libs/arpack ) | ||
blas? ( virtual/blas ) | ||
lapack? ( virtual/lapack ) | ||
" | ||
# superlu? ( sci-libs/superlu ) | ||
# needs superlu-5 | ||
|
||
DEPEND="${RDEPEND} | ||
arpack? ( virtual/pkgconfig ) | ||
blas? ( virtual/pkgconfig ) | ||
hdf5? ( sci-libs/hdf5 ) | ||
lapack? ( virtual/pkgconfig ) | ||
mkl? ( sci-libs/mkl ) | ||
tbb? ( dev-cpp/tbb )" | ||
PDEPEND="${RDEPEND} | ||
hdf5? ( sci-libs/hdf5 ) | ||
mkl? ( sci-libs/mkl ) | ||
tbb? ( dev-cpp/tbb )" | ||
|
||
src_prepare() { | ||
# avoid the automagic cmake macros | ||
sed -i -e '/ARMA_Find/d' CMakeLists.txt || die | ||
cmake-utils_src_prepare | ||
} | ||
|
||
src_configure() { | ||
local mycmakeargs=( | ||
-DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" | ||
-DARMA_EXTRA_DEBUG="$(usex debug)" | ||
-DARMA_USE_MKL_ALLOC="$(usex mkl)" | ||
-DARMA_USE_TBB_ALLOC="$(usex tbb)" | ||
) | ||
if use arpack; then | ||
mycmakeargs+=( | ||
-DARPACK_FOUND=ON | ||
-DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)" | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DARPACK_FOUND=OFF | ||
) | ||
fi | ||
# if use atlas; then | ||
# local c=atlas-cblas l=atlas-clapack | ||
# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads | ||
# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads | ||
# mycmakeargs+=( | ||
# -DCBLAS_FOUND=ON | ||
# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')" | ||
# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})" | ||
# -DCLAPACK_FOUND=ON | ||
# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')" | ||
# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})" | ||
# ) | ||
# fi | ||
if use blas; then | ||
mycmakeargs+=( | ||
-DBLAS_FOUND=ON | ||
-DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)" | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DBLAS_FOUND=OFF | ||
) | ||
fi | ||
if use hdf5; then | ||
mycmakeargs+=( | ||
-DHDF5_FOUND=ON | ||
-DHDF5_LIBRARIES="-lhdf5" | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DHDF5_FOUND=OFF | ||
) | ||
fi | ||
if use lapack; then | ||
mycmakeargs+=( | ||
-DLAPACK_FOUND=ON | ||
-DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)" | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DLAPACK_FOUND=OFF | ||
) | ||
fi | ||
# if use superlu; then | ||
# mycmakeargs+=( | ||
# -DSuperLU_FOUND=ON | ||
# -DSuperLU_LIBRARIES="$($(tc-getPKG_CONFIG) --libs superlu)" | ||
# ) | ||
# else | ||
# mycmakeargs+=( | ||
# -DSuperLU_FOUND=OFF | ||
# ) | ||
# fi | ||
|
||
cmake-utils_src_configure | ||
} | ||
|
||
src_test() { | ||
pushd examples > /dev/null | ||
emake \ | ||
CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \ | ||
EXTRA_LIB_FLAGS="-L.. $($(tc-getPKG_CONFIG) --libs blas lapack)" | ||
LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die | ||
LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example2 || die | ||
emake clean | ||
popd > /dev/null | ||
} | ||
|
||
src_install() { | ||
cmake-utils_src_install | ||
dodoc README.txt | ||
use doc && dodoc *pdf && dohtml *html | ||
if use examples; then | ||
insinto /usr/share/examples/${PF} | ||
doins -r examples/* | ||
fi | ||
} |