a55edf4
Name:           sympy
Jerry James b37cad1
Version:        0.7.6
Jerry James b37cad1
Release:        1%{?dist}
a55edf4
Summary:        A Python library for symbolic mathematics
a55edf4
License:        BSD
Jerry James a2507d0
URL:            http://sympy.org/
Jerry James 35262a6
Source0:        https://github.com/%{name}/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
e65fb65
# Upstream tried to graft in another project as a private copy; we rip
e65fb65
# it out (rhbz# 551576):
Jerry James b37cad1
Patch0:         %{name}-0.7.6-strip-internal-mpmath.patch
a55edf4
BuildArch:      noarch
Jerry James a2507d0
Jerry James ff2f215
BuildRequires:  gcc-gfortran
Jerry James a2507d0
BuildRequires:  gettext
Jerry James 33d1430
BuildRequires:  graphviz
Jerry James ff2f215
BuildRequires:  ImageMagick
Jerry James ff2f215
BuildRequires:  librsvg2-tools
Jerry James 35262a6
BuildRequires:  numpy python3-numpy
Jerry James ff2f215
BuildRequires:  numpy-f2py python3-numpy-f2py
Jerry James 35262a6
BuildRequires:  python2-devel python3-devel
Jerry James b37cad1
BuildRequires:  python-fastcache python3-fastcache
Jerry James df3a4c6
BuildRequires:  python-gmpy2 python3-gmpy2
Jerry James ff2f215
BuildRequires:  python-matplotlib python3-matplotlib
Jerry James 35262a6
BuildRequires:  python-mpmath python3-mpmath
Jerry James a2507d0
BuildRequires:  python-sphinx
Jerry James ff2f215
BuildRequires:  scipy python3-scipy
Jerry James a2507d0
BuildRequires:  tex(latex)
Jerry James a2507d0
BuildRequires:  tex-dvipng
Jerry James ff2f215
BuildRequires:  xorg-x11-fonts-Type1
Jerry James ff2f215
BuildRequires:  xorg-x11-server-Xvfb
Jerry James a2507d0
Jerry James b37cad1
Requires:       python-fastcache
Jerry James df3a4c6
Requires:       python-gmpy2
Jerry James a2507d0
Requires:       python-matplotlib
610697d
Requires:       python-mpmath
Jerry James a2507d0
Requires:       python-pyglet
a55edf4
Jerry James b37cad1
Recommends:     python-theano
Jerry James b37cad1
a55edf4
%description
a55edf4
SymPy aims to become a full-featured computer algebra system (CAS)
a55edf4
while keeping the code as simple as possible in order to be
a55edf4
comprehensible and easily extensible. SymPy is written entirely in
a55edf4
Python and does not require any external libraries.
a55edf4
Jerry James 35262a6
%package -n python3-%{name}
Jerry James 35262a6
Summary:        A Python3 library for symbolic mathematics
Jerry James b37cad1
Requires:       python3-fastcache
Jerry James df3a4c6
Requires:       python3-gmpy2
Jerry James 35262a6
Requires:       python3-matplotlib
Jerry James 35262a6
Requires:       python3-mpmath
Jerry James 35262a6
Requires:       python3-pyglet
Jerry James 35262a6
Jerry James b37cad1
Recommends:     python3-theano
Jerry James b37cad1
Jerry James 35262a6
%description -n python3-%{name}
Jerry James 35262a6
SymPy aims to become a full-featured computer algebra system (CAS)
Jerry James 35262a6
while keeping the code as simple as possible in order to be
Jerry James 35262a6
comprehensible and easily extensible. SymPy is written entirely in
Jerry James 35262a6
Python and does not require any external libraries.
Jerry James 35262a6
Jerry James a2507d0
%package texmacs
Jerry James a2507d0
Summary:        TeXmacs integration for sympy
Jerry James a2507d0
Requires:       %{name} = %{version}-%{release}, TeXmacs
Jerry James a2507d0
Jerry James a2507d0
%description texmacs
Jerry James a2507d0
This package contains a TeXmacs plugin for sympy.
Jerry James a2507d0
Jerry James a2507d0
%package examples
Jerry James a2507d0
Summary:        Sympy examples
Jerry James a2507d0
Requires:       %{name} = %{version}-%{release}
Jerry James a2507d0
Jerry James a2507d0
%description examples
Jerry James a2507d0
This package contains example input for sympy.
Jerry James a2507d0
Jerry James a2507d0
%package doc
Jerry James a2507d0
Summary:        Documentation for sympy
Jerry James a2507d0
Requires:       %{name} = %{version}-%{release}
Jerry James b37cad1
Provides:       bundled(jquery)
Jerry James a2507d0
Jerry James a2507d0
%description doc
Jerry James a2507d0
HTML documentation for sympy.
Jerry James a2507d0
a55edf4
%prep
a55edf4
%setup -q
Jerry James a2507d0
%patch0 -b .mpmath
e65fb65
rm -rf sympy/mpmath doc/src/modules/mpmath
Jerry James 35262a6
rm -rf %{name}-%{version}/sympy/mpmath %{name}-%{version}/doc/src/module/mpmath
Jerry James 35262a6
Jerry James 6c6d8a1
# Make a copy for building the python3 version
Jerry James 6c6d8a1
rm -rf %{py3dir}
Jerry James 6c6d8a1
cp -a . %{py3dir}
Jerry James 6c6d8a1
Jerry James b37cad1
# One plotting test expects one warning, which happens with python < 3.4, but
Jerry James b37cad1
# the same warning is triggered in a different spot with python 3.4, leading
Jerry James b37cad1
# to an assertion failure.
Jerry James 61fcaaf
sed -e '/import warnings/ifrom sympy.utilities.pytest import XFAIL' \
Jerry James b37cad1
    -e '/^def test_matplotlib():/i@XFAIL' \
Jerry James b37cad1
    -i %{py3dir}/sympy/plotting/tests/test_plot_implicit.py
Jerry James b37cad1
a55edf4
%build
Jerry James 35262a6
# Build the python2 version
Jerry James 35262a6
python2 setup.py build
Jerry James 35262a6
Jerry James 35262a6
# Build the python3 version
Jerry James ff2f215
pushd %{py3dir}
Jerry James 35262a6
python3 setup.py build
Jerry James ff2f215
popd
a55edf4
Jerry James a2507d0
# Build the documentation
Jerry James ff2f215
cd doc
Jerry James a2507d0
make html
Jerry James a2507d0
make cheatsheet
Jerry James ff2f215
pushd %{py3dir}/doc
Jerry James 35262a6
make cheatsheet
Jerry James ff2f215
popd
Jerry James a2507d0
a55edf4
%install
Jerry James ff2f215
# Install the python3 version
Jerry James ff2f215
pushd %{py3dir}
Jerry James ff2f215
python3 setup.py install -O1 --skip-build --root %{buildroot}
Jerry James ff2f215
sed -i 's/env python/python3/' %{buildroot}%{_bindir}/isympy
Jerry James ff2f215
touch -r bin/isympy %{buildroot}%{_bindir}/isympy
Jerry James bb69373
mv %{buildroot}%{_bindir}/isympy %{buildroot}%{_bindir}/python3-isympy
Jerry James b37cad1
mv %{buildroot}%{_mandir}/man1/isympy.1 \
Jerry James b37cad1
   %{buildroot}%{_mandir}/man1/python3-isympy.1
Jerry James ff2f215
popd
Jerry James ff2f215
Jerry James bb69373
# Install the python2 version
Jerry James bb69373
python2 setup.py install -O1 --skip-build --root %{buildroot}
Jerry James bb69373
sed -i 's/env python/python2/' %{buildroot}%{_bindir}/isympy
Jerry James bb69373
touch -r bin/isympy %{buildroot}%{_bindir}/isympy
Jerry James bb69373
Jerry James 35262a6
## Remove extra files
28422ac
rm -f %{buildroot}%{_bindir}/{,doc}test
3eb9aba
Jerry James 35262a6
## Install the TeXmacs integration
Jerry James 070da8b
sed 's/python/python2/' data/TeXmacs/bin/tm_sympy > \
Jerry James ff2f215
  %{buildroot}%{_bindir}/tm_sympy
Jerry James b37cad1
chmod a+x %{buildroot}%{_bindir}/tm_sympy
Jerry James ff2f215
touch -r data/TeXmacs/bin/tm_sympy %{buildroot}%{_bindir}/tm_sympy
Jerry James a2507d0
mkdir -p %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
Jerry James a2507d0
cp -a data/TeXmacs/progs %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
Jerry James a2507d0
Jerry James a2507d0
# Don't let an executable script go into the documentation
Jerry James a2507d0
chmod a-x examples/all.py
Jerry James a2507d0
Jerry James a2507d0
# Install the HTML documentation
Jerry James 1f8e051
mkdir -p %{buildroot}%{_docdir}/%{name}-doc
Jerry James 1f8e051
cp -a doc/_build/html %{buildroot}%{_docdir}/%{name}-doc
Jerry James 1f8e051
rm -f %{buildroot}%{_docdir}/%{name}-doc/html/.buildinfo
Jerry James 1f8e051
rm -fr %{buildroot}%{_docdir}/%{name}-doc/i18n
Jerry James a2507d0
Jerry James b37cad1
# Stash the python3 build of the cheatsheet where %%doc can find it
Jerry James b37cad1
cp -p %{py3dir}/doc/_build/cheatsheet/combinatoric_cheatsheet.pdf .
Jerry James b37cad1
3eb9aba
%check
Jerry James 35262a6
# The python3 tests fail with Unicode errors without this
Jerry James 35262a6
export LC_ALL=en_US.UTF-8
Jerry James ff2f215
Jerry James ff2f215
let "dnum = $RANDOM % 90 + 10"
Jerry James ff2f215
xvfb-run -n $dnum python2 setup.py test
Jerry James ff2f215
pushd %{py3dir}
Jerry James ff2f215
xvfb-run -n $dnum python3 setup.py test
Jerry James ff2f215
popd
a55edf4
 
a55edf4
%files
Jerry James b37cad1
%doc AUTHORS README.rst doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
Jerry James bb69373
%license LICENSE
Jerry James 35262a6
%{python2_sitelib}/sympy/
Jerry James 35262a6
%{python2_sitelib}/sympy-%{version}-*.egg-info
Jerry James bb69373
%{_bindir}/isympy
Jerry James bb69373
%{_mandir}/man1/isympy.1*
a55edf4
Jerry James 35262a6
%files -n python3-%{name}
Jerry James b37cad1
%doc AUTHORS README.rst combinatoric_cheatsheet.pdf
Jerry James bb69373
%license LICENSE
Jerry James 35262a6
%{python3_sitelib}/sympy/
Jerry James 35262a6
%{python3_sitelib}/sympy-%{version}-*.egg-info
Jerry James bb69373
%{_bindir}/python3-isympy
Jerry James bb69373
%{_mandir}/man1/python3-isympy.1*
Jerry James 35262a6
Jerry James a2507d0
%files texmacs
Jerry James bb69373
%license data/TeXmacs/LICENSE
Jerry James a2507d0
%{_bindir}/tm_sympy
Jerry James a2507d0
%{_datadir}/TeXmacs/plugins/sympy/
Jerry James a2507d0
Jerry James a2507d0
%files examples
Jerry James a2507d0
%doc examples
Jerry James a2507d0
Jerry James a2507d0
%files doc
Jerry James 1f8e051
%docdir %{_docdir}/%{name}-doc/html
Jerry James 1f8e051
%{_docdir}/%{name}-doc/html
Jerry James a2507d0
a55edf4
%changelog
Jerry James b37cad1
* Fri Dec  5 2014 Jerry James <loganjerry@gmail.com> - 0.7.6-1
Jerry James b37cad1
- Update to 0.7.6
Jerry James b37cad1
- Drop upstreamed -test and -is-tangent patches
Jerry James b37cad1
- Drop obsolete bug workarounds
Jerry James b37cad1
- Add python(3)-fastcache BR and R
Jerry James b37cad1
- Recommend python-theano
Jerry James b37cad1
- Fix executable bits on tm_sympy
Jerry James b37cad1
Jerry James df3a4c6
* Tue Sep 16 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-4
Jerry James b37cad1
- Drop python3-six BR and R now that bz 1140413 is fixed
Jerry James df3a4c6
- Use gmpy2
Jerry James df3a4c6
Jerry James df3a4c6
* Wed Sep  3 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-3
Jerry James bb69373
- Install both isympy and python3-isympy to comply with packaging standards
Jerry James bb69373
- Add -is-tangent patch (bz 1135677)
Jerry James bb69373
- Temporarily disable tests that fail due to mpmath bugs (bz 1127796)
Jerry James bb69373
- Fix license handling
Jerry James 6c6d8a1
- Add python3-six BR and R; see bz 1140413 for details
Jerry James bb69373
8562f02
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.5-3
8562f02
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
8562f02
b90233b
* Mon May 19 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 0.7.5-2
b90233b
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
b90233b
Jerry James ff2f215
* Thu Mar 13 2014 Jerry James <loganjerry@gmail.com> - 0.7.5-1
Jerry James ff2f215
- Update to 0.7.5 (bz 1066951)
Jerry James ff2f215
- Binaries now default to using python3
Jerry James ff2f215
- Use py3dir macro to simplify python3 build
Jerry James ff2f215
- Add BRs for more comprehensive testing
Jerry James ff2f215
- Workaround bz 1075826
Jerry James ff2f215
- Add -test patch to fix Unicode problem in the tests
Jerry James ff2f215
Jerry James db28264
* Mon Dec  9 2013 Jerry James <loganjerry@gmail.com> - 0.7.4-1
Jerry James db28264
- Update to 0.7.4
Jerry James db28264
- Python 2 and 3 sources are now in the same tarball
Jerry James db28264
Jerry James 35262a6
* Fri Oct 18 2013 Jerry James <loganjerry@gmail.com> - 0.7.3-2
Jerry James 35262a6
- Build a python3 subpackage (bz 982759)
Jerry James 35262a6
Jerry James 33d1430
* Fri Aug  2 2013 Jerry James <loganjerry@gmail.com> - 0.7.3-1
Jerry James 33d1430
- Update to 0.7.3
Jerry James 33d1430
- Upstream dropped all tutorial translations
Jerry James 33d1430
- Add graphviz BR for documentation
Jerry James 33d1430
- Sources now distributed from github instead of googlecode
Jerry James 1f8e051
- Adapt to versionless _docdir in Rawhide
Jerry James 33d1430
Jerry James a2507d0
* Mon Jun 17 2013 Jerry James <loganjerry@gmail.com> - 0.7.2-1
Jerry James a2507d0
- Update to 0.7.2 (bz 866044)
Jerry James a2507d0
- Add python-pyglet R (bz 890312)
Jerry James a2507d0
- Package the TeXmacs integration
Jerry James a2507d0
- Build and provide documentation
Jerry James a2507d0
- Provide examples
Jerry James a2507d0
- Minor spec file cleanups
Jerry James a2507d0
234ea9e
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-4
234ea9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
234ea9e
bff5512
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-3
bff5512
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
bff5512
3bf0ee8
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-2
3bf0ee8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
3bf0ee8
aa12597
* Tue Oct 11 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.7.1-1
aa12597
- Update to 0.7.1.
aa12597
951fb14
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.7-6
951fb14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
951fb14
704bb4e
* Mon Aug 30 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-5
704bb4e
- Patch around BZ #564504.
704bb4e
65c1ebf
* Sat Jul 31 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.7-4
65c1ebf
- fix a python 2.7 incompatibility
65c1ebf
8a11328
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.7-3
8a11328
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
8a11328
3eb9aba
* Tue Apr 27 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-2
3eb9aba
- Added %%check phase.
3eb9aba
80ac130
* Tue Apr 27 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-1
80ac130
- Update to 0.6.7.
80ac130
e65fb65
* Mon Feb 15 2010 Conrad Meyer <konrad@tylerc.org> - 0.6.6-3
e65fb65
- Patch around private copy nicely; avoid breakage from trying to replace
e65fb65
  a directory with a symlink.
e65fb65
610697d
* Mon Feb 15 2010 Conrad Meyer <konrad@tylerc.org> - 0.6.6-2
610697d
- Remove private copy of system lib 'mpmath' (rhbz #551576).
610697d
17919bf
* Sun Dec 27 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.6-1
17919bf
- Update to 0.6.6.
17919bf
c0302f0
* Sat Nov 07 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.5-1
c0302f0
- Update to 0.6.5.
c0302f0
1bc68db
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-3
1bc68db
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
1bc68db
11383e7
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-2
11383e7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
11383e7
e0f3f3c
* Thu Dec 4 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.3-1
e0f3f3c
- Bump to 0.6.3, supports python 2.6.
e0f3f3c
ee4dd55
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.6.2-3
ee4dd55
- Rebuild for Python 2.6
ee4dd55
a55edf4
* Mon Oct 13 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.2-2
a55edf4
- Patch to remove extraneous shebangs.
a55edf4
a55edf4
* Sun Oct 12 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.2-1
a55edf4
- Initial package.