diff options
author | David Seifert <soap@gentoo.org> | 2022-01-29 01:00:17 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2022-01-29 01:00:17 +0100 |
commit | e4bd2f6d1e878c5075eaebeab1a66b073cc1f43e (patch) | |
tree | 367d1bfa3770c3bfa94a337bd89feb59a96b55fd /sci-chemistry | |
parent | sci-mathematics/msieve: fix build system (diff) | |
download | gentoo-e4bd2f6d1e878c5075eaebeab1a66b073cc1f43e.tar.gz gentoo-e4bd2f6d1e878c5075eaebeab1a66b073cc1f43e.tar.bz2 gentoo-e4bd2f6d1e878c5075eaebeab1a66b073cc1f43e.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>
Diffstat (limited to 'sci-chemistry')
-rw-r--r-- | sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch | 37 | ||||
-rw-r--r-- | sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild | 48 |
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 } |