From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id B99CB1384B4 for ; Mon, 30 Nov 2015 10:58:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 89F2421C07C; Mon, 30 Nov 2015 10:58:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 7A0CE21C074 for ; Mon, 30 Nov 2015 10:58:16 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 55C903403C1 for ; Mon, 30 Nov 2015 10:58:15 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BE1D1E6B for ; Mon, 30 Nov 2015 10:58:12 +0000 (UTC) From: "Justin Lecher" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Justin Lecher" Message-ID: <1448881084.6e651a74419dbb000081b0094934a57441aa27b2.jlec@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: dev-cpp/eigen/ X-VCS-Repository: proj/sci X-VCS-Files: dev-cpp/eigen/eigen-3.2.6.ebuild dev-cpp/eigen/metadata.xml X-VCS-Directories: dev-cpp/eigen/ X-VCS-Committer: jlec X-VCS-Committer-Name: Justin Lecher X-VCS-Revision: 6e651a74419dbb000081b0094934a57441aa27b2 X-VCS-Branch: master Date: Mon, 30 Nov 2015 10:58:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 56dbb162-7efb-448a-814a-fefa2ca8b988 X-Archives-Hash: 83fea2ec352a0dc2fcf4586377e5e3c1 commit: 6e651a74419dbb000081b0094934a57441aa27b2 Author: Justin Lecher gentoo org> AuthorDate: Mon Nov 30 10:58:04 2015 +0000 Commit: Justin Lecher gentoo org> CommitDate: Mon Nov 30 10:58:04 2015 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=6e651a74 dev-cpp/eigen: Version Bump Package-Manager: portage-2.2.25 Signed-off-by: Justin Lecher gentoo.org> dev-cpp/eigen/eigen-3.2.6.ebuild | 116 +++++++++++++++++++++++++++++++++++++++ dev-cpp/eigen/metadata.xml | 2 +- 2 files changed, 117 insertions(+), 1 deletion(-) diff --git a/dev-cpp/eigen/eigen-3.2.6.ebuild b/dev-cpp/eigen/eigen-3.2.6.ebuild new file mode 100644 index 0000000..7733d64 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.6.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +FORTRAN_NEEDED=fortran + +if [[ ${PV} == "9999" ]] ; then + inherit mercurial + EHG_REPO_URI="https://bitbucket.org/eigen/eigen" + SRC_URI="" + KEYWORDS="" +else + inherit vcs-snapshot + SRC_URI=" + https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2 + https://bitbucket.org/eigen/eigen/commits/1d71b1341c03a7c485289be2c8bd906a259c0487/raw/ -> ${P}-cmake.patch + " + PATCHES=( "${DISTDIR}"/${P}-cmake.patch ) + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +inherit alternatives-2 cmake-utils fortran-2 multilib numeric + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="http://eigen.tuxfamily.org/" + +SLOT="3" +LICENSE="MPL-2.0" +IUSE="adolc doc fortran fftw gmp metis mkl pastix sparse static-libs test" + +CDEPEND=" + adolc? ( sci-libs/adolc[sparse?] ) + fftw? ( sci-libs/fftw:3.0 ) + gmp? ( dev-libs/gmp:0 dev-libs/mpfr:0 ) + metis? ( sci-libs/metis ) + mkl? ( sci-libs/mkl ) + pastix? ( sci-libs/pastix ) + sparse? ( + dev-cpp/sparsehash + sci-libs/cholmod[metis?] + sci-libs/spqr + sci-libs/superlu + sci-libs/umfpack )" +DEPEND=" + doc? ( app-doc/doxygen[dot,latex] ) + test? ( ${CDEPEND} )" + +RDEPEND=" + !dev-cpp/eigen:0 + ${CDEPEND}" + +src_prepare() { + sed -i \ + -e "s:/usr:${EPREFIX}/usr:g" \ + -e "s:/bin/bash:${EPREFIX}/bin/bash:g" \ + cmake/*.cmake || die + sed -i \ + -e "/DESTINATION/s:lib:$(get_libdir):g" \ + {blas,lapack}/CMakeLists.txt || die + + # TOFIX: static-libs for blas are always built with PIC + use static-libs || sed -i \ + -e "/add_dependencies/s/eigen_[a-z]*_static//g" \ + -e "/TARGETS/s/eigen_[a-z]*_static//g" \ + -e "/add_library(eigen_[a-z]*_static/d" \ + -e "/target_link_libraries(eigen_[a-z]*_static/d" \ + {blas,lapack}/CMakeLists.txt || die + + sed -i -e "/Unknown build type/d" CMakeLists.txt || die + + cmake-utils_src_prepare +} + +src_configure() { + # TOFIX: is it worth fixing all the automagic given no library is built? + # cmake has buggy disable_testing feature, so leave it for now + local mycmakeargs=( + -DDART_TESTING_TIMEOUT=300 + -DEIGEN_BUILD_BTL=OFF + ) + export VARTEXFONTS="${T}/fonts" + cmake-utils_src_configure + # use fortran && FORTRAN_LIBS="blas lapack" not ready + use fortran && FORTRAN_LIBS="blas" +} + +src_compile() { + local targets="${FORTRAN_LIBS}" + use doc && targets+=" doc" + use test && targets+=" check" + cmake-utils_src_compile ${targets} +} + +src_install() { + cmake-utils_src_install + use doc && dohtml -r "${BUILD_DIR}"/doc/html/* + local x + for x in ${FORTRAN_LIBS}; do + local libname="eigen_${x}" + emake DESTDIR="${D}" -C "${BUILD_DIR}/${x}" install ${libname} + create_pkgconfig \ + --description "${DESCRIPTION} ${x^^} implementation" \ + --libs "-L\${libdir} -l${libname}" \ + --libs-private "-lm" \ + $([[ ${x} == lapack ]] && echo "--requires 'blas'") \ + ${libname} + alternatives_for ${x} eigen 0 \ + /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc + done + + # Debian installs it and some projects started using it. + insinto /usr/share/cmake/Modules/ + doins "${S}/cmake/FindEigen3.cmake" +} diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml index 187b1de..0adc362 100644 --- a/dev-cpp/eigen/metadata.xml +++ b/dev-cpp/eigen/metadata.xml @@ -1,4 +1,4 @@ - + sci