# # spec file for package armadillo # # Copyright (c) 2017 SUSE LINUX 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/ # %define soname libarmadillo7 Name: armadillo Version: 7.700.0 Release: 0 Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS License: MPL-2.0 Group: Development/Libraries/C and C++ Url: http://arma.sourceforge.net/ Source: http://downloads.sourceforge.net/arma/%{name}-%{version}.tar.xz Source2: baselibs.conf # PATCH-FEATURE-OPENSUSE armadillo-tests.patch badshah400@gmail.com -- Generate tests/Makefile by configuring tests/Makefile.in using cmake so that the tests can be run before actually installing the library; patch sent upstream Patch1: armadillo-tests.patch BuildRequires: arpack-ng-devel BuildRequires: blas-devel BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: lapack-devel BuildRequires: pkgconfig BuildRequires: superlu-devel >= 5.2 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 %{soname} Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS Group: System/Libraries %description -n %{soname} 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 doc Summary: Documentation for %{name} Group: Documentation/Other %if 0%{?suse_version} > 1110 BuildArch: noarch %endif %description doc 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 documentation for armadillo. %package devel Summary: Development headers and documentation for the Armadillo C++ library Group: Development/Libraries/C and C++ Requires: %{soname} = %{version} Requires: arpack-ng-devel Requires: blas-devel Requires: lapack-devel Requires: libstdc++-devel Requires: superlu-devel >= 4.3 Recommends: %{name}-doc %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 %patch1 -p1 #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_win64.* rm -rf examples/example2_win64.* rm -rf examples/lib_win64 %check pushd tests make %{?_smp_mflags} ./main popd %post -n %{soname} -p /sbin/ldconfig %postun -n %{soname} -p /sbin/ldconfig %files -n %{soname} %defattr(-,root,root) %{_libdir}/*.so.* %files doc %defattr(-,root,root) %doc armadillo_nicta_2010.pdf %doc rcpp_armadillo_csda_2014.pdf %doc LICENSE.txt README.txt index.html examples/ docs.html %files devel %defattr(-,root,root) %{_libdir}/*.so %{_libdir}/pkgconfig/%{name}.pc %{_includedir}/armadillo %{_includedir}/armadillo_bits/ %{_datadir}/Armadillo/ %changelog