Files
libint/libint.spec
Dmitry Roshchin 25103d76f8 - version update to 2.11.0
* 2025-04-24: 2.11.0
    - PR #364: fix eritest segfaults with atypical L combinations
    - PR #365: use Gaussian fit of Slater geminal for exceptional parameter values
  * 2025-04-08: 2.10.2
    - PR #360: CMake targets can be consumed from the build tree (e.g., usable via FetchContent)
  * 2025-04-07: 2.10.1
    - PR #358: introduced libint2_cxx-static CMake TARGET
    - PR #357: fixup ANO-RCC-MB basis set definition (amends PR #354)
  * 2025-04-05: 2.10.0
    - PR #354: added ANO-RCC-MB basis sets (HT @kshitij-05)
    - PR #352: added correlation-consistent 7Z basis sets (HT @powellsr)
    - PR #350: vector traits for simd::VectorAVXFloat (HT @johannes-menzel)
    - PR #346: added atomic potentials (fitted to Gaussians) used for Superposition of Atomic Potentials (HT @kshitij-05)
    - PR #345: fixes Molden file generation in presence of solid harmonic p shells (HT @dmejiar)
    - PR #342: build fixes for MinGW-w64 (HT @MehdiChinoune)
    - PR #340: derivatives of Cartesian electric multipoles (HT @EricaCMitchell)
  * 2024-03-04: 2.9.0
    - PR #335: l->symbol map reuse + other misc improvements
    - PR #334: bump Catch2 to 2.13.10 (HT @hrnagel)
    - PR #333: can use modularized Boost, even if built as part of the project
    - PR #331: add SOVERSION when building shared library only (HT @loriab)
    - PR #329: increase Tenno function interpolation table to support L=9 4-c ERI
    - PR #327: fix stochastic failures of tests/eri by reducing range of random shells parameters
    - PR #281: auto-generator for DF basis (HT @kshitij-05)
  * 2024-02-05: 2.8.2
    - PR #324: addresses issues with 3eri derivatives + minor 3eri API safety improvements
    - PR #322: update libtool to 2.4.7 + update config.{guess,sub} to 2024-01-01
    - PR #319: pylibint builds with latest setuptools (HT @loriab)
    - PR #311: clang-format.sh uses bash to resolve #310 (HT @e-kwsm)

OBS-URL: https://build.opensuse.org/package/show/science/libint?expand=0&rev=20
2025-05-07 16:52:57 +00:00

129 lines
4.8 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#
# 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 Poples 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 Poples 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 Poples 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