summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorasau <asau@pkgsrc.org>2013-03-08 07:09:04 +0000
committerasau <asau@pkgsrc.org>2013-03-08 07:09:04 +0000
commit0ed88f20055db602926e3907dcf2e1a81b37756c (patch)
tree79922d3546cfac6a12bbccfa0bee815706accdcc /math
parentcd590cf591d305d2b9c75c485e81116d13eaf676 (diff)
downloadpkgsrc-0ed88f20055db602926e3907dcf2e1a81b37756c.tar.gz
Import libint-2.0.0 as math/libint
Libint is two things: 1. a library of C/C++ functions for efficient evaluation of several kinds of two-body molecular integrals over Gaussian functions; 2. the optimizing compiler that generates a Libint library. In molecular electronic structure theory Gaussian basis sets are standard because they allow efficient evaluation of matrix elements of operators (molecular integrals). Modern electronic structure programs spend considerable portion of their runtime computing the Coulomb two-electron integrals. While anyone can compute Gaussian integrals using simple formulas, the efficient evaluation of many-body can be (relatively) complicated. Libint is an open library that anyone can use to compute a variety of two-electron integrals, most importantly the Coulomb two-electron integrals and their arbitrary-order geometric derivatives, over Gaussians of arbitrary angular momentum. Among other notable features is the support for the nonstandard two-electron integrals that appear in explicitly correlated R12 methods.
Diffstat (limited to 'math')
-rw-r--r--math/libint/DESCR20
-rw-r--r--math/libint/Makefile19
-rw-r--r--math/libint/PLIST10
-rw-r--r--math/libint/buildlink3.mk15
-rw-r--r--math/libint/distinfo6
-rw-r--r--math/libint/patches/patch-MakeRules.in37
6 files changed, 107 insertions, 0 deletions
diff --git a/math/libint/DESCR b/math/libint/DESCR
new file mode 100644
index 00000000000..4920d9855db
--- /dev/null
+++ b/math/libint/DESCR
@@ -0,0 +1,20 @@
+Libint is two things:
+1. a library of C/C++ functions for efficient evaluation of
+several kinds of two-body molecular integrals over Gaussian
+functions;
+2. the optimizing compiler that generates a Libint library.
+
+In molecular electronic structure theory Gaussian basis sets are
+standard because they allow efficient evaluation of matrix
+elements of operators (molecular integrals). Modern electronic
+structure programs spend considerable portion of their runtime
+computing the Coulomb two-electron integrals. While anyone can
+compute Gaussian integrals using simple formulas, the efficient
+evaluation of many-body can be (relatively) complicated.
+Libint is an open library that anyone can use to compute a
+variety of two-electron integrals, most importantly the Coulomb
+two-electron integrals and their arbitrary-order geometric
+derivatives, over Gaussians of arbitrary angular momentum.
+Among other notable features is the support for the nonstandard
+two-electron integrals that appear in explicitly correlated R12
+methods.
diff --git a/math/libint/Makefile b/math/libint/Makefile
new file mode 100644
index 00000000000..0f97f162073
--- /dev/null
+++ b/math/libint/Makefile
@@ -0,0 +1,19 @@
+# $NetBSD: Makefile,v 1.1.1.1 2013/03/08 07:09:04 asau Exp $
+
+DISTNAME= libint-2.0.0-stable
+PKGNAME= libint-2.0.0
+CATEGORIES= math
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libint/}
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= asau@inbox.ru
+HOMEPAGE= http://sourceforge.net/p/libint/
+COMMENT= Efficient computation of quantum mechanical matrix elements over Gaussian basis sets
+
+USE_LANGUAGES= c c++
+GNU_CONFIGURE= yes
+USE_TOOLS= gmake
+USE_LIBTOOL= yes
+BUILD_TARGET= default
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/math/libint/PLIST b/math/libint/PLIST
new file mode 100644
index 00000000000..ae24773a270
--- /dev/null
+++ b/math/libint/PLIST
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2013/03/08 07:09:04 asau Exp $
+include/libint2/cgshell_ordering.h
+include/libint2/cgshellinfo.h
+include/libint2/libint2.h
+include/libint2/libint2_config.h
+include/libint2/libint2_iface.h
+include/libint2/libint2_intrinsic_types.h
+include/libint2/libint2_params.h
+include/libint2/libint2_types.h
+lib/libint2.a
diff --git a/math/libint/buildlink3.mk b/math/libint/buildlink3.mk
new file mode 100644
index 00000000000..d34f3afc298
--- /dev/null
+++ b/math/libint/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2013/03/08 07:09:04 asau Exp $
+
+# It only installs static library:
+BUILDLINK_DEPMETHOD.libint?= build
+
+BUILDLINK_TREE+= libint
+
+.if !defined(LIBINT_BUILDLINK3_MK)
+LIBINT_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.libint+= libint>=2.0.0
+BUILDLINK_PKGSRCDIR.libint?= ../../math/libint
+.endif # LIBINT_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -libint
diff --git a/math/libint/distinfo b/math/libint/distinfo
new file mode 100644
index 00000000000..34b09aeccfa
--- /dev/null
+++ b/math/libint/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2013/03/08 07:09:04 asau Exp $
+
+SHA1 (libint-2.0.0-stable.tgz) = b658778f8c9d0be42e2663abb1e40a49d3f2dd30
+RMD160 (libint-2.0.0-stable.tgz) = 763bcd528d75a147b261cd4793e33ee648d11b69
+Size (libint-2.0.0-stable.tgz) = 7875292 bytes
+SHA1 (patch-MakeRules.in) = c83d8e36b46aabd82f6395a5e96e502871bf4e1a
diff --git a/math/libint/patches/patch-MakeRules.in b/math/libint/patches/patch-MakeRules.in
new file mode 100644
index 00000000000..e6bab4b001f
--- /dev/null
+++ b/math/libint/patches/patch-MakeRules.in
@@ -0,0 +1,37 @@
+$NetBSD: patch-MakeRules.in,v 1.1.1.1 2013/03/08 07:09:04 asau Exp $
+
+--- MakeRules.in.orig 2011-08-31 00:35:09.000000000 +0000
++++ MakeRules.in
+@@ -4,20 +4,20 @@ default:: $(TOPDIR)/lib/$(TARGET)
+ install:: install_inc install_target
+
+ install_inc:: $(TOPDIR)/lib/$(TARGET)
+- $(INSTALL) $(INSTALLDIROPT) $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_intrinsic_types.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_iface.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_params.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_types.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_params.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/cgshellinfo.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/cgshell_ordering.h $(includedir)/$(NAME)$(VERSION)
+- -$(INSTALL) $(INSTALLLIBOPT) $(TOPDIR)/include/libint2_config.h $(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLDIROPT) $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_intrinsic_types.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_iface.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_params.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_types.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/libint2_params.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/cgshellinfo.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/include/cgshell_ordering.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
++ $(INSTALL) $(INSTALLLIBOPT) $(TOPDIR)/include/libint2_config.h $(DESTDIR)$(includedir)/$(NAME)$(VERSION)
+
+ install_target:: $(TOPDIR)/lib/$(TARGET)
+- $(INSTALL) $(INSTALLDIROPT) $(libdir)
+- $(LTINST) $(INSTALL) $(INSTALLLIBOPT) $< $(libdir)
++ $(INSTALL) $(INSTALLDIROPT) $(DESTDIR)$(libdir)
++ $(LTINST) $(INSTALL) $(INSTALLLIBOPT) $< $(DESTDIR)$(libdir)
+
+ clean:: oclean targetclean
+