Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates-src > by-pkgid > 4281ce4b21ccf7d795081b01b8155280 > files > 2

fftw-3.3.4-3.1.mga5.src.rpm

%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