summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorasau <asau>2013-03-08 07:09:04 +0000
committerasau <asau>2013-03-08 07:09:04 +0000
commit71b584679f26c8ddfd194d920b9772966f6fc029 (patch)
tree79922d3546cfac6a12bbccfa0bee815706accdcc /math
parentf270ddf22c4d02a1be6de0a7296c554aa95e1c02 (diff)
downloadpkgsrc-71b584679f26c8ddfd194d920b9772966f6fc029.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
+