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 904A459CA4 for ; Mon, 22 Feb 2016 09:36:06 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D474DE07E6; Mon, 22 Feb 2016 09:36:04 +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 46CD0E07E8 for ; Mon, 22 Feb 2016 09:36:04 +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 3DD00340A5D for ; Mon, 22 Feb 2016 09:36:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id F37EF14AC for ; Mon, 22 Feb 2016 09:35:59 +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: <1456133600.00087329d3e4694c25f0610a3e453ffebfb23728.jlec@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/pastix/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/pastix/Manifest sci-libs/pastix/metadata.xml sci-libs/pastix/pastix-5.2.2_p9.ebuild X-VCS-Directories: sci-libs/pastix/ X-VCS-Committer: jlec X-VCS-Committer-Name: Justin Lecher X-VCS-Revision: 00087329d3e4694c25f0610a3e453ffebfb23728 X-VCS-Branch: master Date: Mon, 22 Feb 2016 09:35:59 +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: 797193a9-ff15-4891-8ed7-ab4fe09922b0 X-Archives-Hash: a57ebbed72e8cc06f65d4cb0ab1dd40f commit: 00087329d3e4694c25f0610a3e453ffebfb23728 Author: Justin Lecher gentoo org> AuthorDate: Mon Feb 22 07:05:28 2016 +0000 Commit: Justin Lecher gentoo org> CommitDate: Mon Feb 22 09:33:20 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00087329 sci-libs/pastix: Import from science overlay Package-Manager: portage-2.2.27 Signed-off-by: Justin Lecher gentoo.org> sci-libs/pastix/Manifest | 1 + sci-libs/pastix/metadata.xml | 23 +++++++ sci-libs/pastix/pastix-5.2.2_p9.ebuild | 122 +++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+) diff --git a/sci-libs/pastix/Manifest b/sci-libs/pastix/Manifest new file mode 100644 index 0000000..882d924 --- /dev/null +++ b/sci-libs/pastix/Manifest @@ -0,0 +1 @@ +DIST pastix_release_bugfix9_351ef60.tar.bz2 2526795 SHA256 58f8cc3aa0fdd9029114b48cc8923ea111919ade94a8c43c9fc5cd016110a90d SHA512 2cc25f5861fd7cd1235a7deea8fbdd5a56b6b7812aefb74d6cf4804c1e954fa86b616602f6db91b9abb430be9ee3e2fcd8a91f7c06cebf1edd4bac132d04b2a5 WHIRLPOOL 5e96b630a1d8e4b34cbcc1ed40538019d24b1fe79231996dbc38c1aedc0d9d62545676c47beb87a617bc1ad891fc70ae388733ffae7f03fd90ef4b6b47430654 diff --git a/sci-libs/pastix/metadata.xml b/sci-libs/pastix/metadata.xml new file mode 100644 index 0000000..387eff2 --- /dev/null +++ b/sci-libs/pastix/metadata.xml @@ -0,0 +1,23 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + PaStiX (Parallel Sparse matriX package) is a scientific library that + provides a high performance parallel solver for very large sparse + linear systems based on direct methods. Numerical algorithms are + implemented in single or double precision (real or complex) using + LLt, LDLt and LU with static pivoting (for non symmetric matrices + having a symmetric pattern). This solver provides also an adaptive + blockwise iLU(k) factorization that can be used as a parallel + preconditioner using approximated supernodes to build a coarser + block structure of the incomplete factors. + + + Build the 64 bits integer library + Build and link with dev-libs/starpu + + diff --git a/sci-libs/pastix/pastix-5.2.2_p9.ebuild b/sci-libs/pastix/pastix-5.2.2_p9.ebuild new file mode 100644 index 0000000..e51bebe --- /dev/null +++ b/sci-libs/pastix/pastix-5.2.2_p9.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils fortran-2 toolchain-funcs multilib + +# TODO: +# testing: emake examples? +# better doc instalation and building +# pypastix (separate package?) +# multilib with eselect? +# static libs building without pic +# metis? + +# commit id: change every version +CID=351ef60 +# package id: change every version, see the link on inriaforge +PID=33558 +# leave empty if this is not a post release bug fix +PPV=bugfix9_ +MYPN=pastix_release + +DESCRIPTION="Parallel solver for very large sparse linear systems" +HOMEPAGE="http://pastix.gforge.inria.fr" +SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${MYPN}_${PPV}${CID}.tar.bz2" + +LICENSE="CeCILL-C" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc int64 mpi smp starpu static-libs" + +RDEPEND=" + sci-libs/scotch:0=[int64?,mpi?] + sys-apps/hwloc:0= + virtual/blas + mpi? ( virtual/mpi ) + starpu? ( dev-libs/starpu:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${MYPN}_${CID}/src" + +src_prepare() { + sed -e 's/^\(HOSTARCH\s*=\).*/\1 ${HOST}/' \ + -e "s:^\(CCPROG\s*=\).*:\1 $(tc-getCC):" \ + -e "s:^\(CFPROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(CF90PROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(MPCCPROG\s*=\).*:\1 mpicc -cc=$(tc-getCC):" \ + -e "s:^\(MPCXXPROG\s*=\).*:\1 mpic++ -cxx=$(tc-getCXX):" \ + -e "s:^\(MCFPROG\s*=\).*:\1 mpif90 -f90=$(tc-getFC):" \ + -e "s:^\(ARPROG\s*=\).*:\1 $(tc-getAR):" \ + -e "s:^\(CCFOPT\s*=\).*:\1 ${FFLAGS}:" \ + -e "s:^\(CCFDEB\s*=\).*:\1 ${FFLAGS}:" \ + -e 's:^\(EXTRALIB\s*=\).*:\1 -lm -lrt:' \ + -e "s:^#\s*\(ROOT\s*=\).*:\1 \$(DESTDIR)${EPREFIX%/}/usr:" \ + -e 's:^#\s*\(INCLUDEDIR\s*=\).*:\1 $(ROOT)/include:' \ + -e 's:^#\s*\(BINDIR\s*=\).*:\1 $(ROOT)/bin:' \ + -e "s:^#\s*\(LIBDIR\s*=\).*:\1 \$(ROOT)/$(get_libdir):" \ + -e 's:^#\s*\(SHARED\s*=\).*:\1 1:' \ + -e 's:^#\s*\(SOEXT\s*=\).*:\1 .so:' \ + -e '/fPIC/s/^#//g' \ + -e "s:^#\s*\(SHARED_FLAGS\s*=.*\):\1 ${LDFLAGS}:" \ + -e "s:pkg-config:$(tc-getPKG_CONFIG):g" \ + -e "s:^\(BLASLIB\s*=\).*:\1 $($(tc-getPKG_CONFIG) --libs blas):" \ + -e "s:^\s*\(HWLOC_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:-I\$(HWLOC_INC):$($(tc-getPKG_CONFIG) --cflags hwloc):" \ + -e "s:-L\$(HWLOC_LIB) -lhwloc:$($(tc-getPKG_CONFIG) --libs hwloc):" \ + -e "s:^\s*\(SCOTCH_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:^\s*\(SCOTCH_INC\s*?=.*\):\1/scotch:" \ + -e "s:^\s*\(SCOTCH_LIB\s*?=.*\)lib:\1$(get_libdir):" \ + config/LINUX-GNU.in > config.in || die + sed -i -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' Makefile || die +} + +src_configure() { + if use amd64; then + sed -i \ + -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' config.in || die + fi + + if use int64; then + sed -i \ + -e '/VERSIONINT.*_int64/s/#//' \ + -e '/CCTYPES.*INTSSIZE64/s/#//' config.in || die + fi + + if ! use mpi; then + sed -i \ + -e '/VERSIONMPI.*_nompi/s/#//' \ + -e '/CCTYPES.*NOMPI/s/#//' \ + -e '/MPCCPROG\s*= $(CCPROG)/s/#//' \ + -e '/MCFPROG\s*= $(CFPROG)/s/#//' \ + -e 's/-DDISTRIBUTED//' \ + -e 's/-lptscotch/-lscotch/g' \ + config.in || die + fi + + if ! use smp; then + sed \ + -e '/VERSIONSMP.*_nosmp/s/#//' \ + -e '/CCTYPES.*NOSMP/s/#//' \ + -i config.in || die + fi + + if use starpu; then + sed -i -e '/libstarpu/s/#//g' config.in || die + fi +} + +src_compile() { + emake all drivers +} + +src_install() { + default + sed -i -e "s:${D}::g" "${ED}"/usr/bin/pastix-conf || die + # quick and dirty (static libs should really be built without pic) + cd .. || die + dodoc README.txt doc/refcard/refcard.pdf +}