Accepting request 94083 from multimedia:libs

- Ignore rpmlint fixed dependency errors

- fix build on s390/s390x without openmpi 

- Remove redundant/unwanted tags/section (cf. specfile guidelines)
- Employ shlib naming (fftw3 -> libfftw3)

OBS-URL: https://build.opensuse.org/request/show/94083
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fftw3?expand=0&rev=22
This commit is contained in:
Stephan Kulow 2011-12-02 08:26:44 +00:00 committed by Git OBS Bridge
commit 176b8935a0
6 changed files with 120 additions and 74 deletions

View File

@ -1,4 +1,4 @@
fftw3 libfftw3-3
fftw3-threads libfftw3_threads3
fftw3-omp libfftw3_omp3
fftw3-mpi libfftw3_mpi3

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f704c2fc1060849ea7467b479c62476c28d97e54211d2505831ca383b88e9b1e
size 2945530

3
fftw-3.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d25a98521a13933e678ce19319d03ddc915826764e1e59abd12d172c239b6aea
size 3965713

3
fftw3-rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
# See spec file for the reason(s)
addFilter('shlib-fixed-dependency')

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Nov 28 13:33:44 UTC 2011 - idoenmez@suse.de
- Ignore rpmlint fixed dependency errors
-------------------------------------------------------------------
Mon Nov 28 01:48:17 CET 2011 - ro@suse.de
- fix build on s390/s390x without openmpi
-------------------------------------------------------------------
Mon Nov 21 17:45:00 UTC 2011 - jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
- Employ shlib naming (fftw3 -> libfftw3)
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Oct 9 17:48:50 UTC 2011 - adrian@suse.de Sun Oct 9 17:48:50 UTC 2011 - adrian@suse.de

View File

@ -15,20 +15,23 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
# norootforbuild
Name: fftw3 Name: fftw3
BuildRequires: fdupes gcc-fortran openmpi-devel pkgconfig BuildRequires: fdupes
Summary: Discrete Fourier Transform (DFT) C Subroutine Library BuildRequires: gcc-fortran
BuildRequires: pkgconfig
%ifnarch s390 s390x
BuildRequires: openmpi-devel
%endif
Version: 3.3 Version: 3.3
Release: 14 Release: 0
License: GPLv2+ License: GPLv2+
Group: Productivity/Scientific/Math Summary: Discrete Fourier Transform (DFT) C Subroutine Library
Source: fftw-%{version}.tar.bz2
# Patch: fftw-%{version}.diff
Url: http://www.fftw.org Url: http://www.fftw.org
AutoReqProv: on Group: Productivity/Scientific/Math
Source: http://www.fftw.org/fftw-3.3.tar.gz
Source1: %{name}-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(pre): %install_info_prereq Requires(pre): %install_info_prereq
@ -37,95 +40,103 @@ FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%package devel %package devel
License: GPLv2+
Summary: Include Files and Libraries mandatory for Development Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: fftw3 = %{version} glibc-devel Requires: fftw3 = %{version}
Requires: glibc-devel
Provides: fftw-devel Provides: fftw-devel
%description devel %description devel
This package contains all necessary include files and libraries needed This package contains all necessary include files and libraries needed
to develop applications that require these. to develop applications that require these.
%package -n libfftw3-3
Summary: Discrete Fourier Transform (DFT) C Subroutine Library
Group: System/Libraries
# Remove Prov/Obs when appropriate; were added 2011-Nov-21 (post-openSUSE-12.1)
Provides: fftw3 = %{version}-%{release}
Obsoletes: fftw3 < %{version}-%{release}
%package threads %description -n libfftw3-3
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Productivity/Scientific/Math
Requires: fftw3 = %{version}
%description threads
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%package -n libfftw3_threads3
Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Productivity/Scientific/Math
# libfftw3_threads.so does not have a DT_NEEDED entry for fftw symbols, since it
# may be used with either libfftw3.so or libfftw3f.so. Hence, manual Requires.
Requires: libfftw3-3 = %{version}
%description -n libfftw3_threads3
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 threads-devel %package threads-devel
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: fftw3-threads = %{version} Requires: fftw3-devel = %{version}
Requires: fftw3-devel = %{version} glibc-devel Requires: glibc-devel
Requires: libfftw3_threads3 = %{version}
%description threads-devel %description threads-devel
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%package -n libfftw3_omp3
%package openmp
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Productivity/Scientific/Math Group: Productivity/Scientific/Math
Requires: fftw3 = %{version} # Same as libfftw3_threads.so: manual Requires for fftw3 main lib
Requires: libfftw3-3 = %{version}
%description openmp %description -n libfftw3_omp3
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%package openmp-devel %package openmp-devel
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: fftw3-openmp = %{version} Requires: fftw3-devel = %{version}
Requires: fftw3-devel = %{version} glibc-devel Requires: glibc-devel
Requires: libfftw3_omp3 = %{version}
%description openmp-devel %description openmp-devel
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%ifnarch s390 s390x
%package mpi %package -n libfftw3_mpi3
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Productivity/Scientific/Math Group: Productivity/Scientific/Math
Requires: fftw3 = %{version} # Same as libfftw3_threads.so: manual Requires for fftw3 main lib
Requires: libfftw3-3 = %{version}
Requires: openmpi Requires: openmpi
%description mpi %description -n libfftw3_mpi3
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%package mpi-devel %package mpi-devel
License: GPLv2+
Summary: Discrete Fourier Transform (DFT) C subroutine library Summary: Discrete Fourier Transform (DFT) C subroutine library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: fftw3-mpi = %{version} Requires: fftw3-devel = %{version}
Requires: fftw3-devel = %{version} glibc-devel Requires: glibc-devel
Requires: libfftw3_mpi3 = %{version}
Requires: openmpi-devel Requires: openmpi-devel
%description mpi-devel %description mpi-devel
FFTW is a C subroutine library for computing the Discrete Fourier FFTW is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions, of both real and complex Transform (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size. data, and of arbitrary input size.
%endif
%prep %prep
%setup -q -n fftw-%{version} %setup -q -n fftw-%{version}
@ -133,7 +144,10 @@ data, and of arbitrary input size.
# autoreconf --force --install # autoreconf --force --install
%build %build
%configure --enable-shared --enable-threads --enable-openmp --enable-mpi \ %configure --enable-shared --enable-threads --enable-openmp \
%ifnarch s390 s390x
--enable-mpi \
%endif
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
--enable-sse2 \ --enable-sse2 \
%endif %endif
@ -142,23 +156,33 @@ make %{?_smp_mflags}
%install %install
%makeinstall %makeinstall
# remove unneeded files # remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a rm -f %{buildroot}%{_libdir}/lib*.*a
# hack to also compile/install single-precision version: # hack to also compile/install single-precision version:
make distclean make distclean
%configure --enable-shared --enable-threads --enable-float --enable-openmp --enable-mpi \ %configure --enable-shared --enable-threads --enable-float --enable-openmp \
%ifnarch s390 s390x
--enable-mpi \
%endif
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
--enable-sse \ --enable-sse \
%endif %endif
--disable-static --disable-static
make %{?_smp_mflags} make %{?_smp_mflags}
%makeinstall %makeinstall
# remove unneeded files # remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a rm -f %{buildroot}%{_libdir}/lib*.*a
# gzip -9nf $RPM_BUILD_ROOT%{_infodir}/*.info*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir # gzip -9nf %{buildroot}%{_infodir}/*.info*
rm -f %{buildroot}%{_infodir}/dir
# remove Makefiles in doc directory at last # remove Makefiles in doc directory at last
find doc -name 'Makefile*' | xargs rm find doc -name 'Makefile*' | xargs rm
%fdupes -s doc %fdupes -s doc
%postun devel %postun devel
@ -167,29 +191,29 @@ find doc -name 'Makefile*' | xargs rm
%post devel %post devel
%install_info --info-dir=%{_infodir} %{_infodir}/fftw3.info.gz %install_info --info-dir=%{_infodir} %{_infodir}/fftw3.info.gz
%post -p /sbin/ldconfig %post -n libfftw3-3 -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -n libfftw3-3 -p /sbin/ldconfig
%post threads -p /sbin/ldconfig %post -n libfftw3_threads3 -p /sbin/ldconfig
%postun threads -p /sbin/ldconfig %postun -n libfftw3_threads3 -p /sbin/ldconfig
%post openmp -p /sbin/ldconfig %post -n libfftw3_omp3 -p /sbin/ldconfig
%postun openmp -p /sbin/ldconfig %postun -n libfftw3_omp3 -p /sbin/ldconfig
%post mpi -p /sbin/ldconfig %ifnarch s390 s390x
%postun mpi -p /sbin/ldconfig %post -n libfftw3_mpi3 -p /sbin/ldconfig
%clean %postun -n libfftw3_mpi3 -p /sbin/ldconfig
test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT %endif
%files %files -n libfftw3-3
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3.so.* %{_libdir}/libfftw3.so.3*
%{_libdir}/libfftw3f.so.* %{_libdir}/libfftw3f.so.3*
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
@ -203,35 +227,38 @@ test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%{_bindir}/* %{_bindir}/*
%files threads %files -n libfftw3_threads3
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_threads.so.* %{_libdir}/libfftw3_threads.so.3*
%{_libdir}/libfftw3f_threads.so.* %{_libdir}/libfftw3f_threads.so.3*
%files threads-devel %files threads-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_threads.so %{_libdir}/libfftw3_threads.so
%{_libdir}/libfftw3f_threads.so %{_libdir}/libfftw3f_threads.so
%files openmp %files -n libfftw3_omp3
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_omp.so.* %{_libdir}/libfftw3_omp.so.3*
%{_libdir}/libfftw3f_omp.so.* %{_libdir}/libfftw3f_omp.so.3*
%files openmp-devel %files openmp-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_omp.so %{_libdir}/libfftw3_omp.so
%{_libdir}/libfftw3f_omp.so %{_libdir}/libfftw3f_omp.so
%files mpi %ifnarch s390 s390x
%files -n libfftw3_mpi3
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_mpi.so.* %{_libdir}/libfftw3_mpi.so.3*
%{_libdir}/libfftw3f_mpi.so.* %{_libdir}/libfftw3f_mpi.so.3*
%files mpi-devel %files mpi-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libfftw3_mpi.so %{_libdir}/libfftw3_mpi.so
%{_libdir}/libfftw3f_mpi.so %{_libdir}/libfftw3f_mpi.so
%{_includedir}/fftw3-mpi.* %{_includedir}/fftw3-mpi.*
%endif
%changelog %changelog