summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktor Drobot2020-01-20 17:48:11 +0300
committerViktor Drobot2020-01-20 17:48:11 +0300
commitd1d9eaa60ae705043d4b07b94f6253005dc8b7f1 (patch)
treed9b60e7318ba936cb1ed8a728040c2465f5aadf8
parent1cb7c2fd34aa5c9db434ae7f8a567935d0e13946 (diff)
downloadaur-d1d9eaa60ae705043d4b07b94f6253005dc8b7f1.tar.gz
Rebuild
-rw-r--r--.SRCINFO22
-rw-r--r--0001-Update-build_libint.cc.patch29
-rw-r--r--PKGBUILD85
3 files changed, 109 insertions, 27 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 63277c04b1d2..6c19a8973ab1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,21 @@
pkgbase = libint2
- pkgdesc = A library for the evaluation of molecular integrals of many-body operators over Gaussian functions
+ pkgdesc = A high-performance library for computing Gaussian integrals in quantum mechanics
pkgver = 2.6.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/evaleev/libint
arch = x86_64
- license = GPL3
- makedepends = make
+ license = GPL
+ makedepends = python
+ makedepends = gcc-fortran
+ makedepends = cmake
+ makedepends = automake
makedepends = autoconf
- makedepends = doxygen
- makedepends = clang
- makedepends = texlive-bin
depends = boost
- depends = boost-libs
- depends = gmp
- options = !strip
+ options = staticlibs
source = https://github.com/evaleev/libint/archive/v2.6.0.tar.gz
- sha1sums = 2432391ff400bb9bf813443043582fa397f38b0a
+ source = 0001-Update-build_libint.cc.patch
+ sha256sums = 4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa
+ sha256sums = 22fea5b46e61ad3a08f2b9ea9a898dc8c29faa77db06dfd45cdc8e9046286a6e
pkgname = libint2
diff --git a/0001-Update-build_libint.cc.patch b/0001-Update-build_libint.cc.patch
new file mode 100644
index 000000000000..05774194e1f6
--- /dev/null
+++ b/0001-Update-build_libint.cc.patch
@@ -0,0 +1,29 @@
+From 36e61e6b5a5bbc779b89badb79b8e034ed3fc4c4 Mon Sep 17 00:00:00 2001
+From: "Lori A. Burns" <lori.burns@gmail.com>
+Date: Thu, 3 Oct 2019 19:13:55 -0400
+Subject: [PATCH] Update build_libint.cc
+
+---
+ src/bin/libint/build_libint.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/bin/libint/build_libint.cc b/src/bin/libint/build_libint.cc
+index 1b1da8c..626c651 100644
+--- a/src/bin/libint/build_libint.cc
++++ b/src/bin/libint/build_libint.cc
+@@ -785,7 +785,12 @@ BOOST_PP_LIST_FOR_EACH ( BOOST_PP_ONEBODY_MCR1, _, BOOST_PP_ONEBODY_TASK_LIST)
+ }
+ #else
+ iface->to_params(iface->macro_define("MAX_AM",LIBINT_MAX_AM));
+- iface->to_params(iface->macro_define("MAX_AM_default",LIBINT_MAX_AM));
++ for(unsigned int d=0; d<=INCLUDE_ERI; ++d) {
++ std::ostringstream oss;
++ oss << "MAX_AM_default";
++ if (d > 0) oss << d;
++ iface->to_params(iface->macro_define(oss.str(),LIBINT_MAX_AM));
++ }
+ #endif
+ cparams->print(os);
+
+--
+2.24.1
diff --git a/PKGBUILD b/PKGBUILD
index da05f85d29c5..ef4ae409622a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,33 +1,86 @@
# Maintainer: Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com
+# Contributor: Anton Kudelin <kudelin at protonmail dot com>
-pkgname=libint2
_pkgname=libint
+pkgname=libint2
pkgver=2.6.0
-pkgrel=1
-pkgdesc='A library for the evaluation of molecular integrals of many-body operators over Gaussian functions'
+pkgrel=2
+pkgdesc='A high-performance library for computing Gaussian integrals in quantum mechanics'
url='https://github.com/evaleev/libint'
-license=('GPL3')
+license=('GPL')
arch=('x86_64')
-depends=('boost' 'boost-libs' 'gmp')
-makedepends=('make' 'autoconf' 'doxygen' 'clang' 'texlive-bin')
-source=("https://github.com/evaleev/libint/archive/v${pkgver}.tar.gz")
-sha1sums=('2432391ff400bb9bf813443043582fa397f38b0a')
-options=(!strip)
+depends=('boost')
+makedepends=('python' 'gcc-fortran' 'cmake' 'automake' 'autoconf')
+source=("https://github.com/evaleev/libint/archive/v${pkgver}.tar.gz"
+ "0001-Update-build_libint.cc.patch")
+sha256sums=('4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa'
+ '22fea5b46e61ad3a08f2b9ea9a898dc8c29faa77db06dfd45cdc8e9046286a6e')
+options=(staticlibs)
-build() {
- cd ${srcdir}/${_pkgname}-${pkgver}
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/0001-Update-build_libint.cc.patch"
./autogen.sh
+ mkdir "$srcdir/build"
- mkdir build
- cd build
+ # Detecting FMA support
+ if [ $( gcc -march=native -dM -E - < /dev/null | egrep "FMA__" | tail -c 2 ) \
+ == 1 ]
+ then
+ FMA=yes
+ CXXFLAGS="$CXXFLAGS -mfma"
+ echo "Support of FMA intrinsics is enabled"
+ else
+ FMA=no
+ echo "Support of FMA intrinsics is disabled"
+ fi
+
+ # Setting build environment
+ export CC=gcc
+ export CXX=g++
+ export FC=gfortran
+ export CXXGENFLAGS="$CXXFLAGS"
+}
- ../configure --prefix=/usr
+build() {
+ cd "${srcdir}/build"
+
+ # Generating code with desirable features such as fortran interface
+ ../$_pkgname-$pkgver/configure \
+ --enable-eri=1 \
+ --enable-eri2=1 \
+ --enable-eri3=1 \
+ --enable-fma=$FMA \
+ --with-max-am=5 \
+ --with-eri-max-am=5,4 \
+ --with-eri2-max-am=7,6 \
+ --with-eri3-max-am=7,6 \
+ --with-opt-am=3
+ make export
+
+ # Actual compilation of LIBINT
+ tar xzf $_pkgname-$pkgver.tgz
+ cd "$_pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --enable-fortran \
+ --with-cxx=g++ \
+ --with-cxx-optflags="$CXXFLAGS"
make
}
+check() {
+ cd "$srcdir/build/$_pkgname-$pkgver"
+
+ make check
+}
+
package() {
- cd ${srcdir}/${_pkgname}-${pkgver}/build
+ cd "$srcdir/build/$_pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ make DESTDIR=$pkgdir install
}