From 3b2b3f2d4c9e291d7e7d80035e55145e81e1005d Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 7 May 2013 16:32:08 +0300 Subject: [PATCH 01/88] Initial import. --- .gitignore | 1 + libint2.spec | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 113 insertions(+) create mode 100644 libint2.spec diff --git a/.gitignore b/.gitignore index e69de29..57b2236 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libint2-607hg.tar.bz2 diff --git a/libint2.spec b/libint2.spec new file mode 100644 index 0000000..325c4e9 --- /dev/null +++ b/libint2.spec @@ -0,0 +1,111 @@ +# The source code the libint compiler generates is already very highly +# optimized. Further optimization done by the compiler does not +# increase performance, but it just takes a *lot* longer to compile. +%global optflags %(echo %{optflags} | sed "s|-O2|-O1|g") + +# Snapshot revision. +%global hgrel 607 + +Name: libint2 +Version: 2.0.0 +Release: 3.%{hgrel}hg%{?dist} +Summary: A library for efficient evaluation of electron repulsion integrals +Group: System Environment/Libraries +License: GPLv2+ +URL: http://sourceforge.net/p/libint +# Upstream does not release stable tarball releases. Snapshot generated with +#$ hg clone -u %{hgrel} http://hg.code.sf.net/p/libint/mercurial libint2 +#$ rm -rf libint2/.hg +#$ tar jcf ~/rpmbuild/SOURCES/libint2-%{hgrel}hg.tar.bz2 libint2 +Source0: libint2-%{hgrel}hg.tar.bz2 + +# Required to build documentation +BuildRequires: tex(appendix.sty) +BuildRequires: tex(bbding.sty) +BuildRequires: tex(braket.sty) +BuildRequires: tex(framed.sty) +BuildRequires: tex(latex) +BuildRequires: tex(mathcomp.sty) +BuildRequires: tex(sfmath.sty) +BuildRequires: tex(subfigure.sty) +Buildrequires: tex(wrapfig.sty) +BuildRequires: tex-bibtex + +# Needed for bootstrap +BuildRequires: autoconf +BuildRequires: automake + +BuildRequires: boost-devel +BuildRequires: gmp-devel +BuildRequires: mpfr-devel + +%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 devel +Summary: Development headers and libraries for libint +Group: Development/Libraries +Requires: libint2%{?_isa} = %{version}-%{release} + +%description devel +This package contains development headers and libraries for libint. +It also contains a programmer's manual. + +%prep +%setup -q -n %{name} + +%build +aclocal -I lib/autoconf +autoconf + +# Compile the compiler +mkdir objdir-%{_arch} +cd objdir-%{_arch} +ln -s ../configure . +%configure --enable-shared --disable-static \ + --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ + --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ + --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ + --disable-unrolling --enable-generic-code --enable-contracted-ints + +make %{?_smp_mflags} + +# Build documentation +make -C doc + +%install +make -C objdir-%{_arch} install DESTDIR=%{buildroot} + +find %{buildroot} -name *.la -delete +find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%doc LICENSE +%{_libdir}/libint*.so.* + +%files devel +%doc objdir-%{_arch}/doc/progman/progman.pdf +%{_includedir}/libint2/ +%{_libdir}/*.so + +%changelog +* Mon May 06 2013 Susi Lehtola - 2.0.0-3.607hg +- Explicitly arched requires in -devel package. + +* Mon Feb 18 2013 Dominik Mierzejewski - 2.0.0-2.607hg +- Add missing tex build dependencies +- Fix devel subpackage dependencies + +* Wed Jan 23 2012 Susi Lehtola - 2.0.0-1.607hg +- First release. diff --git a/sources b/sources index e69de29..e7050b4 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +1c3c829b1229c5ea94b86e03dc787091 libint2-607hg.tar.bz2 From d1623d33cc9801d592a3a82fa9ea1549e30c1cfb Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 7 May 2013 18:42:59 +0300 Subject: [PATCH 02/88] Doesn't build on i386, make package ExclusiveArch. --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 325c4e9..1d62617 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,6 +19,9 @@ URL: http://sourceforge.net/p/libint #$ tar jcf ~/rpmbuild/SOURCES/libint2-%{hgrel}hg.tar.bz2 libint2 Source0: libint2-%{hgrel}hg.tar.bz2 +# Doesn't seem to build on i386. Most use is anyway on +ExclusiveArch: x86_64 + # Required to build documentation BuildRequires: tex(appendix.sty) BuildRequires: tex(bbding.sty) @@ -76,7 +79,7 @@ ln -s ../configure . --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ --disable-unrolling --enable-generic-code --enable-contracted-ints -make %{?_smp_mflags} +make CXXDEPEND=g++ %{?_smp_mflags} # Build documentation make -C doc From a10804265e688c75f1e5f57bf74d4b3dc57a734b Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 10 May 2013 00:26:52 +0300 Subject: [PATCH 03/88] Update to 615hg, fixing FTBFS. --- .gitignore | 2 ++ libint2.spec | 42 +++++++++++++++++++++++++++++++++--------- sources | 2 +- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 57b2236..29c0c36 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /libint2-607hg.tar.bz2 +/libint2-614hg.tar.bz2 +/libint2-615hg.tar.bz2 diff --git a/libint2.spec b/libint2.spec index 1d62617..f9c6ace 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,14 +1,19 @@ +# Original optimization flags +%global origflags %{optflags} # The source code the libint compiler generates is already very highly # optimized. Further optimization done by the compiler does not # increase performance, but it just takes a *lot* longer to compile. %global optflags %(echo %{optflags} | sed "s|-O2|-O1|g") # Snapshot revision. -%global hgrel 607 +%global hgrel 615 + +# Run tests? +%bcond_with tests Name: libint2 -Version: 2.0.0 -Release: 3.%{hgrel}hg%{?dist} +Version: 2.0.2 +Release: 1.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -16,12 +21,9 @@ URL: http://sourceforge.net/p/libint # Upstream does not release stable tarball releases. Snapshot generated with #$ hg clone -u %{hgrel} http://hg.code.sf.net/p/libint/mercurial libint2 #$ rm -rf libint2/.hg -#$ tar jcf ~/rpmbuild/SOURCES/libint2-%{hgrel}hg.tar.bz2 libint2 +#$ tar jcf libint2-%{hgrel}hg.tar.bz2 libint2 Source0: libint2-%{hgrel}hg.tar.bz2 -# Doesn't seem to build on i386. Most use is anyway on -ExclusiveArch: x86_64 - # Required to build documentation BuildRequires: tex(appendix.sty) BuildRequires: tex(bbding.sty) @@ -90,11 +92,28 @@ make -C objdir-%{_arch} install DESTDIR=%{buildroot} find %{buildroot} -name *.la -delete find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; +%if %{with tests} +# Running the tests takes AGES +%check +cd objdir-%{_arch}/tests/eri +export LD_LIBRARY_PATH=../../lib/.libs/ + +# The test code is simple brute-force evaluation, and is thus terribly +# slow. It's safe to use normal optimization flags here. +make CXXFLAGS='%{origflags} -std=c++11' +# Test ERIs +./test 0 +# Test ERI derivatives +./test 1 +# Test second ERI derivatives +./test 2 +%endif + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -%doc LICENSE +%doc LICENSE COPYING %{_libdir}/libint*.so.* %files devel @@ -103,6 +122,11 @@ find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; %{_libdir}/*.so %changelog +* Thu May 09 2013 Susi Lehtola - 2.0.2-1.615hg +- Update to hg snapshot 615 (version 2.0.2), fixing FTBFS on rawhide. +- Added possibility to run tests, but not by default since running them + takes *eons*. + * Mon May 06 2013 Susi Lehtola - 2.0.0-3.607hg - Explicitly arched requires in -devel package. @@ -110,5 +134,5 @@ find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; - Add missing tex build dependencies - Fix devel subpackage dependencies -* Wed Jan 23 2012 Susi Lehtola - 2.0.0-1.607hg +* Wed Jan 23 2013 Susi Lehtola - 2.0.0-1.607hg - First release. diff --git a/sources b/sources index e7050b4..a19fec2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1c3c829b1229c5ea94b86e03dc787091 libint2-607hg.tar.bz2 +f8efbd288ad60bd3c6a73dd5245c9fc8 libint2-615hg.tar.bz2 From 0d842f393326934b4d8e1364ee7ba93b18a6638f Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 12 May 2013 20:36:31 +0300 Subject: [PATCH 04/88] Use pregenerated tarball. --- .gitignore | 1 + generate-sources.sh | 46 +++++++++++++++++++++ libint2.spec | 97 +++++++++++++-------------------------------- sources | 2 +- 4 files changed, 76 insertions(+), 70 deletions(-) create mode 100644 generate-sources.sh diff --git a/.gitignore b/.gitignore index 29c0c36..eb32a74 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /libint2-607hg.tar.bz2 /libint2-614hg.tar.bz2 /libint2-615hg.tar.bz2 +/libint-2.0.2-618hg.tgz diff --git a/generate-sources.sh b/generate-sources.sh new file mode 100644 index 0000000..e252cbb --- /dev/null +++ b/generate-sources.sh @@ -0,0 +1,46 @@ +# Generate libint2 source tarball. +# 2013-05-12 Susi Lehtola + +# Read hg release from spec file +hgrel=`grep "global hgrel" libint2.spec|awk '{print $3}'` +# Read the version from the spec file +ver=`grep "Version" libint2.spec|awk '{print $2}'` + +echo "Using hg release $hgrel of version $ver." + +# Get the sources +hg clone -u $hgrel http://hg.code.sf.net/p/libint/mercurial libint2 + +# Go into the directory +cd libint2 + +# 618 patch +sed -i 's|echo|echo -e|g' export/Makefile + +# Run autoconf +aclocal -I lib/autoconf +autoconf + +# Object directory +if [ ! -d objdir ]; then + mkdir objdir +fi + +cd objdir +# Configure the options for the target library +if [ ! -f libint-${ver}-stable.tgz ]; then + echo "libint-${ver}-stable.tgz does not exist, generating." + ../configure --enable-shared --disable-static \ + --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ + --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ + --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ + --disable-unrolling --enable-generic-code --enable-contracted-ints + + # Generate the library sources + make export +else + echo "Found previously generated tarball." +fi + +# Copy the source tarball +cp libint-${ver}-stable.tgz ../../libint-${ver}-${hgrel}hg.tgz diff --git a/libint2.spec b/libint2.spec index f9c6ace..0be9e6c 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,48 +1,29 @@ -# Original optimization flags -%global origflags %{optflags} # The source code the libint compiler generates is already very highly # optimized. Further optimization done by the compiler does not # increase performance, but it just takes a *lot* longer to compile. %global optflags %(echo %{optflags} | sed "s|-O2|-O1|g") # Snapshot revision. -%global hgrel 615 - -# Run tests? -%bcond_with tests +%global hgrel 618 Name: libint2 Version: 2.0.2 -Release: 1.%{hgrel}hg%{?dist} +Release: 2.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ URL: http://sourceforge.net/p/libint -# Upstream does not release stable tarball releases. Snapshot generated with -#$ hg clone -u %{hgrel} http://hg.code.sf.net/p/libint/mercurial libint2 -#$ rm -rf libint2/.hg -#$ tar jcf libint2-%{hgrel}hg.tar.bz2 libint2 -Source0: libint2-%{hgrel}hg.tar.bz2 +# The library sources are autogenerated by a compiler, which needs a +# rather recent C++11 compiler to compile. Regardless of the C++ +# compiler used, the generated sources are identical. However, EPEL +# doesn't have a recent enough C++ compiler to be able to generate the +# sources. Also, if the sources are 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. +Source0: libint-%{version}-%{hgrel}hg.tgz -# Required to build documentation -BuildRequires: tex(appendix.sty) -BuildRequires: tex(bbding.sty) -BuildRequires: tex(braket.sty) -BuildRequires: tex(framed.sty) -BuildRequires: tex(latex) -BuildRequires: tex(mathcomp.sty) -BuildRequires: tex(sfmath.sty) -BuildRequires: tex(subfigure.sty) -Buildrequires: tex(wrapfig.sty) -BuildRequires: tex-bibtex - -# Needed for bootstrap -BuildRequires: autoconf -BuildRequires: automake - -BuildRequires: boost-devel -BuildRequires: gmp-devel -BuildRequires: mpfr-devel +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description LIBINT computes the Coulomb and exchange integrals, which in electronic @@ -65,63 +46,41 @@ This package contains development headers and libraries for libint. It also contains a programmer's manual. %prep -%setup -q -n %{name} +%setup -q -n libint-%{version}-stable %build -aclocal -I lib/autoconf -autoconf - -# Compile the compiler -mkdir objdir-%{_arch} -cd objdir-%{_arch} -ln -s ../configure . -%configure --enable-shared --disable-static \ - --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ - --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ - --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ - --disable-unrolling --enable-generic-code --enable-contracted-ints - -make CXXDEPEND=g++ %{?_smp_mflags} - -# Build documentation -make -C doc +%configure --enable-shared --disable-static +make %{?_smp_mflags} %install -make -C objdir-%{_arch} install DESTDIR=%{buildroot} - +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} find %{buildroot} -name *.la -delete +# Make sure libraries are executable (otherwise they are not stripped) find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; -%if %{with tests} -# Running the tests takes AGES -%check -cd objdir-%{_arch}/tests/eri -export LD_LIBRARY_PATH=../../lib/.libs/ - -# The test code is simple brute-force evaluation, and is thus terribly -# slow. It's safe to use normal optimization flags here. -make CXXFLAGS='%{origflags} -std=c++11' -# Test ERIs -./test 0 -# Test ERI derivatives -./test 1 -# Test second ERI derivatives -./test 2 -%endif +%clean +rm -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -%doc LICENSE COPYING +%defattr(-,root,root,-) +%doc LICENSE %{_libdir}/libint*.so.* %files devel -%doc objdir-%{_arch}/doc/progman/progman.pdf +%defattr(-,root,root,-) +#doc objdir-%{_arch}/doc/progman/progman.pdf %{_includedir}/libint2/ %{_libdir}/*.so %changelog +* Sun May 12 2013 Susi Lehtola - 2.0.2-2.618hg +- Switch to using a pregenerated tarball of library sources instead of + rerunning compiler for each build, solving BZ #961963. + * Thu May 09 2013 Susi Lehtola - 2.0.2-1.615hg - Update to hg snapshot 615 (version 2.0.2), fixing FTBFS on rawhide. - Added possibility to run tests, but not by default since running them diff --git a/sources b/sources index a19fec2..b7f9449 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f8efbd288ad60bd3c6a73dd5245c9fc8 libint2-615hg.tar.bz2 +8c07ce09f1258d06180e97bcf3808d84 libint-2.0.2-618hg.tgz From 3c2108771ab427b72a008869f6e7ed4d09575012 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Mon, 13 May 2013 10:40:38 +0300 Subject: [PATCH 05/88] Disable ppc arch. --- libint2.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libint2.spec b/libint2.spec index 0be9e6c..007645f 100644 --- a/libint2.spec +++ b/libint2.spec @@ -24,6 +24,8 @@ URL: http://sourceforge.net/p/libint Source0: libint-%{version}-%{hgrel}hg.tgz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +# On PPC (at least on EPEL5) the build fails due to a relocation error +ExcludeArch: ppc %description LIBINT computes the Coulomb and exchange integrals, which in electronic From 551f3060515aa8c2a4f359cea512598f1006257b Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 19 May 2013 21:25:42 +0300 Subject: [PATCH 06/88] Use pregenerated sources only on EPEL. --- .gitignore | 2 + generate-sources.sh | 60 ++++++++++++++++++------ libint2.spec | 108 +++++++++++++++++++++++++++++++++++++++----- sources | 3 +- 4 files changed, 147 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index eb32a74..f66ac33 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ /libint2-614hg.tar.bz2 /libint2-615hg.tar.bz2 /libint-2.0.2-618hg.tgz +/libint2-641hg.tar.bz2 +/libint-2.0.3-641hg.tgz diff --git a/generate-sources.sh b/generate-sources.sh index e252cbb..7473f65 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -1,6 +1,9 @@ # Generate libint2 source tarball. # 2013-05-12 Susi Lehtola +# Before running this script, make sure that you have all the +# buildrequires for building libint2 w/ bootstrapping + # Read hg release from spec file hgrel=`grep "global hgrel" libint2.spec|awk '{print $3}'` # Read the version from the spec file @@ -9,14 +12,38 @@ ver=`grep "Version" libint2.spec|awk '{print $2}'` echo "Using hg release $hgrel of version $ver." # Get the sources -hg clone -u $hgrel http://hg.code.sf.net/p/libint/mercurial libint2 +if [ ! -d libint2 ]; then + hg clone -u $hgrel http://hg.code.sf.net/p/libint/mercurial libint2 +else + cd libint2 + + # Get the current version + cur=`hg parent | head -n 1 |sed 's|:| |g' | awk '{print $2}'` + + # Check if we are not at the wanted revision + if [ $cur != $hgrel ]; then + # Remove the generated tarball + echo "Removing tarball generated from revision $cur" + rm -rf objdir/libint-*.tgz + + # Pull update + hg pull + hg update -r $hgrel + else + echo "Old version was $cur, current is $hgrel" + fi + + cd .. +fi + +# Generate source tarball +if [ ! -f libint2-${hgrel}hg.tar.bz2 ]; then + tar jcf libint2-${hgrel}hg.tar.bz2 --exclude=.hg/ --exclude=objdir* libint2 +fi # Go into the directory cd libint2 -# 618 patch -sed -i 's|echo|echo -e|g' export/Makefile - # Run autoconf aclocal -I lib/autoconf autoconf @@ -29,17 +56,24 @@ fi cd objdir # Configure the options for the target library if [ ! -f libint-${ver}-stable.tgz ]; then - echo "libint-${ver}-stable.tgz does not exist, generating." - ../configure --enable-shared --disable-static \ - --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ - --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ - --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ - --disable-unrolling --enable-generic-code --enable-contracted-ints + echo "libint-${ver}-stable.tgz does not exist, generating." - # Generate the library sources - make export + export CXX=g++ + # Optimization flags to use for the compiler (just speeds up the generation) + export OPTFLAGS=`rpm --eval %{optflags}` + + ../configure --enable-shared --disable-static \ + --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ + --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ + --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ + --disable-unrolling --enable-generic-code --enable-contracted-ints \ + --with-cxxdepend=${CXX} --with-cxx-optflags="${OPTFLAGS}" | tee configure.log + + # Generate the library sources + echo "Running make export, follow progress in export.log" + make export > export.log else - echo "Found previously generated tarball." + echo "Found previously generated tarball." fi # Copy the source tarball diff --git a/libint2.spec b/libint2.spec index 007645f..1f204ee 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,19 +1,35 @@ +# Snapshot revision. +%global hgrel 641 + +# Do full bootstrapping? (Build compiler and run it to generate library sources) +%global bootstrap 1 +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 +%global bootstrap 0 +%endif + # The source code the libint compiler generates is already very highly # optimized. Further optimization done by the compiler does not # increase performance, but it just takes a *lot* longer to compile. -%global optflags %(echo %{optflags} | sed "s|-O2|-O1|g") - -# Snapshot revision. -%global hgrel 618 +# 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") +%if %bootstrap +%global optflags %commonflags +%else +%global optflags %commonflags -O1 +%endif Name: libint2 -Version: 2.0.2 -Release: 2.%{hgrel}hg%{?dist} +Version: 2.0.3 +Release: 1.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ URL: http://sourceforge.net/p/libint -# The library sources are autogenerated by a compiler, which needs a + +# Compiler sources +Source0: libint2-%{hgrel}hg.tar.bz2 +# The library sources, which are autogenerated by a compiler, which needs a # rather recent C++11 compiler to compile. Regardless of the C++ # compiler used, the generated sources are identical. However, EPEL # doesn't have a recent enough C++ compiler to be able to generate the @@ -21,7 +37,30 @@ URL: http://sourceforge.net/p/libint # 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. -Source0: libint-%{version}-%{hgrel}hg.tgz +Source1: libint-%{version}-%{hgrel}hg.tgz + +# Don't print out debugging info about generated procedures during build (generates ~350MB of logs) +Patch1: libint2-noprint.patch + +# For building documentation +BuildRequires: tex(latex) +%if 0%{?fedora} >= 18 +BuildRequires: tex(appendix.sty) +BuildRequires: tex(framed.sty) +BuildRequires: tex(mathcomp.sty) +BuildRequires: tex(subfigure.sty) +Buildrequires: tex(wrapfig.sty) +BuildRequires: tex-bibtex +BuildRequires: tex(bbding.sty) +BuildRequires: tex(braket.sty) +BuildRequires: tex(sfmath.sty) +%endif + +%if %bootstrap +BuildRequires: boost-devel +BuildRequires: gmp-devel +BuildRequires: mpfr-devel +%endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # On PPC (at least on EPEL5) the build fails due to a relocation error @@ -47,15 +86,46 @@ Requires: libint2%{?_isa} = %{version}-%{release} This package contains development headers and libraries for libint. It also contains a programmer's manual. + %prep -%setup -q -n libint-%{version}-stable +%if %bootstrap +%setup -q -n libint2 +%patch1 -p1 -b .noprint +%else +%setup -q -T -b 1 -n libint-%{version}-stable +%endif %build -%configure --enable-shared --disable-static +export CXX=g++ + +%if %bootstrap +mkdir objdir-%{_arch} +cd objdir-%{_arch} +ln -s ../configure . +%endif + +%configure \ +%if %bootstrap + --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ + --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ + --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ + --disable-unrolling --enable-generic-code --enable-contracted-ints \ + --with-cxx-optflags="-O2" --with-cxxgen-optflags="-O1" \ +%endif + --enable-shared --disable-static + make %{?_smp_mflags} +# Build documentation +make -C doc + + %install rm -rf %{buildroot} + +%if %bootstrap +cd objdir-%{_arch} +%endif make install DESTDIR=%{buildroot} find %{buildroot} -name *.la -delete # Make sure libraries are executable (otherwise they are not stripped) @@ -67,18 +137,32 @@ rm -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%if %bootstrap +%check +cd objdir-%{_arch} +export LD_LIBRARY_PATH=`pwd`/lib/.libs/ +make check CXXFLAGS="%{optflags} -O2 -std=c++11" +%endif + %files %defattr(-,root,root,-) -%doc LICENSE +%doc LICENSE COPYING %{_libdir}/libint*.so.* %files devel %defattr(-,root,root,-) -#doc objdir-%{_arch}/doc/progman/progman.pdf +%if %bootstrap +%doc objdir-%{_arch}/doc/progman/progman.pdf +%else +%doc doc/progman.pdf +%endif %{_includedir}/libint2/ %{_libdir}/*.so %changelog +* Thu May 16 2013 Susi Lehtola - 2.0.3-1.641hg +- Use pregenerated tarballs only on EPEL. + * Sun May 12 2013 Susi Lehtola - 2.0.2-2.618hg - Switch to using a pregenerated tarball of library sources instead of rerunning compiler for each build, solving BZ #961963. diff --git a/sources b/sources index b7f9449..e8dce0f 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -8c07ce09f1258d06180e97bcf3808d84 libint-2.0.2-618hg.tgz +0b4d4dc7710d213db328c1e32158131d libint2-641hg.tar.bz2 +bb3de94bbb8a381de318f1fe05a52246 libint-2.0.3-641hg.tgz From ac95fe88ef1d546816120ea3ef3f9502dbff0fb5 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Mon, 20 May 2013 12:14:45 +0300 Subject: [PATCH 07/88] Whoops, forgot patch --- libint2-noprint.patch | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 libint2-noprint.patch diff --git a/libint2-noprint.patch b/libint2-noprint.patch new file mode 100644 index 0000000..96be01a --- /dev/null +++ b/libint2-noprint.patch @@ -0,0 +1,45 @@ +diff -up libint2/src/bin/libint/buildtest.cc.noprint libint2/src/bin/libint/buildtest.cc +--- libint2/src/bin/libint/buildtest.cc.noprint 2013-05-16 14:05:32.000000000 +0300 ++++ libint2/src/bin/libint/buildtest.cc 2013-05-17 13:41:07.541148622 +0300 +@@ -53,7 +53,7 @@ namespace libint2 { + assert(rr); + #endif + std::string rrlabel = cparams->api_prefix() + rr->label(); +- os << "generating code for " << context->label_to_name(rrlabel) << " target=" << rr->rr_target()->label() << endl; ++ // os << "generating code for " << context->label_to_name(rrlabel) << " target=" << rr->rr_target()->label() << endl; + + std::string decl_filename(prefix + context->label_to_name(rrlabel)); decl_filename += ".h"; + std::string def_filename(prefix + context->label_to_name(rrlabel)); def_filename += ".cc"; +diff -up libint2/src/bin/libint/dg.cc.noprint libint2/src/bin/libint/dg.cc +--- libint2/src/bin/libint/dg.cc.noprint 2013-05-16 14:05:32.000000000 +0300 ++++ libint2/src/bin/libint/dg.cc 2013-05-17 13:28:24.566769322 +0300 +@@ -1993,7 +1993,7 @@ DirectedGraph::print_def(const SafePtrnum_exit_arcs() != 0) { + // printing a recurrence relation +- std::cout << "DirectedGraph::print_def(): a RR making " << current_vertex->description() << std::endl; ++ // std::cout << "DirectedGraph::print_def(): a RR making " << current_vertex->description() << std::endl; + typedef DGArcRR arc_type; + SafePtr + arc_ptr = +diff -up libint2/src/bin/libint/rr.cc.noprint libint2/src/bin/libint/rr.cc +--- libint2/src/bin/libint/rr.cc.noprint 2013-05-16 14:05:32.000000000 +0300 ++++ libint2/src/bin/libint/rr.cc 2013-05-17 13:38:06.610174587 +0300 +@@ -49,7 +49,7 @@ RecurrenceRelation::generate_code(const + } + + const SafePtr target_vptr = rr_target(); +- std::cout << "RecurrenceRelation::generate_code: target = " << target_vptr->label() << std::endl; ++ // std::cout << "RecurrenceRelation::generate_code: target = " << target_vptr->label() << std::endl; + + const SafePtr& cparams = context->cparams(); + SafePtr dg = generate_graph_(); +@@ -175,7 +175,7 @@ RecurrenceRelation::generate_generic_cod + std::ostream& decl, std::ostream& def) + { + const SafePtr target_vptr = rr_target(); +- std::cout << "RecurrenceRelation::generate_generic_code: target = " << target_vptr->label() << std::endl; ++ // std::cout << "RecurrenceRelation::generate_generic_code: target = " << target_vptr->label() << std::endl; + + LibraryTaskManager& taskmgr = LibraryTaskManager::Instance(); + const std::string tlabel = taskmgr.current().label(); From a6a504cf67077c71fb666bc6c1de4e083eb88fbd Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 21 May 2013 12:12:02 +0300 Subject: [PATCH 08/88] Reduce maximum angular momentum of derivative ERIs. Enabled g12 and g12dkh integrals. --- generate-sources.sh | 13 ++++++++----- libint2.spec | 13 ++++++++++--- sources | 4 ++-- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/generate-sources.sh b/generate-sources.sh index 7473f65..331866f 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -63,11 +63,14 @@ if [ ! -f libint-${ver}-stable.tgz ]; then export OPTFLAGS=`rpm --eval %{optflags}` ../configure --enable-shared --disable-static \ - --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ - --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ - --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ - --disable-unrolling --enable-generic-code --enable-contracted-ints \ - --with-cxxdepend=${CXX} --with-cxx-optflags="${OPTFLAGS}" | tee configure.log + --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" diff --git a/libint2.spec b/libint2.spec index 1f204ee..414e5ea 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 1.%{hgrel}hg%{?dist} +Release: 2.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -107,8 +107,10 @@ ln -s ../configure . %configure \ %if %bootstrap --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ - --with-max-am=4 --with-opt-am=2 --with-eri-max-am=7 \ - --with-eri-opt-am=3 --with-eri3-max-am=7 --with-eri2-max-am=7 \ + --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="-O2" --with-cxxgen-optflags="-O1" \ %endif @@ -160,6 +162,11 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Tue May 21 2013 Susi Lehtola - 2.0.3-2.641hg +- Reduce maximum angular momentum for derivative ERIs, since 2nd derivatives of + (kk|kk) takes more than 2 GB of RAM. +- Enabled g12 and g12dkh integrals. + * Thu May 16 2013 Susi Lehtola - 2.0.3-1.641hg - Use pregenerated tarballs only on EPEL. diff --git a/sources b/sources index e8dce0f..5715ad8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -0b4d4dc7710d213db328c1e32158131d libint2-641hg.tar.bz2 -bb3de94bbb8a381de318f1fe05a52246 libint-2.0.3-641hg.tgz +ece9e45591a88e8b955fd6ab4ef54c18 libint2-641hg.tar.bz2 +85df1071fb3e3c1c102b8c88e7427455 libint-2.0.3-641hg.tgz From b379c3e3afec282d236eb3222328aca62bd8ba1c Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 21 May 2013 12:50:03 +0300 Subject: [PATCH 09/88] Run autoconf. --- libint2.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libint2.spec b/libint2.spec index 414e5ea..d5c7dc2 100644 --- a/libint2.spec +++ b/libint2.spec @@ -60,6 +60,8 @@ BuildRequires: tex(sfmath.sty) BuildRequires: boost-devel BuildRequires: gmp-devel BuildRequires: mpfr-devel +BuildRequires: autoconf +BuildRequires: automake %endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -91,6 +93,11 @@ It also contains a programmer's manual. %if %bootstrap %setup -q -n libint2 %patch1 -p1 -b .noprint + +# Generate configure +aclocal -I lib/autoconf +autoconf + %else %setup -q -T -b 1 -n libint-%{version}-stable %endif From ee5be6128e1c5fe0fa79b93ac27ab1574ac5222e Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Thu, 11 Jul 2013 20:56:46 +0300 Subject: [PATCH 10/88] Use xz to compress tarball. Update to revision 644. --- .gitignore | 2 ++ generate-sources.sh | 13 +++++++++---- libint2.spec | 10 +++++++--- sources | 4 ++-- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f66ac33..01fe5d2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /libint-2.0.2-618hg.tgz /libint2-641hg.tar.bz2 /libint-2.0.3-641hg.tgz +/libint2-644hg.tar.xz +/libint-2.0.3-644hg.tar.xz diff --git a/generate-sources.sh b/generate-sources.sh index 331866f..776d14b 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -37,8 +37,8 @@ else fi # Generate source tarball -if [ ! -f libint2-${hgrel}hg.tar.bz2 ]; then - tar jcf libint2-${hgrel}hg.tar.bz2 --exclude=.hg/ --exclude=objdir* libint2 +if [ ! -f libint2-${hgrel}hg.tar.xz ]; then + tar Jcf libint2-${hgrel}hg.tar.xz --exclude=.hg/ --exclude=objdir* libint2 fi # Go into the directory @@ -79,5 +79,10 @@ else echo "Found previously generated tarball." fi -# Copy the source tarball -cp libint-${ver}-stable.tgz ../../libint-${ver}-${hgrel}hg.tgz +# Compress the source tarball +cp libint-${ver}-stable.tgz libint-${ver}-${hgrel}hg.tar.gz +gunzip libint-${ver}-${hgrel}hg.tar.gz +xz libint-${ver}-${hgrel}hg.tar +mv libint-${ver}-${hgrel}hg.tar.xz ../.. + + diff --git a/libint2.spec b/libint2.spec index d5c7dc2..23a17d0 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,5 +1,5 @@ # Snapshot revision. -%global hgrel 641 +%global hgrel 644 # Do full bootstrapping? (Build compiler and run it to generate library sources) %global bootstrap 1 @@ -28,7 +28,7 @@ License: GPLv2+ URL: http://sourceforge.net/p/libint # Compiler sources -Source0: libint2-%{hgrel}hg.tar.bz2 +Source0: libint2-%{hgrel}hg.tar.xz # The library sources, which are autogenerated by a compiler, which needs a # rather recent C++11 compiler to compile. Regardless of the C++ # compiler used, the generated sources are identical. However, EPEL @@ -37,7 +37,7 @@ Source0: libint2-%{hgrel}hg.tar.bz2 # 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}-%{hgrel}hg.tgz +Source1: libint-%{version}-%{hgrel}hg.tar.xz # Don't print out debugging info about generated procedures during build (generates ~350MB of logs) Patch1: libint2-noprint.patch @@ -169,6 +169,10 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Thu Jul 11 2013 Susi Lehtola - 2.0.3-1.644hg +- Use xz to compress tarballs (BZ #979817). +- Update to revision 644. + * Tue May 21 2013 Susi Lehtola - 2.0.3-2.641hg - Reduce maximum angular momentum for derivative ERIs, since 2nd derivatives of (kk|kk) takes more than 2 GB of RAM. diff --git a/sources b/sources index 5715ad8..fbbe25d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -ece9e45591a88e8b955fd6ab4ef54c18 libint2-641hg.tar.bz2 -85df1071fb3e3c1c102b8c88e7427455 libint-2.0.3-641hg.tgz +997a189aecc62ba83d3a654cb49a9790 libint2-644hg.tar.xz +110ad2ff2dc59db6c8a89ed148696deb libint-2.0.3-644hg.tar.xz From f7ede3f71dc3f7e401a578547ed63d619d76d426 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Thu, 11 Jul 2013 21:09:51 +0300 Subject: [PATCH 11/88] Whoops, patch1 isn't necessary anymore. --- libint2-noprint.patch | 45 ------------------------------------------- libint2.spec | 4 ---- 2 files changed, 49 deletions(-) delete mode 100644 libint2-noprint.patch diff --git a/libint2-noprint.patch b/libint2-noprint.patch deleted file mode 100644 index 96be01a..0000000 --- a/libint2-noprint.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up libint2/src/bin/libint/buildtest.cc.noprint libint2/src/bin/libint/buildtest.cc ---- libint2/src/bin/libint/buildtest.cc.noprint 2013-05-16 14:05:32.000000000 +0300 -+++ libint2/src/bin/libint/buildtest.cc 2013-05-17 13:41:07.541148622 +0300 -@@ -53,7 +53,7 @@ namespace libint2 { - assert(rr); - #endif - std::string rrlabel = cparams->api_prefix() + rr->label(); -- os << "generating code for " << context->label_to_name(rrlabel) << " target=" << rr->rr_target()->label() << endl; -+ // os << "generating code for " << context->label_to_name(rrlabel) << " target=" << rr->rr_target()->label() << endl; - - std::string decl_filename(prefix + context->label_to_name(rrlabel)); decl_filename += ".h"; - std::string def_filename(prefix + context->label_to_name(rrlabel)); def_filename += ".cc"; -diff -up libint2/src/bin/libint/dg.cc.noprint libint2/src/bin/libint/dg.cc ---- libint2/src/bin/libint/dg.cc.noprint 2013-05-16 14:05:32.000000000 +0300 -+++ libint2/src/bin/libint/dg.cc 2013-05-17 13:28:24.566769322 +0300 -@@ -1993,7 +1993,7 @@ DirectedGraph::print_def(const SafePtrnum_exit_arcs() != 0) { - // printing a recurrence relation -- std::cout << "DirectedGraph::print_def(): a RR making " << current_vertex->description() << std::endl; -+ // std::cout << "DirectedGraph::print_def(): a RR making " << current_vertex->description() << std::endl; - typedef DGArcRR arc_type; - SafePtr - arc_ptr = -diff -up libint2/src/bin/libint/rr.cc.noprint libint2/src/bin/libint/rr.cc ---- libint2/src/bin/libint/rr.cc.noprint 2013-05-16 14:05:32.000000000 +0300 -+++ libint2/src/bin/libint/rr.cc 2013-05-17 13:38:06.610174587 +0300 -@@ -49,7 +49,7 @@ RecurrenceRelation::generate_code(const - } - - const SafePtr target_vptr = rr_target(); -- std::cout << "RecurrenceRelation::generate_code: target = " << target_vptr->label() << std::endl; -+ // std::cout << "RecurrenceRelation::generate_code: target = " << target_vptr->label() << std::endl; - - const SafePtr& cparams = context->cparams(); - SafePtr dg = generate_graph_(); -@@ -175,7 +175,7 @@ RecurrenceRelation::generate_generic_cod - std::ostream& decl, std::ostream& def) - { - const SafePtr target_vptr = rr_target(); -- std::cout << "RecurrenceRelation::generate_generic_code: target = " << target_vptr->label() << std::endl; -+ // std::cout << "RecurrenceRelation::generate_generic_code: target = " << target_vptr->label() << std::endl; - - LibraryTaskManager& taskmgr = LibraryTaskManager::Instance(); - const std::string tlabel = taskmgr.current().label(); diff --git a/libint2.spec b/libint2.spec index 23a17d0..f183c62 100644 --- a/libint2.spec +++ b/libint2.spec @@ -39,9 +39,6 @@ Source0: libint2-%{hgrel}hg.tar.xz # the generate-sources.sh script. Source1: libint-%{version}-%{hgrel}hg.tar.xz -# Don't print out debugging info about generated procedures during build (generates ~350MB of logs) -Patch1: libint2-noprint.patch - # For building documentation BuildRequires: tex(latex) %if 0%{?fedora} >= 18 @@ -92,7 +89,6 @@ It also contains a programmer's manual. %prep %if %bootstrap %setup -q -n libint2 -%patch1 -p1 -b .noprint # Generate configure aclocal -I lib/autoconf From 414fd4cf8b54d915b7c1070540181f1ae701f515 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 30 Jul 2013 14:18:14 +0200 Subject: [PATCH 12/88] Rebuild for boost 1.54.0 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index f183c62..c59fa98 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 2.%{hgrel}hg%{?dist} +Release: 3.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -165,6 +165,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Tue Jul 30 2013 Petr Machata - 2.0.3-3.644hg +- Rebuild for boost 1.54.0 + * Thu Jul 11 2013 Susi Lehtola - 2.0.3-1.644hg - Use xz to compress tarballs (BZ #979817). - Update to revision 644. From 73d8fc3d455802cd06fba326a2872a8109ce19ef Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 00:53:29 -0500 Subject: [PATCH 13/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index c59fa98..1697beb 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 3.%{hgrel}hg%{?dist} +Release: 4.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -165,6 +165,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 2.0.3-4.644hg +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Tue Jul 30 2013 Petr Machata - 2.0.3-3.644hg - Rebuild for boost 1.54.0 From 732789fc11b2d58c9e6666592dc4c32287c5bef5 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 23 May 2014 05:10:58 +0200 Subject: [PATCH 14/88] Rebuild for boost 1.55.0 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 1697beb..a297a6d 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 4.%{hgrel}hg%{?dist} +Release: 5.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -165,6 +165,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Fri May 23 2014 Petr Machata - 2.0.3-5.644hg +- Rebuild for boost 1.55.0 + * Sat Aug 03 2013 Fedora Release Engineering - 2.0.3-4.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 68870f236e049707ab32c25b7a94973842d7e4ed Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 22:55:56 -0500 Subject: [PATCH 15/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index a297a6d..4172b2c 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 5.%{hgrel}hg%{?dist} +Release: 6.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -165,6 +165,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 2.0.3-6.644hg +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Fri May 23 2014 Petr Machata - 2.0.3-5.644hg - Rebuild for boost 1.55.0 From 8f53eed96925c3b5bbab48bf70ee27de0debfd25 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 04:00:54 +0000 Subject: [PATCH 16/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 4172b2c..a784d85 100644 --- a/libint2.spec +++ b/libint2.spec @@ -21,7 +21,7 @@ Name: libint2 Version: 2.0.3 -Release: 6.%{hgrel}hg%{?dist} +Release: 7.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -165,6 +165,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 2.0.3-7.644hg +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sat Jun 07 2014 Fedora Release Engineering - 2.0.3-6.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From fbad503654de6e1cf9a412772de63c1693a4c66a Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 6 Sep 2014 05:43:09 +0200 Subject: [PATCH 17/88] Add latex requirements for EPEL7. --- libint2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index a784d85..5ffdd0b 100644 --- a/libint2.spec +++ b/libint2.spec @@ -41,7 +41,7 @@ Source1: libint-%{version}-%{hgrel}hg.tar.xz # For building documentation BuildRequires: tex(latex) -%if 0%{?fedora} >= 18 +%if 0%{?fedora} >= 18 || 0%{?rhel} > 6 BuildRequires: tex(appendix.sty) BuildRequires: tex(framed.sty) BuildRequires: tex(mathcomp.sty) From e48af614858506c17d533067c8a5514cf2fcf2b9 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 9 Sep 2014 21:54:21 +0200 Subject: [PATCH 18/88] Provide libint2(api) and rpm macro. --- libint2.spec | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 5ffdd0b..4850cfa 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,9 +19,12 @@ %global optflags %commonflags -O1 %endif +# API version provided. Increment this whenever you change the configure time flags. +%global apiversion 0 + Name: libint2 Version: 2.0.3 -Release: 7.%{hgrel}hg%{?dist} +Release: 8.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -39,6 +42,8 @@ Source0: libint2-%{hgrel}hg.tar.xz # the generate-sources.sh script. Source1: libint-%{version}-%{hgrel}hg.tar.xz +Provides: libint2(api)%{?_isa} = %{apiversion} + # For building documentation BuildRequires: tex(latex) %if 0%{?fedora} >= 18 || 0%{?rhel} > 6 @@ -136,6 +141,13 @@ find %{buildroot} -name *.la -delete # Make sure libraries are executable (otherwise they are not stripped) find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; +# Create macro file +mkdir -p %{buildroot}%{macrosdir} +cat > %{buildroot}%{macrosdir}/macros.libint2 << EOF +# Current version of libint2 is +%_libint2_apiversion %{apiversion} +EOF + %clean rm -rf %{buildroot} @@ -161,10 +173,14 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %else %doc doc/progman.pdf %endif +%{macrosdir}/macros.libint2 %{_includedir}/libint2/ %{_libdir}/*.so %changelog +* Tue Sep 09 2014 Susi Lehtola - 2.0.3-8.644hg +- Provide libint2(api) and rpm macro. + * Sun Aug 17 2014 Fedora Release Engineering - 2.0.3-7.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From a376869e53b7521776ec89e7b603c015c6d42ed4 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 10 Sep 2014 00:22:18 +0200 Subject: [PATCH 19/88] Need to define macro directory. --- libint2.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libint2.spec b/libint2.spec index 4850cfa..26424a5 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,3 +1,6 @@ +# RPM macro directory +%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + # Snapshot revision. %global hgrel 644 From 4ff4fc24228e888216c1ad47f95b9a6dd08cc902 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 27 Jan 2015 17:17:08 +0100 Subject: [PATCH 20/88] Rebuild for boost 1.57.0 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 26424a5..6f5057d 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 8.%{hgrel}hg%{?dist} +Release: 9.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Tue Jan 27 2015 Petr Machata - 2.0.3-9.644hg +- Rebuild for boost 1.57.0 + * Tue Sep 09 2014 Susi Lehtola - 2.0.3-8.644hg - Provide libint2(api) and rpm macro. From 594595578071032fb3ec1be77a1876c5c9b2cf4a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 15:19:29 +0200 Subject: [PATCH 21/88] Rebuilt for GCC 5 C++11 ABI change --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 6f5057d..ed2e187 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 9.%{hgrel}hg%{?dist} +Release: 10.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Sat May 02 2015 Kalev Lember - 2.0.3-10.644hg +- Rebuilt for GCC 5 C++11 ABI change + * Tue Jan 27 2015 Petr Machata - 2.0.3-9.644hg - Rebuild for boost 1.57.0 From f5849d3bdbbb6a96849bdee2ac1dbf48a17c5c43 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 15:52:11 +0000 Subject: [PATCH 22/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index ed2e187..db42275 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 10.%{hgrel}hg%{?dist} +Release: 11.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 2.0.3-11.644hg +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 02 2015 Kalev Lember - 2.0.3-10.644hg - Rebuilt for GCC 5 C++11 ABI change From b01bb10292badd223c45ab53b2c48eb7e3d42acf Mon Sep 17 00:00:00 2001 From: David Tardon Date: Wed, 22 Jul 2015 18:51:14 +0200 Subject: [PATCH 23/88] rebuild for Boost 1.58 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index db42275..f6dbb61 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 11.%{hgrel}hg%{?dist} +Release: 12.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Wed Jul 22 2015 David Tardon - 2.0.3-12.644hg +- rebuild for Boost 1.58 + * Wed Jun 17 2015 Fedora Release Engineering - 2.0.3-11.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 0f4eb4310f72ae519147cdbdf0f60eee11b4054e Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 29 Jul 2015 12:36:21 -0500 Subject: [PATCH 24/88] - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index f6dbb61..24f9bca 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 12.%{hgrel}hg%{?dist} +Release: 13.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Wed Jul 29 2015 Fedora Release Engineering - 2.0.3-13.644hg +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + * Wed Jul 22 2015 David Tardon - 2.0.3-12.644hg - rebuild for Boost 1.58 From 1f712cffba04767a6431a19ed4237501acf76c63 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 27 Aug 2015 20:57:31 +0100 Subject: [PATCH 25/88] Rebuilt for Boost 1.59 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 24f9bca..8af56e2 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 13.%{hgrel}hg%{?dist} +Release: 14.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Thu Aug 27 2015 Jonathan Wakely - 2.0.3-14.644hg +- Rebuilt for Boost 1.59 + * Wed Jul 29 2015 Fedora Release Engineering - 2.0.3-13.644hg - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 From c1dbd0bfede83d6021878648f5dcf350c3c47a6b Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 15 Jan 2016 09:57:30 +0000 Subject: [PATCH 26/88] Rebuilt for Boost 1.60 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 8af56e2..fefc77e 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 14.%{hgrel}hg%{?dist} +Release: 15.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Fri Jan 15 2016 Jonathan Wakely - 2.0.3-15.644hg +- Rebuilt for Boost 1.60 + * Thu Aug 27 2015 Jonathan Wakely - 2.0.3-14.644hg - Rebuilt for Boost 1.59 From fad6f73bf756618e077d323de57d5e3b70ff554b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 4 Feb 2016 03:21:19 +0000 Subject: [PATCH 27/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index fefc77e..7846cc1 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 15.%{hgrel}hg%{?dist} +Release: 16.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -181,6 +181,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 2.0.3-16.644hg +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Jan 15 2016 Jonathan Wakely - 2.0.3-15.644hg - Rebuilt for Boost 1.60 From 79600e4ed62ac8e365fc471734ba256549a1dd5a Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 9 Jul 2016 06:53:54 +0200 Subject: [PATCH 28/88] Rework the documentation build requires. --- libint2.spec | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/libint2.spec b/libint2.spec index 7846cc1..d139ff3 100644 --- a/libint2.spec +++ b/libint2.spec @@ -27,7 +27,7 @@ Name: libint2 Version: 2.0.3 -Release: 16.%{hgrel}hg%{?dist} +Release: 17.%{hgrel}hg%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -50,15 +50,8 @@ Provides: libint2(api)%{?_isa} = %{apiversion} # For building documentation BuildRequires: tex(latex) %if 0%{?fedora} >= 18 || 0%{?rhel} > 6 -BuildRequires: tex(appendix.sty) -BuildRequires: tex(framed.sty) -BuildRequires: tex(mathcomp.sty) -BuildRequires: tex(subfigure.sty) -Buildrequires: tex(wrapfig.sty) -BuildRequires: tex-bibtex -BuildRequires: tex(bbding.sty) -BuildRequires: tex(braket.sty) -BuildRequires: tex(sfmath.sty) +BuildRequires: texlive-collection-latex +BuildRequires: texlive-bibtex %endif %if %bootstrap @@ -181,6 +174,9 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %{_libdir}/*.so %changelog +* Fri Jul 08 2016 Susi Lehtola - 2.0.3-17.644hg +- Rework the documentation build requires. + * Thu Feb 04 2016 Fedora Release Engineering - 2.0.3-16.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 18898db4112d2fc69ed92a0302d273a9fa1ee47c Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 9 Jul 2016 22:23:22 +0200 Subject: [PATCH 29/88] Use pregenerated programmer's manual when not bootstrapping. --- .gitignore | 1 + libint2.spec | 29 +++++++++++++++++++++-------- sources | 1 + 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 01fe5d2..b74888f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /libint-2.0.3-641hg.tgz /libint2-644hg.tar.xz /libint-2.0.3-644hg.tar.xz +/progman.pdf diff --git a/libint2.spec b/libint2.spec index d139ff3..b5dfcd4 100644 --- a/libint2.spec +++ b/libint2.spec @@ -45,14 +45,10 @@ Source0: libint2-%{hgrel}hg.tar.xz # the generate-sources.sh script. Source1: libint-%{version}-%{hgrel}hg.tar.xz -Provides: libint2(api)%{?_isa} = %{apiversion} +# The programmers' manual is compiled from the LaTeX source. +Source2: progman.pdf -# For building documentation -BuildRequires: tex(latex) -%if 0%{?fedora} >= 18 || 0%{?rhel} > 6 -BuildRequires: texlive-collection-latex -BuildRequires: texlive-bibtex -%endif +Provides: libint2(api)%{?_isa} = %{apiversion} %if %bootstrap BuildRequires: boost-devel @@ -60,6 +56,20 @@ BuildRequires: gmp-devel BuildRequires: mpfr-devel BuildRequires: autoconf BuildRequires: automake + +# For building documentation +BuildRequires: tex(latex) +%if 0%{?fedora} >= 18 || 0%{?rhel} > 6 +BuildRequires: tex(appendix.sty) +BuildRequires: tex(framed.sty) +BuildRequires: tex(mathcomp.sty) +BuildRequires: tex(subfigure.sty) +Buildrequires: tex(wrapfig.sty) +BuildRequires: tex-bibtex +BuildRequires: tex(bbding.sty) +BuildRequires: tex(braket.sty) +BuildRequires: tex(sfmath.sty) +%endif %endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -97,6 +107,7 @@ autoconf %else %setup -q -T -b 1 -n libint-%{version}-stable +cp -p %{SOURCE2} doc %endif %build @@ -123,7 +134,9 @@ ln -s ../configure . make %{?_smp_mflags} # Build documentation +%if %bootstrap make -C doc +%endif %install @@ -175,7 +188,7 @@ make check CXXFLAGS="%{optflags} -O2 -std=c++11" %changelog * Fri Jul 08 2016 Susi Lehtola - 2.0.3-17.644hg -- Rework the documentation build requires. +- Use pregenerated programmer's manual when not bootstrapping. * Thu Feb 04 2016 Fedora Release Engineering - 2.0.3-16.644hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index fbbe25d..4e8c7bf 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ 997a189aecc62ba83d3a654cb49a9790 libint2-644hg.tar.xz 110ad2ff2dc59db6c8a89ed148696deb libint-2.0.3-644hg.tar.xz +52113fd4638d268425495df81e497ccd progman.pdf From 6c33316d84d6b89fabdd0b6c9d08bd5482689d83 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 9 Jul 2016 22:44:32 +0200 Subject: [PATCH 30/88] Don't bootstrap on EPEL7. --- libint2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index b5dfcd4..9383c0a 100644 --- a/libint2.spec +++ b/libint2.spec @@ -6,7 +6,7 @@ # Do full bootstrapping? (Build compiler and run it to generate library sources) %global bootstrap 1 -%if 0%{?rhel} == 5 || 0%{?rhel} == 6 +%if 0%{?rhel} > 0 %global bootstrap 0 %endif From edbfd336a2bc260ee157008d56f2a5ae2a64878e Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Mon, 11 Jul 2016 03:22:22 +0200 Subject: [PATCH 31/88] Update to 2.1.0. Always use sources pregenerated with the attached script. --- .gitignore | 3 + generate-sources.sh | 55 ++++++---------- libint2.spec | 148 +++++++++++++------------------------------- sources | 5 +- 4 files changed, 68 insertions(+), 143 deletions(-) diff --git a/.gitignore b/.gitignore index b74888f..f1df52e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ /libint2-644hg.tar.xz /libint-2.0.3-644hg.tar.xz /progman.pdf +/v2.1.0.tar.gz +/libint-2.1.0-classdoc.tar.bz2 +/libint-2.1.0-stable.tgz diff --git a/generate-sources.sh b/generate-sources.sh index 776d14b..f20282e 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -1,48 +1,28 @@ # Generate libint2 source tarball. -# 2013-05-12 Susi Lehtola +# 2016-07-09 Susi Lehtola # Before running this script, make sure that you have all the # buildrequires for building libint2 w/ bootstrapping -# Read hg release from spec file -hgrel=`grep "global hgrel" libint2.spec|awk '{print $3}'` +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}'` -echo "Using hg release $hgrel of version $ver." +echo "Using version $ver." # Get the sources -if [ ! -d libint2 ]; then - hg clone -u $hgrel http://hg.code.sf.net/p/libint/mercurial libint2 -else - cd libint2 - - # Get the current version - cur=`hg parent | head -n 1 |sed 's|:| |g' | awk '{print $2}'` - - # Check if we are not at the wanted revision - if [ $cur != $hgrel ]; then - # Remove the generated tarball - echo "Removing tarball generated from revision $cur" - rm -rf objdir/libint-*.tgz - - # Pull update - hg pull - hg update -r $hgrel - else - echo "Old version was $cur, current is $hgrel" - fi - - cd .. +if [ ! -f v${ver}.tar.gz ]; then + wget https://github.com/evaleev/libint/archive/v${ver}.tar.gz fi -# Generate source tarball -if [ ! -f libint2-${hgrel}hg.tar.xz ]; then - tar Jcf libint2-${hgrel}hg.tar.xz --exclude=.hg/ --exclude=objdir* libint2 +# Unzip tarball +if [ ! -d libint-${ver} ]; then + tar zxf v${ver}.tar.gz fi # Go into the directory -cd libint2 +cd libint-${ver} # Run autoconf aclocal -I lib/autoconf @@ -79,10 +59,13 @@ else echo "Found previously generated tarball." fi -# Compress the source tarball -cp libint-${ver}-stable.tgz libint-${ver}-${hgrel}hg.tar.gz -gunzip libint-${ver}-${hgrel}hg.tar.gz -xz libint-${ver}-${hgrel}hg.tar -mv libint-${ver}-${hgrel}hg.tar.xz ../.. - +# Generate documentation +make -C doc +# Copy the generated source tarball +cp libint-${ver}-stable.tgz ../.. +# Copy the programmer's manual +cp -p doc/progman/progman.pdf ../.. +# and compress the html sources +cd doc/classdoc +tar Jcf ../../../../libint-${ver}-classdoc.tar.bz2 html/ diff --git a/libint2.spec b/libint2.spec index 9383c0a..98989f9 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,77 +1,43 @@ # RPM macro directory %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) -# Snapshot revision. -%global hgrel 644 - -# Do full bootstrapping? (Build compiler and run it to generate library sources) -%global bootstrap 1 -%if 0%{?rhel} > 0 -%global bootstrap 0 -%endif - # The source code the libint compiler generates is already very highly # optimized. Further optimization done by the compiler does not # increase performance, but it just takes a *lot* longer to compile. # 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") -%if %bootstrap -%global optflags %commonflags -%else %global optflags %commonflags -O1 -%endif # API version provided. Increment this whenever you change the configure time flags. %global apiversion 0 Name: libint2 -Version: 2.0.3 -Release: 17.%{hgrel}hg%{?dist} +Version: 2.1.0 +Release: 1%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ -URL: http://sourceforge.net/p/libint +URL: https://github.com/evaleev/libint # Compiler sources -Source0: libint2-%{hgrel}hg.tar.xz -# The library sources, which are autogenerated by a compiler, which needs a -# rather recent C++11 compiler to compile. Regardless of the C++ -# compiler used, the generated sources are identical. However, EPEL -# doesn't have a recent enough C++ compiler to be able to generate the -# sources. Also, if the sources are 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}-%{hgrel}hg.tar.xz - -# The programmers' manual is compiled from the LaTeX source. +Source0: https://github.com/evaleev/libint/archive/v%{version}.tar.gz +# The library sources, which are generated by the compiler. The +# compiler needs a rather recent C++11 compiler to build. Regardless +# of the C++ compiler used, the generated sources are +# identical. However, EPEL doesn't have a recent enough C++ compiler +# to be able to generate the sources. Also, if the sources are +# 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}-stable.tgz +# The programmers' manual is compiled from the LaTeX source by generate-sources.sh Source2: progman.pdf +# and the html documentation is extracted from the source code as well +Source3: libint-%{version}-classdoc.tar.bz2 Provides: libint2(api)%{?_isa} = %{apiversion} -%if %bootstrap -BuildRequires: boost-devel -BuildRequires: gmp-devel -BuildRequires: mpfr-devel -BuildRequires: autoconf -BuildRequires: automake - -# For building documentation -BuildRequires: tex(latex) -%if 0%{?fedora} >= 18 || 0%{?rhel} > 6 -BuildRequires: tex(appendix.sty) -BuildRequires: tex(framed.sty) -BuildRequires: tex(mathcomp.sty) -BuildRequires: tex(subfigure.sty) -Buildrequires: tex(wrapfig.sty) -BuildRequires: tex-bibtex -BuildRequires: tex(bbding.sty) -BuildRequires: tex(braket.sty) -BuildRequires: tex(sfmath.sty) -%endif -%endif - BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # On PPC (at least on EPEL5) the build fails due to a relocation error ExcludeArch: ppc @@ -87,6 +53,18 @@ computer implementation of such methods by implementing an optimizing compiler to generate automatically highly-specialized code that runs well on super-scalar architectures. +%package doc +Summary: Documentation for libint +Group: Development/Libraries +Requires: libint2 = %{version}-%{release} +%if 0%{?rhel} != 5 +BuildArch: noarch +%endif + +%description doc +This package contains a programmer's manual and doxygen documentation +for the classes. + %package devel Summary: Development headers and libraries for libint Group: Development/Libraries @@ -94,61 +72,26 @@ Requires: libint2%{?_isa} = %{version}-%{release} %description devel This package contains development headers and libraries for libint. -It also contains a programmer's manual. - %prep -%if %bootstrap -%setup -q -n libint2 - -# Generate configure -aclocal -I lib/autoconf -autoconf - -%else %setup -q -T -b 1 -n libint-%{version}-stable +# Copy programmers manual and extract the html documentation cp -p %{SOURCE2} doc -%endif +tar Jxf %{SOURCE3} %build export CXX=g++ - -%if %bootstrap -mkdir objdir-%{_arch} -cd objdir-%{_arch} -ln -s ../configure . -%endif - -%configure \ -%if %bootstrap - --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="-O2" --with-cxxgen-optflags="-O1" \ -%endif - --enable-shared --disable-static - -make %{?_smp_mflags} - -# Build documentation -%if %bootstrap -make -C doc -%endif - +%configure --enable-shared --disable-static +make %{?_smp_mflags} VERBOSE=1 %install rm -rf %{buildroot} - -%if %bootstrap -cd objdir-%{_arch} -%endif make install DESTDIR=%{buildroot} 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 # Create macro file mkdir -p %{buildroot}%{macrosdir} @@ -163,30 +106,25 @@ rm -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%if %bootstrap -%check -cd objdir-%{_arch} -export LD_LIBRARY_PATH=`pwd`/lib/.libs/ -make check CXXFLAGS="%{optflags} -O2 -std=c++11" -%endif - %files -%defattr(-,root,root,-) %doc LICENSE COPYING %{_libdir}/libint*.so.* +%files doc +%doc doc/progman.pdf html + %files devel -%defattr(-,root,root,-) -%if %bootstrap -%doc objdir-%{_arch}/doc/progman/progman.pdf -%else -%doc doc/progman.pdf -%endif %{macrosdir}/macros.libint2 %{_includedir}/libint2/ +%{_includedir}/libint2.h +%{_includedir}/libint2.hpp %{_libdir}/*.so +%{_libdir}/pkgconfig/libint2.pc %changelog +* Sun Jul 10 2016 Susi Lehtola - 2.1.0-1 +- Update to 2.1.0. + * Fri Jul 08 2016 Susi Lehtola - 2.0.3-17.644hg - Use pregenerated programmer's manual when not bootstrapping. diff --git a/sources b/sources index 4e8c7bf..79919e0 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -997a189aecc62ba83d3a654cb49a9790 libint2-644hg.tar.xz -110ad2ff2dc59db6c8a89ed148696deb libint-2.0.3-644hg.tar.xz +d0dcb985fe32ddebc78fe571ce37e2d6 v2.1.0.tar.gz +50832724d9ca4c2b9c4b43027093098e libint-2.1.0-classdoc.tar.bz2 +d7da0cde3d0f2d6f2dc1a2031010324b libint-2.1.0-stable.tgz 52113fd4638d268425495df81e497ccd progman.pdf From 1e87c871d63ac6b0555e1f78d2d65dd566ba652c Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Mon, 11 Jul 2016 22:02:34 +0200 Subject: [PATCH 32/88] I accidentally used xz instead of bzip2. --- generate-sources.sh | 2 +- libint2.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/generate-sources.sh b/generate-sources.sh index f20282e..be35d7e 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -68,4 +68,4 @@ cp libint-${ver}-stable.tgz ../.. cp -p doc/progman/progman.pdf ../.. # and compress the html sources cd doc/classdoc -tar Jcf ../../../../libint-${ver}-classdoc.tar.bz2 html/ +tar jcf ../../../../libint-${ver}-classdoc.tar.bz2 html/ diff --git a/libint2.spec b/libint2.spec index 98989f9..9851ce2 100644 --- a/libint2.spec +++ b/libint2.spec @@ -77,7 +77,7 @@ This package contains development headers and libraries for libint. %setup -q -T -b 1 -n libint-%{version}-stable # Copy programmers manual and extract the html documentation cp -p %{SOURCE2} doc -tar Jxf %{SOURCE3} +tar jxf %{SOURCE3} %build export CXX=g++ diff --git a/sources b/sources index 79919e0..2e7ab02 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ d0dcb985fe32ddebc78fe571ce37e2d6 v2.1.0.tar.gz -50832724d9ca4c2b9c4b43027093098e libint-2.1.0-classdoc.tar.bz2 +c84358d57bc67e443c785cc03a652360 libint-2.1.0-classdoc.tar.bz2 d7da0cde3d0f2d6f2dc1a2031010324b libint-2.1.0-stable.tgz 52113fd4638d268425495df81e497ccd progman.pdf From 0f1639f31981e5e78ac69f8e941e694b1e9b7cf1 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 27 Jan 2017 06:21:53 +0000 Subject: [PATCH 33/88] Rebuilt for Boost 1.63 --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 9851ce2..5d01c74 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Fri Jan 27 2017 Jonathan Wakely - 2.1.0-2 +- Rebuilt for Boost 1.63 + * Sun Jul 10 2016 Susi Lehtola - 2.1.0-1 - Update to 2.1.0. From 32cb4cc382ca733ed36c82ae1f4c5a5ce5f4fa98 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 18:51:48 +0000 Subject: [PATCH 34/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 5d01c74..2e1211b 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 2.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Fri Jan 27 2017 Jonathan Wakely - 2.1.0-2 - Rebuilt for Boost 1.63 From 59cdf802e8b83b80f3632c9f162d2fb4e8e3e708 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:27:59 +0000 Subject: [PATCH 35/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 2e1211b..f72be4a 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Mon May 15 2017 Fedora Release Engineering - 2.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Fri Feb 10 2017 Fedora Release Engineering - 2.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From e356ba47d461622918d165e9371f7a625e7a096a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 19:04:12 +0000 Subject: [PATCH 36/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index f72be4a..5c0470c 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 2.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Mon May 15 2017 Fedora Release Engineering - 2.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From c91b7e5535155b0e8f92621d291efc5aef2cfcf2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 01:40:10 +0000 Subject: [PATCH 37/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 5c0470c..4548742 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 2.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 2.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 172e075abe2d0bc95ee5d93b793e9ee03f49ecd9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 21:58:05 +0000 Subject: [PATCH 38/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 4548742..be36d91 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -122,6 +122,9 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libint2.pc %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 2.1.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Thu Aug 03 2017 Fedora Release Engineering - 2.1.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From bae74635328bbd4a9fad51e5906c8bd6244cb9c7 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:40:14 +0100 Subject: [PATCH 39/88] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- libint2.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index be36d91..4d685a4 100644 --- a/libint2.spec +++ b/libint2.spec @@ -38,7 +38,6 @@ Source3: libint-%{version}-classdoc.tar.bz2 Provides: libint2(api)%{?_isa} = %{apiversion} -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # On PPC (at least on EPEL5) the build fails due to a relocation error ExcludeArch: ppc From 640f92e486800fd9b2cfa1965ccd9f070ad732f8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:18:31 +0100 Subject: [PATCH 40/88] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- libint2.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/libint2.spec b/libint2.spec index 4d685a4..94ba736 100644 --- a/libint2.spec +++ b/libint2.spec @@ -99,9 +99,6 @@ cat > %{buildroot}%{macrosdir}/macros.libint2 << EOF %_libint2_apiversion %{apiversion} EOF -%clean -rm -rf %{buildroot} - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig From 86dca567b562c894fbda0917c8c21f06c786239a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 08:16:41 +0000 Subject: [PATCH 41/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 94ba736..4dac261 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals Group: System Environment/Libraries License: GPLv2+ @@ -118,6 +118,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 2.1.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Feb 07 2018 Fedora Release Engineering - 2.1.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From f3ebec747251408a54439084729e21318d3f01f9 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 24 Jul 2018 16:16:16 +0200 Subject: [PATCH 42/88] Add missing BuildRequires on gcc-c++ configure: error: C++ compiler cannot create executables References: https://bugzilla.redhat.com/show_bug.cgi?id=1604601 Signed-off-by: Igor Gnatenko --- libint2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/libint2.spec b/libint2.spec index 4dac261..6a6543c 100644 --- a/libint2.spec +++ b/libint2.spec @@ -41,6 +41,7 @@ Provides: libint2(api)%{?_isa} = %{apiversion} # On PPC (at least on EPEL5) the build fails due to a relocation error ExcludeArch: ppc +BuildRequires: gcc-c++ %description LIBINT computes the Coulomb and exchange integrals, which in electronic structure theory are called electron repulsion integrals (ERIs). This is by From 5c2955b0b249f68e5dbbf3d4b695d58c0a0b3743 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 22 Jan 2019 18:39:48 +0100 Subject: [PATCH 43/88] Remove obsolete ldconfig scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- libint2.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index 6a6543c..2c04c45 100644 --- a/libint2.spec +++ b/libint2.spec @@ -100,8 +100,7 @@ cat > %{buildroot}%{macrosdir}/macros.libint2 << EOF %_libint2_apiversion %{apiversion} EOF -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files %doc LICENSE COPYING From 2196e709ee35b60db0e30d50fb61698baa3bd336 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:51 +0100 Subject: [PATCH 44/88] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- libint2.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/libint2.spec b/libint2.spec index 2c04c45..9d70516 100644 --- a/libint2.spec +++ b/libint2.spec @@ -16,7 +16,6 @@ Name: libint2 Version: 2.1.0 Release: 8%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals -Group: System Environment/Libraries License: GPLv2+ URL: https://github.com/evaleev/libint @@ -55,7 +54,6 @@ super-scalar architectures. %package doc Summary: Documentation for libint -Group: Development/Libraries Requires: libint2 = %{version}-%{release} %if 0%{?rhel} != 5 BuildArch: noarch @@ -67,7 +65,6 @@ for the classes. %package devel Summary: Development headers and libraries for libint -Group: Development/Libraries Requires: libint2%{?_isa} = %{version}-%{release} %description devel From 96eff99572bc281eedce812f5b3750b9dc7b5f04 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 07:24:08 +0000 Subject: [PATCH 45/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 9d70516..194b2fb 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -115,6 +115,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Fri Feb 01 2019 Fedora Release Engineering - 2.1.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Fri Jul 13 2018 Fedora Release Engineering - 2.1.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 35d47443416226fb8023ff89e13577a0b4d04b55 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 13:32:50 +0000 Subject: [PATCH 46/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 194b2fb..6defb31 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.1.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -115,6 +115,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 2.1.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Feb 01 2019 Fedora Release Engineering - 2.1.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From a5c120787ffdf4477fdb3751d33d4d31aa942b86 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 2 Aug 2019 22:01:35 +0200 Subject: [PATCH 47/88] Update to 2.6.0. --- .gitignore | 3 +++ generate-sources.sh | 6 +++--- libint2.spec | 16 +++++++--------- sources | 8 ++++---- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index f1df52e..1c6c827 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ /v2.1.0.tar.gz /libint-2.1.0-classdoc.tar.bz2 /libint-2.1.0-stable.tgz +/v2.6.0.tar.gz +/libint-2.6.0.tgz +/libint-2.6.0-classdoc.tar.bz2 diff --git a/generate-sources.sh b/generate-sources.sh index be35d7e..5ad282e 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -35,8 +35,8 @@ fi cd objdir # Configure the options for the target library -if [ ! -f libint-${ver}-stable.tgz ]; then - echo "libint-${ver}-stable.tgz does not exist, generating." +if [ ! -f libint-${ver}.tgz ]; then + echo "libint-${ver}.tgz does not exist, generating." export CXX=g++ # Optimization flags to use for the compiler (just speeds up the generation) @@ -63,7 +63,7 @@ fi make -C doc # Copy the generated source tarball -cp libint-${ver}-stable.tgz ../.. +cp libint-${ver}.tgz ../.. # Copy the programmer's manual cp -p doc/progman/progman.pdf ../.. # and compress the html sources diff --git a/libint2.spec b/libint2.spec index 6defb31..a80f4b9 100644 --- a/libint2.spec +++ b/libint2.spec @@ -13,8 +13,8 @@ %global apiversion 0 Name: libint2 -Version: 2.1.0 -Release: 10%{?dist} +Version: 2.6.0 +Release: 1%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -29,7 +29,7 @@ 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}-stable.tgz +Source1: libint-%{version}.tgz # The programmers' manual is compiled from the LaTeX source by generate-sources.sh Source2: progman.pdf # and the html documentation is extracted from the source code as well @@ -37,10 +37,8 @@ Source3: libint-%{version}-classdoc.tar.bz2 Provides: libint2(api)%{?_isa} = %{apiversion} -# On PPC (at least on EPEL5) the build fails due to a relocation error -ExcludeArch: ppc - BuildRequires: gcc-c++ + %description LIBINT computes the Coulomb and exchange integrals, which in electronic structure theory are called electron repulsion integrals (ERIs). This is by @@ -55,9 +53,6 @@ super-scalar architectures. %package doc Summary: Documentation for libint Requires: libint2 = %{version}-%{release} -%if 0%{?rhel} != 5 -BuildArch: noarch -%endif %description doc This package contains a programmer's manual and doxygen documentation @@ -115,6 +110,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Fri Aug 02 2019 Susi Lehtola - 2.6.0-1 +- Update to 2.6.0. + * Thu Jul 25 2019 Fedora Release Engineering - 2.1.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 2e7ab02..a91a051 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -d0dcb985fe32ddebc78fe571ce37e2d6 v2.1.0.tar.gz -c84358d57bc67e443c785cc03a652360 libint-2.1.0-classdoc.tar.bz2 -d7da0cde3d0f2d6f2dc1a2031010324b libint-2.1.0-stable.tgz -52113fd4638d268425495df81e497ccd progman.pdf +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 From 35c4e3ff04bf6c146f94a04ba146cbf76f73f28c Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 2 Aug 2019 22:13:32 +0200 Subject: [PATCH 48/88] Update source dir name. --- libint2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index a80f4b9..31b903c 100644 --- a/libint2.spec +++ b/libint2.spec @@ -66,7 +66,7 @@ Requires: libint2%{?_isa} = %{version}-%{release} This package contains development headers and libraries for libint. %prep -%setup -q -T -b 1 -n libint-%{version}-stable +%setup -q -T -b 1 -n libint-%{version} # Copy programmers manual and extract the html documentation cp -p %{SOURCE2} doc tar jxf %{SOURCE3} From 10a102c3c68a51f911100c82ba90e8e2177554f3 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 3 Aug 2019 12:15:38 +0200 Subject: [PATCH 49/88] Add CMake file. --- libint2.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libint2.spec b/libint2.spec index 31b903c..0316412 100644 --- a/libint2.spec +++ b/libint2.spec @@ -61,6 +61,8 @@ for the classes. %package devel Summary: Development headers and libraries for libint Requires: libint2%{?_isa} = %{version}-%{release} +# For dir ownership +Requires: cmake %description devel This package contains development headers and libraries for libint. @@ -103,6 +105,7 @@ EOF %files devel %{macrosdir}/macros.libint2 +%{_datadir}/cmake/libint2/ %{_includedir}/libint2/ %{_includedir}/libint2.h %{_includedir}/libint2.hpp From b88ddb8e956f1fa8989a82b263ceb0104082ba8b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 09:26:16 +0000 Subject: [PATCH 50/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 0316412..56d0f0a 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -113,6 +113,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 2.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Aug 02 2019 Susi Lehtola - 2.6.0-1 - Update to 2.6.0. From c2010a144138aea6f6b6a33816af11805df87055 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 04:53:45 +0000 Subject: [PATCH 51/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 56d0f0a..137c4ea 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -113,6 +113,9 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 2.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Wed Jan 29 2020 Fedora Release Engineering - 2.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 3ac117af028bdecea999a1c25c647368e9fedc3b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 03:58:33 +0000 Subject: [PATCH 52/88] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 137c4ea..c76a970 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -113,6 +113,10 @@ EOF %{_libdir}/pkgconfig/libint2.pc %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 2.6.0-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jul 28 2020 Fedora Release Engineering - 2.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 68d728391216fb7abc7ce9de2bbed59b35577253 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 11 Aug 2020 10:25:17 +0200 Subject: [PATCH 53/88] Make sure cmake directory exists --- libint2.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index c76a970..9519380 100644 --- a/libint2.spec +++ b/libint2.spec @@ -79,7 +79,8 @@ export CXX=g++ make %{?_smp_mflags} VERBOSE=1 %install -rm -rf %{buildroot} +# Make sure CMake directory exists +mkdir -p %{buildroot}%{_libdir}/cmake make install DESTDIR=%{buildroot} find %{buildroot} -name *.la -delete # Make sure libraries are executable (otherwise they are not stripped) From e19906d76d299e2d3074ad26b34ea018797ac043 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 11 Aug 2020 14:16:26 +0200 Subject: [PATCH 54/88] Use macros, cmake files are now in libdir not datadir --- libint2.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libint2.spec b/libint2.spec index 9519380..97634c4 100644 --- a/libint2.spec +++ b/libint2.spec @@ -76,12 +76,10 @@ tar jxf %{SOURCE3} %build export CXX=g++ %configure --enable-shared --disable-static -make %{?_smp_mflags} VERBOSE=1 +%make_build %install -# Make sure CMake directory exists -mkdir -p %{buildroot}%{_libdir}/cmake -make install DESTDIR=%{buildroot} +%make_install find %{buildroot} -name *.la -delete # Make sure libraries are executable (otherwise they are not stripped) find %{buildroot} -name *.so.*.* -exec chmod 755 {} \; @@ -106,7 +104,7 @@ EOF %files devel %{macrosdir}/macros.libint2 -%{_datadir}/cmake/libint2/ +%{_libdir}/cmake/libint2/ %{_includedir}/libint2/ %{_includedir}/libint2.h %{_includedir}/libint2.hpp From e05cdb3e5bb916c023dac0a960cb0ba27f694d78 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 15 Aug 2020 15:51:17 +0200 Subject: [PATCH 55/88] Enable Fortran bindings (BZ #1728161). --- libint-2.6.0-fexample.patch | 23 +++++++++++++++++++++++ libint2.spec | 19 +++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 libint-2.6.0-fexample.patch diff --git a/libint-2.6.0-fexample.patch b/libint-2.6.0-fexample.patch new file mode 100644 index 0000000..26b5622 --- /dev/null +++ b/libint-2.6.0-fexample.patch @@ -0,0 +1,23 @@ +diff -up libint-2.6.0/fortran/fortran_example.F90.fexample libint-2.6.0/fortran/fortran_example.F90 +--- libint-2.6.0/fortran/fortran_example.F90.fexample 2020-08-15 13:40:52.426814159 +0300 ++++ libint-2.6.0/fortran/fortran_example.F90 2020-08-15 13:42:07.730617092 +0300 +@@ -1,7 +1,7 @@ + PROGRAM fortran_example + + #include +-#include ++#include "libint2_params.h" + #include "fortran_incldefs.h" + + USE ISO_C_BINDING, ONLY: C_DOUBLE, C_F_POINTER, C_F_PROCPOINTER, C_NULL_PTR +@@ -86,8 +86,8 @@ PROGRAM fortran_example + am2, c2, alpha2, B, & + am3, c3, alpha3, C, & + am4, c4, alpha4, D, & +- F, deriv_order, erieval) +- CALL print_eri(am1, am2, am3, am4, erieval) ++ F, erieval) ++ CALL print_eri(am1, am2, am3, am4, deriv_order, erieval) + CALL libint2_cleanup_eri2(erieval) + #endif + #endif diff --git a/libint2.spec b/libint2.spec index 97634c4..208ac66 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -35,9 +35,15 @@ Source2: progman.pdf # and the html documentation is extracted from the source code as well Source3: libint-%{version}-classdoc.tar.bz2 +# Fix Fortran example +Patch0: libint-2.6.0-fexample.patch + Provides: libint2(api)%{?_isa} = %{apiversion} BuildRequires: gcc-c++ +BuildRequires: gcc-gfortran +BuildRequires: boost-devel +BuildRequires: mpfr-devel %description LIBINT computes the Coulomb and exchange integrals, which in electronic @@ -69,13 +75,14 @@ This package contains development headers and libraries for libint. %prep %setup -q -T -b 1 -n libint-%{version} +%patch0 -p1 -b .fexample # Copy programmers manual and extract the html documentation cp -p %{SOURCE2} doc tar jxf %{SOURCE3} %build export CXX=g++ -%configure --enable-shared --disable-static +%configure --enable-shared --disable-static --enable-fortran %make_build %install @@ -93,6 +100,10 @@ cat > %{buildroot}%{macrosdir}/macros.libint2 << EOF %_libint2_apiversion %{apiversion} EOF +# Move module file to the correct location +mkdir -p %{buildroot}%{_fmoddir} +mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ + %ldconfig_scriptlets %files @@ -110,8 +121,12 @@ EOF %{_includedir}/libint2.hpp %{_libdir}/*.so %{_libdir}/pkgconfig/libint2.pc +%{_fmoddir}/libint_f.mod %changelog +* Fri Aug 14 2020 Susi Lehtola - 2.6.0-5 +- Enable Fortran bindings. + * Sat Aug 01 2020 Fedora Release Engineering - 2.6.0-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 82380e9f9212f8b1279cba7e750889c15d0afb39 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 15 Aug 2020 15:57:54 +0200 Subject: [PATCH 56/88] Feed in CXX opt flags --- libint2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 208ac66..3bf2441 100644 --- a/libint2.spec +++ b/libint2.spec @@ -82,7 +82,7 @@ tar jxf %{SOURCE3} %build export CXX=g++ -%configure --enable-shared --disable-static --enable-fortran +%configure --enable-shared --disable-static --enable-fortran --with-cxx-optflags="%{optflags}" %make_build %install From 6c5763b5c67dd86bee3c2e33cb3096819ab475f2 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sat, 15 Aug 2020 16:03:20 +0200 Subject: [PATCH 57/88] Add BR: eigen3-devel. --- libint2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/libint2.spec b/libint2.spec index 3bf2441..c8227c2 100644 --- a/libint2.spec +++ b/libint2.spec @@ -44,6 +44,7 @@ BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: boost-devel BuildRequires: mpfr-devel +BuildRequires: eigen3-devel %description LIBINT computes the Coulomb and exchange integrals, which in electronic From 2367763a2522893cee7c0ae7e115c56e89d66607 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 16 Aug 2020 10:05:49 +0200 Subject: [PATCH 58/88] Enable eigen3 support --- libint2.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index c8227c2..c49f94a 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -83,7 +83,10 @@ tar jxf %{SOURCE3} %build export CXX=g++ -%configure --enable-shared --disable-static --enable-fortran --with-cxx-optflags="%{optflags}" + +%configure --enable-shared --disable-static --enable-fortran \ + --with-cxx-optflags="%{optflags}" \ + --with-incdirs=%{_includedir}/eigen3 %make_build %install @@ -125,6 +128,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Sun Aug 16 2020 Susi Lehtola - 2.6.0-6 +- Enable Eigen3 support in build. + * Fri Aug 14 2020 Susi Lehtola - 2.6.0-5 - Enable Fortran bindings. From d990865234c1844c30c7fda942835a2cc03dc24b Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 16 Aug 2020 10:14:22 +0200 Subject: [PATCH 59/88] Fix syntax --- libint2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index c49f94a..b930208 100644 --- a/libint2.spec +++ b/libint2.spec @@ -85,8 +85,8 @@ tar jxf %{SOURCE3} export CXX=g++ %configure --enable-shared --disable-static --enable-fortran \ - --with-cxx-optflags="%{optflags}" \ - --with-incdirs=%{_includedir}/eigen3 + --with-incdirs="-I%{_includedir}/eigen3" \ + --with-cxx-optflags="%{optflags}" %make_build %install From a37b152ba37669a5a1ef483bdce52d5c286a3ac2 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 29 Sep 2020 19:05:37 +0200 Subject: [PATCH 60/88] Disable buggy eigen3 support until 2.7.0 is released. --- libint2.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index b930208..be035a7 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -44,7 +44,8 @@ BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: boost-devel BuildRequires: mpfr-devel -BuildRequires: eigen3-devel +# Disabled until 2.7.0 +#BuildRequires: eigen3-devel %description LIBINT computes the Coulomb and exchange integrals, which in electronic @@ -128,6 +129,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Tue Sep 29 2020 Susi Lehtola - 2.6.0-7 +- Disable buggy Eigen3 support until 2.7.0 is released. + * Sun Aug 16 2020 Susi Lehtola - 2.6.0-6 - Enable Eigen3 support in build. From ebe93e66dc70c4408b6a844f12d86540f9dd9637 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 21 Oct 2020 00:21:17 +0200 Subject: [PATCH 61/88] Buildrequire python --- libint2.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index be035a7..d835f27 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -44,6 +44,7 @@ BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: boost-devel BuildRequires: mpfr-devel +BuildRequires: python3-devel # Disabled until 2.7.0 #BuildRequires: eigen3-devel @@ -129,6 +130,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Tue Oct 20 2020 Susi Lehtola - 2.6.0-8 +- Add BR: python3-devel. + * Tue Sep 29 2020 Susi Lehtola - 2.6.0-7 - Disable buggy Eigen3 support until 2.7.0 is released. From 989b8e2530c17dd110e22177973490eff996bfcc Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 5 Jan 2021 02:03:01 +0000 Subject: [PATCH 62/88] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- libint2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/libint2.spec b/libint2.spec index d835f27..0ff4863 100644 --- a/libint2.spec +++ b/libint2.spec @@ -45,6 +45,7 @@ BuildRequires: gcc-gfortran BuildRequires: boost-devel BuildRequires: mpfr-devel BuildRequires: python3-devel +BuildRequires: make # Disabled until 2.7.0 #BuildRequires: eigen3-devel From 65c7ee573d217bf3294f24691fee234166a6ea76 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 17:18:41 +0000 Subject: [PATCH 63/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 0ff4863..dcca018 100644 --- a/libint2.spec +++ b/libint2.spec @@ -14,7 +14,7 @@ Name: libint2 Version: 2.6.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -131,6 +131,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 2.6.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Oct 20 2020 Susi Lehtola - 2.6.0-8 - Add BR: python3-devel. From f64510a70286ee048d4f9a3a23a5bffbb61994dd Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sun, 21 Feb 2021 08:58:25 -0700 Subject: [PATCH 64/88] Disable LTO on arm --- libint2.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index dcca018..b52ce67 100644 --- a/libint2.spec +++ b/libint2.spec @@ -1,3 +1,8 @@ +# We run out of memory on the ARM builders with LTO +%ifarch %{arm} +%define _lto_cflags %{nil} +%endif + # RPM macro directory %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) @@ -14,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -131,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Sun Feb 21 2021 Jeff Law - 2.6.0-10 +- Disable LTO on arm + * Tue Jan 26 2021 Fedora Release Engineering - 2.6.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 5b13d942bca0053af74c8da6f428cdfc042da6a8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 11:38:04 +0000 Subject: [PATCH 65/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index b52ce67..469b278 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 2.6.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Sun Feb 21 2021 Jeff Law - 2.6.0-10 - Disable LTO on arm From 3c1072305f1bbc1fdbccba2ebd54b25dda9d1522 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 16:29:14 +0000 Subject: [PATCH 66/88] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 469b278..a59c7e9 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 2.6.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Jul 22 2021 Fedora Release Engineering - 2.6.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 8c89f60eea9e49b48d4821fe41658f653bbcf48f Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 10 Feb 2022 15:17:20 -0800 Subject: [PATCH 67/88] epel8-playground decommissioned : https://pagure.io/epel/issue/136 --- .gitignore | 0 dead.package | 1 + sources | 0 3 files changed, 1 insertion(+) delete mode 100644 .gitignore create mode 100644 dead.package delete mode 100644 sources diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..a72aec0 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +epel8-playground decommissioned : https://pagure.io/epel/issue/136 diff --git a/sources b/sources deleted file mode 100644 index e69de29..0000000 From 563463c5539cdd29b04b04a8c54245dfc845fe6c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 18:06:58 +0000 Subject: [PATCH 68/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index a59c7e9..ec85f60 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 12%{?dist} +Release: 13%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 2.6.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 2.6.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From cf21db91709936550a66e65a77df00723bd03140 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 16:37:17 +0000 Subject: [PATCH 69/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index ec85f60..2d23a0f 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 13%{?dist} +Release: 14%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.6.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Jul 21 2022 Fedora Release Engineering - 2.6.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 3145dc90c434afacb9c5911d11b0c161bcf28a04 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 11:11:14 +0000 Subject: [PATCH 70/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 2d23a0f..0315c12 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 14%{?dist} +Release: 15%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 2.6.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jan 19 2023 Fedora Release Engineering - 2.6.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 6854cce516045033e7b18e1860512264001f9210 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 04:23:16 +0000 Subject: [PATCH 71/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 0315c12..c094933 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 2.6.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jul 20 2023 Fedora Release Engineering - 2.6.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From ad116b8cbec3a7e1afb0d09b72b8ccb572feaf3a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 02:33:02 +0000 Subject: [PATCH 72/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index c094933..4047939 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.6.0 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -136,6 +136,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 2.6.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 2.6.0-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From d5bc99508f6631a0fa42c0ba040842c3a6bbbcec Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 21 Feb 2024 13:03:03 +0000 Subject: [PATCH 73/88] Work to update to 2.8.2. --- generate-sources.sh | 45 ++++++++++++++++++++++------------ libint2.spec | 60 +++++++++++++++++++++++++-------------------- 2 files changed, 63 insertions(+), 42 deletions(-) diff --git a/generate-sources.sh b/generate-sources.sh index 5ad282e..77a78af 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -1,10 +1,10 @@ # Generate libint2 source tarball. -# 2016-07-09 Susi Lehtola +# 2024-02-21 Susi Lehtola # Before running this script, make sure that you have all the # 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)" +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 # Read the version from the spec file ver=`grep "Version" libint2.spec|awk '{print $2}'` @@ -41,16 +41,34 @@ 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}` - ../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 + if(( 1 )); then + ../configure --enable-shared --disable-static \ + --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ + --enable-1body=2 --enable-g12=1 \ + --disable-1body-property-derivs \ + --with-multipole-max-order=10 \ + --with-eri-max-am=7,7,4 \ + --with-eri3-max-am=12,7,5 --with-eri2-max-am=12,7,5 \ + --with-max-am=7,7,5 \ + --with-g12-max-am=5 \ + --with-g12dkh-max-am=5 \ + --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 # Generate the library sources echo "Running make export, follow progress in export.log" @@ -65,7 +83,4 @@ make -C doc # Copy the generated source tarball cp libint-${ver}.tgz ../.. # Copy the programmer's manual -cp -p doc/progman/progman.pdf ../.. -# and compress the html sources -cd doc/classdoc -tar jcf ../../../../libint-${ver}-classdoc.tar.bz2 html/ +cp -p doc/progman/progman.pdf ../../progman-${ver}.pdf diff --git a/libint2.spec b/libint2.spec index 4047939..512dd67 100644 --- a/libint2.spec +++ b/libint2.spec @@ -12,14 +12,14 @@ # 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 +%global optflags %commonflags -O1 -fno-var-tracking-assignments # API version provided. Increment this whenever you change the configure time flags. -%global apiversion 0 +%global apiversion 1 Name: libint2 -Version: 2.6.0 -Release: 17%{?dist} +Version: 2.8.2 +Release: 1%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -36,13 +36,10 @@ Source0: https://github.com/evaleev/libint/archive/v%{version}.tar.gz # generate the sources, run the generate-sources.sh script. Source1: libint-%{version}.tgz # The programmers' manual is compiled from the LaTeX source by generate-sources.sh -Source2: progman.pdf +Source2: progman-%{version}.pdf # and the html documentation is extracted from the source code as well Source3: libint-%{version}-classdoc.tar.bz2 -# Fix Fortran example -Patch0: libint-2.6.0-fexample.patch - Provides: libint2(api)%{?_isa} = %{apiversion} BuildRequires: gcc-c++ @@ -50,9 +47,9 @@ BuildRequires: gcc-gfortran BuildRequires: boost-devel BuildRequires: mpfr-devel BuildRequires: python3-devel -BuildRequires: make -# Disabled until 2.7.0 -#BuildRequires: eigen3-devel +BuildRequires: make +BuildRequires: cmake +BuildRequires: eigen3-devel %description LIBINT computes the Coulomb and exchange integrals, which in electronic @@ -65,45 +62,48 @@ computer implementation of such methods by implementing an optimizing compiler to generate automatically highly-specialized code that runs well on super-scalar architectures. -%package doc -Summary: Documentation for libint +%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 +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 libint +Summary: Development headers and libraries for libint2 Requires: libint2%{?_isa} = %{version}-%{release} # For dir ownership Requires: cmake %description devel -This package contains development headers and libraries for libint. +This package contains development headers and libraries for libint2. %prep %setup -q -T -b 1 -n libint-%{version} -%patch0 -p1 -b .fexample # Copy programmers manual and extract the html documentation -cp -p %{SOURCE2} doc +cp -p %{SOURCE2} doc/progman.pdf tar jxf %{SOURCE3} %build export CXX=g++ - -%configure --enable-shared --disable-static --enable-fortran \ - --with-incdirs="-I%{_includedir}/eigen3" \ - --with-cxx-optflags="%{optflags}" -%make_build +%cmake -DENABLE_FORTRAN=ON -DENABLE_MPFR=ON -DLIBINT2_PYTHON=ON -DLIBINT2_INSTALL_LIBDIR=%{_libdir} -DLIBINT2_INSTALL_DATADIR=%{_datadir}/%{name} +%cmake_build %install -%make_install +%cmake_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 +find %{buildroot} -name *.so* -exec chmod 755 {} \; # Create macro file mkdir -p %{buildroot}%{macrosdir} @@ -122,8 +122,11 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %doc LICENSE COPYING %{_libdir}/libint*.so.* +%files data +%{_datadir}/libint2/ + %files doc -%doc doc/progman.pdf html +%doc doc/progman.pdf #html %files devel %{macrosdir}/macros.libint2 @@ -136,6 +139,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Wed Feb 21 2024 Susi Lehtola - 2.8.2-1 +- Update to 2.8.2. + * Thu Jan 25 2024 Fedora Release Engineering - 2.6.0-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 48cc1034c86bdd52029fa58e6043441dc0a0472d Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 23 Feb 2024 10:40:08 +0000 Subject: [PATCH 74/88] Finishing up on 2.8.2 build, now to build it on a side tag --- .gitignore | 1 + libint-2.8.2-fedoraver.patch | 22 ++++++++++++++++++++++ libint2.spec | 11 ++++++----- sources | 5 +---- 4 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 libint-2.8.2-fedoraver.patch diff --git a/.gitignore b/.gitignore index 1c6c827..e430163 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /v2.6.0.tar.gz /libint-2.6.0.tgz /libint-2.6.0-classdoc.tar.bz2 +/libint-2.8.2.tgz diff --git a/libint-2.8.2-fedoraver.patch b/libint-2.8.2-fedoraver.patch new file mode 100644 index 0000000..49f4506 --- /dev/null +++ b/libint-2.8.2-fedoraver.patch @@ -0,0 +1,22 @@ +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"; + } diff --git a/libint2.spec b/libint2.spec index 512dd67..cfe0a10 100644 --- a/libint2.spec +++ b/libint2.spec @@ -37,8 +37,9 @@ Source0: https://github.com/evaleev/libint/archive/v%{version}.tar.gz Source1: libint-%{version}.tgz # The programmers' manual is compiled from the LaTeX source by generate-sources.sh Source2: progman-%{version}.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 Provides: libint2(api)%{?_isa} = %{apiversion} @@ -90,9 +91,9 @@ This package contains development headers and libraries for libint2. %prep %setup -q -T -b 1 -n libint-%{version} -# Copy programmers manual and extract the html documentation +%patch 0 -p1 -b .fedora +# Copy programmers manual cp -p %{SOURCE2} doc/progman.pdf -tar jxf %{SOURCE3} %build export CXX=g++ @@ -126,7 +127,7 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_datadir}/libint2/ %files doc -%doc doc/progman.pdf #html +%doc doc/progman.pdf %files devel %{macrosdir}/macros.libint2 diff --git a/sources b/sources index a91a051..e985452 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -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 +SHA512 (libint-2.8.2.tgz) = c2df27e461d871ed2205a0cf59629f2c4fc70b89e2fcf24f91622ac26ea314bbdc5e24abd1e4fff2b1dd340ea60b18c772b6e6d5a06241b3c6f619d13cf198d1 From 5d2f972593770dd8fea7402664181daf4c8c9384 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 23 Feb 2024 10:59:19 +0000 Subject: [PATCH 75/88] Forgot some sources --- .gitignore | 2 ++ sources | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index e430163..39be06f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ /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 diff --git a/sources b/sources index e985452..519b04a 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ +SHA512 (v2.8.2.tar.gz) = 2af6ad30ec311424a627e86d755963272225e06bd01824795f4190d2b0f2270d6403bbaeea9513383e3a97c8934c19657ea8d756c2be46f0fe991541d859704f +SHA512 (progman-2.8.2.pdf) = 13a98399598b4c53c6a5afa4711668bc51169d15658169c7f18fe12744b2b18053b7c3031eacbf6a9c8c1ee293202d4d677e62ddaa966f65aa230a5402fac044 SHA512 (libint-2.8.2.tgz) = c2df27e461d871ed2205a0cf59629f2c4fc70b89e2fcf24f91622ac26ea314bbdc5e24abd1e4fff2b1dd340ea60b18c772b6e6d5a06241b3c6f619d13cf198d1 From 8c66c69c14a2d8f5c7afb94cc6d074c63fa4f3be Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Fri, 23 Feb 2024 11:19:03 +0000 Subject: [PATCH 76/88] Missing BR: pybind11-devel --- libint2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/libint2.spec b/libint2.spec index cfe0a10..e44eaeb 100644 --- a/libint2.spec +++ b/libint2.spec @@ -51,6 +51,7 @@ BuildRequires: python3-devel BuildRequires: make BuildRequires: cmake BuildRequires: eigen3-devel +BuildRequires: pybind11-devel %description LIBINT computes the Coulomb and exchange integrals, which in electronic From 236f5a7bceb1086988b914bfb3d0dbfa464580de Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 14:10:33 +0000 Subject: [PATCH 77/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index e44eaeb..00cd79d 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,7 +19,7 @@ Name: libint2 Version: 2.8.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals License: GPLv2+ URL: https://github.com/evaleev/libint @@ -141,6 +141,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 2.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Feb 21 2024 Susi Lehtola - 2.8.2-1 - Update to 2.8.2. From e9e1e263aee64a603d606086c6a0165dbfe7115a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 26 Jul 2024 00:55:53 +0200 Subject: [PATCH 78/88] convert GPLv2+ license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- libint2.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index 00cd79d..3544513 100644 --- a/libint2.spec +++ b/libint2.spec @@ -19,9 +19,10 @@ Name: libint2 Version: 2.8.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later URL: https://github.com/evaleev/libint # Compiler sources @@ -141,6 +142,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_fmoddir}/libint_f.mod %changelog +* Fri Jul 26 2024 Miroslav Suchý - 2.8.2-3 +- convert license to SPDX + * Thu Jul 18 2024 Fedora Release Engineering - 2.8.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From fb5c2f86540d75665a1dc432d7e7a2f62b879ff6 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 18 Aug 2024 07:12:26 +0000 Subject: [PATCH 79/88] Update to 2.9.0 and try to fix build failure --- generate-sources.sh | 24 +++++++++++++++--------- libint2.spec | 14 ++++++++------ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/generate-sources.sh b/generate-sources.sh index 77a78af..6a73ebc 100644 --- a/generate-sources.sh +++ b/generate-sources.sh @@ -2,9 +2,9 @@ # 2024-02-21 Susi Lehtola # Before running this script, make sure that you have all the -# buildrequires for building libint2 w/ bootstrapping +# buildrequires for building libint2 w/ bootstrapping by running the command -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)" latex2html # Read the version from the spec file ver=`grep "Version" libint2.spec|awk '{print $2}'` @@ -47,13 +47,13 @@ if [ ! -f libint-${ver}.tgz ]; then ../configure --enable-shared --disable-static \ --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \ --enable-1body=2 --enable-g12=1 \ - --disable-1body-property-derivs \ + --enable-1body-property-derivs \ --with-multipole-max-order=10 \ - --with-eri-max-am=7,7,4 \ - --with-eri3-max-am=12,7,5 --with-eri2-max-am=12,7,5 \ - --with-max-am=7,7,5 \ - --with-g12-max-am=5 \ - --with-g12dkh-max-am=5 \ + --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 @@ -69,7 +69,7 @@ if [ ! -f libint-${ver}.tgz ]; then --with-cxx-optflags="$OPTFLAGS" \ | tee configure.log fi - + # Generate the library sources echo "Running make export, follow progress in export.log" make export > export.log @@ -84,3 +84,9 @@ make -C doc 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 diff --git a/libint2.spec b/libint2.spec index 3544513..2cdc019 100644 --- a/libint2.spec +++ b/libint2.spec @@ -2,6 +2,8 @@ %ifarch %{arm} %define _lto_cflags %{nil} %endif +# We run out of memory on many builders since the source files are big, drop down to two threads +%define _smp_mflags -j2 # RPM macro directory %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) @@ -18,8 +20,8 @@ %global apiversion 1 Name: libint2 -Version: 2.8.2 -Release: 3%{?dist} +Version: 2.9.0 +Release: 1%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals # Automatically converted from old format: GPLv2+ - review is highly recommended. License: GPL-2.0-or-later @@ -35,7 +37,7 @@ 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}.tgz +Source1: libint-%{version}.tar.xz # The programmers' manual is compiled from the LaTeX source by generate-sources.sh Source2: progman-%{version}.pdf @@ -99,7 +101,7 @@ cp -p %{SOURCE2} doc/progman.pdf %build export CXX=g++ -%cmake -DENABLE_FORTRAN=ON -DENABLE_MPFR=ON -DLIBINT2_PYTHON=ON -DLIBINT2_INSTALL_LIBDIR=%{_libdir} -DLIBINT2_INSTALL_DATADIR=%{_datadir}/%{name} +%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 %install @@ -123,7 +125,8 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %files %doc LICENSE COPYING -%{_libdir}/libint*.so.* +# Library has no soversion, likely since it can be compiled in a number of different ways. We handle the dependency tracking anyway with the libint2(api) +%{_libdir}/libint2.so %files data %{_datadir}/libint2/ @@ -137,7 +140,6 @@ 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 From f95b734ed1050429889becef0b49b4155faf0817 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 18 Aug 2024 07:23:31 +0000 Subject: [PATCH 80/88] include sources --- .gitignore | 3 +++ sources | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 39be06f..4a8814a 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ /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 diff --git a/sources b/sources index 519b04a..b18a88b 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (v2.8.2.tar.gz) = 2af6ad30ec311424a627e86d755963272225e06bd01824795f4190d2b0f2270d6403bbaeea9513383e3a97c8934c19657ea8d756c2be46f0fe991541d859704f -SHA512 (progman-2.8.2.pdf) = 13a98399598b4c53c6a5afa4711668bc51169d15658169c7f18fe12744b2b18053b7c3031eacbf6a9c8c1ee293202d4d677e62ddaa966f65aa230a5402fac044 -SHA512 (libint-2.8.2.tgz) = c2df27e461d871ed2205a0cf59629f2c4fc70b89e2fcf24f91622ac26ea314bbdc5e24abd1e4fff2b1dd340ea60b18c772b6e6d5a06241b3c6f619d13cf198d1 +SHA512 (v2.9.0.tar.gz) = 6cffbd3d78dee4722b8085f4dd93085351cb610b5cb7ac090335adb2c43e87256ca06a658c202473fd763a38f7c0eeb6570b2c6a107e3f41d1258baf6e5b17de +SHA512 (progman-2.9.0.pdf) = 2eb6728e69ac3b395bf39c994f99fd937adf2a0ea7a5664b2e9313d00f4cd4c13a0eabc35c978bd6756938065a870c6bf88544c63bf6cb07c0862438413a8772 +SHA512 (libint-2.9.0.tar.xz) = 5bfeb16c5123f277481922f4894e79f75fe923c90b0a4440b55881b9f270a53b5a91cba569a3b25e2aeaa142688e7454d13608c1f5673f5843b7605fb07bd7b2 From 1e83f747c0ed9b1dbbec9afd9c296a780ada0bc9 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Sun, 18 Aug 2024 11:56:31 +0000 Subject: [PATCH 81/88] New version produces soversioned library --- libint2.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libint2.spec b/libint2.spec index 2cdc019..d02e19d 100644 --- a/libint2.spec +++ b/libint2.spec @@ -125,8 +125,8 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %files %doc LICENSE COPYING -# Library has no soversion, likely since it can be compiled in a number of different ways. We handle the dependency tracking anyway with the libint2(api) -%{_libdir}/libint2.so +%{_libdir}/libint2.so.2 +%{_libdir}/libint2.so.%{version} %files data %{_datadir}/libint2/ @@ -142,6 +142,7 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_includedir}/libint2.hpp %{_libdir}/pkgconfig/libint2.pc %{_fmoddir}/libint_f.mod +%{_libdir}/libint2.so %changelog * Fri Jul 26 2024 Miroslav Suchý - 2.8.2-3 From 16c83e2854b93e5aa73ac95e469d7a0fb5b82cc1 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 21 Aug 2024 09:00:43 +0000 Subject: [PATCH 82/88] Fix license tag and disable x86 arch to try to get builds to work --- libint2.spec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libint2.spec b/libint2.spec index d02e19d..720b2c5 100644 --- a/libint2.spec +++ b/libint2.spec @@ -3,7 +3,9 @@ %define _lto_cflags %{nil} %endif # We run out of memory on many builders since the source files are big, drop down to two threads -%define _smp_mflags -j2 +#define _smp_mflags -j2 +# 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) @@ -23,8 +25,8 @@ Name: libint2 Version: 2.9.0 Release: 1%{?dist} Summary: A library for efficient evaluation of electron repulsion integrals -# Automatically converted from old format: GPLv2+ - review is highly recommended. -License: GPL-2.0-or-later +# Generator itself is GPLv2+, generated library packaged in Fedora is LGPLv3 +License: LGPL-3.0-only URL: https://github.com/evaleev/libint # Compiler sources @@ -145,6 +147,11 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_libdir}/libint2.so %changelog +* Sun Aug 18 2024 Susi Lehtola 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ý - 2.8.2-3 - convert license to SPDX From 3bf1651fe0d1f7f98d6a629508b2ee34c3c6634b Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 21 Aug 2024 12:20:46 +0000 Subject: [PATCH 83/88] Build succeeds on x86_64, aarch64 and s390x; disable pcc64le architecture --- libint2.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libint2.spec b/libint2.spec index 720b2c5..dd9b89b 100644 --- a/libint2.spec +++ b/libint2.spec @@ -6,6 +6,8 @@ #define _smp_mflags -j2 # Disable x86 architectures since builders run out of memory ExcludeArch: %{ix86} +# Disable ppc64le due to some compiler error +ExcludeArch: ppc64le # RPM macro directory %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) From 68b0304c5b020ea7bdd48a93a0a055b18795410d Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Wed, 21 Aug 2024 13:28:52 +0000 Subject: [PATCH 84/88] Now got a similar failure to ppc64 on aarch64 where the build succeeded last time. Re-enable pcc64le and decrease number of threads --- libint2.spec | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libint2.spec b/libint2.spec index dd9b89b..1ad9619 100644 --- a/libint2.spec +++ b/libint2.spec @@ -2,12 +2,10 @@ %ifarch %{arm} %define _lto_cflags %{nil} %endif -# We run out of memory on many builders since the source files are big, drop down to two threads -#define _smp_mflags -j2 +# 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} -# Disable ppc64le due to some compiler error -ExcludeArch: ppc64le # RPM macro directory %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) From 9dc2f1aae6b8b5402b99b758a45c2f54ab007b63 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 3 Sep 2024 07:34:56 +0000 Subject: [PATCH 85/88] Add necessary requires to -devel. --- libint2.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 1ad9619..105ef58 100644 --- a/libint2.spec +++ b/libint2.spec @@ -23,7 +23,7 @@ ExcludeArch: %{ix86} Name: libint2 Version: 2.9.0 -Release: 1%{?dist} +Release: 2%{?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 @@ -91,6 +91,11 @@ Summary: Development headers and libraries for libint2 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. @@ -147,6 +152,10 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_libdir}/libint2.so %changelog +* Tue Sep 03 2024 Susi Lehtola 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 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). From def0e77f3a668c18db1d313dac9d541f7031e537 Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 3 Sep 2024 18:28:39 +0000 Subject: [PATCH 86/88] Fix location of data directory in generated CMake config. --- libint-2.9.0-datadir.patch | 12 ++++++++++++ libint2.spec | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 libint-2.9.0-datadir.patch diff --git a/libint-2.9.0-datadir.patch b/libint-2.9.0-datadir.patch new file mode 100644 index 0000000..6ea2af6 --- /dev/null +++ b/libint-2.9.0-datadir.patch @@ -0,0 +1,12 @@ +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 +- $ ++ $ + ) + endif() + # Add library to the list of installed components diff --git a/libint2.spec b/libint2.spec index 105ef58..70902f0 100644 --- a/libint2.spec +++ b/libint2.spec @@ -23,7 +23,7 @@ ExcludeArch: %{ix86} Name: libint2 Version: 2.9.0 -Release: 2%{?dist} +Release: 3%{?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 @@ -45,6 +45,8 @@ Source2: progman-%{version}.pdf # 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 Provides: libint2(api)%{?_isa} = %{apiversion} @@ -152,6 +154,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_libdir}/libint2.so %changelog +* Tue Sep 03 2024 Susi Lehtola 2.9.0-3 +- Fix location of data directory in generated CMake config. + * Tue Sep 03 2024 Susi Lehtola 2.9.0-2 - Devel package now pulls in boost, eigen3, gmp, and mpfr development packages that are needed to build against libint2. From b6da8bc35ceeaac954719afe6f468ad909cbd857 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 11:34:57 +0000 Subject: [PATCH 87/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index 70902f0..c51367f 100644 --- a/libint2.spec +++ b/libint2.spec @@ -23,7 +23,7 @@ ExcludeArch: %{ix86} Name: libint2 Version: 2.9.0 -Release: 3%{?dist} +Release: 4%{?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 @@ -154,6 +154,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_libdir}/libint2.so %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 2.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Tue Sep 03 2024 Susi Lehtola 2.9.0-3 - Fix location of data directory in generated CMake config. From 67cad9be9efe63d906981db9d2b46b2dc1494818 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 19:49:50 +0000 Subject: [PATCH 88/88] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- libint2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libint2.spec b/libint2.spec index c51367f..f7f73d3 100644 --- a/libint2.spec +++ b/libint2.spec @@ -23,7 +23,7 @@ ExcludeArch: %{ix86} Name: libint2 Version: 2.9.0 -Release: 4%{?dist} +Release: 5%{?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 @@ -154,6 +154,9 @@ mv %{buildroot}%{_includedir}/libint_f.mod %{buildroot}%{_fmoddir}/ %{_libdir}/libint2.so %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.9.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Fri Jan 17 2025 Fedora Release Engineering - 2.9.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild