Fix for bug 248345, as-needed related, thanks Kacper Kowalik (Xarthisius) for prepari...
authorJustin Lecher <jlec@gentoo.org>
Sun, 23 May 2010 10:40:50 +0000 (10:40 +0000)
committerJustin Lecher <jlec@gentoo.org>
Sun, 23 May 2010 10:40:50 +0000 (10:40 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-chemistry/mpqc/ChangeLog
sci-chemistry/mpqc/Manifest
sci-chemistry/mpqc/files/mpqc-2.3.1-as-needed.patch [new file with mode: 0644]
sci-chemistry/mpqc/files/mpqc-2.3.1-respect-ldflags.patch [new file with mode: 0644]
sci-chemistry/mpqc/files/mpqc-2.3.1-test-failure-hack.patch [new file with mode: 0644]
sci-chemistry/mpqc/mpqc-2.3.1-r2.ebuild [new file with mode: 0644]

index 6969d9a646ed4de3aec67de048a9a0546145bdaf..e7a58839a54f60d30e5c28e19d5c88cc1f9a5ba2 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for sci-chemistry/mpqc
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/mpqc/ChangeLog,v 1.17 2006/10/05 13:36:54 dberkholz Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/mpqc/ChangeLog,v 1.18 2010/05/23 10:40:50 jlec Exp $
+
+*mpqc-2.3.1-r2 (23 May 2010)
+
+  23 May 2010; Justin Lecher <jlec@gentoo.org> mpqc-2.3.1-r1.ebuild,
+  +mpqc-2.3.1-r2.ebuild, +files/mpqc-2.3.1-as-needed.patch,
+  +files/mpqc-2.3.1-respect-ldflags.patch,
+  +files/mpqc-2.3.1-test-failure-hack.patch:
+  Fix for bug 248345, as-needed related, thanks Kacper Kowalik (Xarthisius)
+  for preparing the patches
 
   05 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; -mpqc-2.2.2.ebuild,
   -mpqc-2.2.3.ebuild, -mpqc-2.3.0.ebuild, -mpqc-2.3.1.ebuild:
index bc6595eb70766e1d713e2d10057dfcffbadbf458..8be55a99fcf2753336cc9185a139e392f5c644a3 100644 (file)
@@ -1,4 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX mpqc-2.3.1-as-needed.patch 5612 RMD160 7ee0d350f43a2efa2b95d84cf1e6465052c80064 SHA1 1c4e4387749a1cbf5984aeff0c3f67caccd0e8a3 SHA256 01eab253e1ad7b9be0802f5d9df7a316e9685e68da224f5c22abdf5ec53859da
+AUX mpqc-2.3.1-respect-ldflags.patch 666 RMD160 20c262d37a81ccf1d4bbd8fadcbb57d0051d8197 SHA1 39c6015c2204b3247341df420bda5d10d8458b72 SHA256 3f50b2e3a0038b7d4fc8f98eb375f794f37164a69edf6d7a767b0146e20481ca
+AUX mpqc-2.3.1-test-failure-hack.patch 543 RMD160 101aa46ca5a0d823baacfa4ee27fc8dd5bca231c SHA1 d33eb79e9342029c9ad51bd4c5544ddfafb559e2 SHA256 af5ae5f76916cbfe1a94981f94a30b373188de60ea19cc3d677d82c71412e503
 DIST mpqc-2.3.1.tar.bz2 2521392 RMD160 0e3b395e9ed663b9c3de120fb4f5a00bc40c7e0f SHA1 f89fcbe6e07e90abe02fc21dbce045a2a749f65d SHA256 18f162ca9cb8b3b05372b0ec3d02b4b8a4a7aabfc7b2abead350ddef8f048ecc
 EBUILD mpqc-2.3.1-r1.ebuild 2442 RMD160 7a0a2df4f1b9b6bc97635e36d269593a1cd2a78d SHA1 9d493d65f856f2468d95082287a3c131b1e77a6c SHA256 809ab551eaed5f722fd7b85e6e5fadd9161b05201cc0a98b0e682dc7d3daeec3
-MISC ChangeLog 4305 RMD160 9e1158904c13eab2191c6662a63e70125c49786d SHA1 2c31059270f8569766d97a9a9ee29213f880bd3c SHA256 7e17bd691baee971362472c5bae7c96804a677516c6475b98b18b718d74eacc8
+EBUILD mpqc-2.3.1-r2.ebuild 2583 RMD160 5fd75c1d2bc11578f8f4972f6937e94103708277 SHA1 87a5e18f56e5f56d2caa1b61641ef494a03bad75 SHA256 f7c55c82f6f7d940e1b30960a309eadc24bb381407729d54deb2e87a6bbcfb14
+MISC ChangeLog 4652 RMD160 c25616d9f45365b46c02e7b3d66f84ed7ef648b5 SHA1 f1b4f73b3e4cc6b5cb974f88c4fa019bd47376c6 SHA256 5c74767e6ba1b247277f7dc8269dc0b5d5d7c0c561552b811221988d2b23ceed
 MISC metadata.xml 282 RMD160 539a53475b01291eadb86c8c53a0fbc02b4a34d4 SHA1 7f42dcea44641b8a77ab9644791344ec6ed6c327 SHA256 3c1785eb4ab63774ed3a6b1bddd602ef24cd6795f690bb3289d5a980bca06349
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAkv5BjgACgkQgAnW8HDreRboOQCbBZIREzd+7vAEdnKCva23pxi5
+EHsAoJFYrF2ftelPgMOwTwJBhNbx6XQp
+=KhKY
+-----END PGP SIGNATURE-----
diff --git a/sci-chemistry/mpqc/files/mpqc-2.3.1-as-needed.patch b/sci-chemistry/mpqc/files/mpqc-2.3.1-as-needed.patch
new file mode 100644 (file)
index 0000000..ce9defb
--- /dev/null
@@ -0,0 +1,151 @@
+--- mpqc-2.3.1.orig/src/lib/chemistry/molecule/Makefile        2005-05-26 08:00:29.000000000 +0200
++++ mpqc-2.3.1/src/lib/chemistry/molecule/Makefile     2010-02-13 14:28:46.514285918 +0100
+@@ -66,6 +66,12 @@
+ interface:: $(DEPENDINCLUDE)
+ 
+ LIBS = $(shell $(LISTLIBS) $(INCLUDE) $(SRCDIR)/LIBS.h)
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCcontainer.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCclass.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCkeyval.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCoptimize.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCscmat.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCsymmetry.la
+ 
+ LD = $(CXX)
+ 
+--- mpqc-2.3.1.orig/src/lib/chemistry/qc/wfn/Makefile  2004-06-12 06:50:35.000000000 +0200
++++ mpqc-2.3.1/src/lib/chemistry/qc/wfn/Makefile       2010-02-13 14:20:06.911896080 +0100
+@@ -48,6 +48,11 @@
+ 
+ LIBS = $(shell $(LISTLIBS) $(INCLUDE) $(SRCDIR)/../dft/LIBS.h)
+ 
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCisosurf.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCsolvent.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCbasis.la \
++      $(SRCDIR)/$(TOPDIR)/lib/libSCintv3.la
++
+ wfntest:: wfntest.$(OBJSUF) $(LIBS)
+       $(LTLINK) $(CXX) $(LDFLAGS) -o wfntest $^ $(SYSLIBS) $(LTLINKBINOPTS)
+ 
+--- mpqc-2.3.1.orig/src/lib/chemistry/qc/intv3/Makefile        2002-04-04 01:08:04.000000000 +0200
++++ mpqc-2.3.1/src/lib/chemistry/qc/intv3/Makefile     2010-02-13 14:04:15.393432311 +0100
+@@ -52,6 +52,8 @@
+ LIBOBJ = $(LIBSRC:%.c=%.$(OBJSUF))
+ LIBOBJ := $(LIBOBJ:%.cc=%.$(OBJSUF))
+ 
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCoint3.la
++
+ DISTFILES = $(TESTCSRC) $(INC) atoms.sgen Makefile LIBS.h
+ 
+ DEPENDINCLUDE = $(INC) $(GENINC) $(SGENINC)
+--- mpqc-2.3.1.orig/src/lib/chemistry/qc/mbpt/Makefile 2005-07-07 17:54:05.000000000 +0200
++++ mpqc-2.3.1/src/lib/chemistry/qc/mbpt/Makefile      2010-02-13 14:12:38.975370147 +0100
+@@ -44,6 +44,7 @@
+ CSRCS = bzerofast.c
+ 
+ LIBOBJ= $(CXXSRCS:%.cc=%.$(OBJSUF)) $(CSRCS:%.c=%.$(OBJSUF))
++LIBADD= $(SRCDIR)/$(TOPDIR)/lib/libSCsymmetry.la
+ 
+ default:: $(DEPENDINCLUDE)
+ 
+--- mpqc-2.3.1.orig/src/lib/chemistry/qc/basis/Makefile        2004-02-11 01:24:43.000000000 +0100
++++ mpqc-2.3.1/src/lib/chemistry/qc/basis/Makefile     2010-02-13 14:04:15.395432868 +0100
+@@ -59,6 +59,7 @@
+ DISTFILES = $(CXXSRC) $(INC) Makefile $(TESTSRC) $(TESTFILES)
+ 
+ LIBOBJ= $(CXXSRC:%.cc=%.$(OBJSUF))
++LIBADD = $(SYSLIBS)
+ 
+ default:: $(DEPENDINCLUDE)
+ 
+--- mpqc-2.3.1.orig/src/lib/math/scmat/Makefile        2003-09-16 17:07:03.000000000 +0200
++++ mpqc-2.3.1/src/lib/math/scmat/Makefile     2010-02-13 14:27:36.028370446 +0100
+@@ -75,6 +75,8 @@
+ DISTFILES = $(CXXSRC) $(INC) scmat.h $(WEBSRC) Makefile LIBS.h \
+             $(TESTSRC) $(TESTFILES)
+ 
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCgroup.la $(SYSLIBS)
++
+ LIBS = $(shell $(LISTLIBS) $(INCLUDE) $(SRCDIR)/LIBS.h)
+ 
+ matrixtest:
+--- mpqc-2.3.1.orig/src/lib/util/class/Makefile        2005-05-26 08:00:49.000000000 +0200
++++ mpqc-2.3.1/src/lib/util/class/Makefile     2010-02-13 14:04:15.396433004 +0100
+@@ -41,6 +41,7 @@
+ 
+ BIN_OR_LIB = LIB
+ TARGET_TO_MAKE = libSCclass
++LIBADD = $(SYSLIBS)
+ 
+ TESTCXXSRC = classtest.cc scextest.cc
+ DISTFILES = $(CXXSRC) $(INC) Makefile LIBS.h $(TESTCXXSRC)
+--- mpqc-2.3.1.orig/src/lib/util/state/Makefile        2005-05-26 08:00:51.000000000 +0200
++++ mpqc-2.3.1/src/lib/util/state/Makefile     2010-02-13 14:22:06.302369965 +0100
+@@ -50,6 +50,7 @@
+ 
+ BIN_OR_LIB = LIB
+ TARGET_TO_MAKE = libSCstate
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCkeyval.la
+ 
+ default:: $(DEPENDINCLUDE)
+ 
+--- mpqc-2.3.1.orig/src/lib/util/group/Makefile        2005-07-30 02:30:18.000000000 +0200
++++ mpqc-2.3.1/src/lib/util/group/Makefile     2010-02-13 14:21:38.582370124 +0100
+@@ -61,6 +61,7 @@
+ 
+ BIN_OR_LIB = LIB
+ TARGET_TO_MAKE = libSCgroup
++LIBADD = $(SRCDIR)/$(TOPDIR)/lib/libSCkeyval.la
+ 
+ TESTCXXSRC = pooltest.cc messtest.cc rnglocktest.cc thrtest.cc prttest.cc
+ DISTFILES = $(REQUIREDCXXSRC) $(OPTIONALCXXSRC) $(INC) \
+--- mpqc-2.3.1.orig/src/lib/util/Makefile      2001-08-07 00:29:56.000000000 +0200
++++ mpqc-2.3.1/src/lib/util/Makefile   2010-02-13 14:40:23.611369920 +0100
+@@ -5,7 +5,7 @@
+ 
+ include $(SRCDIR)/$(TOPDIR)/lib/GlobalMakefile
+ 
+-SUBDIRS = options ref container class state misc keyval group render
++SUBDIRS = options keyval ref container class state misc group render
+ 
+ include $(SRCDIR)/$(TOPDIR)/lib/GlobalSubDirs
+ 
+--- mpqc-2.3.1.orig/lib/GlobalRules    2010-02-13 19:47:19.019432588 +0100
++++ mpqc-2.3.1/lib/GlobalRules 2010-02-13 19:47:57.760370198 +0100
+@@ -75,7 +75,7 @@
+       $(RANLIB) $@
+ 
+ $(TOPDIR)/lib/$(TARGET_TO_MAKE).la: $(LIBOBJ)
+-      $(LTLINK) $(CXX) -o $@ $^ $(wildcard $(TMPLREPO)/*.o) $(LTLINKLIBOPTS)
++      $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(wildcard $(TMPLREPO)/*.o) $(LTLINKLIBOPTS) $(LIBADD)
+ 
+ else
+ 
+@@ -104,7 +104,7 @@
+ endif
+ 
+ $(TOPDIR)/lib/$(TARGET_TO_MAKE).la: $(LIBOBJ)
+-      $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++      $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS) $(LIBADD)
+ 
+ endif
+ 
+--- mpqc-2.3.1.orig/doc/devsamp/Makefile       2004-04-28 22:45:14.000000000 +0200
++++ mpqc-2.3.1/doc/devsamp/Makefile    2010-02-13 19:58:56.958452043 +0100
+@@ -9,4 +9,4 @@
+ LTLINKBINOPTS := $(shell $(SCCONFIG) --ltlinkbinopts)
+ 
+ mp2: mp2.o
+-      $(LTLINK) $(CXX) $(CXXFLAGS) -o $@ $^ -L$(LIBDIR) -lmpqc $(LIBS) $(LTLINKBINOPTS)
++      $(LTLINK) $(CXX) $(LDFLAGS) $(CXXFLAGS) -o $@ $^ -L$(LIBDIR) -lmpqc $(LIBS) $(LTLINKBINOPTS)
+--- mpqc-2.3.1.orig/src/bin/mpqc/Makefile      2005-07-28 18:57:47.000000000 +0200
++++ mpqc-2.3.1/src/bin/mpqc/Makefile   2010-02-13 19:57:40.484216235 +0100
+@@ -82,7 +82,7 @@
+       $(RANLIB) $@
+ 
+ $(TOPDIR)/lib/libmpqc.la: $(BINOBJ)
+-      $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++      $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+ 
+ install_devel:: $(TOPDIR)/lib/libmpqc.$(LIBSUF)
+       $(INSTALL) $(INSTALLDIROPT) $(installroot)$(libdir)
diff --git a/sci-chemistry/mpqc/files/mpqc-2.3.1-respect-ldflags.patch b/sci-chemistry/mpqc/files/mpqc-2.3.1-respect-ldflags.patch
new file mode 100644 (file)
index 0000000..c38c957
--- /dev/null
@@ -0,0 +1,25 @@
+--- mpqc-2.3.1.orig/configure.in       2006-03-22 19:04:54.000000000 +0100
++++ mpqc-2.3.1/configure.in    2010-02-13 17:46:19.545557872 +0100
+@@ -10,6 +10,8 @@
+ AC_CONFIG_HEADER(src/lib/scconfig.h)
+ AC_CONFIG_AUX_DIR(bin)
+ 
++m4_include([lib/autoconf/cca.m4])
++m4_include([lib/autoconf/acinclude.m4])
+ AC_CANONICAL_SYSTEM
+ 
+ AC_DEFINE_UNQUOTED(HOST_ARCH, "$host")
+@@ -473,12 +473,10 @@
+ echo Using FORTRAN runtime libraries: $withval
+ )
+ 
+-LDFLAGS=
+-LIBDIRS=
+ AC_ARG_WITH(libdirs,
+ [  --with-libdirs          Specifies library directories (-Ldir1 -Ldir2).],
+ LIBDIRS=$withval
+-LDFLAGS=$withval
++LDFLAGS="$LDFLAGS $withval"
+ echo Using extra library directories: $withval
+ )
+ 
diff --git a/sci-chemistry/mpqc/files/mpqc-2.3.1-test-failure-hack.patch b/sci-chemistry/mpqc/files/mpqc-2.3.1-test-failure-hack.patch
new file mode 100644 (file)
index 0000000..91fcc30
--- /dev/null
@@ -0,0 +1,11 @@
+--- mpqc-2.3.1.orig/src/bin/mpqc/validate/Makefile     2006-03-22 19:03:51.000000000 +0100
++++ mpqc-2.3.1/src/bin/mpqc/validate/Makefile  2010-02-13 20:26:12.496370219 +0100
+@@ -52,7 +52,7 @@
+ # Also need to see if --mpqc was specified.  If not, then add
+ # --mpqc ../../mpqc.
+ ifeq ($(filter --mpqc%, $(ALL_MPQCRUN_ARGS)),)
+-ALL_MPQCRUN_ARGS:=--mpqc ../../mpqc $(ALL_MPQCRUN_ARGS)
++ALL_MPQCRUN_ARGS:=--mpqc "LD_LIBRARY_PATH=\"../../../../../lib/.libs/\" ../../mpqc" $(ALL_MPQCRUN_ARGS)
+ endif
+ 
+ ifeq ($(HAVE_SC_SRC_LIB_CHEMISTRY_QC_MBPTR12),yes)
diff --git a/sci-chemistry/mpqc/mpqc-2.3.1-r2.ebuild b/sci-chemistry/mpqc/mpqc-2.3.1-r2.ebuild
new file mode 100644 (file)
index 0000000..d84b078
--- /dev/null
@@ -0,0 +1,98 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/mpqc/mpqc-2.3.1-r2.ebuild,v 1.1 2010/05/23 10:40:50 jlec Exp $
+
+EAPI=2
+
+inherit autotools eutils fortran
+
+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 tk"
+
+RDEPEND="
+       virtual/blas
+       virtual/lapack
+       mpi? ( virtual/mpi[cxx] )
+       tk? ( dev-lang/tk )"
+DEPEND="${RDEPEND}
+       dev-lang/perl
+       sys-devel/flex
+       >=sys-apps/sed-4
+       doc? ( app-doc/doxygen
+               media-gfx/graphviz )"
+
+src_prepare() {
+       epatch "${FILESDIR}/${P}-as-needed.patch"
+       epatch "${FILESDIR}/${P}-respect-ldflags.patch"
+       # it's a nasty workaround rather than patch
+       epatch "${FILESDIR}/${P}-test-failure-hack.patch"
+       # 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
+       eautoreconf
+}
+
+src_configure() {
+       if use mpi; then
+               export CC=mpicc
+               export CXX=mpicxx
+       fi
+       econf \
+               $(use_enable threads) \
+               $(use_enable mpi parallel) \
+               --enable-shared \
+               ${myconf}
+
+       sed -i -e "s:^CFLAGS =.*$:CFLAGS=${CFLAGS}:" \
+               -e "s:^FFLAGS =.*$:FFLAGS=${FFLAGS:- -O2}:" \
+               -e "s:^CXXFLAGS =.*$:CXXFLAGS=${CXXFLAGS}:" \
+               lib/LocalMakefile
+}
+
+src_test() {
+       cd "${S}"/src/bin/mpqc/validate
+
+       # we'll only run the small test set, since the
+       # medium and large ones take >10h and >24h on my
+       # 1.8Ghz P4M
+       make check0 || die "failed in test routines"
+}
+
+src_install() {
+       emake installroot="${D}" install install_devel install_inc \
+               || die "install failed"
+
+       dodoc CHANGES CITATION README || die "failed to install docs"
+
+       # make extended docs
+       if use doc; then
+               cd "${S}"/doc
+               make all || die "failed to generate documentation"
+               doman man/man1/* && doman man/man3/* || \
+                       die "failed to install man pages"
+               dohtml -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
+}