Update to 3.3 series.

This commit is contained in:
Jussi Lehtola 2011-07-29 01:05:25 +03:00
parent 5fc959907f
commit 6648ee5d32
1 changed files with 108 additions and 68 deletions

176
fftw.spec
View File

@ -1,6 +1,6 @@
Name: fftw
Version: 3.2.2
Release: 5%{?dist}
Version: 3.3
Release: 1%{?dist}
Summary: A Fast Fourier Transform library
Group: System Environment/Libraries
License: GPLv2+
@ -10,30 +10,42 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc-gfortran
# For check phase
BuildRequires: time perl
BuildRequires: time
BuildRequires: perl
Requires(post): info
Requires(preun): info
Provides: fftw3 = %{version}-%{release}
Obsoletes: fftw3 < %{version}-%{release}
%description
FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size.
%package libs
Summary: FFTW run-time library
Group: System Environment/Libraries
Provides: fftw3 = %{version}-%{release}
Obsoletes: fftw3 < 3.3
# Libs branched from rpm containing binaries in version 3.3
Obsoletes: fftw < 3.3
%package devel
%description libs
This package contains the FFTW run-time libraries.
%package devel
Summary: Headers, libraries and docs for the FFTW library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release} pkgconfig
Requires: pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-libs-openmp%{?_isa} = %{version}-%{release}
Requires: %{name}-libs-threads%{?_isa} = %{version}-%{release}
Provides: fftw3-devel = %{version}-%{release}
Obsoletes: fftw3-devel < %{version}-%{release}
Provides: fftw3-devel%{?_isa} = %{version}-%{release}
Obsoletes: fftw3-devel%{?_isa} < 3.3
%description devel
%description devel
FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size.
@ -41,20 +53,32 @@ data, and of arbitrary input size.
This package contains header files and development libraries needed to
develop programs using the FFTW fast Fourier transform library.
%package libs-threads
Summary: FFTW library with threading support
Group: Development/Libraries
%description libs-threads
This package contains the FFTW library compiled with threading support.
%package libs-openmp
Summary: FFTW library with OpenMP support
Group: Development/Libraries
%description libs-openmp
This package contains the FFTW library compiled with OpenMP support.
%package static
Summary: Static version of the FFTW library
Summary: Static versions of the FFTW libraries
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Obsoletes: fftw3-static < %{version}-%{release}
Provides: fftw3-static = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Provides: fftw3-static%{?_isa} = %{version}-%{release}
Obsoletes: fftw3-static%{?_isa} < 3.3
%description static
%description static
The fftw-static package contains the statically linkable version of
the FFTW fast Fourier transform library.
%package doc
%package doc
Summary: FFTW library manual
Group: Documentation
BuildArch: noarch
@ -63,68 +87,62 @@ BuildArch: noarch
This package contains the manual for the FFTW fast Fourier transform
library.
%prep
%setup -q -c %{name}-%{version}
for dir in single double long; do
cp -a fftw-%{version} $dir
done
rm -rf fftw-%{version}
%setup -q
%build
# Configure uses g77 by default, if present on system
export F77=gfortran
BASEFLAGS="--enable-shared --disable-dependency-tracking --enable-threads --enable-openmp"
CONFIG_FLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
pushd double
%configure $CONFIG_FLAGS
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
popd
pushd single
%configure $CONFIG_FLAGS --enable-single
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
popd
pushd long
%configure $CONFIG_FLAGS --enable-long-double
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
popd
# Precisions to build
prec_name[0]=single
prec_name[1]=double
prec_name[2]=long
prec_name[3]=quad
# Corresponding flags
prec_flags[0]=--enable-single
prec_flags[1]=--enable-double
prec_flags[2]=--enable-long-double
prec_flags[3]=--enable-quad-precision
# Loop over precisions
for((iprec=0;iprec<4;iprec++)); do
mkdir ${prec_name[iprec]}${ver_name[iver]}
cd ${prec_name[iprec]}${ver_name[iver]}
ln -s ../configure .
%{configure} ${BASEFLAGS} ${prec_flags[iprec]}
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
cd ..
done
%install
rm -rf ${RPM_BUILD_ROOT}
pushd double
make install DESTDIR=${RPM_BUILD_ROOT}
cp -a AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO ../
cp -a doc/ ../
popd
pushd single
make install DESTDIR=${RPM_BUILD_ROOT}
popd
pushd long
make install DESTDIR=${RPM_BUILD_ROOT}
popd
rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
rm -rf %{buildroot}
for ver in single double long quad; do
make -C $ver install DESTDIR=%{buildroot}
done
rm -f %{buildroot}%{_infodir}/dir
rm -f %{buildroot}%{_libdir}/*.la
%check
bdir=`pwd`
export LD_LIBRARY_PATH=$bdir/single/.libs:$bdir/single/threads/.libs:$bdir/double/.libs:$bdir/double/threads/.libs:$bdir/long/.libs:$bdir/long/threads/.libs
make -C single check
make -C double check
make -C long check
for ver in single double long quad; do
export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
make -C $ver check
done
%clean
rm -rf ${RPM_BUILD_ROOT}
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%post libs-openmp -p /sbin/ldconfig
%postun libs-openmp -p /sbin/ldconfig
%post libs-threads -p /sbin/ldconfig
%postun libs-threads -p /sbin/ldconfig
%post devel
/sbin/install-info --section="Math" %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
@ -136,10 +154,30 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
%doc %{_mandir}/man1/fftw*.1.*
%{_bindir}/fftw*-wisdom*
%{_libdir}/libfftw3*.so.*
%files libs
%defattr(-,root,root,-)
%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
%{_libdir}/libfftw3.so.*
%{_libdir}/libfftw3f.so.*
%{_libdir}/libfftw3l.so.*
%{_libdir}/libfftw3q.so.*
%files libs-openmp
%defattr(-,root,root,-)
%{_libdir}/libfftw3_omp.so.*
%{_libdir}/libfftw3f_omp.so.*
%{_libdir}/libfftw3l_omp.so.*
%{_libdir}/libfftw3q_omp.so.*
%files libs-threads
%defattr(-,root,root,-)
%{_libdir}/libfftw3_threads.so.*
%{_libdir}/libfftw3f_threads.so.*
%{_libdir}/libfftw3l_threads.so.*
%{_libdir}/libfftw3q_threads.so.*
%files devel
%defattr(-,root,root,-)
@ -157,8 +195,10 @@ fi
%defattr(-,root,root,-)
%{_libdir}/libfftw3*.a
%changelog
* Thu Jul 28 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3-1
- Update to 3.3.
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild