From: "Jens-Malte Gottfried" <jmg@godefridus.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-mathematics/petsc/
Date: Sat, 3 Mar 2012 14:28:27 +0000 (UTC) [thread overview]
Message-ID: <1330784814.c1e83820b43f582dd4e6c8b3c33d243522220809.jmg@gentoo> (raw)
commit: c1e83820b43f582dd4e6c8b3c33d243522220809
Author: Jens-Malte Gottfried <jmgottfried <AT> web <DOT> de>
AuthorDate: Sat Mar 3 14:26:54 2012 +0000
Commit: Jens-Malte Gottfried <jmg <AT> godefridus <DOT> de>
CommitDate: Sat Mar 3 14:26:54 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=c1e83820
further simplification, added more optional deps
simplification using the petsc_with script proposed by
bicatali (slightly reworked, some fixes)
added boost dependency and thread support
---
sci-mathematics/petsc/metadata.xml | 1 +
sci-mathematics/petsc/petsc-3.2_p6.ebuild | 64 +++++++++++++++++------------
2 files changed, 38 insertions(+), 27 deletions(-)
diff --git a/sci-mathematics/petsc/metadata.xml b/sci-mathematics/petsc/metadata.xml
index 079f8ff..7f25b9f 100644
--- a/sci-mathematics/petsc/metadata.xml
+++ b/sci-mathematics/petsc/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<herd>sci-mathematics</herd>
<use>
+ <flag name="boost">Use boost (dev-libs/boost)</flag>
<flag name="hypre">Use HYPRE (sci-mathematics/hypre) for preconditioning</flag>
<flag name="metis">Use METIS (sci-libs/parmetis) for partitioning</flag>
<flag name="complex-scalars">Make scalars complex</flag>
diff --git a/sci-mathematics/petsc/petsc-3.2_p6.ebuild b/sci-mathematics/petsc/petsc-3.2_p6.ebuild
index 643e146..7f090fc 100644
--- a/sci-mathematics/petsc/petsc-3.2_p6.ebuild
+++ b/sci-mathematics/petsc/petsc-3.2_p6.ebuild
@@ -15,7 +15,7 @@ SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${MY_P}.tar.gz"
LICENSE="petsc"
SLOT="0"
KEYWORDS="~x86 ~amd64"
-IUSE="complex-scalars cxx debug doc fortran hdf5 hypre metis mpi X"
+IUSE="boost complex-scalars cxx debug doc fortran hdf5 hypre metis mpi threads X"
RDEPEND="mpi? ( virtual/mpi[cxx?,fortran?] )
X? ( x11-libs/libX11 )
@@ -24,6 +24,7 @@ RDEPEND="mpi? ( virtual/mpi[cxx?,fortran?] )
hypre? ( sci-libs/hypre )
metis? ( sci-libs/parmetis )
hdf5? ( sci-libs/hdf5[!mpi?] )
+ boost? ( dev-libs/boost )
"
DEPEND="${RDEPEND}
@@ -37,6 +38,7 @@ S="${WORKDIR}/${MY_P}"
src_prepare(){
epatch "${FILESDIR}/${PN}-configure-pic.patch"
+ epatch "${FILESDIR}/${PN}-disable-env-warnings.patch"
epatch "${FILESDIR}/${PN}-disable-rpath.patch"
}
@@ -45,14 +47,28 @@ src_configure(){
petsc_enable(){
use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
}
+ # add external library:
+ # petsc_with use_flag libname libdir
+ # petsc_with use_flag libname lib include
+ petsc_with() {
+ local myuse p=${2:-${1}}
+ if use ${1}; then
+ myuse="--with-${p}=1"
+ if [[ $# == 4 ]]; then
+ myuse="${myuse} --with-${p}-lib=\"${3}\""
+ myuse="${myuse} --with-${p}-include=${4}"
+ else
+ myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
+ fi
+ else
+ myuse="--with-${p}=0"
+ fi
+ echo ${myuse}
+ }
# select between configure options depending on use flag
- pestc_select() {
+ petsc_select() {
use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
}
- # add info about library include dirs and lib file
- petsc_lib_info(){
- use "$1" && echo "--with-${4:-$1}-include=$2 --with-${4:-$1}-lib=$3"
- }
local mylang
local myopt
@@ -64,21 +80,17 @@ src_configure(){
export PETSC_DIR="${S}"
export PETSC_ARCH="linux-gnu-${mylang}-${myopt}"
- # flags difficult to pass due to correct quoting of spaces
- local myconf
- myconf[1]="CFLAGS=${CFLAGS}"
- myconf[2]="CXXFLAGS=${CXXFLAGS}"
- myconf[3]="LDFLAGS=${LDFLAGS}"
- myconf[4]="--with-blas-lapack-lib=$(pkg-config --libs lapack)"
-
if use debug; then
strip-flags
filter-flags -O*
fi
# run petsc configure script
- python "${S}/config/configure.py" \
+ ./configure \
--prefix="${EPREFIX}/usr" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
--with-shared-libraries \
--with-single-library \
--with-clanguage=${mylang} \
@@ -86,27 +98,28 @@ src_configure(){
--with-petsc-arch=${PETSC_ARCH} \
--with-precision=double \
--with-gnu-compilers \
+ --with-blas-lapack-lib="$(pkg-config --libs lapack)" \
$(petsc_enable debug debugging) \
- $(petsc_enable fortran) \
$(petsc_enable mpi) \
$(petsc_select mpi cc /usr/bin/mpicc $(tc-getCC)) \
$(petsc_select mpi cxx /usr/bin/mpicxx $(tc-getCXX)) \
- $(use fortran && $(pestc_select mpi fc /usr/bin/mpif77 $(tc-getF77))) \
+ $(petsc_enable fortran) \
+ $(use fortran && echo "$(petsc_select mpi fc /usr/bin/mpif77 $(tc-getF77))") \
$(petsc_enable mpi mpi-compilers) \
- $(petsc_enable X) \
+ $(petsc_with X) \
+ $(petsc_with boost) \
+ $(petsc_enable threads pthread) \
+ $(petsc_enable threads pthreadclasses) \
--with-windows-graphics=0 \
--with-matlab=0 \
--with-python=0 \
--with-cmake=/usr/bin/cmake \
- $(petsc_enable hdf5) \
- $(petsc_lib_info hdf5 /usr/include /usr/$(get_libdir)/libhdf5.so) \
- $(petsc_enable hypre) \
- $(petsc_lib_info hypre /usr/include/hypre /usr/$(get_libdir)/libHYPRE.so) \
- $(petsc_enable metis parmetis) \
- $(petsc_lib_info metis /usr/include/parmetis /usr/$(get_libdir)/libparmetis.so parmetis) \
+ $(petsc_with hdf5) \
+ $(petsc_with hypre hypre /usr/$(get_libdir)/libHYPRE.so /usr/include/hypre) \
+ $(petsc_with metis parmetis) \
$(petsc_select complex-scalars scalar-type complex real) \
--with-scotch=0 \
- "${myconf[@]}"
+ ${EXTRA_ECONF} || die "configuration failed"
}
src_install(){
@@ -159,7 +172,4 @@ 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 "Note that PETSC_ARCH may be dropped in future since " \
- "upstream now also supports installations without " \
- "different subdirectories."
}
next reply other threads:[~2012-03-03 14:28 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-03 14:28 Jens-Malte Gottfried [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-07-12 12:12 [gentoo-commits] proj/sci:master commit in: sci-mathematics/petsc/ Matthias Maier
2019-07-12 11:19 Matthias Maier
2019-07-12 11:19 Matthias Maier
2019-07-12 11:19 Matthias Maier
2019-05-13 15:02 Matthias Maier
2019-03-09 6:07 Matthias Maier
2018-09-17 15:41 Matthias Maier
2018-09-17 15:41 Matthias Maier
2018-09-17 15:41 Matthias Maier
2018-08-31 15:39 Matthias Maier
2018-08-31 15:39 Matthias Maier
2018-05-24 1:21 Matthias Maier
2018-04-23 14:38 Matthias Maier
2018-04-23 1:55 Matthias Maier
2018-03-29 22:16 Matthias Maier
2018-03-19 3:49 Matthias Maier
2018-03-19 3:40 Matthias Maier
2017-10-03 12:58 Andrew Savchenko
2017-10-03 12:58 Andrew Savchenko
2017-01-08 11:03 Marius Brehler
2016-11-24 10:55 Marius Brehler
2016-08-31 6:56 Marius Brehler
2016-08-31 6:56 Marius Brehler
2016-07-12 19:57 Marius Brehler
2016-07-12 19:57 Marius Brehler
2016-07-12 19:57 Marius Brehler
2016-04-23 23:21 Christoph Junghans
2016-04-23 23:21 Christoph Junghans
2015-12-31 8:48 Justin Lecher
2015-09-01 10:26 Justin Lecher
2015-06-24 9:51 Justin Lecher
2014-09-16 17:01 Christoph Junghans
2014-09-01 19:47 Jauhien Piatlicki
2014-09-01 13:06 Jauhien Piatlicki
2014-08-10 8:05 Justin Lecher
2014-01-06 18:33 Justin Lecher
2013-02-22 10:15 Justin Lecher
2013-02-10 22:11 Jens-Malte Gottfried
2013-01-07 22:16 Jens-Malte Gottfried
2012-10-05 14:09 Jens-Malte Gottfried
2012-06-09 6:35 Jens-Malte Gottfried
2012-05-23 19:56 Kacper Kowalik
2012-03-23 18:33 Jens-Malte Gottfried
2012-03-06 23:09 Jens-Malte Gottfried
2012-03-06 22:15 Jens-Malte Gottfried
2012-03-05 16:11 Jens-Malte Gottfried
2012-03-04 21:16 Jens-Malte Gottfried
2012-03-04 15:19 Jens-Malte Gottfried
2012-03-04 14:31 Jens-Malte Gottfried
2012-03-03 21:39 Jens-Malte Gottfried
2012-03-03 16:02 Jens-Malte Gottfried
2012-03-03 12:37 Jens-Malte Gottfried
2012-03-03 12:37 Jens-Malte Gottfried
2012-02-28 20:24 Justin Lecher
2012-01-23 6:35 Sebastien Fabbro
2011-06-24 17:09 Justin Lecher
2011-06-21 11:54 Justin Lecher
2011-04-19 6:44 Thomas Kahle
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=1330784814.c1e83820b43f582dd4e6c8b3c33d243522220809.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