public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/mpqc/, sci-chemistry/mpqc/files/
@ 2016-01-24  9:55 David Seifert
  0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2016-01-24  9:55 UTC (permalink / raw
  To: gentoo-commits

commit:     f9904c3ee7b9a0690a972f8f7eae415a4e871c0d
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 09:52:13 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 09:54:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9904c3e

sci-chemistry/mpqc: Fix -Werror=format-security errors

Gentoo-Bug: 542278
Also update to EAPI=6.

Package-Manager: portage-2.2.27

 .../mpqc/files/mpqc-2.3.1-wformat-security.patch   |  71 ++++++++++++++
 sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild            | 106 +++++++++++++++++++++
 2 files changed, 177 insertions(+)

diff --git a/sci-chemistry/mpqc/files/mpqc-2.3.1-wformat-security.patch b/sci-chemistry/mpqc/files/mpqc-2.3.1-wformat-security.patch
new file mode 100644
index 0000000..7f25a92
--- /dev/null
+++ b/sci-chemistry/mpqc/files/mpqc-2.3.1-wformat-security.patch
@@ -0,0 +1,71 @@
+Fix -Werror=format-security errors
+https://bugs.gentoo.org/show_bug.cgi?id=542278
+
+--- mpqc-2.3.1/src/lib/chemistry/molecule/atominfo.cc
++++ mpqc-2.3.1/src/lib/chemistry/molecule/atominfo.cc
+@@ -493,7 +493,7 @@
+   if (iname != symbol_to_Z_.end()) return iname->second;
+ 
+   if (allow_exceptions) {
+-      ExEnv::err0() << sprintf("AtomInfo: invalid name: %s\n",name.c_str());
++      ExEnv::err0() << fprintf(stderr, "AtomInfo: invalid name: %s\n",name.c_str());
+       throw std::runtime_error("invalid atom name");
+     }
+ 
+--- mpqc-2.3.1/src/lib/chemistry/molecule/atominfo.h
++++ mpqc-2.3.1/src/lib/chemistry/molecule/atominfo.h
+@@ -49,8 +49,8 @@
+     struct atom
+     {
+       int Z;
+-      char *name;
+-      char *symbol;
++      const char *name;
++      const char *symbol;
+     };
+ 
+     static struct atom elements_[Nelement];
+--- mpqc-2.3.1/src/lib/chemistry/molecule/simple.cc
++++ mpqc-2.3.1/src/lib/chemistry/molecule/simple.cc
+@@ -214,7 +214,7 @@
+       os << scprintf(" %4d", atoms[i]);
+ 
+   if (mol.nonnull()) {
+-      char *separator = " ";
++      const char *separator = " ";
+       os << "  ";
+       for (i=0; i<(4-natoms()); i++) {
+           os << "   ";
+--- mpqc-2.3.1/src/lib/chemistry/qc/psi/psiexenv.cc
++++ mpqc-2.3.1/src/lib/chemistry/qc/psi/psiexenv.cc
+@@ -147,7 +147,7 @@
+   return 0;
+ }
+ 
+-int PsiExEnv::run_psi_module(char *module)
++int PsiExEnv::run_psi_module(const char *module)
+ {
+   int errcod;
+   char *module_cmd = new char[2*cwd_.size()+strlen(module)+psiprefix_.size()+fileprefix_.size()+stdout_.size()+stderr_.size()+40];
+--- mpqc-2.3.1/src/lib/chemistry/qc/psi/psiexenv.h
++++ mpqc-2.3.1/src/lib/chemistry/qc/psi/psiexenv.h
+@@ -57,7 +57,7 @@
+     /// Executes Psi input+driver
+     int run_psi();
+     /// Executes a Psi module
+-    int run_psi_module(char *);
++    int run_psi_module(const char *);
+ 
+     /// Returns current working directory
+     string get_cwd() const { return cwd_;};
+--- mpqc-2.3.1/src/lib/chemistry/qc/psi/psiwfn.cc
++++ mpqc-2.3.1/src/lib/chemistry/qc/psi/psiwfn.cc
+@@ -44,7 +44,7 @@
+     bytes = 2000000;
+   int bytes_str_len = (int)ceil(log10((long double)bytes));
+   memory_ = new char[bytes_str_len+5];
+-  sprintf(memory_,"(%ld B)",bytes);
++  sprintf(memory_,"(%d B)",bytes);
+ }
+ 
+ PsiWavefunction::~PsiWavefunction()

diff --git a/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild b/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild
new file mode 100644
index 0000000..1cf3fd5
--- /dev/null
+++ b/sci-chemistry/mpqc/mpqc-2.3.1-r4.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="The Massively Parallel Quantum Chemistry Program"
+HOMEPAGE="http://www.mpqc.org/"
+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"
+
+RDEPEND="
+	virtual/blas
+	virtual/lapack
+	mpi? ( virtual/mpi[cxx] )
+	tk? ( dev-lang/tk:0 )"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+	sys-devel/flex
+	sys-apps/sed
+	virtual/pkgconfig
+	doc? (
+		app-doc/doxygen
+		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"
+)
+DOCS=(CHANGES CITATION README)
+
+src_prepare() {
+	# do not install tkmolrender if not requested
+	if ! use tk; then
+		sed \
+			-e "s:.*/bin/molrender/tkmolrender.*::" \
+			-e "s:.*\$(INSTALLBINOPT) tkmolrender.*::" \
+			-e "s:/bin/rm -f tkmolrender::" \
+			-i "./src/bin/molrender/Makefile" \
+			|| die "failed to disable tkmolrender"
+	fi
+	default
+	mv configure.{in,ac} || die
+	eautoreconf
+}
+
+src_configure() {
+	tc-export CC CXX
+	if use mpi; then
+		export CC=mpicc
+		export CXX=mpicxx
+	fi
+
+	econf \
+		$(use_enable threads) \
+		$(use_enable mpi parallel) \
+		$(use_enable static-libs static)
+
+	sed \
+		-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
+}
+
+src_install() {
+	emake installroot="${D}" install install_devel install_inc
+
+	# make extended docs
+	if use doc; then
+		cd doc || die
+		emake all
+		doman man/man1/* man/man3/*
+		dodoc -r html/
+	fi
+}
+
+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, "
+	einfo "consider recompiling with less aggressive CFLAGS/CXXFLAGS."
+	einfo "Particularly, replacing -march=pentium4 by -march=pentium3"
+	einfo "might help if you encounter problems with correlation "
+	einfo "consistent basis sets."
+	echo
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/mpqc/, sci-chemistry/mpqc/files/
@ 2022-01-29  0:00 David Seifert
  0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2022-01-29  0:00 UTC (permalink / raw
  To: gentoo-commits

commit:     e4bd2f6d1e878c5075eaebeab1a66b073cc1f43e
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 29 00:00:17 2022 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jan 29 00:00:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4bd2f6d

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 <AT> gentoo.org>

 sci-chemistry/mpqc/files/mpqc-2.3.1-MPI-3.0.patch | 37 +++++++++++++++++
 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
 }


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-29  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-24  9:55 [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/mpqc/, sci-chemistry/mpqc/files/ David Seifert
  -- strict thread matches above, loose matches on Subject: below --
2022-01-29  0:00 David Seifert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox