public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jens-Malte Gottfried" <jmg@godefridus.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-mathematics/petsc/files/, sci-mathematics/petsc/
Date: Sat, 19 Mar 2011 12:05:14 +0000 (UTC)	[thread overview]
Message-ID: <b45bc396733e374a19e2d6f623bf2ce0730b11a1.jmg@gentoo> (raw)

commit:     b45bc396733e374a19e2d6f623bf2ce0730b11a1
Author:     Jens-Malte Gottfried <jmgottfried <AT> web <DOT> de>
AuthorDate: Sat Mar 19 12:02:35 2011 +0000
Commit:     Jens-Malte Gottfried <jmg <AT> godefridus <DOT> de>
CommitDate: Sat Mar 19 12:02:35 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=b45bc396

added petsc-3.1_p8 ebuild

---
 sci-mathematics/petsc/ChangeLog                    |    6 +
 .../petsc/files/petsc-3.1_p8-configure-pic.patch   |   11 ++
 sci-mathematics/petsc/petsc-3.1_p8.ebuild          |  177 ++++++++++++++++++++
 3 files changed, 194 insertions(+), 0 deletions(-)

diff --git a/sci-mathematics/petsc/ChangeLog b/sci-mathematics/petsc/ChangeLog
index 005db5e..5a3533b 100644
--- a/sci-mathematics/petsc/ChangeLog
+++ b/sci-mathematics/petsc/ChangeLog
@@ -2,6 +2,12 @@
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*petsc-3.1_p8 (19 Mar 2011)
+
+  19 Mar 2011; Jens-Malte Gottfried <jmgottfried@web.de>
+  +petsc-3.1_p8.ebuild, +files/petsc-3.1_p8-configure-pic.patch:
+  added petsc 3.1-p8 release, fixed configure-pic patch
+
 *petsc-3.1_p7 (06 Jan 2011)
 
   06 Jan 2011; Jens-Malte Gottfried <jmgottfried@web.de>

diff --git a/sci-mathematics/petsc/files/petsc-3.1_p8-configure-pic.patch b/sci-mathematics/petsc/files/petsc-3.1_p8-configure-pic.patch
new file mode 100644
index 0000000..bbfdae1
--- /dev/null
+++ b/sci-mathematics/petsc/files/petsc-3.1_p8-configure-pic.patch
@@ -0,0 +1,11 @@
+--- config/BuildSystem/config/setCompilers.py.old	2010-09-07 21:41:32.693103846 +0200
++++ config/BuildSystem/config/setCompilers.py	2010-09-07 21:41:45.322093881 +0200
+@@ -875,7 +875,7 @@
+       languages.append('FC')
+     for language in languages:
+       self.pushLanguage(language)
+-      for testFlag in ['-PIC', '-fPIC', '-KPIC','-qpic']:
++      for testFlag in ['-fPIC', '-PIC', '-KPIC', '-qpic']:
+         try:
+           self.framework.logPrint('Trying '+language+' compiler flag '+testFlag)
+           if not self.checkLinkerFlag(testFlag):

diff --git a/sci-mathematics/petsc/petsc-3.1_p8.ebuild b/sci-mathematics/petsc/petsc-3.1_p8.ebuild
new file mode 100644
index 0000000..a7566db
--- /dev/null
+++ b/sci-mathematics/petsc/petsc-3.1_p8.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit flag-o-matic toolchain-funcs
+
+MY_P="${PN}-${PV/_/-}"
+
+DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
+HOMEPAGE="http://www.mcs.anl.gov/petsc/petsc-as/"
+SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${MY_P}.tar.gz"
+
+LICENSE="petsc"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="mpi hypre metis hdf5 X cxx debug static-libs fortran doc"
+
+RDEPEND="mpi? ( virtual/mpi[cxx?,fortran?] )
+	X? ( x11-libs/libX11 )
+	virtual/lapack
+	virtual/blas
+	hypre? ( >=sci-mathematics/hypre-2.6.0b[static-libs=] )
+	metis? ( sci-libs/parmetis )
+	hdf5? ( sci-libs/hdf5[!mpi?] )
+"
+
+DEPEND="${RDEPEND}
+	sys-devel/gcc[-nocxx,fortran?]"
+
+S="${WORKDIR}/${MY_P}"
+
+if use hypre; then
+	use cxx || die "hypre needs cxx, please enable cxx or disable hypre use flag"
+	use mpi || die "hypre needs mpi, please enable mpi or disable hypre use flag"
+fi
+
+src_prepare(){
+	epatch "${FILESDIR}/${P}-configure-pic.patch"
+	epatch "${FILESDIR}/${PN}-disable-rpath.patch"
+}
+
+src_configure(){
+	local mylang
+	local myopt
+	local myconf
+
+	use cxx && mylang="cxx" || mylang="c"
+	use debug && myopt="debug" || myopt="opt"
+
+	export PETSC_DIR="${S}" || die
+	export PETSC_ARCH="linux-gnu-${mylang}-${myopt}" || die
+
+	myconf[10]="--with-blas-lapack-lib=$(pkg-config --libs lapack)"
+	myconf[11]="CFLAGS=${CFLAGS}"
+	myconf[12]="CXXFLAGS=${CXXFLAGS}"
+	myconf[13]="LDFLAGS=${LDFLAGS}"
+	myconf[14]="--with-windows-graphics=0"
+	myconf[15]="--with-matlab=0"
+	myconf[16]="--with-python=0"
+	myconf[17]="--with-clanguage=${mylang}"
+	myconf[18]="--with-single-library=1"
+	myconf[19]="--with-petsc-arch=${PETSC_ARCH}"
+	myconf[20]="--with-precision=double"
+	myconf[21]="--with-gnu-compilers=1"
+	use amd64 \
+		&& myconf[22]="--with-64-bit-pointers=1" \
+		|| myconf[22]="--with-64-bit-pointers=0"
+	use cxx \
+		&& myconf[23]="--with-c-support=1"
+	use amd64 \
+		&& myconf[24]="--with-64-bit-indices=1" \
+		|| myconf[24]="--with-64-bit-indices=0"
+
+	if use mpi; then
+		myconf[30]="--with-cc=/usr/bin/mpicc"
+		myconf[31]="--with-cxx=/usr/bin/mpicxx"
+		use fortran && myconf[32]="--with-fc=/usr/bin/mpif77"
+		myconf[33]="--with-mpi=1"
+		myconf[34]="--with-mpi-compilers=1"
+	else
+		myconf[30]="--with-cc=$(tc-getCC)"
+		myconf[31]="--with-cxx=$(tc-getCXX)"
+		use fortran && myconf[32]="--with-fc=$(tc-getF77)"
+		myconf[33]="--with-mpi=0"
+	fi
+
+	use X \
+		&& myconf[40]="--with-X=1" \
+		|| myconf[40]="--with-X=0"
+	use static-libs \
+		&& myconf[41]="--with-shared=0" \
+		|| myconf[41]="--with-shared=1"
+	use fortran \
+		&& myconf[43]="--with-fortran=1" \
+		|| myconf[43]="--with-fortran=0"
+
+	if use debug; then
+		strip-flags
+		filter-flags -O*
+		myconf[44]="--with-debugging=1"
+	else
+		myconf[44]="--with-debugging=0"
+	fi
+
+	if use hypre; then
+		# hypre cannot handle 64 bit indices, therefore disabled
+		myconf[24]="--with-64-bit-indices=0"
+		myconf[52]="--with-hypre=1"
+		myconf[53]="--with-hypre-include=/usr/include/hypre"
+		use static-libs \
+			&& myconf[54]="--with-hypre-lib=/usr/$(get_libdir)/libHYPRE.a" \
+			|| myconf[54]="--with-hypre-lib=/usr/$(get_libdir)/libHYPRE.so"
+	else
+		myconf[52]="--with-hypre=0"
+	fi
+
+	if use metis; then
+		myconf[61]="--with-parmetis=1"
+		myconf[62]="--with-parmetis-include=/usr/include/parmetis"
+		myconf[63]="--with-parmetis-lib=/usr/$(get_libdir)/libparmetis.so"
+	else
+		myconf[61]="--with-parmetis=0"
+	fi
+
+	if use hdf5; then
+		myconf[71]="--with-hdf5=1"
+		myconf[72]="--with-hdf5-include=/usr/include"
+		myconf[73]="--with-hdf5-lib=/usr/$(get_libdir)/libhdf5.so"
+	else
+		myconf[71]="--with-hdf5=0"
+	fi
+
+	myconf[81]="--with-scotch=0"
+
+	einfo "Configure options: ${myconf[@]}"
+	python "${S}/config/configure.py" "${myconf[@]}" \
+		|| die "PETSc configuration failed"
+}
+
+src_install(){
+	insinto /usr/include/"${PN}"
+	doins "${S}"/include/*.h "${S}"/include/*.hh
+	doins "${S}/${PETSC_ARCH}"/include/*.h
+
+	insinto /usr/include/"${PN}"/private
+	doins "${S}"/include/private/*.h
+
+	# fix paths stored in petscconf.h
+	dosed "s:${S}:/usr:g" /usr/include/"${PN}"/petscconf.h
+	dosed "s:${PETSC_ARCH}/lib:$(get_libdir):g" /usr/include/"${PN}"/petscconf.h \
+
+	if ! use mpi ; then
+		insinto /usr/include/"${PN}"/mpiuni
+		doins "${S}"/include/mpiuni/*.h
+	fi
+
+	if use doc ; then
+		dodoc docs/manual.pdf
+		dohtml -r docs/*.html docs/changes docs/manualpages
+	fi
+
+	use static-libs \
+		&& dolib.a  "${S}/${PETSC_ARCH}"/lib/*.a  \
+		|| dolib.so "${S}/${PETSC_ARCH}"/lib/*.so
+}
+
+pkg_postinst() {
+	elog "The petsc ebuild is still under development."
+	elog "Help us improve the ebuild in:"
+	elog "http://bugs.gentoo.org/show_bug.cgi?id=53386"
+	elog "This ebuild is known to have parallel build issues, "
+	elog "hopefully resolved by upstream soon."
+	elog "Another problem is that you can break this package by"
+	elog "switching your mpi implementation without rebuild petsc."
+}



             reply	other threads:[~2011-03-19 12:05 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-19 12:05 Jens-Malte Gottfried [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-03-01 17:54 [gentoo-commits] proj/sci:master commit in: sci-mathematics/petsc/files/, sci-mathematics/petsc/ Jens-Malte Gottfried
2012-03-04 12:38 Jens-Malte Gottfried
2012-03-05 23:09 Sebastien Fabbro
2012-03-06 23:09 Jens-Malte Gottfried
2012-06-09  6:16 Jens-Malte Gottfried
2012-06-28  8:25 Jens-Malte Gottfried
2013-01-07 21:58 Jens-Malte Gottfried
2013-01-07 22:06 Jens-Malte Gottfried
2013-02-09 18:30 Jens-Malte Gottfried
2013-02-22 10:15 Justin Lecher
2013-10-18 16:19 Christoph Junghans
2014-07-24 21:50 Jens-Malte Gottfried
2015-03-14  8:21 Justin Lecher
2015-03-14  8:21 Justin Lecher
2018-04-23  1:21 Matthias Maier
2018-08-31 15:39 Matthias Maier
2019-07-12 11:19 Matthias Maier
2019-08-05  6:52 Matthias Maier

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=b45bc396733e374a19e2d6f623bf2ce0730b11a1.jmg@gentoo \
    --to=jmg@godefridus.de \
    --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