File getdp.spec of Package getdp
#
# spec file for package getdp
#
# Copyright (c) 2023 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/
#
Name: getdp
Version: 3.5.0
Release: 0
%define lib_ver 3_5
URL: https://getdp.info/
Summary: A general finite element solver
License: GPL-2.0-or-later
Group: Productivity/Scientific/Math
Source0: https://getdp.info/src/getdp-%{version}-source.tgz
BuildRequires: arpack-devel
BuildRequires: bison
BuildRequires: blas-devel
BuildRequires: cmake
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: gsl-devel
BuildRequires: lapack-devel
BuildRequires: texinfo
%description
GetDP is a general finite element solver using mixed elements to discretize
de Rham-type complexes in one, two and three dimensions. The main feature of
GetDP is the closeness between the input data defining discrete problems
(written by the user in ASCII data files) and the symbolic mathematical
expressions of these problems.
%package -n libgetdp%{lib_ver}
Summary: A general finite element solver
Group: System/Libraries
%description -n libgetdp%{lib_ver}
GetDP is a general finite element solver using mixed elements to discretize
de Rham-type complexes in one, two and three dimensions. The main feature of
GetDP is the closeness between the input data defining discrete problems
(written by the user in ASCII data files) and the symbolic mathematical
expressions of these problems.
%package devel
Summary: Header files for %{name}
Group: Development/Libraries/C and C++
Requires: libgetdp%{lib_ver} = %{version}
%description devel
This package contains libraries and header files for getdb.
%package doc
Summary: A general finite element solver
Group: Documentation/Other
BuildArch: noarch
%description doc
GetDP is a general finite element solver using mixed elements to discretize
de Rham-type complexes in one, two and three dimensions. The main feature of
GetDP is the closeness between the input data defining discrete problems
(written by the user in ASCII data files) and the symbolic mathematical
expressions of these problems.
This package contains the documentation files (pdf and html) and some examples
files.
%prep
%setup -q -n %{name}-%{version}-source
# Disable bundled Arpack
mv contrib/Arpack{,_disabled}
%build
%cmake \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
-DENABLE_BUILD_SHARED:BOOL=ON \
-DGETDP_HOST=OBS \
-DGETDP_PACKAGER=openSUSE-abuild \
-DENABLE_SYSTEM_CONTRIB:BOOL=ON \
%{nil}
%cmake_build
%cmake_build doc
%install
%cmake_install
# Move documentation to the right directory
pushd build
tar xaf getdp-%{version}-doc.tgz doc/texinfo/getdp.{html,pdf}
install -m 0644 -D -t %{buildroot}/%{_docdir}/%{name}-doc/html ../doc/texinfo/*jpg doc/texinfo/getdp.html
install -m 0644 -D -t %{buildroot}/%{_docdir}/%{name}-doc/ doc/texinfo/getdp.pdf
mv %{buildroot}/%{_docdir}/%{name}/{examples,templates} %{buildroot}/%{_docdir}/%{name}-doc/
popd
# Cleanup
rm %{buildroot}/%{_docdir}/%{name}/{CREDITS,LICENSE}.txt
%post -n libgetdp%{lib_ver} -p /sbin/ldconfig
%postun -n libgetdp%{lib_ver} -p /sbin/ldconfig
%files
%license LICENSE.txt CREDITS.txt
%doc CHANGELOG.txt
%{_docdir}/%{name}
%{_bindir}/*
%{_mandir}/man1/*
%files -n libgetdp%{lib_ver}
%{_libdir}/*.so.*
%files devel
%{_includedir}/getdp.h
%{_libdir}/*.so
%files doc
%{_docdir}/%{name}-doc
%changelog