1
0

Accepting request 992400 from devel:languages:python:jupyter

- Update to 0.4.3
  * Handle execution errors with empty traceback entries similar to
    Lab #126 (@kevin-bates)
  * fix some import errors in 0.4 #130 (@minrk)
  * fix enable-on-install #127 (@minrk)
  * Fix notebook shim version check #129 (@minrk)
- Release 0.4.2
  * Don't shim notebook if notebook<7 is available #123 (@echarles)
  * Relax assert for IPythonHandler in case of notebook<6 #122
    (@echarles)
  * Fix executable name in desktop file #119 (@antonio-rojas)
- Release 0.4.0
  * Shim to support the notebook extensions #113 (@echarles)
  * nbclassic to use its own static assets #96 (@echarles)
  * Add the notebook 6.4.x tests, docs and companion files (with
    git history) #94 (@echarles)
  * Add the notebook static assets (with git history) #93
    (@echarles)
- Use the pure wheel for install which has the JS stuff.
- Override notebook entrypoints with higer priority libalternatives
  configurations gh#jupyter/notebook#6501
- Test in multibuild for all the dependencies. Stay with nbclassic
  tests only, not the notebook tests further down in the tree.

OBS-URL: https://build.opensuse.org/request/show/992400
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-nbclassic?expand=0&rev=9
This commit is contained in:
Dominique Leuenberger 2022-08-03 19:16:38 +00:00 committed by Git OBS Bridge
commit 284d6ea14c
6 changed files with 139 additions and 38 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bea14cee4bd52bdb981998f412995830738b5a8bf8f2dca923bb8675a5ca9a11
size 15973

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:adc9ee495bbb92e66f04972e55358d5ef636746afb2dc4c04dc3f582ce769359
size 8308396

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b01076effdac53e775cd1b6a4e891663568b32621468e205b502a23b2921899
size 9738829

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Tue Aug 2 15:59:57 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 0.4.3
* Handle execution errors with empty traceback entries similar to
Lab #126 (@kevin-bates)
* fix some import errors in 0.4 #130 (@minrk)
* fix enable-on-install #127 (@minrk)
* Fix notebook shim version check #129 (@minrk)
- Release 0.4.2
* Don't shim notebook if notebook<7 is available #123 (@echarles)
* Relax assert for IPythonHandler in case of notebook<6 #122
(@echarles)
* Fix executable name in desktop file #119 (@antonio-rojas)
- Release 0.4.0
* Shim to support the notebook extensions #113 (@echarles)
* nbclassic to use its own static assets #96 (@echarles)
* Add the notebook 6.4.x tests, docs and companion files (with
git history) #94 (@echarles)
* Add the notebook static assets (with git history) #93
(@echarles)
- Use the pure wheel for install which has the JS stuff.
- Override notebook entrypoints with higer priority libalternatives
configurations gh#jupyter/notebook#6501
- Test in multibuild for all the dependencies. Stay with nbclassic
tests only, not the notebook tests further down in the tree.
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jun 5 17:18:58 UTC 2022 - Ben Greiner <code@bnavigator.de> Sun Jun 5 17:18:58 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@ -1,5 +1,5 @@
# #
# spec file for package python-nbclassic # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2022 SUSE LLC
# #
@ -16,44 +16,65 @@
# #
%{?!python_module:%define python_module() python3-%{**}} %global flavor @BUILD_FLAVOR@%{nil}
%define skip_python2 1 %if "%{flavor}" == "test"
%if 0%{?suse_version} > 1500 %define psuffix -test
%bcond_without libalternatives %bcond_without test
%else %else
%bcond_with libalternatives %define psuffix %{nil}
%bcond_with test
%endif %endif
Name: python-nbclassic # this conditional is used in the python-rpm-macros, but `osc build --without libalternatives` won't work
Version: 0.3.7 %bcond_without libalternatives
%define plainpython python
Name: python-nbclassic%{psuffix}
Version: 0.4.3
Release: 0 Release: 0
Summary: Jupyter Notebook as a Jupyter Server Extension Summary: Jupyter Notebook as a Jupyter Server Extension
License: BSD-3-Clause License: BSD-3-Clause
URL: https://github.com/jupyterlab/nbclassic URL: https://github.com/jupyterlab/nbclassic
# The github archive has the tests # The github archive has the nbclassic tests
Source: https://github.com/jupyterlab/nbclassic/archive/v%{version}.tar.gz#/nbclassic-%{version}-gh.tar.gz Source0: https://github.com/jupyterlab/nbclassic/archive/v%{version}.tar.gz#/nbclassic-%{version}-gh.tar.gz
BuildRequires: %{python_module jupyter_server >= 1.8} # The wheel has the notebook 6 JS stuff
BuildRequires: %{python_module notebook < 7} Source1: https://files.pythonhosted.org/packages/py3/n/nbclassic/nbclassic-%{version}-py3-none-any.whl
BuildRequires: %{python_module notebook_shim >= 0.1.0} BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module pip}
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: jupyter-rpm-macros BuildRequires: jupyter-rpm-macros
BuildRequires: python-rpm-macros >= 20210929 BuildRequires: python-rpm-macros >= 20210929
BuildRequires: update-desktop-files
Requires: jupyter-nbclassic = %{version} Requires: jupyter-nbclassic = %{version}
Requires: python-jupyter_server >= 1.8 Requires: python-Jinja2
Requires: python-notebook < 7 Requires: python-Send2Trash >= 1.8.0
Requires: python-notebook_shim >= 0.1.0 Requires: python-argon2-cffi
Requires: python-ipykernel
Requires: python-ipython_genutils
Requires: python-jupyter-client >= 6.1.1
Requires: python-jupyter-core >= 4.6.1
Requires: python-jupyter-server >= 1.8
Requires: python-nbconvert >= 5
Requires: python-nbformat
Requires: python-nest-asyncio >= 1.5
Requires: python-notebook-shim >= 0.1.0
Requires: python-prometheus-client
Requires: python-pyzmq >= 17
Requires: python-terminado >= 0.8.3
Requires: python-tornado >= 6.1
Requires: python-traitlets >= 4.2.1
%if %{with libalternatives} %if %{with libalternatives}
BuildRequires: alts BuildRequires: alts
Requires: alts Requires: alts
%else %else
Requires(post): update-alternatives BuildRequires: this-specfile-is-not-functional-without-libalternatives
Requires(postun):update-alternatives
%endif %endif
# SECTION test requirements %if %{with test}
BuildRequires: %{python_module nbclassic = %{version}}
BuildRequires: %{python_module pytest-console-scripts} BuildRequires: %{python_module pytest-console-scripts}
BuildRequires: %{python_module pytest-tornasync} BuildRequires: %{python_module pytest-tornasync}
BuildRequires: %{python_module pytest} BuildRequires: %{python_module pytest}
# /SECION %endif
BuildArch: noarch BuildArch: noarch
%python_subpackages %python_subpackages
@ -76,42 +97,89 @@ to Jupyter Server for their Python Web application backend. Using this package,
users can launch Jupyter Notebook, JupyterLab and other frontends side-by-side users can launch Jupyter Notebook, JupyterLab and other frontends side-by-side
on top of the new Python server backend. on top of the new Python server backend.
This package contains the jupyterlab server configuration file This package contains the jupyterlab server configuration and desktop files
%prep %prep
%setup -q -n nbclassic-%{version} %setup -q -n nbclassic-%{version}
%build %build
%python_build :
%if !%{with test}
%install %install
%python_install %pyproject_install %{SOURCE1}
%{python_expand #
rm %{buildroot}%{$python_sitelib}/nbclassic/bundler/tests/resources/subdir/subsubdir/.gitkeep
%fdupes %{buildroot}%{$python_sitelib}
# the locale structure is not compatible with (python_)find_lang. Roll our own.
echo '%%dir %{$python_sitelib}/nbclassic' > %{$python_prefix}-nbclassic.files
find %{buildroot}%{$python_sitelib}/nbclassic -mindepth 1 -maxdepth 1 -not -name i18n > non-lang-files
sed 's:%{buildroot}::' >> %{$python_prefix}-nbclassic.files < non-lang-files
find %{buildroot}%{$python_sitelib}/nbclassic/i18n -type f -o -type l > lang-files
sed -E '
s:%{buildroot}::
s:(.*/nbclassic/i18n/)([^/_]+)(.*(mo|po|json)$):%lang(\2) \1\2\3:
' >> %{$python_prefix}-nbclassic.files < lang-files
find %{buildroot}%{$python_sitelib}/nbclassic/i18n -type d > lang-dirs
sed -E '
s:%{buildroot}::
s:(.*):%%dir \1:
' >> %{$python_prefix}-nbclassic.files < lang-dirs
}
# https://github.com/jupyter/notebook/issues/6501
cp %{buildroot}%{_bindir}/jupyter-nbclassic %{buildroot}%{_bindir}/jupyter-notebook
# clone after copy to jupyter-notebook
%python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic %python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic
%python_expand %fdupes %{buildroot}%{$python_sitelib} duplicates="jupyter-notebook jupyter-bundlerextension jupyter-nbextension jupyter-serverextension"
%jupyter_move_config for basebin in $duplicates; do
%python_clone -a %{buildroot}%{_bindir}/${basebin}
%{python_expand mv %{buildroot}%{_bindir}/${basebin}{,.nbclassic}-%{$python_bin_suffix}
echo %{_bindir}/${basebin} >> %{$python_prefix}-nbclassic.files
echo %{_bindir}/${basebin}.nbclassic-%{$python_bin_suffix} >> %{$python_prefix}-nbclassic.files
echo "%%dir %{_datadir}/libalternatives/${basebin}" >> %{$python_prefix}-nbclassic.files
# increase priority over alternatives from notebook and use same grouping
myaltprio=%{$python_version_nodots}
if [ "%{$python_provides}" == "python3" ]; then
myaltprio=$(($myaltprio + 1000))
fi
conf=%{buildroot}%{_datadir}/libalternatives/${basebin}/${myaltprio}.conf
newconf=${conf/.conf/0.conf}
sed "s/${basebin}/${basebin}.nbclassic/" $conf > $newconf
echo "group=${duplicates// /, }" >> $newconf
rm $conf
echo $newconf | sed 's:%{buildroot}::' >> %{$python_prefix}-nbclassic.files
}
done
%fdupes %{buildroot}%{_bindir}
%suse_update_desktop_file jupyter-nbclassic
%endif
%pre %pre
# If libalternatives is used: Removing old update-alternatives entries. # Remove old update-alternatives entry for transition to libalternatives
%python_libalternatives_reset_alternative jupyter-nbclassic %python_libalternatives_reset_alternative jupyter-nbclassic
%post %if %{with test}
%python_install_alternative jupyter-nbclassic
%postun
%python_uninstall_alternative jupyter-nbclassic
%check %check
%pytest %pytest
%endif
%files %{python_files} %if !%{with test}
%files %{python_files} -f %{python_prefix}-nbclassic.files
%doc README.md %doc README.md
%license LICENSE %license LICENSE
%python_alternative %{_bindir}/jupyter-nbclassic %python_alternative %{_bindir}/jupyter-nbclassic
%{python_sitelib}/nbclassic
%{python_sitelib}/nbclassic-%{version}*-info %{python_sitelib}/nbclassic-%{version}*-info
%files -n jupyter-nbclassic %files -n jupyter-nbclassic
%license LICENSE %license LICENSE
%_jupyter_config %{_jupyter_server_confdir}/nbclassic.json %_jupyter_config %{_jupyter_server_confdir}/nbclassic.json
%{_datadir}/icons/hicolor/*/apps/nbclassic.svg
%{_datadir}/applications/jupyter-nbclassic.desktop
%endif
%changelog %changelog