blob: 2b0e65f1477a21fc492b8ffbc06734f93bc38249 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1 pypi xdg-utils
DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
HOMEPAGE="
https://jupyter.org/
https://github.com/jupyter/nbclassic/
https://pypi.org/project/nbclassic/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
dev-python/ipykernel[${PYTHON_USEDEP}]
dev-python/ipython-genutils[${PYTHON_USEDEP}]
>=dev-python/nest-asyncio-1.5[${PYTHON_USEDEP}]
>=dev-python/notebook-shim-0.2.3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/nbval[${PYTHON_USEDEP}]
dev-python/pytest-jupyter[${PYTHON_USEDEP}]
dev-python/pytest-tornasync[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/requests-unixsocket[${PYTHON_USEDEP}]
dev-python/testpath[${PYTHON_USEDEP}]
)
doc? (
virtual/pandoc
)
"
distutils_enable_tests pytest
distutils_enable_sphinx docs/source \
dev-python/pydata-sphinx-theme \
dev-python/nbsphinx \
dev-python/sphinxcontrib-github-alt \
dev-python/myst-parser \
dev-python/ipython-genutils
src_prepare() {
distutils-r1_src_prepare
# This horror of a build system requires nodejs + yarn to regenerate
# some files that are already pregenerated in sdist.
sed -i -e 's:^\[tool.hatch.build.hooks.jupyter-builder\]$:[ignoreme]:' pyproject.toml || die
# Confuses hatchling sometimes, resulting in partial install.
# https://github.com/jupyter/nbclassic/issues/336
rm .gitignore || die
# Let's save some space at build-time, we're not using them anyway.
rm -r node_modules || die
# Dead symlinks that trip up hatchling sometimes, depending
# on the phase of the moon.
rm nbclassic/static/components/jquery-typeahead/node_modules/.bin/lz-string || die
# Symlink to itself.
rm nbclassic/static/components/moment/meteor/moment.js || die
}
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
# Notebook interferes with our tests, pretend it does not exist
echo "raise ImportError" > notebook.py || die
epytest -p pytest_tornasync.plugin
}
python_install_all() {
distutils-r1_python_install_all
# move /usr/etc stuff to /etc
mv "${ED}/usr/etc" "${ED}/etc" || die
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}
|