diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-26 04:04:26 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-26 04:04:26 +0100 |
commit | d0349ca0f4903608beca459a9db2068dab9fa6ea (patch) | |
tree | a69bc9c4a75f35ecabd3909a181128faf8c0e75b /dev-python/rdflib | |
parent | b11a5614cb96e70e116581c98abf286c2cf694ca (diff) |
gentoo auto-resync : 26:10:2024 - 04:04:26
Diffstat (limited to 'dev-python/rdflib')
-rw-r--r-- | dev-python/rdflib/Manifest | 3 | ||||
-rw-r--r-- | dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff | 63 | ||||
-rw-r--r-- | dev-python/rdflib/rdflib-7.1.0.ebuild | 70 |
3 files changed, 136 insertions, 0 deletions
diff --git a/dev-python/rdflib/Manifest b/dev-python/rdflib/Manifest index a5225032314c..577f7a8d59b3 100644 --- a/dev-python/rdflib/Manifest +++ b/dev-python/rdflib/Manifest @@ -1,4 +1,7 @@ AUX rdflib-7.0.0-py3_13-fix-pickler.diff 1986 BLAKE2B 6ba02b7b5efa73e09ea3535d834162000f7a28f8d0d1a29db41c58594fea4d777ad9631d45aecfae9559fbfdf1e6edd81eedf9d4344661bc0af1246d2c2c91d0 SHA512 b87c5e938c33afd57a561c6d27eb31121f57c64425178e31b64f33e737ce877ede748d485f8f6dfafc1dd96e296d86ca6218176921a258c1fbe810a81e5685da +AUX rdflib-7.1.0-py3_13-fix-pickler.diff 1975 BLAKE2B 11ec2c11f6662f6a52660b83c8785816e28e4b06c091749dc6fa725b6d4c69221ac56c45d3a520d0d27b151db3893453ba1afd407713926390b49d718de7ce4a SHA512 5fed78c535c1e3d66a9be61c3179fda1bc03554d40b81d7169b19fc6e6bf116b37163df6b0aa856ba95b40598c82f0d54fddbf029bd3866cfe976cede1ea35e2 DIST rdflib-7.0.0.tar.gz 4765796 BLAKE2B 60ca36160f4f6588892853adde9dd4b795e549cc7fd52127cf1e50de3853b25b3a333cabd584ccf22827cb6f89d215d225c4ba767d0775feeefb481e4b1ed93b SHA512 56d110ab24c74c6ddb2e75320f60a82b4945e6ea1ce9d10ad4ae53d44c679b35826e3d7406e7d0e321ef9b042d32d2ba327a6dbd5c2c1780f552131d80c09445 +DIST rdflib-7.1.0.tar.gz 4863439 BLAKE2B 0f06d272a6b8b0d9356fe8fd67e9df5c1ceb0d9e102a9e954edc17ee3633f45e61520a9db3598777420f501dbb9e63085249211466fc8412d23986ee2b585c7e SHA512 40a3afba52161c2e642a0770d88b08d5bfd6d84325757cef13ad5dc620bcc7f13395c4a51e32b44db56b54568893af44f51b723ceebae1cc089e99b7e0e93c25 EBUILD rdflib-7.0.0-r2.ebuild 1540 BLAKE2B 7d928901067a0abb854902fa0fd28de8967a57a5d078c9780b73a25e02ce4f4be7f789ab2a433bc44e6a4c393dfc583a6d61acaeca4769f7b2048179be975c97 SHA512 a78e39417b4098b00894dfefa59dcc6d528489abe3a20404b48a62f4b2eb00327c5b4cd3198b9e07e0dfe145fd09792d79bc61a18b1cc745f0292d0931391083 +EBUILD rdflib-7.1.0.ebuild 1707 BLAKE2B b233c753b94ea52466fd79b2012d7171d0a8ce2749b2a317dc1db288632d76d98b25ee4226d5fa3ef3f709812128ba18000f3495fbd40a2b48a6dc0569dc4bfd SHA512 c04bdabb18512bd7ac96810605b06db362fb62633edd5cf6d19d38c25bdaab0215f1074d0b4858c0d5d5084fca1fe35cf5a9ec1eb9f02fa7c390df4bba1adb7e MISC metadata.xml 400 BLAKE2B eea3d3a69375a70a1c4a93cebf48169032f9d7cc6ba5df0422bad8c0f4e1caa10721a42b66cfb0dad2ab85aff38f826a0790b4d2dbac90be16e88ecf507d9025 SHA512 d8b94c9c8c037f40db80a44d235ada552851c3b979f496462e19a909eb2b46f606c23458b20869060b596969015616d065b2df0f5b24d2b3d7224afa6089e8e7 diff --git a/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff b/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff new file mode 100644 index 000000000000..b992bec0a011 --- /dev/null +++ b/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff @@ -0,0 +1,63 @@ +--- a/rdflib/store.py ++++ b/rdflib/store.py +@@ -114,26 +114,38 @@ class TripleRemovedEvent(Event): + + ++class _Pickler(Pickler): ++ def __init__(self, file, node): ++ super(_Pickler, self).__init__(file) ++ self._node = node ++ ++ def persistent_id(self, key: Any) -> Optional[str]: ++ try: ++ return self._node._ids.get(key) ++ except TypeError: ++ return None ++ ++ ++class _Unpickler(Unpickler): ++ def __init__(self, file, node): ++ super(_Unpickler, self).__init__(file) ++ self._node = node ++ ++ def persistent_load(self, pid): ++ return self._node._get_object(pid) ++ ++ + class NodePickler: + def __init__(self) -> None: + self._objects: Dict[str, Any] = {} + self._ids: Dict[Any, str] = {} + self._get_object = self._objects.__getitem__ + +- def _get_ids(self, key: Any) -> Optional[str]: +- try: +- return self._ids.get(key) +- except TypeError: +- return None +- + def register(self, object: Any, id: str) -> None: + self._objects[id] = object + self._ids[object] = id + + def loads(self, s: bytes) -> Node: +- up = Unpickler(BytesIO(s)) +- # NOTE on type error: https://github.com/python/mypy/issues/2427 +- # type error: Cannot assign to a method +- up.persistent_load = self._get_object # type: ignore[assignment] ++ up = _Unpickler(BytesIO(s), self) + try: + return up.load() + except KeyError as e: +@@ -143,10 +155,7 @@ class NodePickler: + self, obj: "Node", protocol: Optional[Any] = None, bin: Optional[Any] = None + ): + src = BytesIO() +- p = Pickler(src) +- # NOTE on type error: https://github.com/python/mypy/issues/2427 +- # type error: Cannot assign to a method +- p.persistent_id = self._get_ids # type: ignore[assignment] ++ p = _Pickler(src, self) + p.dump(obj) + return src.getvalue() + diff --git a/dev-python/rdflib/rdflib-7.1.0.ebuild b/dev-python/rdflib/rdflib-7.1.0.ebuild new file mode 100644 index 000000000000..045fd23592a0 --- /dev/null +++ b/dev-python/rdflib/rdflib-7.1.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="sqlite?,threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="RDF library containing a triple store and parser/serializer" +HOMEPAGE=" + https://github.com/RDFLib/rdflib/ + https://pypi.org/project/rdflib/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="examples sqlite" + +RDEPEND=" + <dev-python/isodate-1[${PYTHON_USEDEP}] + >=dev-python/isodate-0.7.2[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + <dev-python/pyparsing-4[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/requests[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + # https://src.fedoraproject.org/fork/salimma/rpms/python-rdflib/blob/d2fbf492897262350bd569f1566b97a54e092cd9/f/rdflib-py3_13-fix-pickler.diff + "${FILESDIR}/${PN}-7.1.0-py3_13-fix-pickler.diff" +) + +distutils_enable_tests pytest + +python_prepare_all() { + distutils-r1_python_prepare_all + + # doctests require internet + sed -i -e '/doctest-modules/d' pyproject.toml || die + + # we disable pytest-cov + sed -i -e 's@, no_cover: None@@' test/test_misc/test_plugins.py || die + + # allow regular html5lib, html5lib-modern has no real changes + sed -e 's:html5lib-modern:html5lib:' \ + -e '/html5lib/s:1\.2:1.1:' \ + -i pyproject.toml || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -m "not webtest" +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} |