Compare commits

..

1 commit

Author SHA1 Message Date
Jeff Law
6148fb664a Disable LTO on arm 2021-02-21 08:59:03 -07:00
6 changed files with 54 additions and 180 deletions

6
.gitignore vendored
View file

@ -13,9 +13,3 @@
/v2.6.0.tar.gz
/libint-2.6.0.tgz
/libint-2.6.0-classdoc.tar.bz2
/libint-2.8.2.tgz
/v2.8.2.tar.gz
/progman-2.8.2.pdf
/v2.9.0.tar.gz
/progman-2.9.0.pdf
/libint-2.9.0.tar.xz

View file

@ -1,10 +1,10 @@
# Generate libint2 source tarball.
# 2024-02-21 Susi Lehtola
# 2016-07-09 Susi Lehtola
# Before running this script, make sure that you have all the
# buildrequires for building libint2 w/ bootstrapping by running the command
# buildrequires for building libint2 w/ bootstrapping
# sudo dnf install boost-devel gmp-devel mpfr-devel autoconf automake "tex(latex)" "tex(appendix.sty)" "tex(framed.sty)" "tex(mathcomp.sty)" "tex(subfigure.sty)" "tex(wrapfig.sty)" "tex-bibtex" "tex(bbding.sty)" "tex(braket.sty)" "tex(sfmath.sty)" latex2html
sudo dnf install boost-devel gmp-devel mpfr-devel autoconf automake "tex(latex)" "tex(appendix.sty)" "tex(framed.sty)" "tex(mathcomp.sty)" "tex(subfigure.sty)" "tex(wrapfig.sty)" "tex-bibtex" "tex(bbding.sty)" "tex(braket.sty)" "tex(sfmath.sty)"
# Read the version from the spec file
ver=`grep "Version" libint2.spec|awk '{print $2}'`
@ -41,35 +41,17 @@ if [ ! -f libint-${ver}.tgz ]; then
export CXX=g++
# Optimization flags to use for the compiler (just speeds up the generation)
export OPTFLAGS=`rpm --eval %{optflags}`
export CXXGENFLAGS=`rpm --eval %{optflags}`
if(( 1 )); then
../configure --enable-shared --disable-static \
--enable-eri=2 --enable-eri3=2 --enable-eri2=2 \
--enable-1body=2 --enable-g12=1 \
--enable-1body-property-derivs \
--with-multipole-max-order=10 \
--with-eri-max-am=6,5,4 \
--with-eri3-max-am=12,11,10 --with-eri2-max-am=12,11,10 \
--with-max-am=6,5,4 \
--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-cxx-optflags="$OPTFLAGS" \
| tee configure.log
else
# Much smaller version to work out the packaging
../configure --enable-shared --disable-static \
--enable-eri=2 --enable-eri3=2 --enable-eri2=2 \
--with-eri-max-am=3,2,1 --with-eri-opt-am=3 \
--with-eri3-max-am=3 --with-eri2-max-am=3 \
--with-g12-max-am=2 --with-g12-opt-am=2 \
--with-g12dkh-max-am=2 --with-g12dkh-opt-am=2 \
--disable-unrolling --enable-generic-code --enable-contracted-ints \
--with-cxx-optflags="$OPTFLAGS" \
| tee configure.log
fi
../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-cxx-optflags="$OPTFLAGS" \
| tee configure.log
# Generate the library sources
echo "Running make export, follow progress in export.log"
make export > export.log
@ -83,10 +65,7 @@ make -C doc
# Copy the generated source tarball
cp libint-${ver}.tgz ../..
# Copy the programmer's manual
cp -p doc/progman/progman.pdf ../../progman-${ver}.pdf
# Recompress with xz
cd ../..
cp -p libint-${ver}.{tgz,tar.gz}
gunzip libint-${ver}.tar.gz
xz libint-${ver}.tar
cp -p doc/progman/progman.pdf ../..
# and compress the html sources
cd doc/classdoc
tar jcf ../../../../libint-${ver}-classdoc.tar.bz2 html/

View file

@ -1,22 +0,0 @@
diff -up libint-2.8.2/CMakeLists.txt.fedoraver libint-2.8.2/CMakeLists.txt
--- libint-2.8.2/CMakeLists.txt.fedoraver 2024-02-21 23:21:55.000000000 +0000
+++ libint-2.8.2/CMakeLists.txt 2024-02-22 09:49:10.871180865 +0000
@@ -16,7 +16,7 @@ if (LIBINT_BUILDID)
else(LIBINT_BUILDID)
set(LIBINT_EXT_VERSION ${LIBINT_VERSION})
endif(LIBINT_BUILDID)
-set(MAX_AM_ERI "") # patch here in export tarball w/highest 4-center, 0-deriv ERI AM in numbers
+set(MAX_AM_ERI "7") # patch here in export tarball w/highest 4-center, 0-deriv ERI AM in numbers
# Add module directory and modules =====================================================================================
diff -up libint-2.8.2/src/configuration.cc.cmake.in.fedoraver libint-2.8.2/src/configuration.cc.cmake.in
--- libint-2.8.2/src/configuration.cc.cmake.in.fedoraver 2024-02-21 23:21:54.000000000 +0000
+++ libint-2.8.2/src/configuration.cc.cmake.in 2024-02-22 09:50:11.307111838 +0000
@@ -23,5 +23,5 @@
@return the semicolon-separated strings from CMake components */
const char* configuration_accessor() {
// return "@Libint2_CONFIG_COMPONENTS@";
- return "(nyi)";
+ return "ss;multipole_nn_d0;multipole_mm_d0;multipole_ll_d0;multipole_kk_d0;multipole_ii_d0;multipole_hh_d0;multipole_gg_d0;multipole_ff_d0;multipole_dd_d0;onebody_kk_d0;onebody_ii_d0;onebody_hh_d0;onebody_gg_d0;onebody_ff_d0;onebody_dd_d0;onebody_kk_d1;onebody_ii_d1;onebody_hh_d1;onebody_gg_d1;onebody_ff_d1;onebody_dd_d1;onebody_hh_d2;onebody_gg_d2;onebody_ff_d2;onebody_dd_d2;eri_kkkk_d0;eri_iiii_d0;eri_hhhh_d0;eri_gggg_d0;eri_ffff_d0;eri_dddd_d0;eri_kkkk_d1;eri_iiii_d1;eri_hhhh_d1;eri_gggg_d1;eri_ffff_d1;eri_dddd_d1;eri_gggg_d2;eri_ffff_d2;eri_dddd_d2;eri_kkQ_d0;eri_kkO_d0;eri_kkN_d0;eri_kkM_d0;eri_kkL_d0;eri_kkK_d0;eri_iiQ_d0;eri_iiO_d0;eri_iiN_d0;eri_iiM_d0;eri_iiL_d0;eri_iiK_d0;eri_iiI_d0;eri_hhQ_d0;eri_hhO_d0;eri_hhN_d0;eri_hhM_d0;eri_hhL_d0;eri_hhK_d0;eri_hhI_d0;eri_hhH_d0;eri_ggQ_d0;eri_ggO_d0;eri_ggN_d0;eri_ggM_d0;eri_ggL_d0;eri_ggK_d0;eri_ggI_d0;eri_ggH_d0;eri_ggG_d0;eri_ffQ_d0;eri_ffO_d0;eri_ffN_d0;eri_ffM_d0;eri_ffL_d0;eri_ffK_d0;eri_ffI_d0;eri_ffH_d0;eri_ffG_d0;eri_ffF_d0;eri_ddQ_d0;eri_ddO_d0;eri_ddN_d0;eri_ddM_d0;eri_ddL_d0;eri_ddK_d0;eri_ddI_d0;eri_ddH_d0;eri_ddG_d0;eri_ddF_d0;eri_ddD_d0;eri_kkK_d1;eri_iiK_d1;eri_iiI_d1;eri_hhK_d1;eri_hhI_d1;eri_hhH_d1;eri_ggK_d1;eri_ggI_d1;eri_ggH_d1;eri_ggG_d1;eri_ffK_d1;eri_ffI_d1;eri_ffH_d1;eri_ffG_d1;eri_ffF_d1;eri_ddK_d1;eri_ddI_d1;eri_ddH_d1;eri_ddG_d1;eri_ddF_d1;eri_ddD_d1;eri_hhH_d2;eri_ggH_d2;eri_ggG_d2;eri_ffH_d2;eri_ffG_d2;eri_ffF_d2;eri_ddH_d2;eri_ddG_d2;eri_ddF_d2;eri_ddD_d2;eri_kkq_d0;eri_kko_d0;eri_kkn_d0;eri_kkm_d0;eri_kkl_d0;eri_kkk_d0;eri_iiq_d0;eri_iio_d0;eri_iin_d0;eri_iim_d0;eri_iil_d0;eri_iik_d0;eri_iii_d0;eri_hhq_d0;eri_hho_d0;eri_hhn_d0;eri_hhm_d0;eri_hhl_d0;eri_hhk_d0;eri_hhi_d0;eri_hhh_d0;eri_ggq_d0;eri_ggo_d0;eri_ggn_d0;eri_ggm_d0;eri_ggl_d0;eri_ggk_d0;eri_ggi_d0;eri_ggh_d0;eri_ggg_d0;eri_ffq_d0;eri_ffo_d0;eri_ffn_d0;eri_ffm_d0;eri_ffl_d0;eri_ffk_d0;eri_ffi_d0;eri_ffh_d0;eri_ffg_d0;eri_fff_d0;eri_ddq_d0;eri_ddo_d0;eri_ddn_d0;eri_ddm_d0;eri_ddl_d0;eri_ddk_d0;eri_ddi_d0;eri_ddh_d0;eri_ddg_d0;eri_ddf_d0;eri_ddd_d0;eri_kkk_d1;eri_iik_d1;eri_iii_d1;eri_hhk_d1;eri_hhi_d1;eri_hhh_d1;eri_ggk_d1;eri_ggi_d1;eri_ggh_d1;eri_ggg_d1;eri_ffk_d1;eri_ffi_d1;eri_ffh_d1;eri_ffg_d1;eri_fff_d1;eri_ddk_d1;eri_ddi_d1;eri_ddh_d1;eri_ddg_d1;eri_ddf_d1;eri_ddd_d1;eri_hhh_d2;eri_ggh_d2;eri_ggg_d2;eri_ffh_d2;eri_ffg_d2;eri_fff_d2;eri_ddh_d2;eri_ddg_d2;eri_ddf_d2;eri_ddd_d2;eri_QQ_d0;eri_OO_d0;eri_NN_d0;eri_MM_d0;eri_LL_d0;eri_KK_d0;eri_II_d0;eri_HH_d0;eri_GG_d0;eri_FF_d0;eri_DD_d0;eri_KK_d1;eri_II_d1;eri_HH_d1;eri_GG_d1;eri_FF_d1;eri_DD_d1;eri_HH_d2;eri_GG_d2;eri_FF_d2;eri_DD_d2;eri_qq_d0;eri_oo_d0;eri_nn_d0;eri_mm_d0;eri_ll_d0;eri_kk_d0;eri_ii_d0;eri_hh_d0;eri_gg_d0;eri_ff_d0;eri_dd_d0;eri_kk_d1;eri_ii_d1;eri_hh_d1;eri_gg_d1;eri_ff_d1;eri_dd_d1;eri_hh_d2;eri_gg_d2;eri_ff_d2;eri_dd_d2;g12_hhhh_d0;g12_gggg_d0;g12_ffff_d0;g12_dddd_d0;g12_hhhh_d1;g12_gggg_d1;g12_ffff_d1;g12_dddd_d1";
}

View file

@ -1,12 +0,0 @@
diff -up libint-2.9.0/CMakeLists.txt.datadir libint-2.9.0/CMakeLists.txt
--- libint-2.9.0/CMakeLists.txt.datadir 2024-08-16 18:09:07.000000000 +0000
+++ libint-2.9.0/CMakeLists.txt 2024-09-03 18:26:42.987384071 +0000
@@ -377,7 +377,7 @@ if (LIBINT_HAS_CXX_API)
target_compile_definitions(
libint2_cxx
INTERFACE
- $<INSTALL_INTERFACE:DATADIR="\$\{_IMPORT_PREFIX\}/${LIBINT2_INSTALL_DATADIR}">
+ $<INSTALL_INTERFACE:DATADIR="${LIBINT2_INSTALL_DATADIR}">
)
endif()
# Add library to the list of installed components

View file

@ -2,10 +2,6 @@
%ifarch %{arm}
%define _lto_cflags %{nil}
%endif
# We run out of memory on many builders since the source files are big, drop down to four threads
%define _smp_mflags -j4
# Disable x86 architectures since builders run out of memory
ExcludeArch: %{ix86}
# RPM macro directory
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
@ -16,17 +12,16 @@ ExcludeArch: %{ix86}
# We use -O2 for the compiler and -O1 for the library (these are given
# in configure). The common flags are
%global commonflags %(echo %{optflags} | sed "s|-O2||g")
%global optflags %commonflags -O1 -fno-var-tracking-assignments
%global optflags %commonflags -O1
# API version provided. Increment this whenever you change the configure time flags.
%global apiversion 1
%global apiversion 0
Name: libint2
Version: 2.9.0
Release: 5%{?dist}
Version: 2.6.0
Release: 10%{?dist}
Summary: A library for efficient evaluation of electron repulsion integrals
# Generator itself is GPLv2+, generated library packaged in Fedora is LGPLv3
License: LGPL-3.0-only
License: GPLv2+
URL: https://github.com/evaleev/libint
# Compiler sources
@ -39,14 +34,14 @@ Source0: https://github.com/evaleev/libint/archive/v%{version}.tar.gz
# generated on the same run, debuginfo will turn up missing from the
# RPM (BZ #9619635). For this reason pregenerated sources are used. To
# generate the sources, run the generate-sources.sh script.
Source1: libint-%{version}.tar.xz
Source1: libint-%{version}.tgz
# The programmers' manual is compiled from the LaTeX source by generate-sources.sh
Source2: progman-%{version}.pdf
Source2: progman.pdf
# and the html documentation is extracted from the source code as well
Source3: libint-%{version}-classdoc.tar.bz2
# The source tarball generator does not introduce all info in the CMake config for now, this patches in the missing info
Patch0: libint-2.8.2-fedoraver.patch
# Fix location of data directory in generated CMake config
Patch1: libint-2.9.0-datadir.patch
# Fix Fortran example
Patch0: libint-2.6.0-fexample.patch
Provides: libint2(api)%{?_isa} = %{apiversion}
@ -55,10 +50,9 @@ BuildRequires: gcc-gfortran
BuildRequires: boost-devel
BuildRequires: mpfr-devel
BuildRequires: python3-devel
BuildRequires: make
BuildRequires: cmake
BuildRequires: eigen3-devel
BuildRequires: pybind11-devel
BuildRequires: make
# Disabled until 2.7.0
#BuildRequires: eigen3-devel
%description
LIBINT computes the Coulomb and exchange integrals, which in electronic
@ -71,53 +65,45 @@ computer implementation of such methods by implementing an optimizing compiler
to generate automatically highly-specialized code that runs well on
super-scalar architectures.
%package data
Summary: Shared data for libint2
Requires: libint2 = %{version}-%{release}
BuildArch: noarch
%description data
This package contains shared data for libint2.
%package doc
Summary: Documentation for libint2
Summary: Documentation for libint
Requires: libint2 = %{version}-%{release}
BuildArch: noarch
%description doc
This package contains a programmer's manual and doxygen documentation
for the classes.
%package devel
Summary: Development headers and libraries for libint2
Summary: Development headers and libraries for libint
Requires: libint2%{?_isa} = %{version}-%{release}
# For dir ownership
Requires: cmake
# Dependencies for compiling code
Requires: boost-devel
Requires: eigen3-devel
Requires: gmp-devel
Requires: mpfr-devel
%description devel
This package contains development headers and libraries for libint2.
This package contains development headers and libraries for libint.
%prep
%setup -q -T -b 1 -n libint-%{version}
%patch 0 -p1 -b .fedora
# Copy programmers manual
cp -p %{SOURCE2} doc/progman.pdf
%patch0 -p1 -b .fexample
# Copy programmers manual and extract the html documentation
cp -p %{SOURCE2} doc
tar jxf %{SOURCE3}
%build
export CXX=g++
%cmake -DENABLE_FORTRAN=ON -DENABLE_MPFR=ON -DLIBINT2_PYTHON=ON -DLIBINT2_INSTALL_LIBDIR=%{_libdir} -DLIBINT2_INSTALL_DATADIR=%{_datadir}/%{name} -DLIBINT2_INSTALL_CMAKEDIR=%{_libdir}/cmake/%{name}
%cmake_build
%configure --enable-shared --disable-static --enable-fortran \
--with-incdirs="-I%{_includedir}/eigen3" \
--with-cxx-optflags="%{optflags}"
%make_build
%install
%cmake_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 {} \;
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
# Create macro file
mkdir -p %{buildroot}%{macrosdir}
@ -134,14 +120,10 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/
%files
%doc LICENSE COPYING
%{_libdir}/libint2.so.2
%{_libdir}/libint2.so.%{version}
%files data
%{_datadir}/libint2/
%{_libdir}/libint*.so.*
%files doc
%doc doc/progman.pdf
%doc doc/progman.pdf html
%files devel
%{macrosdir}/macros.libint2
@ -149,59 +131,11 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/
%{_includedir}/libint2/
%{_includedir}/libint2.h
%{_includedir}/libint2.hpp
%{_libdir}/*.so
%{_libdir}/pkgconfig/libint2.pc
%{_fmoddir}/libint_f.mod
%{_libdir}/libint2.so
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Sep 03 2024 Susi Lehtola <jussilehtola@fedoraproject.org> 2.9.0-3
- Fix location of data directory in generated CMake config.
* Tue Sep 03 2024 Susi Lehtola <jussilehtola@fedoraproject.org> 2.9.0-2
- Devel package now pulls in boost, eigen3, gmp, and mpfr development
packages that are needed to build against libint2.
* Sun Aug 18 2024 Susi Lehtola <jussilehtola@fedoraproject.org> 2.9.0-1
- Disable build on i386 architecture where the build runs out of memory.
- Update license tag to LGPL-3.0-only (generated library).
- Update to 2.9.0.
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.8.2-3
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Feb 21 2024 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.8.2-1
- Update to 2.8.2.
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Feb 21 2021 Jeff Law <law@redhat.com> - 2.6.0-10
- Disable LTO on arm

View file

@ -1,3 +1,4 @@
SHA512 (v2.9.0.tar.gz) = 6cffbd3d78dee4722b8085f4dd93085351cb610b5cb7ac090335adb2c43e87256ca06a658c202473fd763a38f7c0eeb6570b2c6a107e3f41d1258baf6e5b17de
SHA512 (progman-2.9.0.pdf) = 2eb6728e69ac3b395bf39c994f99fd937adf2a0ea7a5664b2e9313d00f4cd4c13a0eabc35c978bd6756938065a870c6bf88544c63bf6cb07c0862438413a8772
SHA512 (libint-2.9.0.tar.xz) = 5bfeb16c5123f277481922f4894e79f75fe923c90b0a4440b55881b9f270a53b5a91cba569a3b25e2aeaa142688e7454d13608c1f5673f5843b7605fb07bd7b2
SHA512 (v2.6.0.tar.gz) = 56343c64b0dfb829702f4bb2fe14a04ad063acd7cb8b5a21cd1a45a830944c1ee98c888c9a28d6746b1bc17459aefcfb0aafe6ef310bfe554056212ad19e43ef
SHA512 (libint-2.6.0.tgz) = 35298dee20ba84c9405cdd7f81fef5e0be58e431c427bd73eb2c6292f5946664aac71d28159f7070c5afce0f1d280a851c61f2777468624d7edcd32d5a4fdfe3
SHA512 (libint-2.6.0-classdoc.tar.bz2) = 6a0959f26b933bb29511ef3c5e521e1fb2456e563eb8e5094237e4b4feaaa8eacf1552f794ee1bb2e38c4f71e5456d940df35672304af9d6c6bac11247b20781
SHA512 (progman.pdf) = 2562e4cc7e70944adaec3bb1637ce5e7fdbb04c71ae15e29c246d5866dcdc36d313019af6cd8d1d53ccea0685591f2a5676e5f90dd29bd8fd097824ebe7de742