Upgrade to fftw-3.3.10

Signed-off-by: David Cantrell <david.l.cantrell@gmail.com>
This commit is contained in:
David Cantrell 2021-12-20 12:04:55 -05:00
parent 84a03db2dd
commit 9f430cc911
3 changed files with 75 additions and 84 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ fftw-3.2.2.tar.gz
/fftw-3.3.4.tar.gz /fftw-3.3.4.tar.gz
/fftw-3.3.5.tar.gz /fftw-3.3.5.tar.gz
/fftw-3.3.8.tar.gz /fftw-3.3.8.tar.gz
/fftw-3.3.10.tar.gz

View File

@ -11,19 +11,15 @@
%global mpi_list %{?mpi_list} openmpi %global mpi_list %{?mpi_list} openmpi
%endif %endif
Name: fftw Name: fftw
Version: 3.3.8 Version: 3.3.10
Release: 11%{?dist} Release: 1%{?dist}
Summary: A Fast Fourier Transform library Summary: A Fast Fourier Transform library
License: GPLv2+ License: GPLv2+
URL: http://www.fftw.org URL: http://www.fftw.org
Source0: http://www.fftw.org/fftw-%{version}.tar.gz Source0: http://www.fftw.org/fftw-%{version}.tar.gz
BuildRequires: gcc-gfortran
BuildRequires: autoconf BuildRequires: gcc-gfortran
BuildRequires: automake
BuildRequires: libtool
%global quad 0 %global quad 0
# Quad precision support only available with gcc >= 4.6 (Fedora >= 15) # Quad precision support only available with gcc >= 4.6 (Fedora >= 15)
@ -273,11 +269,8 @@ library.
%build %build
# Explicitly load shell support for the environment-modules package, used # Explicitly load shell support for the environment-modules package, used
# below via 'module' pseudo-command. # below via 'module' pseudo-command.
source /etc/profile.d/modules.sh . /etc/profile.d/modules.sh
# Regenerate autoconf files using current tools so proper build flags
# from redhat-rpm-config are used
autoreconf -vfi
# Configure uses g77 by default, if present on system # Configure uses g77 by default, if present on system
export F77=gfortran export F77=gfortran
@ -320,11 +313,10 @@ done
# Loop over precisions # Loop over precisions
%if %{quad} %if %{quad}
for((iprec=0;iprec<4;iprec++)) for ((iprec=0; iprec<4; iprec++)) ; do
%else %else
for((iprec=0;iprec<3;iprec++)) for ((iprec=0; iprec<3; iprec++)) ; do
%endif %endif
do
mkdir ${prec_name[iprec]}${ver_name[iver]} mkdir ${prec_name[iprec]}${ver_name[iver]}
cd ${prec_name[iprec]}${ver_name[iver]} cd ${prec_name[iprec]}${ver_name[iver]}
ln -s ../configure . ln -s ../configure .
@ -336,19 +328,18 @@ do
done done
# MPI Builds - this duplicates the non-mpi builds, but oh well # MPI Builds - this duplicates the non-mpi builds, but oh well
for mpi in %{mpi_list} for mpi in %{mpi_list} ; do
do
module load mpi/${mpi}-%{_arch} module load mpi/${mpi}-%{_arch}
# Loop over precisions - no quad precision support with MPI # Loop over precisions - no quad precision support with MPI
for((iprec=0;iprec<3;iprec++)) for((iprec=0;iprec<3;iprec++)) ; do
do
mkdir ${mpi}-${prec_name[iprec]}${ver_name[iver]} mkdir ${mpi}-${prec_name[iprec]}${ver_name[iver]}
cd ${mpi}-${prec_name[iprec]}${ver_name[iver]} cd ${mpi}-${prec_name[iprec]}${ver_name[iver]}
ln -s ../configure . ln -s ../configure .
# Force linking the _mpi.so libraries with the mpi libs. This works because # Force linking the _mpi.so libraries with the mpi libs. This works because
# we get rid of all of the non-mpi components of these builds # we get rid of all of the non-mpi components of these builds
export CC=mpicc export CC=mpicc
%{configure} ${BASEFLAGS} ${prec_flags[iprec]} --enable-mpi \ %{configure} ${BASEFLAGS} ${prec_flags[iprec]} \
--enable-mpi \
--libdir=%{_libdir}/$mpi/lib \ --libdir=%{_libdir}/$mpi/lib \
--bindir=%{_libdir}/$mpi/bin \ --bindir=%{_libdir}/$mpi/bin \
--sbindir=%{_libdir}/$mpi/sbin \ --sbindir=%{_libdir}/$mpi/sbin \
@ -360,26 +351,23 @@ do
module unload mpi/${mpi}-%{_arch} module unload mpi/${mpi}-%{_arch}
done done
%install %install
# Explicitly load shell support for the environment-modules package, used # Explicitly load shell support for the environment-modules package, used
# below via 'module' pseudo-command. # below via 'module' pseudo-command.
source /etc/profile.d/modules.sh source /etc/profile.d/modules.sh
%if %{quad} %if %{quad}
for ver in single double long quad for ver in single double long quad ; do
%else %else
for ver in single double long for ver in single double long ; do
%endif %endif
do
make -C $ver install DESTDIR=%{buildroot} make -C $ver install DESTDIR=%{buildroot}
done done
# MPI # MPI
for mpi in %{mpi_list} for mpi in %{mpi_list} ; do
do
module load mpi/${mpi}-%{_arch} module load mpi/${mpi}-%{_arch}
for ver in single double long for ver in single double long ; do
do
make -C ${mpi}-${ver} install DESTDIR=%{buildroot} make -C ${mpi}-${ver} install DESTDIR=%{buildroot}
# Remove duplicated non-mpi libraries, binaries, and data # Remove duplicated non-mpi libraries, binaries, and data
find %{buildroot}%{_libdir}/${mpi}/lib -name libfftw\* -a \! -name \*_mpi.\* -delete find %{buildroot}%{_libdir}/${mpi}/lib -name libfftw\* -a \! -name \*_mpi.\* -delete
@ -387,24 +375,25 @@ do
done done
module unload mpi/${mpi}-%{_arch} module unload mpi/${mpi}-%{_arch}
done done
rm -f %{buildroot}%{_infodir}/dir rm -f %{buildroot}%{_infodir}/dir
find %{buildroot} -name \*.la -delete find %{buildroot} -name \*.la -delete
%check %check
# Explicitly load shell support for the environment-modules package, used # Explicitly load shell support for the environment-modules package, used
# below via 'module' pseudo-command. # below via 'module' pseudo-command.
source /etc/profile.d/modules.sh . /etc/profile.d/modules.sh
bdir=`pwd` bdir=$(pwd)
%if %{quad} %if %{quad}
for ver in single double long quad for ver in single double long quad ; do
%else %else
for ver in single double long for ver in single double long ; do
%endif %endif
do
export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
make %{?_smp_mflags} -C $ver check make %{?_smp_mflags} -C $ver check
done done
# MPI # MPI
%if %{with openmpi} %if %{with openmpi}
%ifarch %{ix86} %ifarch %{ix86}
@ -413,11 +402,9 @@ done
export OMPI_MCA_btl="^vader" export OMPI_MCA_btl="^vader"
%endif %endif
%endif %endif
for mpi in %{mpi_list} for mpi in %{mpi_list} ; do
do
module load mpi/${mpi}-%{_arch} module load mpi/${mpi}-%{_arch}
for ver in single double long for ver in single double long ; do
do
export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
make %{?_smp_mflags} -C ${mpi}-${ver}/mpi check make %{?_smp_mflags} -C ${mpi}-${ver}/mpi check
done done
@ -543,6 +530,9 @@ done
%endif %endif
%changelog %changelog
* Mon Dec 20 2021 David Cantrell <dcantrell@redhat.com> - 3.3.10-1
- Upgrade to fftw-3.3.10
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8-11 * Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (fftw-3.3.8.tar.gz) = ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38 SHA512 (fftw-3.3.10.tar.gz) = 2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40