Blob Blame History Raw
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.7
Release:	1%{?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}.tar.gz

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 -n python2-metakernel-doc
Summary:	Documentation for python2-metakernel
%{?python_provide:%python_provide python2-metakernel-doc}

%description -n python2-metakernel-doc
This package contains the documentation of python2-metakernel.

%package -n python3-metakernel-doc
Summary:	Documentation for python3-metakernel
%{?python_provide:%python_provide python3-metakernel-doc}

%description -n python3-metakernel-doc
This package contains the documentation of python3-metakernel.

%package -n python2-metakernel-python
Version:	0.19.1
Release:	6%{?dist}
Summary:	A Python kernel for Jupyter/IPython
%{?python_provide:%python_provide python2-metakernel-python}
Requires:	python2-metakernel = %{pkgversion}-%{pkgrelease}
Requires:	python2-jedi

%description -n python2-metakernel-python
A Python kernel for Jupyter/IPython, based on MetaKernel.

%package -n python3-metakernel-python
Version:	0.19.1
Release:	6%{?dist}
Summary:	A Python kernel for Jupyter/IPython
%{?python_provide:%python_provide python3-metakernel-python}
Requires:	python3-metakernel = %{pkgversion}-%{pkgrelease}
Requires:	python3-jedi

%description -n python3-metakernel-python
A Python kernel for Jupyter/IPython, based on MetaKernel.

%package -n python2-metakernel-echo
Version:	0.19.1
Release:	6%{?dist}
Summary:	A simple echo kernel for Jupyter/IPython
%{?python_provide:%python_provide python2-metakernel-echo}
Requires:	python2-metakernel = %{pkgversion}-%{pkgrelease}

%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:	6%{?dist}
Summary:	A simple echo kernel for Jupyter/IPython
%{?python_provide:%python_provide python3-metakernel-echo}
Requires:	python3-metakernel = %{pkgversion}-%{pkgrelease}

%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:	6%{?dist}
Summary:	A Bash kernel for Jupyter/IPython
%{?python_provide:%python_provide python2-metakernel-bash}
Requires:	python2-metakernel = %{pkgversion}-%{pkgrelease}

%description -n python2-metakernel-bash
A Bash kernel for Jupyter/IPython, based on MetaKernel.

%package -n python3-metakernel-bash
Version:	0.19.1
Release:	6%{?dist}
Summary:	A Bash kernel for Jupyter/IPython
%{?python_provide:%python_provide python3-metakernel-bash}
Requires:	python3-metakernel = %{pkgversion}-%{pkgrelease}

%description -n python3-metakernel-bash
A Bash kernel for Jupyter/IPython, based on MetaKernel.

%prep
%setup -q -n metakernel-%{pkgversion}

%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

%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 -n python2-metakernel-doc
%license LICENSE.txt
%doc docs/_build/html

%files -n python3-metakernel-doc
%license LICENSE.txt
%doc docs/_build/html

%files -n python2-metakernel-python
%{python2_sitelib}/metakernel_python-*.egg-info
%{python2_sitelib}/metakernel_python.py*

%files -n python3-metakernel-python
%{python3_sitelib}/metakernel_python-*.egg-info
%{python3_sitelib}/metakernel_python.py
%{python3_sitelib}/__pycache__/metakernel_python.*

%files -n python2-metakernel-echo
%{python2_sitelib}/metakernel_echo-*.egg-info
%{python2_sitelib}/metakernel_echo.py*

%files -n python3-metakernel-echo
%{python3_sitelib}/metakernel_echo-*.egg-info
%{python3_sitelib}/metakernel_echo.py
%{python3_sitelib}/__pycache__/metakernel_echo.*

%files -n python2-metakernel-bash
%{python2_sitelib}/metakernel_bash-*.egg-info
%{python2_sitelib}/metakernel_bash.py*

%files -n python3-metakernel-bash
%{python3_sitelib}/metakernel_bash-*.egg-info
%{python3_sitelib}/metakernel_bash.py
%{python3_sitelib}/__pycache__/metakernel_bash.*

%changelog
* 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