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 E757F138247 for ; Sat, 18 Jan 2014 07:39:44 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2EF52E0E04; Sat, 18 Jan 2014 07:39:28 +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 D73D0E0E0B for ; Sat, 18 Jan 2014 07:39:26 +0000 (UTC) Received: from spoonbill.gentoo.org (spoonbill.gentoo.org [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C46D733FA3C for ; Sat, 18 Jan 2014 07:39:25 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id 5423A18738 for ; Sat, 18 Jan 2014 07:39:24 +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: <1389901652.07dc255d12d136afb211c004c983ba0aa922401a.jlec@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: dev-cpp/eigen/ X-VCS-Repository: proj/sci X-VCS-Files: dev-cpp/eigen/ChangeLog dev-cpp/eigen/eigen-3.2.0-r1.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: 07dc255d12d136afb211c004c983ba0aa922401a X-VCS-Branch: master Date: Sat, 18 Jan 2014 07:39:24 +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: 345a4fe4-cd17-4330-a081-9635c891cb0c X-Archives-Hash: ee9cbe50136d51b387262374a0da1ec1 commit: 07dc255d12d136afb211c004c983ba0aa922401a Author: Justin Lecher gentoo org> AuthorDate: Thu Jan 16 19:47:32 2014 +0000 Commit: Justin Lecher gentoo org> CommitDate: Thu Jan 16 19:47:32 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=07dc255d dev-cpp/eigen: Backport cmake fix Package-Manager: portage-2.2.8 --- dev-cpp/eigen/ChangeLog | 8 ++- dev-cpp/eigen/eigen-3.2.0-r1.ebuild | 102 ++++++++++++++++++++++++++++++++++++ dev-cpp/eigen/metadata.xml | 14 ++--- 3 files changed, 116 insertions(+), 8 deletions(-) diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog index 521bc49..fc51326 100644 --- a/dev-cpp/eigen/ChangeLog +++ b/dev-cpp/eigen/ChangeLog @@ -1,7 +1,13 @@ # ChangeLog for dev-cpp/eigen -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.44 2011/03/25 16:01:28 jlec Exp $ +*eigen-3.2.0-r1 (16 Jan 2014) + + 16 Jan 2014; Justin Lecher +eigen-3.2.0-r1.ebuild, + metadata.xml: + Backport cmake fix + 20 Oct 2013; Honza Macháček eigen-9999.ebuild: Avoid creating TeX fonts out of the sandbox. diff --git a/dev-cpp/eigen/eigen-3.2.0-r1.ebuild b/dev-cpp/eigen/eigen-3.2.0-r1.ebuild new file mode 100644 index 0000000..13eb0f0 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.0-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +FORTRAN_NEEDED=fortran + +if [[ ${PV} == "9999" ]] ; then + _SCM=mercurial + EHG_REPO_URI="https://bitbucket.org/eigen/eigen" + SRC_URI="" + KEYWORDS="" +else + SRC_URI=" + http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2 + https://bitbucket.org/eigen/eigen/commits/1d71b1341c03a7c485289be2c8bd906a259c0487/raw/ -> ${P}-cmake.patch + " + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +inherit alternatives-2 cmake-utils fortran-2 multilib vcs-snapshot ${_SCM} + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="http://eigen.tuxfamily.org/" + +SLOT="3" +LICENSE="MPL-2.0" +IUSE="adolc doc fortran fftw gmp mkl sparse static-libs test" + +# TODO: support for pastix +CDEPEND=" + adolc? ( sci-libs/adolc[sparse?] ) + fftw? ( >=sci-libs/fftw-3 ) + gmp? ( dev-libs/gmp dev-libs/mpfr ) + mkl? ( sci-libs/mkl ) + sparse? ( + dev-cpp/sparsehash + sci-libs/cholmod[metis] + sci-libs/superlu + sci-libs/umfpack )" +DEPEND=" + doc? ( app-doc/doxygen[dot,latex] ) + test? ( ${CDEPEND} )" + +RDEPEND=" + !dev-cpp/eigen:0 + ${CDEPEND}" + +PATCHES=( + "${DISTDIR}"/${P}-cmake.patch + ) + +src_configure() { + # TOFIX: static-libs for blas are always built with PIC + # TOFIX: is it worth fixing all the automagic given no library is built? + local mycmakeargs=( + -DEIGEN_BUILD_BTL=OFF + -DEIGEN_TEST_NO_OPENGL=ON + $(cmake-utils_use test EIGEN_BUILD_TESTS) + $(cmake-utils_use !fortran EIGEN_TEST_NO_FORTRAN) + ) + export VARTEXFONTS="${T}/fonts" + CMAKE_BUILD_TYPE="release" cmake-utils_src_configure + # lapack not ready yet? + use fortran && FORTRAN_LIBS="blas" +} + +src_compile() { + local targets="${FORTRAN_LIBS}" + use doc && targets+=" doc" + use test && targets+=" buildtests" + cmake-utils_src_compile ${targets} +} + +src_install() { + cmake-utils_src_install + use doc && dohtml -r "${CMAKE_BUILD_DIR}"/doc/html/* + local x + for x in ${FORTRAN_LIBS}; do + local libname="eigen_${x}" + cd "${CMAKE_BUILD_DIR}"/${x} + dolib.so lib${libname}.so + use static-libs && newlib.a lib${libname}_static.a lib${libname}.a + cat > ${libname}.pc <<-EOF + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} ${x^^} implementation + Version: ${PV} + URL: ${HOMEPAGE} + Libs: -L\${libdir} -l${libname} + Libs.private: -lm + $([[ ${x} == lapack ]] && echo "Requires: blas") + EOF + alternatives_for ${x} eigen 0 \ + /usr/$(get_libdir)/pkgconfig/${x}.pc ${libname}.pc + insinto /usr/$(get_libdir)/pkgconfig + doins ${libname}.pc + done +} diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml index a4a9327..a7abef9 100644 --- a/dev-cpp/eigen/metadata.xml +++ b/dev-cpp/eigen/metadata.xml @@ -1,23 +1,23 @@ -sci - + sci + Eigen is a lightweight C++ template library for vector and matrix math, a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen focuses on the simple mathematical needs of applications: games and other OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to providing optimal speed with GCC. - - + + Enable use for automatic differentiation using sci-libs/adolc - + Use propertary intel blas/lapack implementation through sci-libs/mkl - + Enable use for extra sparse matrix with sci-libs/umfpack, sci-libs/cholmod, sci-libs/superlu and dev-cpp/sparsehash - +