summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2022-01-29 01:00:17 +0100
committerDavid Seifert <soap@gentoo.org>2022-01-29 01:00:17 +0100
commite4bd2f6d1e878c5075eaebeab1a66b073cc1f43e (patch)
tree367d1bfa3770c3bfa94a337bd89feb59a96b55fd
parentsci-mathematics/msieve: fix build system (diff)
downloadgentoo-e4bd2f6d.tar.gz
gentoo-e4bd2f6d.tar.bz2
gentoo-e4bd2f6d.zip
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>
-rw-r--r--sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch37
-rw-r--r--sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild48
2 files changed, 61 insertions, 24 deletions
diff --git a/sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch b/sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch
new file mode 100644
index 000000000000..d03d1f9b0566
--- /dev/null
+++ b/sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch
@@ -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();
diff --git a/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild b/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild
index bdf7bcdcce0a..fc84f06b4f82 100644
--- a/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild
+++ b/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild
@@ -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
}