git: baffb7be56d9 - main - devel/py-jupyter-ydoc: Allow build with py-pycrdt 0.9.0+
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 Jul 2024 17:23:46 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=baffb7be56d9141bad9fa846a52b3b0d94574a4f commit baffb7be56d9141bad9fa846a52b3b0d94574a4f Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2024-07-07 17:20:53 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2024-07-07 17:20:53 +0000 devel/py-jupyter-ydoc: Allow build with py-pycrdt 0.9.0+ - Bump PORTREVISION for package change Obtained from: https://github.com/jupyter-server/jupyter_ydoc/commit/803631dc5e771bd441b285373574f573b5c7f664 https://github.com/jupyter-server/jupyter_ydoc/commit/1466ca2f94915876590f802b03c39b69e225d672 https://github.com/jupyter-server/jupyter_ydoc/commit/8e3f25bdcfb8ed36cd740dd958d5d04580cd54ef --- devel/py-jupyter-ydoc/Makefile | 3 +- devel/py-jupyter-ydoc/files/patch-pycrdt | 122 +++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 1 deletion(-) diff --git a/devel/py-jupyter-ydoc/Makefile b/devel/py-jupyter-ydoc/Makefile index 0ed67a817456..7fad394ef639 100644 --- a/devel/py-jupyter-ydoc/Makefile +++ b/devel/py-jupyter-ydoc/Makefile @@ -1,5 +1,6 @@ PORTNAME= jupyter-ydoc PORTVERSION= 2.0.1 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI \ https://github.com/jupyter-server/jupyter_ydoc/releases/download/v${PORTVERSION}/ @@ -16,7 +17,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-nodejs-version>=0:devel/py-hatch-nodejs-version@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>=1.10.0:devel/py-hatchling@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycrdt>=0.8.1<0.9.0:devel/py-pycrdt@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycrdt>=0.9.0<0.10.0:devel/py-pycrdt@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 diff --git a/devel/py-jupyter-ydoc/files/patch-pycrdt b/devel/py-jupyter-ydoc/files/patch-pycrdt new file mode 100644 index 000000000000..4ddf4e3a153b --- /dev/null +++ b/devel/py-jupyter-ydoc/files/patch-pycrdt @@ -0,0 +1,122 @@ +--- jupyter_ydoc/__init__.py.orig 2020-02-02 00:00:00 UTC ++++ jupyter_ydoc/__init__.py +@@ -3,11 +3,11 @@ import sys + + import sys + +-from ._version import __version__ # noqa +-from .yblob import YBlob # noqa +-from .yfile import YFile # noqa +-from .ynotebook import YNotebook # noqa +-from .yunicode import YUnicode # noqa ++from ._version import __version__ as __version__ ++from .yblob import YBlob as YBlob ++from .yfile import YFile as YFile ++from .ynotebook import YNotebook as YNotebook ++from .yunicode import YUnicode as YUnicode + + # See compatibility note on `group` keyword in + # https://docs.python.org/3/library/importlib.metadata.html#entry-points +--- jupyter_ydoc/ybasedoc.py.orig 2020-02-02 00:00:00 UTC ++++ jupyter_ydoc/ybasedoc.py +@@ -2,9 +2,9 @@ from abc import ABC, abstractmethod + # Distributed under the terms of the Modified BSD License. + + from abc import ABC, abstractmethod +-from typing import Any, Callable, Dict, Optional ++from typing import Any, Callable, Optional + +-from pycrdt import Doc, Map ++from pycrdt import Doc, Map, Subscription, UndoManager + + + class YBaseDoc(ABC): +@@ -15,6 +15,11 @@ class YBaseDoc(ABC): + subscribe to changes in the document. + """ + ++ _ydoc: Doc ++ _ystate: Map ++ _subscriptions: dict[Any, Subscription] ++ _undo_manager: UndoManager ++ + def __init__(self, ydoc: Optional[Doc] = None): + """ + Constructs a YBaseDoc. +@@ -26,8 +31,9 @@ class YBaseDoc(ABC): + self._ydoc = Doc() + else: + self._ydoc = ydoc +- self._ydoc["state"] = self._ystate = Map() +- self._subscriptions: Dict[Any, str] = {} ++ self._ystate = self._ydoc.get("state", type=Map) ++ self._subscriptions = {} ++ self._undo_manager = UndoManager(doc=self._ydoc, capture_timeout_millis=0) + + @property + @abstractmethod +@@ -40,6 +46,15 @@ class YBaseDoc(ABC): + """ + + @property ++ def undo_manager(self) -> UndoManager: ++ """ ++ A :class:`pycrdt.UndoManager` for the document. ++ ++ :return: The document's undo manager. ++ :rtype: :class:`pycrdt.UndoManager` ++ """ ++ return self._undo_manager ++ + def ystate(self) -> Map: + """ + A :class:`pycrdt.Map` containing the state of the document. +--- jupyter_ydoc/yblob.py.orig 2020-02-02 00:00:00 UTC ++++ jupyter_ydoc/yblob.py +@@ -36,7 +36,8 @@ class YBlob(YBaseDoc): + :type ydoc: :class:`pycrdt.Doc`, optional. + """ + super().__init__(ydoc) +- self._ydoc["source"] = self._ysource = Map() ++ self._ysource = self._ydoc.get("source", type=Map) ++ self.undo_manager.expand_scope(self._ysource) + + @property + def version(self) -> str: +--- jupyter_ydoc/ynotebook.py.orig 2020-02-02 00:00:00 UTC ++++ jupyter_ydoc/ynotebook.py +@@ -54,8 +54,9 @@ class YNotebook(YBaseDoc): + :type ydoc: :class:`pycrdt.Doc`, optional. + """ + super().__init__(ydoc) +- self._ydoc["meta"] = self._ymeta = Map() +- self._ydoc["cells"] = self._ycells = Array() ++ self._ymeta = self._ydoc.get("meta", type=Map) ++ self._ycells = self._ydoc.get("cells", type=Array) ++ self.undo_manager.expand_scope(self._ycells) + + @property + def version(self) -> str: +--- jupyter_ydoc/yunicode.py.orig 2020-02-02 00:00:00 UTC ++++ jupyter_ydoc/yunicode.py +@@ -31,7 +31,8 @@ class YUnicode(YBaseDoc): + :type ydoc: :class:`pycrdt.Doc`, optional. + """ + super().__init__(ydoc) +- self._ydoc["source"] = self._ysource = Text() ++ self._ysource = self._ydoc.get("source", type=Text) ++ self.undo_manager.expand_scope(self._ysource) + + @property + def version(self) -> str: +--- pyproject.toml.orig 2020-02-02 00:00:00 UTC ++++ pyproject.toml +@@ -13,7 +13,7 @@ dependencies = [ + keywords = ["jupyter", "ypy"] + dependencies = [ + "importlib_metadata >=3.6; python_version<'3.10'", +- "pycrdt >=0.8.1,<0.9.0", ++ "pycrdt >=0.9.0,<0.10.0", + ] + + [[project.authors]]