summaryrefslogtreecommitdiff
path: root/dev-python/nbconvert/nbconvert-7.0.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/nbconvert/nbconvert-7.0.0.ebuild')
-rw-r--r--dev-python/nbconvert/nbconvert-7.0.0.ebuild95
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-python/nbconvert/nbconvert-7.0.0.ebuild b/dev-python/nbconvert/nbconvert-7.0.0.ebuild
new file mode 100644
index 000000000000..4328f080d184
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.0.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
+ ' 3.8 3.9)
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab_pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistune-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.1[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/notebook[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ cp "${BROOT}$(python_get_sitedir)/notebook/static/style/style.min.css" \
+ share/templates/classic/static/style.css || die
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Missing pyppeteer for now
+ # TODO: Doesn't skip?
+ nbconvert/exporters/tests/test_webpdf.py
+ # Needs pyppeteer too
+ 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
+ # TODO
+ nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ )
+
+ nonfatal epytest -p no:xvfb --pyargs nbconvert || die
+}
+
+pkg_postinst() {
+ if ! has_version app-text/pandoc ; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc."
+ fi
+}