sci-libs/armadillo: Version bump
authorMarius Brehler <marbre@linux.sungazer.de>
Wed, 26 Aug 2015 17:53:18 +0000 (19:53 +0200)
committerAndreas K. Huettel (dilfridge) <dilfridge@gentoo.org>
Tue, 1 Sep 2015 19:44:42 +0000 (21:44 +0200)
Package-Manager: portage-2.2.20

sci-libs/armadillo/Manifest
sci-libs/armadillo/armadillo-5.400.2.ebuild [new file with mode: 0644]

index 7dcbe9dfe78b3f0c07e706ece7ce8af243fb49e7..78ca0cf264963bfd50557d5ae5dc27e7feb6f481 100644 (file)
@@ -3,3 +3,4 @@ DIST armadillo-3.6.2.tar.gz 3016818 SHA256 04f64c632e619989616c7f219310a06cb1618
 DIST armadillo-4.650.4.tar.gz 5408567 SHA256 ccc56580ec932ec9beade5679b07ecbed889e9b602866f673d1a05a7692b4bf8 SHA512 a548150ba5484fce35b0bc6023982939946f2f00b733dff2cd5b46101b1c344342061389cb4363cdaa04c5e3cca3278a40febe2ed705316552dd71f841c46037 WHIRLPOOL 331493d8b9c92b9e1908880c6f6510edb12e93193a9ceb77d0b8ce9d0bfb493dc48e590ea949d39c3c19f6fc3b05446b7e00525512e3055be0f907427c28f7d4
 DIST armadillo-5.100.2.tar.gz 5429961 SHA256 63150f12bf7c7c598ea55b7271d99fce349ff386a3dc2cae3904b244f6e35320 SHA512 2777b525bc62daddfb16eae7b74c29b6b695a7985c56d9dca727ae1e13aa4ea20ee85ea82233a5310b37c738838af07bb0fa7eea782e68e72cbe1cf46a0cc896 WHIRLPOOL df85a508875587651b187520b78900634402f2ca0fc2e64f43bd4a793e382e8cc6abd5b988267645bb02b3133d9aa99ab6d6ff5e200d1277093d4f7ce6e9d240
 DIST armadillo-5.200.2.tar.gz 5430682 SHA256 70c38fd94b4c0559ece1a7313cf85e08197a82dfda4daa5decd89b795bb73079 SHA512 034539d724fd1e4078a709cd616d280178fcfdcb1d3c3ca2f80f5f2ebc4b39b60f11e3bd22773be8a8fd61350a406a6f4056d56f88ed74964f438bed0d224f6f WHIRLPOOL 4d9fb5a5e6ee53db666b7a9b0e437cf18763ba46224ac8425c7aafac4d4c68dbceb272f929ba034c4f738539ea6b52ccc0fdef596e100a226b85239ebd12470b
+DIST armadillo-5.400.2.tar.gz 5440024 SHA256 d155f50bcdd716e52c5c59ccba88adbedfa406f92b76b9edb7a84bd737dbff84 SHA512 7950040d83faa837dfe968a184ebeb59df139300d6f0a80483f682ed7e26da459335d576f4cb146a66d9f95f8e0dd44f145dbe6ec935de6d77f08c2e646a5c6f WHIRLPOOL ea798c655961270e8b61d0041b4c68216239d0e1ab98dd1782c123aa6e4653b7b1a4d93e07a85593577a2aa027bfc0008d5c9f6fa76e31fa9e0338453adf09c1
diff --git a/sci-libs/armadillo/armadillo-5.400.2.ebuild b/sci-libs/armadillo/armadillo-5.400.2.ebuild
new file mode 100644 (file)
index 0000000..c785a40
--- /dev/null
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+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.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas debug doc examples hdf5 lapack mkl superlu tbb test"
+REQUIRED_USE="test? ( lapack )"
+
+RDEPEND="
+       dev-libs/boost
+       arpack? ( sci-libs/arpack )
+       blas? ( virtual/blas )
+       lapack? ( virtual/lapack )
+       superlu? ( sci-libs/superlu )
+"
+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)"
+               $(cmake-utils_use debug ARMA_EXTRA_DEBUG)
+               $(cmake-utils_use mkl ARMA_USE_MKL_ALLOC)
+               $(cmake-utils_use tbb ARMA_USE_TBB_ALLOC)
+       )
+       if use arpack; then
+               mycmakeargs+=(
+                       -DARPACK_FOUND=ON
+                       -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+               )
+       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)"
+               )
+       fi
+       if use hdf5; then
+               mycmakeargs+=(
+                       -DHDF5_FOUND=ON
+                       -DHDF5_LIBRARIES="-lhdf5"
+               )
+       fi
+       if use lapack; then
+               mycmakeargs+=(
+                       -DLAPACK_FOUND=ON
+                       -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+               )
+       fi
+       if use superlu; then
+               mycmakeargs+=(
+                       -DSuperLU_FOUND=ON
+                       -DSuperLU_LIBRARIES="$($(tc-getPKG_CONFIG) --libs superlu)"
+               )
+       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
+}