# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10..11} ) DISTUTILS_USE_PEP517=setuptools # Panel imports from "distutils" at runtime. #DISTUTILS_USE_SETUPTOOLS=rdepend inherit distutils-r1 pypi DESCRIPTION="High-level app and dashboarding solution for Python" HOMEPAGE="https://panel.holoviz.org" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" # "setup.py" imports from Bokeh to rebuild Node.js packages, but we patch that # away below. Our patched Panel thus requires Bokeh only at runtime. DEPEND=" >=dev-python/param-1.10.0[${PYTHON_USEDEP}] >=dev-python/pyct-0.4.4[${PYTHON_USEDEP}] dev-python/bleach[${PYTHON_USEDEP}] " RDEPEND="${DEPEND} dev-python/markdown[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] >=dev-python/bokeh-2.3.0[${PYTHON_USEDEP}] >=dev-python/pyviz_comms-0.7.4[${PYTHON_USEDEP}] >=net-libs/nodejs-15.11.0 " PATCHES=( "${FILESDIR}/${PN}-0.14.1-disable_lite_build.patch" ) # This does not work, need to patch.. #export PANEL_LITE_BUILD=1 src_prepare() { # Install Jupyter configuration files to "/etc" rather than "/usr/etc". sed -i -e 's~"etc/jupyter~"/etc/jupyter~' setup.py || die default_src_prepare } # This also does not work, still need patch :( #src_compile() { # export PANEL_LITE_BUILD=1 # distutils-r1_src_compile #} pkg_postinst() { panel_pkg_postinst() { PANEL_DIR="$(${EPYTHON} -c 'import os, panel; print(os.path.dirname(panel.__file__))')" elog "Node.js packages bundled with Panel under ${EPYTHON} may be" elog "desynchronized from Bokeh and require manual rebuilding with:" elog " sudo ${EPYTHON} -m panel build \"${PANEL_DIR}\"" elog } python_foreach_impl panel_pkg_postinst }