%global libname libitpp Name: itpp Version: 4.3.1 Release: 1%{?dist} License: GPLv3 Summary: C++ library for math, signal/speech processing, and communications URL: http://itpp.sourceforge.net/ Source0: http://downloads.sourceforge.net/project/itpp/itpp/%{version}/itpp-%{version}.tar.bz2 # Fixes missing gtest-all.cc error # source: https://build.opensuse.org/package/view_file/science/libitpp/gtest_support.patch Patch0: gtest_support.patch # Fixes upstream bug in order to pass tests # PATCH-FIX-UPSTREAM memmove.patch [deb#741814] cristeab@gmail.com -- Corrected multilateration algorithm # source: https://build.opensuse.org/package/view_file/science/libitpp/itpp-4.3.1_memmove.patch Patch1: itpp-4.3.1_memmove.patch # Fixes itpp CMakeLists.txt for destination of libraries in x86_64 arch Patch2: lib64_destination.patch BuildRequires: doxygen BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: ghostscript BuildRequires: texlive-latex BuildRequires: blas-devel BuildRequires: lapack-devel BuildRequires: fftw-devel BuildRequires: gtest-devel %description IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications. The kernel of the library consists of generic vector and matrix classes, and a set of accompanying routines. Such a kernel makes IT++ similar to MATLAB, GNU Octave or SciPy. %package devel Summary: Header files for the IT++ library Requires: %{name}%{?_isa} = %{version}-%{release} Requires: fftw-devel Requires: blas-devel Requires: lapack-devel %description devel This package contains the header files for the IT++ library and a script that easily provides installed IT++ library prefix and compiler flags. %package doc Summary: HTML documentation for the IT++ library BuildArch: noarch %description doc This package contains the documentation for the IT++ library as HTML pages. %prep %setup -q -n %{name}-%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 # fix wrong permission in the source tarball for lapack.h chmod 664 itpp/base/algebra/lapack.h %build mkdir build cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_CXX_FLAGS="" -DCMAKE_CXX_FLAGS_RELEASE="%{optflags}" \ -DGTEST_DIR=%{_includedir}/gtest \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE make %{?_smp_mflags} %install make -C build install DESTDIR=%{buildroot} # move html docs to temp folder to prevent installation in main packet rm -rf __tmp_doc mkdir __tmp_doc mv -t __tmp_doc %{buildroot}%{_docdir}/%{name}/* # fix wrong permission for itpp-config chmod 755 %{buildroot}%{_bindir}/%{name}-config %check build/gtests/itpp_gtests %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %{_libdir}/%{libname}.so.* %{_datadir}/%{name} %doc AUTHORS ChangeLog NEWS README VERSION %license COPYING %files devel %{_bindir}/%{name}-config %{_mandir}/man1/%{name}-config* %{_includedir}/%{name} %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/%{libname}.so %files doc %doc __tmp_doc/* %license COPYING %changelog * Wed Oct 7 2015 Marco Driusso - 4.3.1-1 - Changed define to global, which is preferred * Wed Sep 30 2015 Marco Driusso - 4.3.1-1 - Some improvements: move html doc to temp folder to prevent installation in main packet, do not use attr for fixing permissions * Mon Sep 21 2015 Marco Driusso - 4.3.1-1 - First review: use Source0, can use doc directive thanks to removal of installed html dir, verbose make, use make -C, inserted arch dependency in devel sub-package, removed main packet dependency in doc sub-package, doc sub-package made noarch. * Sun Sep 20 2015 Marco Driusso - 4.3.1-1 - Initial spec file prepared.