sympy/sympy.spec

404 lines
13 KiB
RPMSpec
Raw Normal View History

2008-10-15 20:06:53 +00:00
Name: sympy
Version: 1.0
2016-12-22 12:08:41 +00:00
Release: 4%{?dist}
2008-10-15 20:06:53 +00:00
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
2017-01-18 16:29:52 +00:00
Patch0: sympy-test.patch
# Adapt to changes in matplotlib 2.x
2017-01-18 16:29:52 +00:00
Patch1: sympy-matplotlib2.patch
# Fix for tests failing because numpy gets an array of Float objects
Patch2: sympy-test_args.patch
2008-10-15 20:06:53 +00:00
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
2008-10-15 20:06:53 +00:00
Recommends: python2-scipy
Recommends: python2-theano
2008-10-15 20:06:53 +00:00
%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
2017-01-14 02:34:11 +00:00
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}
2017-01-14 02:34:11 +00:00
# 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}
2008-10-15 20:06:53 +00:00
%prep
%setup -q -c
# Do not depend on env
2016-04-03 16:01:13 +00:00
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
2016-02-06 18:26:57 +00:00
# The classic sphinx theme is explicitly needed.
sed -i "/html_style/ahtml_theme = 'classic'" %{sympydir}/doc/src/conf.py
2016-02-06 18:26:57 +00:00
# If running on a 32-bit system, disable a test that requires 64-bit integers.
2016-07-25 03:03:38 +00:00
%global maxpyint %(python3 -c 'import sys;print("%x" % sys.maxsize)')
if [ "%{maxpyint}" = "7fffffff" ]; then
2016-07-25 18:26:25 +00:00
sed -i '/issue 6393/,/assert b == -d/d' \
%{sympydir}/sympy/polys/tests/test_rootoftools.py
fi
# Fix a test failure
%patch1
2017-01-18 16:29:52 +00:00
%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
2017-01-18 16:29:52 +00:00
# Disable broken complex > int comparison on py3
sed -i -r 's/test_matplotlib/_disabled_\0/' \
python3/sympy/plotting/tests/test_plot.py
2015-11-20 23:33:25 +00:00
2008-10-15 20:06:53 +00:00
%build
# Build the python2 version
pushd %{sympydir}
2016-02-02 04:45:41 +00:00
%py2_build
popd
# Build the python3 version
pushd python3
2016-02-02 04:45:41 +00:00
%py3_build
popd
2008-10-15 20:06:53 +00:00
# Build the documentation
pushd %{sympydir}/doc
make html
make cheatsheet
popd
pushd python3/doc
make cheatsheet
popd
2008-10-15 20:06:53 +00:00
%install
# Install the python3 version
pushd python3
2016-02-02 04:45:41 +00:00
%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}
2016-02-02 04:45:41 +00:00
%py2_install
popd
## Remove extra files
2009-12-27 16:25:47 +00:00
rm -f %{buildroot}%{_bindir}/{,doc}test
2010-04-27 07:10:13 +00:00
## Install the TeXmacs integration
pushd %{sympydir}
2017-01-14 02:34:11 +00:00
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
2017-01-14 02:34:11 +00:00
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
2017-01-14 02:34:11 +00:00
# Try to get rid of pyc files, which aren't useful for documentation
find %{sympydir}/examples/ -name '*.py[co]' -print -delete
2010-04-27 07:10:13 +00:00
%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
2008-10-15 20:06:53 +00:00
%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*
2008-10-15 20:06:53 +00:00
%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
2008-10-15 20:06:53 +00:00
%changelog
* Fri Jan 13 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-4
- Run tests in parallel
2017-01-18 16:29:52 +00:00
- Work around some broken tests
2017-01-14 02:34:11 +00:00
- Use python3 in texmacs-sympy (#1360766)
2016-12-22 12:08:41 +00:00
* 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
2016-04-03 16:01:13 +00:00
* 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
2015-09-04 02:49:46 +00:00
* Thu Sep 3 2015 Jerry James <loganjerry@gmail.com> - 0.7.6.1-1
- Update to 0.7.6.1 (bz 1259971)
2015-07-06 18:55:30 +00:00
* 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
2011-10-11 23:02:20 +00:00
* 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
2010-09-06 18:04:07 +00:00
* Mon Aug 30 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-5
- Patch around BZ #564504.
2010-07-31 11:19:42 +00:00
* 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
2010-04-27 07:10:13 +00:00
* Tue Apr 27 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.7-2
- Added %%check phase.
2010-04-27 06:45:44 +00:00
* 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).
2009-12-27 16:01:16 +00:00
* Sun Dec 27 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.6.6-1
- Update to 0.6.6.
2009-11-07 10:29:54 +00:00
* 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
2008-12-05 00:37:42 +00:00
* Thu Dec 4 2008 Conrad Meyer <konrad@tylerc.org> - 0.6.3-1
- Bump to 0.6.3, supports python 2.6.
2008-11-29 17:21:16 +00:00
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.6.2-3
- Rebuild for Python 2.6
2008-10-15 20:06:53 +00:00
* 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.