# # spec file for package libint # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: libint Version: 2.11.0 Release: 0 %define sover 2 Summary: High-performance library for computing Gaussian integrals in quantum mechanics License: GPL-3.0-or-later AND LGPL-3.0-or-later Group: Productivity/Scientific/Chemistry URL: https://evaleev.github.io/libint/ Source0: https://github.com/evaleev/libint/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz # https://github.com/evaleev/libint/commit/485aaae9e18e9ad3d0d43f20caf8f054ded9b80b Patch0: libint-gcc15.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: eigen3-devel BuildRequires: gcc-c++ BuildRequires: gmp-devel BuildRequires: libboost_headers-devel # Exclude 32-bits - https://github.com/evaleev/libint/issues/196 ExcludeArch: %{ix86} %arm # not enough memory for lto %global _lto_cflags %nil %description LIBINT computes the Coulomb and exchange integrals, which in electronic structure theory are called electron repulsion integrals (ERIs). This is by far the most common type of integrals in molecular structure theory. LIBINT uses recursive schemes that originate in seminal Obara-Saika method and Head-Gordon and Pople’s variation thereof. The idea of LIBINT is to optimize computer implementation of such methods by implementing an optimizing compiler to generate automatically highly-specialized code that runs well on super-scalar architectures. %package -n libint2-%sover Summary: Main libint library v2 Group: System/Libraries %description -n libint2-%sover LIBINT computes the Coulomb and exchange integrals, which in electronic structure theory are called electron repulsion integrals (ERIs). This is by far the most common type of integrals in molecular structure theory. LIBINT uses recursive schemes that originate in seminal Obara-Saika method and Head-Gordon and Pople’s variation thereof. The idea of LIBINT is to optimize computer implementation of such methods by implementing an optimizing compiler to generate automatically highly-specialized code that runs well on super-scalar architectures. This package contains the library of the libint package. %package devel Summary: Development headers and libraries for libint Group: Development/Libraries/C and C++ Requires: eigen3-devel Requires: libint2-%sover = %{version} %description devel LIBINT computes the Coulomb and exchange integrals, which in electronic structure theory are called electron repulsion integrals (ERIs). This is by far the most common type of integrals in molecular structure theory. LIBINT uses recursive schemes that originate in seminal Obara-Saika method and Head-Gordon and Pople’s variation thereof. The idea of LIBINT is to optimize computer implementation of such methods by implementing an optimizing compiler to generate automatically highly-specialized code that runs well on super-scalar architectures. This package contains development headers and libraries for libint. %prep %autosetup -p1 ./autogen.sh %build %{configure} --enable-shared --disable-static \ --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ --with-eri-max-am=7,5,4 --with-eri-opt-am=3 \ --with-eri3-max-am=7 --with-eri2-max-am=7 \ --with-g12-max-am=5 --with-g12-opt-am=3 \ --with-g12dkh-max-am=5 --with-g12dkh-opt-am=3 \ --disable-unrolling --enable-generic-code --enable-contracted-ints \ --with-incdirs="-I%{_includedir}/eigen3" \ --with-cxx-optflags="%optflags" %make_build %install %make_install find %{buildroot} -name *.la -delete # Make sure libraries are executable (otherwise they are not stripped) find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; # Get rid of the basis set files that ship with libint find %{buildroot}%{_datadir}/libint -name \*.g94 -delete %post -n libint2-%sover -p /sbin/ldconfig %postun -n libint2-%sover -p /sbin/ldconfig %files -n libint2-%sover %doc README.md CHANGES %license LICENSE COPYING COPYING.LESSER %{_libdir}/libint2.so.%{sover}* %files devel %{_includedir}/libint2/ %{_includedir}/libint2.h %{_includedir}/libint2.hpp %{_libdir}/libint2.so %{_libdir}/pkgconfig/libint2.pc %changelog