%global so_ver 11
Name: ginac
Version: 1.8.3
Release: %autorelease
Summary: C++ library for symbolic calculations
License: GPLv2+
URL: https://www.ginac.de/
Source0: https://www.ginac.de/%{name}-%{version}.tar.bz2
BuildRequires: gcc-c++
BuildRequires: bison
BuildRequires: cln-devel
BuildRequires: cmake
BuildRequires: flex
BuildRequires: doxygen
BuildRequires: python3-devel
BuildRequires: readline-devel
BuildRequires: tex(dvips)
BuildRequires: tex(latex)
BuildRequires: tex(latex-base)
BuildRequires: texinfo
BuildRequires: texinfo-tex
BuildRequires: transfig
Obsoletes: GiNaC < 1.3.2-999
Provides: GiNaC = %{version}-%{release}
Provides: GiNaC%{?_isa} = %{version}-%{release}
%description
GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
open framework for symbolic computation within the C++ programming language.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cln-devel%{?_isa}
Obsoletes: GiNaC-devel < 1.3.2-999
Provides: GiNaC-devel = %{version}-%{release}
Provides: GiNaC-devel%{?_isa} = %{version}-%{release}
%description devel
This package contains libraries and header files for
developing applications that use %{name}.
%package utils
Summary: GiNaC-related utilities
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: GiNaC-utils < 1.3.2
Provides: GiNaC-utils = %{version}-%{release}
%description utils
This package includes ginsh ("GiNaC interactive shell") which provides a
simple and easy-to-use CAS-like interface to GiNaC for non-programmers, and
the tool "viewgar" which displays the contents of GiNaC archives.
%prep
%autosetup -p1
# Destroy the RPATH.
sed -i 's| @GINACLIB_RPATH@||' ginac.pc.{in,cmake}
%build
%cmake -DCMAKE_INSTALL_RPATH="" -DLIBEXECDIR=%{_libexecdir}
%cmake_build
%cmake_build --target ginac_html
%install
%cmake_install
rm -frv %{buildroot}%{_infodir}/dir
find %{buildroot} -name '*.la' -delete -print
for f in $(find %{buildroot} -name "*.py") ; do
sed -i.orig "s:^#\!/usr/bin/env\s\+python:#!%{__python3}:" $f
touch -r $f.orig $f
rm $f.orig
done
%check
export CTEST_OUTPUT_ON_FAILURE=1
%cmake_build --target check
%files
%license COPYING
%{_libdir}/*.so.%{so_ver}
%{_libdir}/*.so.%{so_ver}.*
%{_libexecdir}/ginac-excompiler
%files devel
%doc AUTHORS NEWS README
%doc %{_vpath_builddir}/doc/tutorial/ginac.html
%{_includedir}/ginac/
%{_infodir}/*.info*
%{_libdir}/*.so
%{_libdir}/pkgconfig/ginac.pc
%dir %{_libdir}/cmake
%{_libdir}/cmake/ginac/
%files utils
%{_bindir}/*
%changelog
%autochangelog