Group :: System/Libraries
RPM: fftw
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Name: fftw
Version: 2.1.5
Release: alt4
Summary: Fast fourier transform library
License: GPL
Group: System/Libraries
Url: http://www.fftw.org
Packager: Denis Smirnov <mithraen at altlinux.ru>
Source: %name-%version.tar
Patch: %name-2.1.5-pentium.patch
Patch1: %name-2.1.5-alt-texinfo.patch
Patch2: fftw-2.1.5-alt-link_no_undefined.patch
%define pkgdocdir %_docdir/%name-%version
# Automatically added by buildreq on Sat Nov 24 2001
BuildRequires: gcc-g77
%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, and can handle arbitrary array sizes efficiently.
This RPM package includes both the double- and single-precision FFTW
uniprocessor and threads libraries. (The single-precision files have
an "s" prefix.)
%package -n lib%name
Summary: Dynamic libraries for FFTW fast fourier transform library
Group: System/Libraries
%description -n lib%name
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.
This RPM package includes both the double- and single-precision FFTW
uniprocessor and threads libraries. (The single-precision files have
an "s" prefix.)
%package -n lib%name-devel
Summary: Headers, libraries, & docs for FFTW fast fourier transform library
Group: Development/C
Requires: lib%name = %version-%release
%description -n lib%name-devel
This package contains the additional header files, documentation, and
libraries you need to develop programs using the FFTW fast fourier
transform library.
%package -n lib%name-devel-static
Summary: Static libraries for FFTW fast fourier transform library
Group: Development/C
Requires: lib%name-devel = %version-%release
%description -n lib%name-devel-static
This package contains static libraries you need to develop programs using
the FFTW fast fourier transform library.
%prep
# We will be compiling two copies of FFTW, one for double precision and
# one for single precision. During the build process, these copies
# will be stored in fftw-%version/double and fftw-%version/single
%setup
# Apply patch to enable pentium optimizations
%patch -p1
%patch1 -p1
%patch2 -p1
# sources came with pre-generated config.h :-(
# remove it
rm -f fftw/config.h
# create two separate build directories within main dir
mkdir -p double single
%build
#probably unneeded
#export LIBS=-lpthread
# First re-generate (patched) automake and (outdated) libtool stuff
# Be careful with the latter, our libtool still may break things :-(
aclocal
automake
autoconf
libtoolize --copy --force
# Configure and build the double and single precision versions.
# Notes:
# (1) We install into buildroot, which is set either
# by the BuildRoot option above or by --buildroot at build-time.
# This allows you to build the RPM without blowing away your existing
# FFTW installation, and even without being root.
# (2) The double-precision version is installed with the normal library
# names, while the single-precision version is installed with an "s"
# prefix.
# re-define configure script to support build directories
%global _configure_script ../configure
pushd double
%ifarch %ix86
%configure --enable-shared --enable-threads --enable-i386-hacks
%else
%configure --enable-shared --enable-threads
%endif
%make
popd
pushd single
%ifarch %ix86
%configure --enable-shared --enable-threads --enable-i386-hacks \
--enable-float --enable-type-prefix
%else
%configure --enable-shared --enable-threads \
--enable-float --enable-type-prefix
%endif
%make
popd
%install
%makeinstall -C single
%makeinstall -C double
# instead of re-rearranging things in the source
# tree, let's put docs right into its buildroot destination
# AM: do we ACTUALLY need all these docs?
mkdir -p %buildroot%pkgdocdir/{html,FAQ,doc}
cp doc/*.html doc/*.gif %buildroot%pkgdocdir/html/
cp -a FAQ/fftw-faq.html/* %buildroot%pkgdocdir/FAQ/
cp -a doc/{*ps,*fig,*tex} %buildroot%pkgdocdir/doc/
cp AUTHORS ChangeLog NEWS README* TODO %buildroot%pkgdocdir/
# remove non-packaged files
#rm -f %buildroot%_libdir/*.la
%post -n lib%name-devel
%install_info %name.info
%preun -n lib%name-devel
%uninstall_info %name.info
%files -n lib%name
%doc %pkgdocdir/*
%_libdir/*.so.*
%files -n lib%name-devel
%_includedir/*
%_infodir/*.info*
%_libdir/*.so
#%_libdir/*.la
%files -n lib%name-devel-static
%_libdir/*.a
%changelog
…
Full changelog you can see here
Version: 2.1.5
Release: alt4
Summary: Fast fourier transform library
License: GPL
Group: System/Libraries
Url: http://www.fftw.org
Packager: Denis Smirnov <mithraen at altlinux.ru>
Source: %name-%version.tar
Patch: %name-2.1.5-pentium.patch
Patch1: %name-2.1.5-alt-texinfo.patch
Patch2: fftw-2.1.5-alt-link_no_undefined.patch
%define pkgdocdir %_docdir/%name-%version
# Automatically added by buildreq on Sat Nov 24 2001
BuildRequires: gcc-g77
%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, and can handle arbitrary array sizes efficiently.
This RPM package includes both the double- and single-precision FFTW
uniprocessor and threads libraries. (The single-precision files have
an "s" prefix.)
%package -n lib%name
Summary: Dynamic libraries for FFTW fast fourier transform library
Group: System/Libraries
%description -n lib%name
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.
This RPM package includes both the double- and single-precision FFTW
uniprocessor and threads libraries. (The single-precision files have
an "s" prefix.)
%package -n lib%name-devel
Summary: Headers, libraries, & docs for FFTW fast fourier transform library
Group: Development/C
Requires: lib%name = %version-%release
%description -n lib%name-devel
This package contains the additional header files, documentation, and
libraries you need to develop programs using the FFTW fast fourier
transform library.
%package -n lib%name-devel-static
Summary: Static libraries for FFTW fast fourier transform library
Group: Development/C
Requires: lib%name-devel = %version-%release
%description -n lib%name-devel-static
This package contains static libraries you need to develop programs using
the FFTW fast fourier transform library.
%prep
# We will be compiling two copies of FFTW, one for double precision and
# one for single precision. During the build process, these copies
# will be stored in fftw-%version/double and fftw-%version/single
%setup
# Apply patch to enable pentium optimizations
%patch -p1
%patch1 -p1
%patch2 -p1
# sources came with pre-generated config.h :-(
# remove it
rm -f fftw/config.h
# create two separate build directories within main dir
mkdir -p double single
%build
#probably unneeded
#export LIBS=-lpthread
# First re-generate (patched) automake and (outdated) libtool stuff
# Be careful with the latter, our libtool still may break things :-(
aclocal
automake
autoconf
libtoolize --copy --force
# Configure and build the double and single precision versions.
# Notes:
# (1) We install into buildroot, which is set either
# by the BuildRoot option above or by --buildroot at build-time.
# This allows you to build the RPM without blowing away your existing
# FFTW installation, and even without being root.
# (2) The double-precision version is installed with the normal library
# names, while the single-precision version is installed with an "s"
# prefix.
# re-define configure script to support build directories
%global _configure_script ../configure
pushd double
%ifarch %ix86
%configure --enable-shared --enable-threads --enable-i386-hacks
%else
%configure --enable-shared --enable-threads
%endif
%make
popd
pushd single
%ifarch %ix86
%configure --enable-shared --enable-threads --enable-i386-hacks \
--enable-float --enable-type-prefix
%else
%configure --enable-shared --enable-threads \
--enable-float --enable-type-prefix
%endif
%make
popd
%install
%makeinstall -C single
%makeinstall -C double
# instead of re-rearranging things in the source
# tree, let's put docs right into its buildroot destination
# AM: do we ACTUALLY need all these docs?
mkdir -p %buildroot%pkgdocdir/{html,FAQ,doc}
cp doc/*.html doc/*.gif %buildroot%pkgdocdir/html/
cp -a FAQ/fftw-faq.html/* %buildroot%pkgdocdir/FAQ/
cp -a doc/{*ps,*fig,*tex} %buildroot%pkgdocdir/doc/
cp AUTHORS ChangeLog NEWS README* TODO %buildroot%pkgdocdir/
# remove non-packaged files
#rm -f %buildroot%_libdir/*.la
%post -n lib%name-devel
%install_info %name.info
%preun -n lib%name-devel
%uninstall_info %name.info
%files -n lib%name
%doc %pkgdocdir/*
%_libdir/*.so.*
%files -n lib%name-devel
%_includedir/*
%_infodir/*.info*
%_libdir/*.so
#%_libdir/*.la
%files -n lib%name-devel-static
%_libdir/*.a
%changelog
…
Full changelog you can see here