armadillo/armadillo.spec

138 lines
5.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package armadillo
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: armadillo
Version: 3.4.4
Release: 0
Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS
License: LGPL-3.0+
Group: Development/Libraries/C and C++
Url: http://arma.sourceforge.net/
Source: http://download.sourceforge.net/arma/%{name}-%{version}.tar.gz
Source2: baselibs.conf
BuildRequires: blas-devel
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: lapack-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Armadillo is a C++ linear algebra library (matrix maths)
aiming towards a good balance between speed and ease of use.
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.
Various matrix decompositions are provided through optional
integration with LAPACK and ATLAS libraries.
A delayed evaluation approach is employed (during compile time)
to combine several operations into one and reduce (or eliminate)
the need for temporaries. This is accomplished through recursive
templates and template meta-programming.
This library is useful if C++ has been decided as the language
of choice (due to speed and/or integration capabilities), rather
than another language like Matlab or Octave.
%package -n libarmadillo3
Summary: Shared libraries for armadillo
Group: Development/Libraries/C and C++
%description -n libarmadillo3
Armadillo is a C++ linear algebra library (matrix maths)
aiming towards a good balance between speed and ease of use.
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.
Various matrix decompositions are provided through optional
integration with LAPACK and ATLAS libraries.
A delayed evaluation approach is employed (during compile time)
to combine several operations into one and reduce (or eliminate)
the need for temporaries. This is accomplished through recursive
templates and template meta-programming.
This library is useful if C++ has been decided as the language
of choice (due to speed and/or integration capabilities), rather
than another language like Matlab or Octave.
This package provides the shared libraries for armadillo.
%package devel
Summary: Development headers and documentation for the Armadillo C++ library
Group: Development/Libraries/C and C++
Requires: blas-devel
Requires: boost-devel
Requires: lapack-devel
Requires: libarmadillo3 = %{version}
Requires: libstdc++-devel
%description devel
Armadillo is a C++ linear algebra library (matrix maths)
aiming towards a good balance between speed and ease of use.
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.
Various matrix decompositions are provided through optional
integration with LAPACK and ATLAS libraries.
A delayed evaluation approach is employed (during compile time)
to combine several operations into one and reduce (or eliminate)
the need for temporaries. This is accomplished through recursive
templates and template meta-programming.
This library is useful if C++ has been decided as the language
of choice (due to speed and/or integration capabilities), rather
than another language like Matlab or Octave.
This package contains files necessary for development using the
Armadillo C++ library. It contains header files, example programs,
and user documentation (reference guide).
%prep
%setup -q
#Convert DOS end-of-line to UNIX end-of-line
sed -i 's/\r//' README.txt
sed -i 's/\r//' LICENSE.txt
for i in `ls licenses/`; do sed -i 's/\r//' licenses/$i ; done
for i in `ls examples/*.cpp`; do sed -i 's/\r//' $i; done
%build
cmake . \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}\
-DINSTALL_LIB_DIR:PATH=%{_libdir}
%{__make} %{?_smp_mflags}
%install
%{__make} DESTDIR=%{buildroot} install
rm -f examples/Makefile.cmake
rm -rf examples/example1_win32
rm -rf examples/example2_win32
rm -rf examples/lib_win32
%post -n libarmadillo3 -p /sbin/ldconfig
%postun -n libarmadillo3 -p /sbin/ldconfig
%files -n libarmadillo3
%defattr(-,root,root)
%{_libdir}/*.so.*
%doc LICENSE.txt licenses
%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_includedir}/armadillo
%{_includedir}/armadillo_bits/
%{_datadir}/Armadillo/
%doc README.txt index.html examples/ docs.html
%changelog