diff --git a/baselibs.conf b/baselibs.conf index 4f0dece..4239941 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -fftw3 -fftw3-threads -fftw3-omp -fftw3-mpi +libfftw3-3 +libfftw3_threads3 +libfftw3_omp3 +libfftw3_mpi3 diff --git a/fftw-3.3.tar.bz2 b/fftw-3.3.tar.bz2 deleted file mode 100644 index d4e9a27..0000000 --- a/fftw-3.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f704c2fc1060849ea7467b479c62476c28d97e54211d2505831ca383b88e9b1e -size 2945530 diff --git a/fftw-3.3.tar.gz b/fftw-3.3.tar.gz new file mode 100644 index 0000000..94a88a5 --- /dev/null +++ b/fftw-3.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25a98521a13933e678ce19319d03ddc915826764e1e59abd12d172c239b6aea +size 3965713 diff --git a/fftw3-rpmlintrc b/fftw3-rpmlintrc new file mode 100644 index 0000000..e8816aa --- /dev/null +++ b/fftw3-rpmlintrc @@ -0,0 +1,3 @@ +# See spec file for the reason(s) +addFilter('shlib-fixed-dependency') + diff --git a/fftw3.changes b/fftw3.changes index 35eaaff..ced7718 100644 --- a/fftw3.changes +++ b/fftw3.changes @@ -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 diff --git a/fftw3.spec b/fftw3.spec index 003e71f..b050bba 100644 --- a/fftw3.spec +++ b/fftw3.spec @@ -15,20 +15,23 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: fftw3 -BuildRequires: fdupes gcc-fortran openmpi-devel pkgconfig -Summary: Discrete Fourier Transform (DFT) C Subroutine Library +BuildRequires: fdupes +BuildRequires: gcc-fortran +BuildRequires: pkgconfig +%ifnarch s390 s390x +BuildRequires: openmpi-devel +%endif Version: 3.3 -Release: 14 +Release: 0 License: GPLv2+ -Group: Productivity/Scientific/Math -Source: fftw-%{version}.tar.bz2 -# Patch: fftw-%{version}.diff +Summary: Discrete Fourier Transform (DFT) C Subroutine Library 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 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 data, and of arbitrary input size. - %package devel -License: GPLv2+ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ -Requires: fftw3 = %{version} glibc-devel +Requires: fftw3 = %{version} +Requires: glibc-devel Provides: fftw-devel %description devel This package contains all necessary include files and libraries needed 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 -License: GPLv2+ -Summary: Discrete Fourier Transform (DFT) C subroutine library -Group: Productivity/Scientific/Math -Requires: fftw3 = %{version} - -%description threads +%description -n libfftw3-3 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 -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 -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-threads = %{version} -Requires: fftw3-devel = %{version} glibc-devel +Requires: fftw3-devel = %{version} +Requires: glibc-devel +Requires: libfftw3_threads3 = %{version} %description threads-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. - -%package openmp -License: GPLv2+ +%package -n libfftw3_omp3 Summary: Discrete Fourier Transform (DFT) C subroutine library 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 Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package openmp-devel -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-openmp = %{version} -Requires: fftw3-devel = %{version} glibc-devel +Requires: fftw3-devel = %{version} +Requires: glibc-devel +Requires: libfftw3_omp3 = %{version} %description openmp-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. +%ifnarch s390 s390x -%package mpi -License: GPLv2+ +%package -n libfftw3_mpi3 Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math -Requires: fftw3 = %{version} +# Same as libfftw3_threads.so: manual Requires for fftw3 main lib +Requires: libfftw3-3 = %{version} Requires: openmpi -%description mpi +%description -n libfftw3_mpi3 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 mpi-devel -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-mpi = %{version} -Requires: fftw3-devel = %{version} glibc-devel +Requires: fftw3-devel = %{version} +Requires: glibc-devel +Requires: libfftw3_mpi3 = %{version} Requires: openmpi-devel %description mpi-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. - +%endif %prep %setup -q -n fftw-%{version} @@ -133,7 +144,10 @@ data, and of arbitrary input size. # autoreconf --force --install %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 --enable-sse2 \ %endif @@ -142,23 +156,33 @@ make %{?_smp_mflags} %install %makeinstall + # 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: 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 --enable-sse \ %endif --disable-static + make %{?_smp_mflags} %makeinstall + # remove unneeded files -rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a -# gzip -9nf $RPM_BUILD_ROOT%{_infodir}/*.info* -rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f %{buildroot}%{_libdir}/lib*.*a + +# gzip -9nf %{buildroot}%{_infodir}/*.info* +rm -f %{buildroot}%{_infodir}/dir + # remove Makefiles in doc directory at last find doc -name 'Makefile*' | xargs rm + %fdupes -s doc %postun devel @@ -167,29 +191,29 @@ find doc -name 'Makefile*' | xargs rm %post devel %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 -test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT +%postun -n libfftw3_mpi3 -p /sbin/ldconfig +%endif -%files +%files -n libfftw3-3 %defattr(-,root,root) -%{_libdir}/libfftw3.so.* -%{_libdir}/libfftw3f.so.* +%{_libdir}/libfftw3.so.3* +%{_libdir}/libfftw3f.so.3* %files devel %defattr(-,root,root) @@ -203,35 +227,38 @@ test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/*.pc %{_bindir}/* -%files threads +%files -n libfftw3_threads3 %defattr(-,root,root) -%{_libdir}/libfftw3_threads.so.* -%{_libdir}/libfftw3f_threads.so.* +%{_libdir}/libfftw3_threads.so.3* +%{_libdir}/libfftw3f_threads.so.3* %files threads-devel %defattr(-,root,root) %{_libdir}/libfftw3_threads.so %{_libdir}/libfftw3f_threads.so -%files openmp +%files -n libfftw3_omp3 %defattr(-,root,root) -%{_libdir}/libfftw3_omp.so.* -%{_libdir}/libfftw3f_omp.so.* +%{_libdir}/libfftw3_omp.so.3* +%{_libdir}/libfftw3f_omp.so.3* %files openmp-devel %defattr(-,root,root) %{_libdir}/libfftw3_omp.so %{_libdir}/libfftw3f_omp.so -%files mpi +%ifnarch s390 s390x + +%files -n libfftw3_mpi3 %defattr(-,root,root) -%{_libdir}/libfftw3_mpi.so.* -%{_libdir}/libfftw3f_mpi.so.* +%{_libdir}/libfftw3_mpi.so.3* +%{_libdir}/libfftw3f_mpi.so.3* %files mpi-devel %defattr(-,root,root) %{_libdir}/libfftw3_mpi.so %{_libdir}/libfftw3f_mpi.so %{_includedir}/fftw3-mpi.* +%endif %changelog