aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2024-09-17 15:14:12 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2024-09-17 17:29:40 +0000
commite7ebea739ff407568124684cf0b4de03028d0918 (patch)
tree5633ebb6c092ded9dd4aee2783728eac32a3c233
parentfd8eef851a1d73866993a69697dde17a6243de34 (diff)
downloadports-e7ebea739ff407568124684cf0b4de03028d0918.tar.gz
ports-e7ebea739ff407568124684cf0b4de03028d0918.zip
devel/py-jupyter-rfb: New port: Remote Frame Buffer for Jupyter
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-jupyter-rfb/Makefile30
-rw-r--r--devel/py-jupyter-rfb/distinfo3
-rw-r--r--devel/py-jupyter-rfb/files/patch-pyproject.toml7
-rw-r--r--devel/py-jupyter-rfb/pkg-descr11
5 files changed, 52 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index c28b97611f51..c6371ba4a173 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5068,6 +5068,7 @@
SUBDIR += py-jupyter-kernel-test
SUBDIR += py-jupyter-lsp
SUBDIR += py-jupyter-packaging
+ SUBDIR += py-jupyter-rfb
SUBDIR += py-jupyter-server
SUBDIR += py-jupyter-server-fileid
SUBDIR += py-jupyter-server-mathjax
diff --git a/devel/py-jupyter-rfb/Makefile b/devel/py-jupyter-rfb/Makefile
new file mode 100644
index 000000000000..7fb6272ca216
--- /dev/null
+++ b/devel/py-jupyter-rfb/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= jupyter-rfb
+DISTVERSION= 0.4.4
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Remote Frame Buffer for Jupyter
+WWW= https://jupyter-rfb.readthedocs.io/en/stable
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}jupyter-packaging>=0.7.9:devel/py-jupyter-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jupyterlab>=3.0.0:devel/py-jupyterlab@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PY_PILLOW} \
+ ${PYTHON_PKGNAMEPREFIX}simplejpeg>0:graphics/py-simplejpeg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ipywidgets>=7.6.0:devel/py-ipywidgets@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jupyterlab-widgets>0:devel/py-jupyterlab-widgets@${PY_FLAVOR} \
+ ${PYNUMPY} # probably only one of pillow and simplejpeg is needed
+
+USES= python
+USE_PYTHON= pep517 autoplist concurrent pytest
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-jupyter-rfb/distinfo b/devel/py-jupyter-rfb/distinfo
new file mode 100644
index 000000000000..7beea1125d92
--- /dev/null
+++ b/devel/py-jupyter-rfb/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1726564672
+SHA256 (jupyter_rfb-0.4.4.tar.gz) = 40e9af8e29adb90b5f58c0b9cb646abc2a142e0ac5f00822ba65291d958945e7
+SIZE (jupyter_rfb-0.4.4.tar.gz) = 113929
diff --git a/devel/py-jupyter-rfb/files/patch-pyproject.toml b/devel/py-jupyter-rfb/files/patch-pyproject.toml
new file mode 100644
index 000000000000..fa0e07c6f537
--- /dev/null
+++ b/devel/py-jupyter-rfb/files/patch-pyproject.toml
@@ -0,0 +1,7 @@
+--- pyproject.toml.orig 2024-09-17 09:27:39 UTC
++++ pyproject.toml
+@@ -1,3 +1,3 @@
+ [build-system]
+-requires = ["jupyter_packaging~=0.7.9", "jupyterlab>=3.0.0,==3.*", "setuptools>=40.8.0", "wheel"]
++requires = ["jupyter_packaging>=0.7.9", "jupyterlab>=3.0.0", "setuptools>=40.8.0", "wheel"]
+ build-backend = "setuptools.build_meta"
diff --git a/devel/py-jupyter-rfb/pkg-descr b/devel/py-jupyter-rfb/pkg-descr
new file mode 100644
index 000000000000..34d994b7753a
--- /dev/null
+++ b/devel/py-jupyter-rfb/pkg-descr
@@ -0,0 +1,11 @@
+The jupyter_rfb library provides a widget (an ipywidgets subclass) that can be
+used in the Jupyter notebook and in JupyterLab to implement a remote
+frame-buffer.
+
+Images that are generated at the server are streamed to the client (Jupyter)
+where they are shown. Events (such as mouse interactions) are streamed in the
+other direction, where the server can react by generating new images.
+
+This remote-frame-buffer approach can be an effective method for
+server-generated visualizations to be dispayed in Jupyter notebook/lab.
+For example visualization created by tools like vispy, datoviz or pygfx.