1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
# RPM spec file for FFTW.
# This file is used to build Redhat Package Manager packages for the
# FFTW library. Such packages make it easy to install and uninstall
# the library and related files from binaries or source.
#
# This spec file is for version @VERSION@ of FFTW; the appropriate
# version numbers are automatically substituted in to fftw.spec.in
# by the configure script. However, fftw.spec.in may need to be
# modified for future releases, if the list of installed files
# or build commands change.
#
# The icon associated with this package can be downloaded from:
# http://www.fftw.org/fftw-logo-thumb.gif
# and will need to be placed in /usr/src/redhat/SOURCES, along with
# the fftw-@VERSION@.tar.gz file, to build the RPM. To build, use
# the command: rpm --clean -ba fftw.spec
#
# Alternatively, you can just use 'make rpm' (as root).
#
Name: fftw
Summary: fast fourier transform library
Version: @VERSION@
Release: 1
Copyright: GPL
Icon: fftw-logo-thumb.gif
Group: Libraries
Prefix: /usr/local
BuildRoot: /tmp/%{name}-%{version}-buildroot
Source: ftp://ftp.fftw.org/pub/fftw/fftw-@VERSION@.tar.gz
URL: http://www.fftw.org
%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 devel
Summary: headers, libraries, & docs for FFTW fast fourier transform library
Group: Development/Libraries
Prefix: %{prefix}
Requires: fftw = %{version}-%{release}
%description devel
This package contains the additional header files, documentation, and
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
# Unpack the tar archive, first (-c) creating a fftw-%{version}
# directory and then unpacking in there.
%setup -c
# Now, rename the unpacked FFTW directory to "double":
mv ${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION} double
# Second, make a copy of this directory in "single":
cp -r double single
%build
# Configure and build the double and single precision versions.
# Notes:
# (1) We install into ${RPM_BUILD_ROOT}, 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.
cd double
%ifarch i386
./configure --prefix="${RPM_BUILD_ROOT}%{prefix}" --enable-shared --enable-i386-hacks --enable-threads
%else
./configure --prefix="${RPM_BUILD_ROOT}%{prefix}" --enable-shared --enable-threads
%endif
make
cd ../single
./configure --prefix="${RPM_BUILD_ROOT}%{prefix}" --enable-shared --enable-type-prefix --enable-threads --enable-float
make
%install
cd double
make install
cd ../single
make install
%clean
rm -rf ${RPM_BUILD_ROOT}
%post
# Force ${RPM_INSTALL_PREFIX}/lib to be in /etc/ld.so.conf?
# No...that would make it impossible to completely uninstall reliably.
# Instead, warn the user fix a broken /etc/ld.so.conf manually:
if test -z `grep ${RPM_INSTALL_PREFIX}/lib /etc/ld.so.conf`; then
echo "warning: ${RPM_INSTALL_PREFIX}/lib is not in /etc/ld.so.conf" 1>&2
echo " You should add it and then run ldconfig." 1>&2
fi
# run ldconfig to update the runtime linker database with the new libraries
# (make sure /sbin is in the $PATH)
PATH="/sbin:$PATH" ldconfig
%postun
# after uninstall, run ldconfig to remove the libs from the linker database
PATH="/sbin:$PATH" ldconfig
%files
/usr/local/lib/libfftw.so.@SHARED_VERSION@
/usr/local/lib/libfftw_threads.so.@SHARED_VERSION@
/usr/local/lib/librfftw.so.@SHARED_VERSION@
/usr/local/lib/librfftw_threads.so.@SHARED_VERSION@
/usr/local/lib/libsfftw.so.@SHARED_VERSION@
/usr/local/lib/libsfftw_threads.so.@SHARED_VERSION@
/usr/local/lib/libsrfftw.so.@SHARED_VERSION@
/usr/local/lib/libsrfftw_threads.so.@SHARED_VERSION@
/usr/local/lib/libfftw.so.2
/usr/local/lib/libfftw_threads.so.2
/usr/local/lib/librfftw.so.2
/usr/local/lib/librfftw_threads.so.2
/usr/local/lib/libsfftw.so.2
/usr/local/lib/libsfftw_threads.so.2
/usr/local/lib/libsrfftw.so.2
/usr/local/lib/libsrfftw_threads.so.2
%files devel
/usr/local/include/fftw.h
/usr/local/include/fftw_threads.h
/usr/local/include/rfftw.h
/usr/local/include/rfftw_threads.h
/usr/local/include/sfftw.h
/usr/local/include/sfftw_threads.h
/usr/local/include/srfftw.h
/usr/local/include/srfftw_threads.h
/usr/local/info/fftw.info
/usr/local/info/fftw.info-1
/usr/local/info/fftw.info-2
/usr/local/info/fftw.info-3
/usr/local/info/fftw.info-4
/usr/local/info/fftw.info-5
/usr/local/lib/libfftw.a
/usr/local/lib/libfftw.la
/usr/local/lib/libfftw.so
/usr/local/lib/libfftw_threads.a
/usr/local/lib/libfftw_threads.la
/usr/local/lib/libfftw_threads.so
/usr/local/lib/librfftw.a
/usr/local/lib/librfftw.la
/usr/local/lib/librfftw.so
/usr/local/lib/librfftw_threads.a
/usr/local/lib/librfftw_threads.la
/usr/local/lib/librfftw_threads.so
/usr/local/lib/libsfftw.a
/usr/local/lib/libsfftw.la
/usr/local/lib/libsfftw.so
/usr/local/lib/libsfftw_threads.a
/usr/local/lib/libsfftw_threads.la
/usr/local/lib/libsfftw_threads.so
/usr/local/lib/libsrfftw.a
/usr/local/lib/libsrfftw.la
/usr/local/lib/libsrfftw.so
/usr/local/lib/libsrfftw_threads.a
/usr/local/lib/libsrfftw_threads.la
/usr/local/lib/libsrfftw_threads.so
|