Name: python-metakernel # The python, echo and bash subpackages have their own version # and release numbers - update below in each package section # Running rpmdev-bumpspec on this specfile will update all the # release tags automatically Version: 0.20.14 Release: 7%{?dist} %global pkgversion %{version} %global pkgrelease %{release} Summary: Metakernel for Jupyter License: BSD URL: https://github.com/Calysto/metakernel Source0: https://github.com/Calysto/metakernel/archive/v%{version}/%{name}-%{version}.tar.gz # Adjustment for newer jedi (Backport from upstream git) Patch0: %{name}-adjustment-for-newer-jedi.patch # Don't rely on 'python' in path during testing # https://github.com/Calysto/metakernel/pull/169 Patch1: %{name}-python-exec.patch BuildArch: noarch BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: python2-ipykernel BuildRequires: python3-ipykernel BuildRequires: python2-pexpect >= 4.2 BuildRequires: python3-pexpect >= 4.2 # For testing: BuildRequires: python2-nose BuildRequires: python3-nose BuildRequires: python2-ipyparallel BuildRequires: python3-ipyparallel BuildRequires: python2-jedi BuildRequires: python3-jedi BuildRequires: man # For documentation BuildRequires: python3-sphinx BuildRequires: python3-sphinx-bootstrap-theme BuildRequires: python3-numpydoc %description A Jupyter/IPython kernel template which includes core magic functions (including help, command and file path completion, parallel and distributed processing, downloads, and much more). %package -n python2-metakernel Summary: Metakernel for Jupyter %{?python_provide:%python_provide python2-metakernel} Requires: python2-ipykernel Requires: python2-pexpect >= 4.2 %description -n python2-metakernel A Jupyter/IPython kernel template which includes core magic functions (including help, command and file path completion, parallel and distributed processing, downloads, and much more). %package -n python3-metakernel Summary: Metakernel for Jupyter %{?python_provide:%python_provide python3-metakernel} Requires: python3-ipykernel Requires: python3-pexpect >= 4.2 %description -n python3-metakernel A Jupyter/IPython kernel template which includes core magic functions (including help, command and file path completion, parallel and distributed processing, downloads, and much more). %package -n python2-metakernel-tests Summary: Tests for python2-metakernel %{?python_provide:%python_provide python2-metakernel-tests} Requires: python2-metakernel = %{version}-%{release} Requires: python2-metakernel-python Requires: python2-nose Requires: python2-ipyparallel Requires: python2-jedi Requires: man %description -n python2-metakernel-tests This package contains the tests of python2-metakernel. %package -n python3-metakernel-tests Summary: Tests for python3-metakernel %{?python_provide:%python_provide python3-metakernel-tests} Requires: python3-metakernel = %{version}-%{release} Requires: python3-metakernel-python Requires: python3-nose Requires: python3-ipyparallel Requires: python3-jedi Requires: man %description -n python3-metakernel-tests This package contains the tests of python3-metakernel. %package doc Summary: Documentation for python-metakernel Provides: python2-metakernel-doc = %{version}-%{release} Provides: python3-metakernel-doc = %{version}-%{release} Obsoletes: python2-metakernel-doc < 0.20.14 Obsoletes: python3-metakernel-doc < 0.20.14 %description doc This package contains the documentation of python-metakernel. %package -n python2-metakernel-python Version: 0.19.1 Release: 16%{?dist} Summary: A Python kernel for Jupyter/IPython %{?python_provide:%python_provide python2-metakernel-python} Requires: python2-metakernel = %{pkgversion}-%{pkgrelease} Requires: python2-jedi Requires: python-jupyter-filesystem %description -n python2-metakernel-python A Python kernel for Jupyter/IPython, based on MetaKernel. %package -n python3-metakernel-python Version: 0.19.1 Release: 16%{?dist} Summary: A Python kernel for Jupyter/IPython %{?python_provide:%python_provide python3-metakernel-python} Requires: python3-metakernel = %{pkgversion}-%{pkgrelease} Requires: python3-jedi Requires: python-jupyter-filesystem %description -n python3-metakernel-python A Python kernel for Jupyter/IPython, based on MetaKernel. %package -n python2-metakernel-echo Version: 0.19.1 Release: 16%{?dist} Summary: A simple echo kernel for Jupyter/IPython %{?python_provide:%python_provide python2-metakernel-echo} Requires: python2-metakernel = %{pkgversion}-%{pkgrelease} Requires: python-jupyter-filesystem %description -n python2-metakernel-echo A simple echo kernel for Jupyter/IPython, based on MetaKernel. %package -n python3-metakernel-echo Version: 0.19.1 Release: 16%{?dist} Summary: A simple echo kernel for Jupyter/IPython %{?python_provide:%python_provide python3-metakernel-echo} Requires: python3-metakernel = %{pkgversion}-%{pkgrelease} Requires: python-jupyter-filesystem %description -n python3-metakernel-echo A simple echo kernel for Jupyter/IPython, based on MetaKernel. %package -n python2-metakernel-bash Version: 0.19.1 Release: 16%{?dist} Summary: A Bash kernel for Jupyter/IPython %{?python_provide:%python_provide python2-metakernel-bash} Requires: python2-metakernel = %{pkgversion}-%{pkgrelease} Requires: python-jupyter-filesystem %description -n python2-metakernel-bash A Bash kernel for Jupyter/IPython, based on MetaKernel. %package -n python3-metakernel-bash Version: 0.19.1 Release: 16%{?dist} Summary: A Bash kernel for Jupyter/IPython %{?python_provide:%python_provide python3-metakernel-bash} Requires: python3-metakernel = %{pkgversion}-%{pkgrelease} Requires: python-jupyter-filesystem %description -n python3-metakernel-bash A Bash kernel for Jupyter/IPython, based on MetaKernel. %prep %setup -q -n metakernel-%{pkgversion} %patch0 -p1 %patch1 -p1 %build %py2_build %py3_build pushd metakernel_python %py2_build %py3_build popd pushd metakernel_echo %py2_build %py3_build popd pushd metakernel_bash %py2_build %py3_build popd pushd docs PYTHONPATH=.. make html SPHINXBUILD=sphinx-build-3 rm -f _build/html/.buildinfo popd %install %py2_install %py3_install pushd metakernel_python %py2_install %py3_install popd pushd metakernel_echo %py2_install %py3_install popd pushd metakernel_bash %py2_install %py3_install popd for f in tests/test_expect.py tests/_echo_wait.py; do sed '/\/usr\/bin\/env/d' -i %{buildroot}%{python2_sitelib}/metakernel/${f} sed '/\/usr\/bin\/env/d' -i %{buildroot}%{python3_sitelib}/metakernel/${f} done PYTHONPATH=metakernel_python \ python2 -m metakernel_python install --name python2-metakernel-python \ --prefix %{buildroot}%{_prefix} PYTHONPATH=metakernel_python \ python3 -m metakernel_python install --name python3-metakernel-python \ --prefix %{buildroot}%{_prefix} PYTHONPATH=metakernel_echo \ python2 -m metakernel_echo install --name python2-metakernel-echo \ --prefix %{buildroot}%{_prefix} PYTHONPATH=metakernel_echo \ python3 -m metakernel_echo install --name python3-metakernel-echo \ --prefix %{buildroot}%{_prefix} PYTHONPATH=metakernel_bash \ python2 -m metakernel_bash install --name python2-metakernel-bash \ --prefix %{buildroot}%{_prefix} PYTHONPATH=metakernel_bash \ python3 -m metakernel_bash install --name python3-metakernel-bash \ --prefix %{buildroot}%{_prefix} # Distinguish display names for python 2 and python 3 based kernels sed 's/MetaKernel [A-Za-z]*/& (Python 2)/' \ -i %{buildroot}%{_datadir}/jupyter/kernels/python2-metakernel-*/kernel.json sed 's/MetaKernel [A-Za-z]*/& (Python 3)/' \ -i %{buildroot}%{_datadir}/jupyter/kernels/python3-metakernel-*/kernel.json %check PYTHONPATH=metakernel_python ipcluster-2 start -n=3 & pid=$! nosetests-2 -v -a !network ipcluster-2 stop wait $pid rm -f ${HOME}/.ipython/metakernel/magics/*.pyc PYTHONPATH=metakernel_python ipcluster-3 start -n=3 & pid=$! nosetests-3 -v -a !network ipcluster-3 stop wait $pid rm -f ${HOME}/.ipython/metakernel/magics/__pycache__/*.pyc %files -n python2-metakernel %license LICENSE.txt %doc README.rst %{python2_sitelib}/metakernel-*.egg-info %dir %{python2_sitelib}/metakernel %{python2_sitelib}/metakernel/*.py* %{python2_sitelib}/metakernel/images %dir %{python2_sitelib}/metakernel/magics %{python2_sitelib}/metakernel/magics/*.py* %{python2_sitelib}/metakernel/utils %files -n python3-metakernel %license LICENSE.txt %doc README.rst %{python3_sitelib}/metakernel-*.egg-info %dir %{python3_sitelib}/metakernel %{python3_sitelib}/metakernel/*.py %{python3_sitelib}/metakernel/__pycache__ %{python3_sitelib}/metakernel/images %dir %{python3_sitelib}/metakernel/magics %{python3_sitelib}/metakernel/magics/*.py %{python3_sitelib}/metakernel/magics/__pycache__ %{python3_sitelib}/metakernel/utils %files -n python2-metakernel-tests %{python2_sitelib}/metakernel/tests %{python2_sitelib}/metakernel/magics/tests %files -n python3-metakernel-tests %{python3_sitelib}/metakernel/tests %{python3_sitelib}/metakernel/magics/tests %files doc %license LICENSE.txt %doc docs/_build/html %files -n python2-metakernel-python %{python2_sitelib}/metakernel_python-*.egg-info %{python2_sitelib}/metakernel_python.py* %{_datadir}/jupyter/kernels/python2-metakernel-python %files -n python3-metakernel-python %{python3_sitelib}/metakernel_python-*.egg-info %{python3_sitelib}/metakernel_python.py %{python3_sitelib}/__pycache__/metakernel_python.* %{_datadir}/jupyter/kernels/python3-metakernel-python %files -n python2-metakernel-echo %{python2_sitelib}/metakernel_echo-*.egg-info %{python2_sitelib}/metakernel_echo.py* %{_datadir}/jupyter/kernels/python2-metakernel-echo %files -n python3-metakernel-echo %{python3_sitelib}/metakernel_echo-*.egg-info %{python3_sitelib}/metakernel_echo.py %{python3_sitelib}/__pycache__/metakernel_echo.* %{_datadir}/jupyter/kernels/python3-metakernel-echo %files -n python2-metakernel-bash %{python2_sitelib}/metakernel_bash-*.egg-info %{python2_sitelib}/metakernel_bash.py* %{_datadir}/jupyter/kernels/python2-metakernel-bash %files -n python3-metakernel-bash %{python3_sitelib}/metakernel_bash-*.egg-info %{python3_sitelib}/metakernel_bash.py %{python3_sitelib}/__pycache__/metakernel_bash.* %{_datadir}/jupyter/kernels/python3-metakernel-bash %changelog * Mon Jul 16 2018 Mattias Ellert - 0.20.14-7 - Don't rely on 'python' in path during testing * Sat Jul 14 2018 Fedora Release Engineering - 0.20.14-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon Jun 25 2018 Mattias Ellert - 0.20.14-5 - Rebuilt for Python 3.7 * Mon Jun 25 2018 Mattias Ellert - 0.20.14-4 - Adjustment for newer jedi (Backport from upstream git) * Tue Jun 19 2018 Miro HronĨok - 0.20.14-3 - Rebuilt for Python 3.7 * Fri Feb 09 2018 Fedora Release Engineering - 0.20.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jan 24 2018 Mattias Ellert - 0.20.14-1 - Update to 0.20.14 - Drop patches python-metakernel-install.patch and python-metakernel-bash-eval.patch (accepted upstream) - Only provide one documentation package * Sun Nov 26 2017 Mattias Ellert - 0.20.12-2 - Use full path to python interpreter in kernel description - Fix missing printout in bash kernel * Fri Nov 17 2017 Mattias Ellert - 0.20.12-1 - Update to 0.20.12 * Mon Oct 23 2017 Mattias Ellert - 0.20.10-1 - Update to 0.20.10 * Fri Oct 20 2017 Mattias Ellert - 0.20.8-1 - Update to 0.20.8 * Fri Sep 22 2017 Mattias Ellert - 0.20.7-1 - Update to 0.20.7 * Thu Jul 27 2017 Fedora Release Engineering - 0.20.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jun 14 2017 Mattias Ellert - 0.20.4-1 - Update to 0.20.4 * Thu May 18 2017 Mattias Ellert - 0.20.2-2 - Put tests in a separate subpackage * Sat May 13 2017 Mattias Ellert - 0.20.2-1 - Update to 0.20.2 * Sat Apr 29 2017 Mattias Ellert - 0.20.1-1 - Initial packaging