%define enable_checks 0 %define major 3 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d %define staticdevelname %mklibname %{name} -d -s %define libmpiname %mklibname %{name}mpi %{major} %define libompname %mklibname %{name}omp %{major} %define subrel 1 Summary: Fast Fourier transform library Name: fftw Version: 3.3.4 Release: %mkrel 3 License: GPLv2+ Group: System/Libraries URL: http://www.fftw.org Source: ftp://ftp.fftw.org/pub/fftw/%{name}-%{version}.tar.gz BuildRequires: gcc-gfortran %ifarch %ix86 x86_64 BuildRequires: quadmath-devel %endif BuildRequires: libgomp-devel BuildRequires: pkgconfig(ompi) BuildRequires: openmpi BuildRequires: perl %description FFTW is a collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, and parallel transforms, can handle arbitrary array sizes efficiently and can be called from Fortran. %package wisdom Summary: FFTW-wisdom file generator Group: Development/Other %description wisdom This package contains a wisdom file generator to be used with the FFTW Fourier transform library. These files contain saved information about how to optimally compute transforms of various sizes. %package -n %{libname} Summary: Fast Fourier transform library Group: System/Libraries Provides: %{name} = %{version}-%{release} Obsoletes: %{name} < 3.3 %description -n %{libname} FFTW is a collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, and parallel transforms, and can handle arbitrary array sizes efficiently. %package -n %{libmpiname} Summary: MPI-parallel fast Fourier transform library Group: System/Libraries Provides: %{name}-mpi = %{version}-%{release} %description -n %{libmpiname} %{summary}. %package -n %{libompname} Summary: OpenMP-parallel fast Fourier transform library Group: System/Libraries Provides: %{name}-openmp = %{version}-%{release} Provides: %{name}-omp = %{version}-%{release} %description -n %{libompname} %{summary}. %package -n %{develname} Summary: Headers, libraries, & docs for the FFTW fast Fourier transform library Group: Development/C Requires: %{libname} = %{version}-%{release} Requires: %{libompname} = %{version}-%{release} Requires: %{libmpiname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}%{major}-devel = %{version}-%{release} Obsoletes: %{libname}-devel < 3.3 Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} This package contains the additional header files, documentation, and libraries you need to develop programs using the FFTW fast Fourier transform library. %package -n %{staticdevelname} Summary: Static development files for the FFTW fast Fourier transform library Group: Development/C Requires: %{libname} = %{version}-%{release} Requires: lib%{name}-devel = %{version}-%{release} Provides: lib%{name}-static-devel = %{version}-%{release} Obsoletes: %{libname}-static-devel < 3.3 %description -n %{staticdevelname} %{summary}. %prep %setup -q %build export F77="gfortran" export MPILIBS="-lmpi" if [ ! -d build-std ]; then mkdir build-std fi pushd build-std CONFIGURE_TOP=.. %configure2_5x \ --enable-shared \ --enable-threads \ --enable-openmp \ --enable-mpi \ --enable-fortran \ %ifarch x86_64 --enable-sse2 \ --enable-avx \ %endif --infodir=%{_infodir} %make popd if [ ! -d build-float ]; then mkdir build-float fi pushd build-float CONFIGURE_TOP=.. %configure2_5x \ --enable-float \ --enable-shared \ --enable-threads \ --enable-openmp \ --enable-mpi \ --enable-fortran \ %ifarch x86_64 --enable-sse2 \ --enable-avx \ %endif --infodir=%{_infodir} %make popd #SSE2 and AVX do not work with long-double if [ ! -d build-long-double ]; then mkdir build-long-double fi pushd build-long-double CONFIGURE_TOP=.. %configure2_5x \ --enable-long-double \ --enable-shared \ --enable-threads \ --enable-openmp \ --enable-mpi \ --enable-fortran \ --infodir=%{_infodir} %make popd %ifarch %{ix86} x86_64 #SSE2,AVX, and MPI do not work with quad-precision mkdir build-quad-precision pushd build-quad-precision CONFIGURE_TOP=.. %configure2_5x \ --enable-quad-precision \ --enable-shared \ --enable-threads \ --enable-openmp \ --enable-fortran \ --infodir=%{_infodir} %endif %check %if %enable_checks make check -C build-std make check -C build-float make check -C build-long-double make check -C build-quad-precision %endif %install pushd build-std %makeinstall_std popd pushd build-float %makeinstall_std popd pushd build-long-double %makeinstall_std popd %ifarch %{ix86} x86_64 pushd build-quad-precision %makeinstall_std popd %endif rm -fr %{buildroot}/%{_docdir}/Make* find %{buildroot}%{_libdir} -name *.la -delete %post -n %{develname} %__install_info -e '* FFTW: (fftw%{major}). Fast Fourier Transform library.'\ -s Libraries %{_infodir}/fftw%{major}.info%{_extension} %{_infodir}/dir %preun -n %{develname} %__install_info -e '* FFTW: (fftw%{major}). Fast Fourier Transform library.'\ -s Libraries %{_infodir}/fftw%{major}.info%{_extension} %{_infodir}/dir --remove %files -n %{name}-wisdom %{_bindir}/fftw*-wisdom %{_bindir}/fftw-wisdom-to-conf %{_mandir}/man1/fftw-wisdom-to-conf.* %{_mandir}/man1/fftw*-wisdom.* %files -n %{libname} %doc AUTHORS CO* NEWS README TODO %{_libdir}/libfftw3.so.%{major}* %{_libdir}/libfftw3f.so.%{major}* %{_libdir}/libfftw3l.so.%{major}* %ifarch %{ix86} x86_64 %{_libdir}/libfftw3q.so.%{major}* %endif %{_libdir}/libfftw3*_threads.so.%{major}* %files -n %{libmpiname} %{_libdir}/libfftw3*_mpi.so.%{major}* %files -n %{libompname} %{_libdir}/libfftw3*_omp.so.%{major}* %files -n %{develname} %doc ChangeLog doc/* %{_includedir}/*fftw*.h %{_includedir}/fftw3*.f* %{_infodir}/fftw%{major}.info* %{_libdir}/pkgconfig/*.pc %{_libdir}/libfftw*.so %files -n %{staticdevelname} %{_libdir}/libfftw*.a %changelog * Tue Mar 29 2016 eatdirt <eatdirt> 3.3.4-3.1.mga5 + Revision: 996090 - Add missing requires (#18085) * Wed Oct 15 2014 umeabot <umeabot> 3.3.4-3.mga5 + Revision: 742895 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 3.3.4-2.mga5 + Revision: 679175 - Mageia 5 Mass Rebuild * Thu Mar 20 2014 eatdirt <eatdirt> 3.3.4-1.mga5 + Revision: 605974 - Upgrade to version 3.3.4 * Fri Oct 18 2013 umeabot <umeabot> 3.3.3-4.mga4 + Revision: 522408 - Mageia 4 Mass Rebuild * Fri Mar 01 2013 rtp <rtp> 3.3.3-3.mga3 + Revision: 400750 - try to make the build short-circuit compliant - build quadmath fftw library only on intel platforms * Fri Jan 11 2013 umeabot <umeabot> 3.3.3-2.mga3 + Revision: 350271 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Nov 27 2012 fwang <fwang> 3.3.3-1.mga3 + Revision: 322230 - link with mpi - new version 3.3.3 * Sun Sep 02 2012 eatdirt <eatdirt> 3.3.2-2.mga3 + Revision: 287338 - Split parallel libraries into sub-packages (ease deps) * Sun Jun 17 2012 eatdirt <eatdirt> 3.3.2-1.mga3 + Revision: 261195 - Upgrade to version 3.3.2 enable AVX instructions, enable MPI support add static-devel subpackage * Fri Dec 09 2011 eatdirt <eatdirt> 3.3-1.mga2 + Revision: 179767 - Upgrade to 3.3 - delete .la files - added enable SSE2, openmp and quadruple precision * Thu Jan 13 2011 ahmad <ahmad> 3.2.2-4.mga1 + Revision: 8894 - drop old/unneeded scriptlets - imported package fftw