mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 12:58:16 -07:00
sci-chemistry/mpqc: fix build system and MPI
Closes: https://bugs.gentoo.org/710822 Closes: https://bugs.gentoo.org/801682 Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
37
sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch
Normal file
37
sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
https://bugs.gentoo.org/801682
|
||||
rename MPI 1.0 to 3.0+ functions:
|
||||
- MPI_Errhandler_set -> MPI_Comm_set_errhandler
|
||||
|
||||
--- a/src/lib/util/group/memmtmpi.cc
|
||||
+++ b/src/lib/util/group/memmtmpi.cc
|
||||
@@ -241,8 +241,8 @@
|
||||
MPI_Comm_dup(comm, &comp_comm_);
|
||||
MPI_Comm_dup(comm, &comm_comm_);
|
||||
|
||||
- MPI_Errhandler_set(comp_comm_, MPI_ERRORS_ARE_FATAL);
|
||||
- MPI_Errhandler_set(comm_comm_, MPI_ERRORS_ARE_FATAL);
|
||||
+ MPI_Comm_set_errhandler(comp_comm_, MPI_ERRORS_ARE_FATAL);
|
||||
+ MPI_Comm_set_errhandler(comm_comm_, MPI_ERRORS_ARE_FATAL);
|
||||
|
||||
serial_ = 0;
|
||||
req_tag_ = 15001;
|
||||
--- a/src/lib/util/group/messmpi.cc
|
||||
+++ b/src/lib/util/group/messmpi.cc
|
||||
@@ -129,7 +129,7 @@
|
||||
if (keyval->booleanvalue("errors_return")) {
|
||||
if (me()==0)
|
||||
ExEnv::outn() << indent << "MPIMessageGrp: errors_return is true" << endl;
|
||||
- MPI_Errhandler_set(commgrp, MPI_ERRORS_RETURN);
|
||||
+ MPI_Comm_set_errhandler(commgrp, MPI_ERRORS_RETURN);
|
||||
}
|
||||
|
||||
if (debug_) {
|
||||
@@ -200,7 +200,7 @@
|
||||
MPI_Comm_dup(comm, &commgrp);
|
||||
global_commgrp = commgrp;
|
||||
|
||||
- MPI_Errhandler_set(commgrp, MPI_ERRORS_ARE_FATAL);
|
||||
+ MPI_Comm_set_errhandler(commgrp, MPI_ERRORS_ARE_FATAL);
|
||||
|
||||
if (!nmpi_grps) {
|
||||
threadgrp = ThreadGrp::get_default_threadgrp();
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=8
|
||||
|
||||
inherit autotools toolchain-funcs
|
||||
|
||||
@@ -12,30 +12,31 @@ SRC_URI="mirror://sourceforge/mpqc/${P}.tar.bz2"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="doc mpi threads static-libs tk"
|
||||
IUSE="doc mpi threads tk"
|
||||
|
||||
RDEPEND="
|
||||
virtual/blas
|
||||
virtual/lapack
|
||||
mpi? ( virtual/mpi[cxx] )
|
||||
tk? ( dev-lang/tk:0 )"
|
||||
DEPEND="${RDEPEND}
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-lang/perl
|
||||
sys-devel/flex
|
||||
sys-apps/sed
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
media-gfx/graphviz )"
|
||||
media-gfx/graphviz
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-as-needed.patch"
|
||||
"${FILESDIR}/${P}-respect-ldflags.patch"
|
||||
"${FILESDIR}/${P}-test-failure-hack.patch"
|
||||
"${FILESDIR}/${P}-blas.patch"
|
||||
"${FILESDIR}/${P}-wformat-security.patch"
|
||||
"${FILESDIR}"/${P}-as-needed.patch
|
||||
"${FILESDIR}"/${P}-respect-ldflags.patch
|
||||
"${FILESDIR}"/${P}-test-failure-hack.patch
|
||||
"${FILESDIR}"/${P}-blas.patch
|
||||
"${FILESDIR}"/${P}-wformat-security.patch
|
||||
"${FILESDIR}"/${P}-MPI-3.0.patch
|
||||
)
|
||||
DOCS=(CHANGES CITATION README)
|
||||
|
||||
src_prepare() {
|
||||
# do not install tkmolrender if not requested
|
||||
@@ -48,7 +49,7 @@ src_prepare() {
|
||||
|| die "failed to disable tkmolrender"
|
||||
fi
|
||||
default
|
||||
mv configure.{in,ac} || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
@@ -60,40 +61,40 @@ src_configure() {
|
||||
fi
|
||||
|
||||
econf \
|
||||
--enable-shared \
|
||||
$(use_enable threads) \
|
||||
$(use_enable mpi parallel) \
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable mpi parallel)
|
||||
|
||||
sed \
|
||||
-e "s:^CFLAGS =.*$:CFLAGS=${CFLAGS}:" \
|
||||
-e "s:^FFLAGS =.*$:FFLAGS=${FFLAGS:- -O2}:" \
|
||||
-e "s:^CXXFLAGS =.*$:CXXFLAGS=${CXXFLAGS}:" \
|
||||
-e "s|^CFLAGS =.*$|CFLAGS=${CFLAGS}|" \
|
||||
-e "s|^FFLAGS =.*$|FFLAGS=${FFLAGS:- -O2}|" \
|
||||
-e "s|^CXXFLAGS =.*$|CXXFLAGS=${CXXFLAGS}|" \
|
||||
-i lib/LocalMakefile || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd src/bin/mpqc/validate || die
|
||||
|
||||
# we'll only run the small test set, since the
|
||||
# medium and large ones take >10h and >24h on my
|
||||
# 1.8Ghz P4M
|
||||
emake -j1 check1
|
||||
emake -C src/bin/mpqc/validate -j1 check1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake installroot="${D}" install install_devel install_inc
|
||||
dodoc CHANGES CITATION README
|
||||
|
||||
# make extended docs
|
||||
if use doc; then
|
||||
cd doc || die
|
||||
emake all
|
||||
doman man/man1/* man/man3/*
|
||||
dodoc -r html/
|
||||
dodoc -r html
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
echo
|
||||
einfo "MPQC can be picky with regard to compilation flags."
|
||||
einfo "If during mpqc runs you have trouble converging or "
|
||||
einfo "experience oscillations during SCF interations, "
|
||||
@@ -101,5 +102,4 @@ pkg_postinst() {
|
||||
einfo "Particularly, replacing -march=pentium4 by -march=pentium3"
|
||||
einfo "might help if you encounter problems with correlation "
|
||||
einfo "consistent basis sets."
|
||||
echo
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user