404 lines
13 KiB
RPMSpec
404 lines
13 KiB
RPMSpec
Name: sympy
|
|
Version: 1.0
|
|
Release: 4%{?dist}
|
|
Summary: A Python library for symbolic mathematics
|
|
License: BSD
|
|
URL: http://sympy.org/
|
|
Source0: https://github.com/%{name}/%{name}/archive/%{name}-%{version}.tar.gz
|
|
# Fix two test failures with recent mpmath versions
|
|
Patch0: sympy-test.patch
|
|
# Adapt to changes in matplotlib 2.x
|
|
Patch1: sympy-matplotlib2.patch
|
|
# Fix for tests failing because numpy gets an array of Float objects
|
|
Patch2: sympy-test_args.patch
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: gcc-gfortran
|
|
BuildRequires: gettext
|
|
BuildRequires: graphviz
|
|
BuildRequires: ImageMagick
|
|
BuildRequires: librsvg2-tools
|
|
BuildRequires: numpy python3-numpy
|
|
BuildRequires: numpy-f2py python3-numpy-f2py
|
|
BuildRequires: python2-devel python3-devel
|
|
BuildRequires: python2-fastcache python3-fastcache
|
|
BuildRequires: python2-gmpy2 python3-gmpy2
|
|
BuildRequires: python2-matplotlib python3-matplotlib
|
|
BuildRequires: python-mpmath python3-mpmath
|
|
BuildRequires: python2-scipy python3-scipy
|
|
BuildRequires: python2-sphinx
|
|
BuildRequires: python2-theano python3-theano
|
|
BuildRequires: tex(latex)
|
|
BuildRequires: tex-dvipng
|
|
BuildRequires: xorg-x11-fonts-Type1
|
|
BuildRequires: xorg-x11-server-Xvfb
|
|
BuildRequires: parallel
|
|
|
|
Requires: mesa-libGLU
|
|
Requires: python2-fastcache
|
|
Requires: python2-gmpy2
|
|
Requires: python2-matplotlib
|
|
Requires: python-mpmath
|
|
Requires: python-pyglet
|
|
|
|
Recommends: python2-scipy
|
|
Recommends: python2-theano
|
|
|
|
%description
|
|
SymPy aims to become a full-featured computer algebra system (CAS)
|
|
while keeping the code as simple as possible in order to be
|
|
comprehensible and easily extensible. SymPy is written entirely in
|
|
Python and does not require any external libraries.
|
|
|
|
%package -n python3-%{name}
|
|
Summary: A Python3 library for symbolic mathematics
|
|
Requires: mesa-libGLU
|
|
Requires: python3-fastcache
|
|
Requires: python3-gmpy2
|
|
Requires: python3-matplotlib
|
|
Requires: python3-mpmath
|
|
Requires: python3-pyglet
|
|
|
|
Recommends: python3-scipy
|
|
Recommends: python3-theano
|
|
|
|
%description -n python3-%{name}
|
|
SymPy aims to become a full-featured computer algebra system (CAS)
|
|
while keeping the code as simple as possible in order to be
|
|
comprehensible and easily extensible. SymPy is written entirely in
|
|
Python and does not require any external libraries.
|
|
|
|
%package texmacs
|
|
Summary: TeXmacs integration for sympy
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: texmacs
|
|
|
|
%description texmacs
|
|
This package contains a TeXmacs plugin for sympy.
|
|
|
|
%package examples
|
|
Summary: Sympy examples
|
|
Requires: %{name} = %{version}-%{release}
|
|
# once rich dependencies are allowed, add "or python3-sympy = %{version}-%{release}"
|
|
|
|
%description examples
|
|
This package contains example input for sympy.
|
|
|
|
%package doc
|
|
Summary: Documentation for sympy
|
|
Requires: %{name} = %{version}-%{release}
|
|
Provides: bundled(jquery)
|
|
|
|
%description doc
|
|
HTML documentation for sympy.
|
|
|
|
%global sympydir %{name}-%{name}-%{version}
|
|
|
|
%prep
|
|
%setup -q -c
|
|
|
|
# Do not depend on env
|
|
for fil in $(grep -rl "^#\![[:blank:]]*%{_bindir}/env" .); do
|
|
sed -i.orig 's,^\(#\![[:blank:]]*%{_bindir}/\)env ,\1,' $fil
|
|
touch -r $fil.orig $fil
|
|
rm -f $fil.orig
|
|
done
|
|
|
|
# The classic sphinx theme is explicitly needed.
|
|
sed -i "/html_style/ahtml_theme = 'classic'" %{sympydir}/doc/src/conf.py
|
|
|
|
# If running on a 32-bit system, disable a test that requires 64-bit integers.
|
|
%global maxpyint %(python3 -c 'import sys;print("%x" % sys.maxsize)')
|
|
if [ "%{maxpyint}" = "7fffffff" ]; then
|
|
sed -i '/issue 6393/,/assert b == -d/d' \
|
|
%{sympydir}/sympy/polys/tests/test_rootoftools.py
|
|
fi
|
|
|
|
# Fix a test failure
|
|
%patch1
|
|
%patch2
|
|
|
|
# Disable some broken tests
|
|
# https://github.com/sympy/sympy/issues/10788
|
|
sed -i -r 's/test_Singletons|test_functions/_disabled_\0/' \
|
|
sympy-sympy-1.0/sympy/utilities/tests/test_pickling.py
|
|
sed -i -r 's/test_gradient/_disabled_\0/' \
|
|
sympy-sympy-1.0/sympy/physics/vector/tests/test_fieldfunctions.py
|
|
|
|
# Make a copy for building the python3 version
|
|
cp -a %{sympydir} python3
|
|
|
|
%patch0
|
|
|
|
# Disable broken complex > int comparison on py3
|
|
sed -i -r 's/test_matplotlib/_disabled_\0/' \
|
|
python3/sympy/plotting/tests/test_plot.py
|
|
|
|
%build
|
|
# Build the python2 version
|
|
pushd %{sympydir}
|
|
%py2_build
|
|
popd
|
|
|
|
# Build the python3 version
|
|
pushd python3
|
|
%py3_build
|
|
popd
|
|
|
|
# Build the documentation
|
|
pushd %{sympydir}/doc
|
|
make html
|
|
make cheatsheet
|
|
popd
|
|
pushd python3/doc
|
|
make cheatsheet
|
|
popd
|
|
|
|
%install
|
|
# Install the python3 version
|
|
pushd python3
|
|
%py3_install
|
|
mv %{buildroot}%{_bindir}/isympy %{buildroot}%{_bindir}/python3-isympy
|
|
mv %{buildroot}%{_mandir}/man1/isympy.1 \
|
|
%{buildroot}%{_mandir}/man1/python3-isympy.1
|
|
popd
|
|
|
|
# Install the python2 version
|
|
pushd %{sympydir}
|
|
%py2_install
|
|
popd
|
|
|
|
## Remove extra files
|
|
rm -f %{buildroot}%{_bindir}/{,doc}test
|
|
|
|
## Install the TeXmacs integration
|
|
pushd %{sympydir}
|
|
sed 's/python/python3/' data/TeXmacs/bin/tm_sympy > \
|
|
%{buildroot}%{_bindir}/tm_sympy
|
|
chmod a+x %{buildroot}%{_bindir}/tm_sympy
|
|
touch -r data/TeXmacs/bin/tm_sympy %{buildroot}%{_bindir}/tm_sympy
|
|
mkdir -p %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
|
|
cp -a data/TeXmacs/progs %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
|
|
chmod a-x %{buildroot}%{_datadir}/TeXmacs/plugins/sympy/progs/*.scm
|
|
|
|
# Don't let an executable script go into the documentation
|
|
chmod a-x examples/all.py
|
|
|
|
# Convert the README to HTML
|
|
rst2html --no-datestamp README.rst README.html
|
|
|
|
# Install the HTML documentation
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}-doc
|
|
cp -a doc/_build/html %{buildroot}%{_docdir}/%{name}-doc
|
|
rm -f %{buildroot}%{_docdir}/%{name}-doc/html/.buildinfo
|
|
rm -fr %{buildroot}%{_docdir}/%{name}-doc/i18n
|
|
popd
|
|
|
|
# Try to get rid of pyc files, which aren't useful for documentation
|
|
find %{sympydir}/examples/ -name '*.py[co]' -print -delete
|
|
|
|
%check
|
|
let "dnum = $RANDOM % 90 + 10"
|
|
# Split into many small chunks to reduce waiting in the end-game
|
|
jobs=%{?_smp_mflags}; jobs=${jobs#-j}; jobs=$((jobs * 3))
|
|
|
|
pushd %{sympydir}
|
|
xvfb-run -a -n $dnum \
|
|
parallel %{?_smp_mflags} \
|
|
%{__python2} bin/test -v --split {}/$jobs \
|
|
::: $(bash -c "echo {1..$jobs}")
|
|
popd
|
|
|
|
pushd python3
|
|
xvfb-run -a -n $dnum \
|
|
parallel %{?_smp_mflags} \
|
|
%{__python3} bin/test -v --split {}/$jobs \
|
|
::: $(bash -c "echo {1..$jobs}")
|
|
popd
|
|
|
|
%files
|
|
%doc %{sympydir}/AUTHORS %{sympydir}/CODE_OF_CONDUCT.md %{sympydir}/README.html
|
|
%doc %{sympydir}/doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
|
|
%license %{sympydir}/LICENSE
|
|
%{python2_sitelib}/sympy/
|
|
%{python2_sitelib}/sympy-%{version}-*.egg-info
|
|
%{_bindir}/isympy
|
|
%{_mandir}/man1/isympy.1*
|
|
|
|
%files -n python3-%{name}
|
|
%doc python3/AUTHORS python3/CODE_OF_CONDUCT.md %{sympydir}/README.html
|
|
%doc python3/doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
|
|
%license python3/LICENSE
|
|
%{python3_sitelib}/sympy/
|
|
%{python3_sitelib}/sympy-%{version}-*.egg-info
|
|
%{_bindir}/python3-isympy
|
|
%{_mandir}/man1/python3-isympy.1*
|
|
|
|
%files texmacs
|
|
%license %{sympydir}/data/TeXmacs/LICENSE
|
|
%{_bindir}/tm_sympy
|
|
%{_datadir}/TeXmacs/plugins/sympy/
|
|
|
|
%files examples
|
|
%doc %{sympydir}/examples/*
|
|
|
|
%files doc
|
|
%docdir %{_docdir}/%{name}-doc/html
|
|
%{_docdir}/%{name}-doc/html
|
|
|
|
%changelog
|
|
* Fri Jan 13 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-4
|
|
- Run tests in parallel
|
|
- Work around some broken tests
|
|
- Use python3 in texmacs-sympy (#1360766)
|
|
|
|
* Thu Dec 22 2016 Miro Hrončok <mhroncok@redhat.com> - 1.0-4
|
|
- Rebuild for Python 3.6
|
|
|
|
* Fri Jul 22 2016 Jerry James <loganjerry@gmail.com> - 1.0-3
|
|
- Update the -test patch for the latest matplotlib release
|
|
|
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-3
|
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
|
|
|
* Sat Apr 2 2016 Jerry James <loganjerry@gmail.com> - 1.0-2
|
|
- Fix bad /usr/bin/env substitution
|
|
|
|
* Thu Mar 31 2016 Jerry James <loganjerry@gmail.com> - 1.0-1
|
|
- Update to 1.0
|
|
- All patches have been upstreamed; drop them all
|
|
- Add -test patch to fix test failures with recent mpmath
|
|
- Recommend scipy
|
|
|
|
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.6.1-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
|
|
|
* Thu Sep 3 2015 Jerry James <loganjerry@gmail.com> - 0.7.6.1-1
|
|
- Update to 0.7.6.1 (bz 1259971)
|
|
|
|
* Mon Jul 6 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.7.6-3
|
|
- Fix failure in tests (#1240097)
|
|
|
|
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.6-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Fri Dec 5 2014 Jerry James <loganjerry@gmail.com> - 0.7.6-1
|
|
- Update to 0.7.6
|
|
- Drop upstreamed -test and -is-tangent patches
|
|
- Drop obsolete bug workarounds
|
|
- Add python(3)-fastcache BR and R
|
|
- Recommend python-theano
|
|
- Fix executable bits on tm_sympy
|
|
|
|
* Tue Sep 16 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-4
|
|
- Drop python3-six BR and R now that bz 1140413 is fixed
|
|
- Use gmpy2
|
|
|
|
* Wed Sep 3 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-3
|
|
- Install both isympy and python3-isympy to comply with packaging standards
|
|
- Add -is-tangent patch (bz 1135677)
|
|
- Temporarily disable tests that fail due to mpmath bugs (bz 1127796)
|
|
- Fix license handling
|
|
- Add python3-six BR and R; see bz 1140413 for details
|
|
|
|
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.5-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Mon May 19 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 0.7.5-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
|
|
|
* Thu Mar 13 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-1
|
|
- Update to 0.7.5 (bz 1066951)
|
|
- Binaries now default to using python3
|
|
- Use py3dir macro to simplify python3 build
|
|
- Add BRs for more comprehensive testing
|
|
- Workaround bz 1075826
|
|
- Add -test patch to fix Unicode problem in the tests
|
|
|
|
* Mon Dec 9 2013 Jerry James <loganjerry@gmail.com> - 0.7.4-1
|
|
- Update to 0.7.4
|
|
- Python 2 and 3 sources are now in the same tarball
|
|
|
|
* Fri Oct 18 2013 Jerry James <loganjerry@gmail.com> - 0.7.3-2
|
|
- Build a python3 subpackage (bz 982759)
|
|
|
|
* Fri Aug 2 2013 Jerry James <loganjerry@gmail.com> - 0.7.3-1
|
|
- Update to 0.7.3
|
|
- Upstream dropped all tutorial translations
|
|
- Add graphviz BR for documentation
|
|
- Sources now distributed from github instead of googlecode
|
|
- Adapt to versionless _docdir in Rawhide
|
|
|
|
* Mon Jun 17 2013 Jerry James <loganjerry@gmail.com> - 0.7.2-1
|
|
- Update to 0.7.2 (bz 866044)
|
|
- Add python-pyglet R (bz 890312)
|
|
- Package the TeXmacs integration
|
|
- Build and provide documentation
|
|
- Provide examples
|
|
- Minor spec file cleanups
|
|
|
|
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
|
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
|
* Tue Oct 11 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.7.1-1
|
|
- Update to 0.7.1.
|
|
|
|
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.7-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
* Mon Aug 30 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-5
|
|
- Patch around BZ #564504.
|
|
|
|
* Sat Jul 31 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.7-4
|
|
- fix a python 2.7 incompatibility
|
|
|
|
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.7-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
|
|
|
* Tue Apr 27 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-2
|
|
- Added %%check phase.
|
|
|
|
* Tue Apr 27 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-1
|
|
- Update to 0.6.7.
|
|
|
|
* Mon Feb 15 2010 Conrad Meyer <konrad@tylerc.org> - 0.6.6-3
|
|
- Patch around private copy nicely; avoid breakage from trying to replace
|
|
a directory with a symlink.
|
|
|
|
* Mon Feb 15 2010 Conrad Meyer <konrad@tylerc.org> - 0.6.6-2
|
|
- Remove private copy of system lib 'mpmath' (rhbz #551576).
|
|
|
|
* Sun Dec 27 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.6-1
|
|
- Update to 0.6.6.
|
|
|
|
* Sat Nov 07 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.5-1
|
|
- Update to 0.6.5.
|
|
|
|
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
|
|
|
* Thu Dec 4 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.3-1
|
|
- Bump to 0.6.3, supports python 2.6.
|
|
|
|
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.6.2-3
|
|
- Rebuild for Python 2.6
|
|
|
|
* Mon Oct 13 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.2-2
|
|
- Patch to remove extraneous shebangs.
|
|
|
|
* Sun Oct 12 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.2-1
|
|
- Initial package.
|