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: 4%{?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
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: 14%{?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: 14%{?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: 14%{?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: 14%{?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: 14%{?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: 14%{?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
%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 Jun 25 2018 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.14-4
- Adjustment for newer jedi (Backport from upstream git)
* Tue Jun 19 2018 Miro HronĨok <mhroncok@redhat.com> - 0.20.14-3
- Rebuilt for Python 3.7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jan 24 2018 Mattias Ellert <mattias.ellert@physics.uu.se> - 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 <mattias.ellert@physics.uu.se> - 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 <mattias.ellert@physics.uu.se> - 0.20.12-1
- Update to 0.20.12
* Mon Oct 23 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.10-1
- Update to 0.20.10
* Fri Oct 20 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.8-1
- Update to 0.20.8
* Fri Sep 22 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.7-1
- Update to 0.20.7
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 14 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.4-1
- Update to 0.20.4
* Thu May 18 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.2-2
- Put tests in a separate subpackage
* Sat May 13 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.2-1
- Update to 0.20.2
* Sat Apr 29 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 0.20.1-1
- Initial packaging