public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Justin Lecher" <jlec@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/pastix/
Date: Mon, 22 Feb 2016 09:35:59 +0000 (UTC)	[thread overview]
Message-ID: <1456133600.00087329d3e4694c25f0610a3e453ffebfb23728.jlec@gentoo> (raw)

commit:     00087329d3e4694c25f0610a3e453ffebfb23728
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 07:05:28 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> 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 <jlec <AT> 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>sci@gentoo.org</email>
+    <name>Gentoo Science Project</name>
+  </maintainer>
+  <longdescription lang="en">
+  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.
+</longdescription>
+  <use>
+    <flag name="int64">Build the 64 bits integer library</flag>
+    <flag name="starpu">Build and link with <pkg>dev-libs/starpu</pkg></flag>
+  </use>
+</pkgmetadata>

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
+}


             reply	other threads:[~2016-02-22  9:36 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22  9:35 Justin Lecher [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-02-23  9:05 [gentoo-commits] repo/gentoo:master commit in: sci-libs/pastix/ Justin Lecher
2016-06-07 16:47 Tobias Klausmann
2017-03-07  0:17 Sebastien Fabbro
2017-04-05 15:36 Michael Weber
2017-04-29 16:21 Jeroen Roovers
2017-07-01  9:52 Sergei Trofimovich
2017-07-01  9:52 Sergei Trofimovich
2017-09-02 13:18 Michael Palimaka
2017-09-30  2:58 Sergei Trofimovich
2017-11-27 19:46 Sergei Trofimovich
2017-11-27 19:46 Sergei Trofimovich
2020-02-08 16:53 David Seifert
2020-11-14  1:48 Thomas Deutschmann
2021-02-18  8:35 Sam James
2021-02-18  8:39 Sam James
2021-06-08  9:35 Sam James
2021-07-14 16:15 Marek Szuba
2021-07-16 11:43 Marek Szuba
2021-07-16 11:43 Marek Szuba
2021-07-16 13:59 Marek Szuba
2021-07-16 13:59 Marek Szuba
2021-07-24 20:23 Matt Turner
2021-08-10 13:04 Marek Szuba
2021-10-02 23:17 Sam James
2021-10-04 10:09 Jakov Smolić
2021-10-24 21:14 Sam James
2021-11-11  3:49 Sam James
2021-11-14 23:51 Sam James
2021-11-14 23:51 Sam James
2021-11-19 17:36 Arthur Zamarin
2022-12-04  9:23 WANG Xuerui
2023-03-07 11:54 Sam James
2023-04-01 16:07 Arthur Zamarin
2023-05-01  8:47 Sam James
2023-05-01  8:47 Sam James
2023-05-01  8:47 Sam James
2023-05-01  8:47 Sam James
2023-06-03 11:15 Arthur Zamarin
2023-12-09 16:45 Arthur Zamarin
2023-12-09 17:02 Michał Górny
2023-12-19  5:23 Sam James
2024-07-31  9:24 Pacho Ramos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1456133600.00087329d3e4694c25f0610a3e453ffebfb23728.jlec@gentoo \
    --to=jlec@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox