[packages/ipython3] - updated to 5.8.0 for now (there is also py3-only 7.7.0, but requires more python3 specific updates
qboosh
qboosh at pld-linux.org
Sun Sep 22 19:37:54 CEST 2019
commit d0972d0f30773b5c952d24ed8626eb6b4394193f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Sep 22 19:40:57 2019 +0200
- updated to 5.8.0 for now (there is also py3-only 7.7.0, but requires more python3 specific updates)
- added use-setuptools patch to generate pythonegg dependencies
ipython-use-setuptools.patch | 11 +++++
ipython3.spec | 111 ++++++++++++++++++++++++++++---------------
2 files changed, 85 insertions(+), 37 deletions(-)
---
diff --git a/ipython3.spec b/ipython3.spec
index e856eb5..2176772 100644
--- a/ipython3.spec
+++ b/ipython3.spec
@@ -1,37 +1,54 @@
-# TODO:
-# - check docs folder for valuable files
#
-%define pname IPython
-%define mname ipython
+# Conditional build:
+%bcond_with doc # Sphinx documentation (need to wait for fulfilling dependencies in PLD)
+%bcond_with tests # unit tests (need to wait for fulfilling dependencies in PLD)
+
Summary: An enhanced Interactive Python shell
Summary(pl.UTF-8): Interaktywna powłoka języka Python
Name: ipython3
-Version: 5.3.0
-Release: 3
+Version: 5.8.0
+Release: 1
License: BSD
Group: Applications/Shells
-# Source0: https://pypi.python.org/packages/source/i/ipython/%{mname}-%{version}.tar.gz
-Source0: https://github.com/ipython/ipython/archive/%{version}.tar.gz
-# Source0-md5: 30045499fa745e2f1893cadcba3f94c5
-URL: http://ipython.org
-BuildRequires: pydoc3
-BuildRequires: python3-devel
-BuildRequires: python3-devel-tools
-BuildRequires: python3-setuptools
+Source0: http://archive.ipython.org/release/%{version}/ipython-%{version}.tar.gz
+# Source0-md5: 7014b8824981eef2cb893ea5398d6b8d
+Patch0: ipython-use-setuptools.patch
+URL: http://ipython.org/
+BuildRequires: pydoc3 >= 1:3.3
+BuildRequires: python3-devel >= 1:3.3
+BuildRequires: python3-devel-tools >= 1:3.3
+BuildRequires: python3-setuptools >= 18.5
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.219
-Requires: python3-%{mname} = %{version}-%{release}
-Requires: python3-ipython_genutils
-Requires: python3-pexpect
-Requires: python3-pickleshare
-Requires: python3-prompt_toolkit
-Requires: python3-ptyprocess
-Requires: python3-pygments
-Requires: python3-setuptools
-Requires: python3-simplegeneric
-Requires: python3-traitlets
-Suggests: python3-rpy2
-Suggests: python3-tornado
+BuildRequires: rpmbuild(macros) >= 1.714
+%if %{with tests}
+BuildRequires: python3-decorator
+BuildRequires: python3-ipykernel
+BuildRequires: python3-nbformat
+BuildRequires: python3-nose >= 0.10.1
+%if "%{py3_ver}" >= "3.4"
+BuildRequires: python3-numpy
+%endif
+%if "%{py3_ver}" < "3.4"
+BuildRequires: python3-pathlib2
+%endif
+BuildRequires: python3-pexpect
+BuildRequires: python3-pickleshare
+BuildRequires: python3-prompt_toolkit >= 1.0.4
+BuildRequires: python3-prompt_toolkit < 2
+BuildRequires: python3-pygments
+BuildRequires: python3-requests
+BuildRequires: python3-simplegeneric >= 0.8
+BuildRequires: python3-testpath
+BuildRequires: python3-traitlets >= 4.2
+%endif
+%if %{with doc}
+BuildRequires: python3-docutils
+BuildRequires: python3-ipykernel
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: sphinx-pdg-3 >= 1.3
+%endif
+Requires: python3-ipython = %{version}-%{release}
+Suggests: python3-PyQt5
Suggests: python3-zmq
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -85,9 +102,8 @@ Pakiet ten zawiera powłokę IPython.
Summary: An enhanced Interactive Python shell modules
Summary(pl.UTF-8): Moduły interaktywnej powłoki języka Python
Group: Libraries/Python
-Requires: pydoc3
-Requires: python3-devel-tools
-Requires: python3-jinja2
+Requires: pydoc3 >= 1:3.3
+Requires: python3-devel-tools >= 1:3.3
%description -n python3-ipython
IPython is a free software project which tries to:
@@ -135,25 +151,46 @@ w wielu przypadkach.
Pakiet ten zawiera moduły interaktywnej powłoki języka Python.
%prep
-%setup -q -n %{mname}-%{version}
+%setup -q -n ipython-%{version}
+%patch0 -p1
+
+%build
+%py3_build
+
+%if %{with tests}
+%{__python3} IPython/testing/iptest.py IPython
+%endif
+
+%if %{with doc}
+PYTHONPATH=$(pwd) \
+%{__make} -C docs html \
+ SPHINXBUILD=sphinx-build-3
+%endif
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%py3_install
-rm -rf $RPM_BUILD_ROOT%{_docdir}
+cp -pr examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+# test suite
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/iptest*
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/IPython/{testing,core/tests,extensions/tests,lib/tests,terminal/tests,utils/tests}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
-%{_mandir}/man1/i*.1*
+%attr(755,root,root) %{_bindir}/ipython
+%attr(755,root,root) %{_bindir}/ipython3
+%{_mandir}/man1/ipython.1*
%files -n python3-ipython
%defattr(644,root,root,755)
-%doc docs/README.rst
-%{py3_sitescriptdir}/%{pname}
-%{py3_sitescriptdir}/*.egg-info
+%doc COPYING.rst README.rst
+%{py3_sitescriptdir}/IPython
+%{py3_sitescriptdir}/ipython-%{version}-py*.egg-info
+%{_examplesdir}/%{name}-%{version}
diff --git a/ipython-use-setuptools.patch b/ipython-use-setuptools.patch
new file mode 100644
index 0000000..973b250
--- /dev/null
+++ b/ipython-use-setuptools.patch
@@ -0,0 +1,11 @@
+--- ipython-5.8.0/setup.py.orig 2018-07-29 02:24:17.000000000 +0200
++++ ipython-5.8.0/setup.py 2019-09-22 17:07:55.804397695 +0200
+@@ -169,7 +169,7 @@
+ 'egg_info', 'easy_install', 'upload', 'install_egg_info',
+ ))
+
+-if len(needs_setuptools.intersection(sys.argv)) > 0:
++if True:
+ import setuptools
+
+ # This dict is used for passing extra arguments that are setuptools
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ipython3.git/commitdiff/d0972d0f30773b5c952d24ed8626eb6b4394193f
More information about the pld-cvs-commit
mailing list