102 lines
2.8 KiB
RPMSpec
102 lines
2.8 KiB
RPMSpec
Name: python-mpmath
|
|
Version: 1.2.0
|
|
Release: 1
|
|
Summary: A pure Python library for multiprecision floating-point arithmetic
|
|
License: BSD
|
|
URL: https://mpmath.org
|
|
# Source code
|
|
Source0: https://github.com/fredrik-johansson/mpmath/archive/%{version}/%{name}-%{version}.tar.gz
|
|
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-pip
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-setuptools_scm
|
|
BuildRequires: python3-pytest
|
|
BuildRequires: python3-sphinx
|
|
BuildRequires: xorg-x11-server-Xvfb
|
|
|
|
# For building documentation
|
|
BuildRequires: dvipng
|
|
BuildRequires: tex(latex)
|
|
|
|
BuildArch: noarch
|
|
|
|
%global _description %{expand:
|
|
Mpmath is a pure-Python library for multiprecision floating-point
|
|
arithmetic. It provides an extensive set of transcendental functions,
|
|
unlimited exponent sizes, complex numbers, interval arithmetic,
|
|
numerical integration and differentiation, root-finding, linear
|
|
algebra, and much more. Almost any calculation can be performed just
|
|
as well at 10-digit or 1000-digit precision, and in many cases mpmath
|
|
implements asymptotically fast algorithms that scale well for
|
|
extremely high precision work. If available, mpmath will (optionally)
|
|
use gmpy to speed up high precision operations.}
|
|
|
|
%description %_description
|
|
|
|
%package -n python3-mpmath
|
|
Summary: A pure Python library for multiprecision floating-point arithmetic
|
|
Recommends: python3-matplotlib
|
|
%{?python_provide:%python_provide python3-mpmath}
|
|
|
|
%description -n python3-mpmath %_description
|
|
|
|
If you require plotting capabilities in mpmath, install python3-matplotlib.
|
|
|
|
|
|
%package doc
|
|
Summary: HTML documentation for %{name}
|
|
Requires: python3-mpmath = %{version}-%{release}
|
|
|
|
%description doc
|
|
This package contains the HTML documentation for %{name}.
|
|
|
|
|
|
%prep
|
|
%setup -q -n mpmath-%{version}
|
|
|
|
# Convert line encodings
|
|
for doc in CHANGES LICENSE README.rst TODO mpmath/tests/runtests.py; do
|
|
sed "s|\r||g" $doc > $doc.new && \
|
|
touch -r $doc $doc.new && \
|
|
mv $doc.new $doc
|
|
done
|
|
find doc -name *.txt -exec sed -i "s|\r||g" {} \;
|
|
|
|
shebangs="mpmath/matrices/eigen.py mpmath/matrices/eigen_symmetric.py mpmath/tests/runtests.py mpmath/tests/test_eigen.py mpmath/tests/test_eigen_symmetric.py mpmath/tests/test_levin.py"
|
|
# Get rid of unnecessary shebangs
|
|
for lib in $shebangs; do
|
|
sed '/^#!.*/d; 1q' $lib > $lib.new && \
|
|
touch -r $lib $lib.new && \
|
|
mv $lib.new $lib
|
|
done
|
|
|
|
sed -i -r 's/use_scm_version=True/version="%{version}"/' setup.py
|
|
|
|
%build
|
|
%py3_build
|
|
|
|
# Build documentation
|
|
cd doc
|
|
%{__python3} build.py
|
|
|
|
%install
|
|
%py3_install
|
|
|
|
%check
|
|
cd build/lib/mpmath/tests/
|
|
xvfb-run -a pytest-3 -v
|
|
|
|
%files -n python3-mpmath
|
|
%license LICENSE
|
|
%doc CHANGES README.rst TODO
|
|
%{python3_sitelib}/mpmath/
|
|
%{python3_sitelib}/mpmath-%{version}-*.egg-info
|
|
|
|
%files doc
|
|
%doc doc/build/*
|
|
|
|
%changelog
|
|
* Wed Jul 08 2021 liuliang <liuliang1@kylinos.cn> - 1.2.0-1
|
|
- Package init
|