Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37403620
en ru br
ALT Linux repos
5.0: 2.1.5-alt4
4.1: 2.1.5-alt3
4.0: 2.1.5-alt2
3.0: 2.1.5-alt1

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

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin