File armadillo.spec of Package armadillo

#
# spec file for package armadillo
#
# Copyright (c) 2024 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#


%define soname libarmadillo14
Name:           armadillo
Version:        14.4.3
Release:        0
Summary:        C++ matrix library with interfaces to LAPACK and ATLAS
License:        Apache-2.0
Group:          Development/Libraries/C and C++
URL:            https://arma.sourceforge.net/
Source:         https://sourceforge.net/projects/arma/files/%{name}-%{version}.tar.xz
Source2:        baselibs.conf
BuildRequires:  arpack-ng-devel
BuildRequires:  blas-devel
BuildRequires:  cmake
BuildRequires:  gcc-c++
BuildRequires:  lapack-devel
BuildRequires:  pkgconfig
BuildRequires:  superlu-devel >= 5.2

%description
Armadillo is a C++ linear algebra library (matrix maths).
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.

%package     -n %{soname}
Summary:        C++ matrix library with interfaces to LAPACK and ATLAS
Group:          System/Libraries

%description -n %{soname}
Armadillo is a C++ linear algebra library (matrix maths).
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.

This package provides the shared libraries for armadillo.

%package        doc
Summary:        Documentation for %{name}
Group:          Documentation/Other
BuildArch:      noarch

%description    doc
Armadillo is a C++ linear algebra library (matrix maths).
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.

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).
Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions.

This package contains files necessary for development using the
Armadillo C++ library. It contains header files, example programs,
and user documentation (reference guide).

%prep
%autosetup -p1
sed -Ei 's/\r$//' NOTICE.txt README.md examples/README.txt examples/example1.cpp

%build
%cmake -DBUILD_SMOKE_TEST:BOOL=ON
%cmake_build

%install
%cmake_install
rm -f examples/Makefile.cmake
rm -rf examples/example1_win64.*
rm -rf examples/example2_win64.*
rm -rf examples/lib_win64

%check
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
%ctest

%ldconfig_scriptlets -n %{soname}

%files -n %{soname}
%{_libdir}/*.so.*

%files doc
%doc armadillo_*.pdf
%doc NOTICE.txt README.md index.html examples/ docs.html
%license LICENSE.txt

%files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/armadillo
%{_includedir}/armadillo_bits/
%{_datadir}/Armadillo/

%changelog
openSUSE Build Service is sponsored by