File fftw.spec of Package fftw
#
# spec file for package fftw (Version 2.1.5)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: fftw
BuildRequires: gcc-fortran gmp-devel mpich-devel
Summary: Discrete Fourier Transform (DFT) C Subroutine Library
Version: 2.1.5
Release: 63
License: GNU General Public License (GPL)
Group: Productivity/Scientific/Math
Source: fftw-%{version}.tar.bz2
URL: http://www.fftw.org/
Autoreqprov: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
FFTW is a C subroutine library for computing Discrete Fourier
Transforms (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size.
Authors:
--------
Matteo Frigo (athena@theory.lcs.mit.edu)
Stevenj G. Johnson (stevenj@alum.mit.edu)
%package mpi
Summary: Discrete Fourier Transform (DFT) - MPI support
Group: Development/Libraries/Parallel
Requires: fftw = %{version}-%{release}, mpich
%description mpi
Discrete Fourier Transform (DFT) - MPI support. See package fftw for
more details.
%package devel
Summary: Development libraries for fftw
Group: Development/Libraries/Parallel
Requires: fftw = %{version}-%{release}
%description devel
Development libraries for fftw
Authors:
--------
Matteo Frigo (athena@theory.lcs.mit.edu)
Stevenj G. Johnson (stevenj@alum.mit.edu)
%package mpi-devel
Summary: Discrete Fourier Transform (DFT) - Header for MPI-Support
Group: Development/Libraries/Parallel
Requires: fftw = %{version}-%{release}, fftw-mpi
%description mpi-devel
Discrete Fourier Transform (DFT) - Header for MPI-Support. See Package
fftw for more information.
%package threads
Summary: Discrete Fourier Transform (DFT) - Threads Support
Group: Development/Libraries/Parallel
Requires: fftw = %{version}-%{release}
%description threads
Discrete Fourier Transform (DFT) - Threads Support See package fftw for
more details
%package threads-devel
Summary: Discrete Fourier Transform (DFT) - Headers for Thread support
Group: Development/Libraries/Parallel
Requires: fftw-threads = %{version}-%{release}
Requires: fftw-devel = %{version}-%{release}
%description threads-devel
Discrete Fourier Transform (DFT) - Headers for Thread support See
package fftw for more details
%prep
%setup -q
%build
%{?suse_update_config:%{suse_update_config -f }}
find -type d | xargs chmod 755
if [ -z "$MPI_HOME" ]; then
export MPI_HOME=/opt/mpich
fi
# autoreconf -fi
libtoolize -f
aclocal
automake -a -c
autoconf
CFLAGS="$RPM_OPT_FLAGS -L$MPI_HOME/ch-p4/lib -I$MPI_HOME/include" \
MPICC=$MPI_HOME/ch-p4/bin/mpicc \
./configure --prefix=%{_prefix} \
--libdir=%{_libdir} \
--enable-shared \
--disable-static \
--enable-type-prefix \
--enable-threads \
--enable-mpi \
--infodir=%{_infodir} \
%ifarch %ix86
--enable-i386-hacks \
%endif
%{_target_cpu}-suse-linux
make %{?jobs:-j %jobs}
%install
if [ -z "$MPI_HOME" ]; then
export MPI_HOME=/opt/mpich
fi
make DESTDIR=$RPM_BUILD_ROOT install
# remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a
# hack to also compile/install single-precision version:
make distclean
CFLAGS="$RPM_OPT_FLAGS -L$MPI_HOME/ch-p4/lib -I$MPI_HOME/include" \
MPICC=$MPI_HOME/ch-p4/bin/mpicc \
./configure --prefix=%{_prefix} \
--libdir=%{_libdir} \
--enable-shared \
--disable-static \
--enable-type-prefix \
--enable-threads \
--enable-float \
--enable-mpi \
--infodir=%{_infodir} \
%{_target_cpu}-suse-linux
make %{?jobs:-j %jobs}
make DESTDIR=$RPM_BUILD_ROOT install
install -m 0644 fftw/*.h $RPM_BUILD_ROOT%{_includedir}
install -m 0644 rfftw/rfftw.h $RPM_BUILD_ROOT%{_includedir}
install -m 0644 fftw/config.h $RPM_BUILD_ROOT%{_includedir}/fftw-config.h
sed -e 's/<config.h>/<fftw-config.h>/' fftw/fftw-int.h > $RPM_BUILD_ROOT%{_includedir}/fftw-int.h
chmod 0644 $RPM_BUILD_ROOT%{_includedir}/*.h
# remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a
rm -f $RPM_BUILD_ROOT%{_includedir}/config.h
%clean
rm -rf $RPM_BUILD_ROOT
%post
%run_ldconfig
%postun
%run_ldconfig
%post threads
%run_ldconfig
%postun threads
%run_ldconfig
%post mpi
%run_ldconfig
%postun mpi
%run_ldconfig
%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/fftw.info.gz
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/fftw.info.gz
%files
%defattr(-,root,root)
%{_libdir}/libdfftw.so.*
%{_libdir}/libdrfftw.so.*
%{_libdir}/libsfftw.so.*
%{_libdir}/libsrfftw.so.*
%files threads
%defattr(-,root,root)
%{_libdir}/libdfftw_threads.so.*
%{_libdir}/libdrfftw_threads.so.*
%{_libdir}/libsfftw_threads.so.*
%{_libdir}/libsrfftw_threads.so.*
%files mpi
%defattr(-,root,root)
%{_libdir}/libdfftw_mpi.so.*
%{_libdir}/libdrfftw_mpi.so.*
%{_libdir}/libsfftw_mpi.so.*
%{_libdir}/libsrfftw_mpi.so.*
%files devel
%defattr(-,root,root)
%doc AUTHORS COPYING COPYRIGHT ChangeLog INSTALL NEWS README README.hacks TODO
%doc doc/* FAQ
%{_infodir}/fftw.info*.gz
%{_includedir}/dfftw.h
%{_includedir}/drfftw.h
%{_includedir}/sfftw.h
%{_includedir}/srfftw.h
%{_includedir}/rfftw.h
%{_includedir}/fftw.h
%{_includedir}/fftw-int.h
%{_includedir}/fftw-config.h
%{_libdir}/libdfftw.so
%{_libdir}/libdrfftw.so
%{_libdir}/libsfftw.so
%{_libdir}/libsrfftw.so
%files threads-devel
%defattr(-,root,root)
%{_includedir}/dfftw_threads.h
%{_includedir}/drfftw_threads.h
%{_includedir}/sfftw_threads.h
%{_includedir}/srfftw_threads.h
%{_libdir}/libdfftw_threads.so
%{_libdir}/libdrfftw_threads.so
%{_libdir}/libsfftw_threads.so
%{_libdir}/libsrfftw_threads.so
%files mpi-devel
%defattr(-,root,root)
%{_includedir}/dfftw_mpi.h
%{_includedir}/drfftw_mpi.h
%{_includedir}/sfftw_mpi.h
%{_includedir}/srfftw_mpi.h
%{_libdir}/libdfftw_mpi.so
%{_libdir}/libdrfftw_mpi.so
%{_libdir}/libsfftw_mpi.so
%{_libdir}/libsrfftw_mpi.so
%changelog
* Mon Apr 16 2007 - tiwai@suse.de
- follow library packaging policy
* move docs to devel package
* remove static libraries
- add missing call of *_info scripts in post and postun
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 14 2006 - kukuk@suse.de
- Add gmp-devel to nfb
* Mon Jan 02 2006 - aj@suse.de
- Fix filelist.
* Tue Apr 12 2005 - ro@suse.de
- added gmp to neededforbuild
* Fri Apr 08 2005 - tiwai@suse.de
- updated to fftw-2.1.5.
* Thu Mar 18 2004 - tiwai@suse.de
- fixed the permission of installed header files (bug #36340).
* Wed Feb 25 2004 - meissner@suse.de
- fixed ppc64 shared libraries.
* Sat Jan 10 2004 - adrian@suse.de
- add %%run_ldconfig
* Fri May 30 2003 - nashif@suse.de
- Fixed to work with new mpich
* Fri May 16 2003 - nashif@suse.de
- Removed unpackaged file
* Sun Aug 04 2002 - nashif@suse.de
- Adapt to new mpich path
* Fri Jul 05 2002 - kukuk@suse.de
- Use %%ix86 macro
* Mon Jun 24 2002 - ro@suse.de
- fix doc directory permissions
* Thu May 16 2002 - meissner@suse.de
- Fixed for %%_lib issues on lib64 systems.
* Thu Feb 07 2002 - nashif@suse.de
- make compile with new mpich package
* Sat Feb 02 2002 - ro@suse.de
- added mpich-devel to neededforbuild
* Mon Jan 08 2001 - nashif@suse.de
- Split package to fftw, fftw-thread, fftw-mpi and devel for each.
* Sat Dec 09 2000 - nashif@suse.de
- sorted
* Mon Oct 30 2000 - nashif@suse.de
- Added subpackage fftw-devel
- use BuildRoot
* Sat Apr 08 2000 - bk@suse.de
- added suse update config macro
* Thu Apr 06 2000 - marquardt@suse.de
- added missing mpi libs to %%files section in specfile
* Wed Mar 15 2000 - kukuk@suse.de
- Fix specfile for non-intel platforms
* Thu Mar 02 2000 - ro@suse.de
- use macro for infodir, cleaned specfile
* Fri Jan 07 2000 - marquardt@suse.de
- added missing include files to %%files-section
* Mon Oct 11 1999 - ro@suse.de
- use prefix=/usr also on non-x86
* Thu Oct 07 1999 - nashif@suse.de
- new package