git: 99f010015649 - main - www/py-requests-cache: Update to 0.9.5

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Thu, 07 Jul 2022 12:37:44 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=99f01001564924ca1744f6f381dfda45575cccf8

commit 99f01001564924ca1744f6f381dfda45575cccf8
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-07-07 12:22:51 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-07-07 12:36:19 +0000

    www/py-requests-cache: Update to 0.9.5
    
    - Update WWW
    
    Changes:        https://github.com/requests-cache/requests-cache/releases
                    https://github.com/requests-cache/requests-cache/blob/main/HISTORY.md
---
 www/py-requests-cache/Makefile           |  12 +-
 www/py-requests-cache/distinfo           |   6 +-
 www/py-requests-cache/files/patch-cattrs | 186 -------------------------------
 www/py-requests-cache/pkg-descr          |   2 +-
 4 files changed, 13 insertions(+), 193 deletions(-)

diff --git a/www/py-requests-cache/Makefile b/www/py-requests-cache/Makefile
index 917ead1689ed..3aa30501c7d1 100644
--- a/www/py-requests-cache/Makefile
+++ b/www/py-requests-cache/Makefile
@@ -1,7 +1,7 @@
 # Created by: Kubilay Kocak <koobs@FreeBSD.org>
 
 PORTNAME=	requests-cache
-PORTVERSION=	0.9.4
+PORTVERSION=	0.9.5
 CATEGORIES=	www python
 MASTER_SITES=	CHEESESHOP
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -14,7 +14,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}appdirs>=1.4.4<2.0.0:devel/py-appdirs@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}attrs>=21.2<22.0:devel/py-attrs@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}cattrs>=1.8<22.2:devel/py-cattrs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}cattrs>=1.8<22.2.1:devel/py-cattrs@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.22<3.0:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}url-normalize>=1.4<2.0:net/py-url-normalize@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.5,1<2.0.0,1:net/py-urllib3@${PY_FLAVOR}
@@ -24,7 +24,13 @@ USE_PYTHON=	autoplist concurrent distutils
 
 NO_ARCH=	yes
 
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 31100
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}exceptiongroup>=1.0.0rc3:devel/py-exceptiongroup@${PY_FLAVOR}
+.endif
+
 do-test:
 	cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -rs -v
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/www/py-requests-cache/distinfo b/www/py-requests-cache/distinfo
index bdcbd99e2124..32c5559f18f1 100644
--- a/www/py-requests-cache/distinfo
+++ b/www/py-requests-cache/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650970173
-SHA256 (requests-cache-0.9.4.tar.gz) = 04bb1212bbefba122080163530555f36e64fcd517ef8f90e289ef76f7ae055da
-SIZE (requests-cache-0.9.4.tar.gz) = 1506554
+TIMESTAMP = 1656702534
+SHA256 (requests-cache-0.9.5.tar.gz) = bd67575f541f9c10f44f8b49d8d449fb55db8af2e27d93c56349f227b78e4b70
+SIZE (requests-cache-0.9.5.tar.gz) = 1506795
diff --git a/www/py-requests-cache/files/patch-cattrs b/www/py-requests-cache/files/patch-cattrs
deleted file mode 100644
index 7b551569bd72..000000000000
--- a/www/py-requests-cache/files/patch-cattrs
+++ /dev/null
@@ -1,186 +0,0 @@
-Obtained from:	https://github.com/requests-cache/requests-cache/commit/66550b5355f4a4f063b4b22c3139a2f941c91eb4
-
---- requests_cache/serializers/preconf.py.orig	2022-04-23 00:00:39 UTC
-+++ requests_cache/serializers/preconf.py
-@@ -1,9 +1,10 @@
-+# flake8: noqa: F841
- """The ``cattrs`` library includes a number of `pre-configured converters
- <https://cattrs.readthedocs.io/en/latest/preconf.html>`_ that perform some pre-serialization steps
- required for specific serialization formats.
- 
- This module wraps those converters as serializer :py:class:`.Stage` objects. These are then used as
--a stage in a :py:class:`.SerializerPipeline`, which runs after the base converter and before the
-+stages in a :py:class:`.SerializerPipeline`, which runs after the base converter and before the
- format's ``dumps()`` (or equivalent) method.
- 
- For any optional libraries that aren't installed, the corresponding serializer will be a placeholder
-@@ -13,70 +14,95 @@ class that raises an ``ImportError`` at initialization
-    :nosignatures:
- """
- import pickle
-+from datetime import timedelta
-+from decimal import Decimal
- from functools import partial
-+from importlib import import_module
- 
--from cattr.preconf import bson as bson_preconf
--from cattr.preconf import json as json_preconf
--from cattr.preconf import msgpack, orjson, pyyaml, tomlkit, ujson
-+from cattr import GenConverter
- 
- from .._utils import get_placeholder_class
- from .cattrs import CattrStage
- from .pipeline import SerializerPipeline, Stage
- 
--base_stage = (
--    CattrStage()
--)  #: Base stage for all serializer pipelines (or standalone dict serializer)
--dict_serializer = base_stage  #: Partial serializer that unstructures responses into dicts
--bson_preconf_stage = CattrStage(bson_preconf.make_converter)  #: Pre-serialization steps for BSON
--json_preconf_stage = CattrStage(json_preconf.make_converter)  #: Pre-serialization steps for JSON
--msgpack_preconf_stage = CattrStage(msgpack.make_converter)  #: Pre-serialization steps for msgpack
--orjson_preconf_stage = CattrStage(orjson.make_converter)  #: Pre-serialization steps for orjson
--yaml_preconf_stage = CattrStage(pyyaml.make_converter)  #: Pre-serialization steps for YAML
--toml_preconf_stage = CattrStage(tomlkit.make_converter)  #: Pre-serialization steps for TOML
--ujson_preconf_stage = CattrStage(ujson.make_converter)  #: Pre-serialization steps for ultrajson
--pickle_serializer = SerializerPipeline(
--    [base_stage, pickle], is_binary=True
--)  #: Complete pickle serializer
-+
-+def make_stage(preconf_module: str, **kwargs):
-+    """Create a preconf serializer stage from a module name, if dependencies are installed"""
-+    try:
-+        factory = import_module(preconf_module).make_converter
-+        return CattrStage(factory, **kwargs)
-+    except ImportError as e:
-+        return get_placeholder_class(e)
-+
-+
-+# Pre-serialization stages
-+base_stage = CattrStage()  #: Base stage for all serializer pipelines
- utf8_encoder = Stage(dumps=str.encode, loads=lambda x: x.decode())  #: Encode to bytes
-+bson_preconf_stage = make_stage('cattr.preconf.bson')  #: Pre-serialization steps for BSON
-+json_preconf_stage = make_stage('cattr.preconf.json')  #: Pre-serialization steps for JSON
-+msgpack_preconf_stage = make_stage('cattr.preconf.msgpack')  #: Pre-serialization steps for msgpack
-+orjson_preconf_stage = make_stage('cattr.preconf.orjson')  #: Pre-serialization steps for orjson
-+toml_preconf_stage = make_stage('cattr.preconf.tomlkit')  #: Pre-serialization steps for TOML
-+ujson_preconf_stage = make_stage('cattr.preconf.ujson')  #: Pre-serialization steps for ultrajson
-+yaml_preconf_stage = make_stage('cattr.preconf.pyyaml')  #: Pre-serialization steps for YAML
- 
-+# Basic serializers with no additional dependencies
-+dict_serializer = SerializerPipeline(
-+    [base_stage], is_binary=False
-+)  #: Partial serializer that unstructures responses into dicts
-+pickle_serializer = SerializerPipeline(
-+    [base_stage, Stage(pickle)], is_binary=True
-+)  #: Pickle serializer
- 
- # Safe pickle serializer
--try:
-+def signer_stage(secret_key=None, salt='requests-cache') -> Stage:
-+    """Create a stage that uses ``itsdangerous`` to add a signature to responses on write, and
-+    validate that signature with a secret key on read. Can be used in a
-+    :py:class:`.SerializerPipeline` in combination with any other serialization steps.
-+    """
-     from itsdangerous import Signer
- 
--    def signer_stage(secret_key=None, salt='requests-cache') -> Stage:
--        """Create a stage that uses ``itsdangerous`` to add a signature to responses on write, and
--        validate that signature with a secret key on read. Can be used in a
--        :py:class:`.SerializerPipeline` in combination with any other serialization steps.
--        """
--        return Stage(Signer(secret_key=secret_key, salt=salt), dumps='sign', loads='unsign')
-+    return Stage(
-+        Signer(secret_key=secret_key, salt=salt),
-+        dumps='sign',
-+        loads='unsign',
-+    )
- 
--    def safe_pickle_serializer(
--        secret_key=None, salt='requests-cache', **kwargs
--    ) -> SerializerPipeline:
--        """Create a serializer that uses ``pickle`` + ``itsdangerous`` to add a signature to
--        responses on write, and validate that signature with a secret key on read.
--        """
--        return SerializerPipeline(
--            [base_stage, pickle, signer_stage(secret_key, salt)], is_binary=True
--        )
- 
-+def safe_pickle_serializer(secret_key=None, salt='requests-cache', **kwargs) -> SerializerPipeline:
-+    """Create a serializer that uses ``pickle`` + ``itsdangerous`` to add a signature to
-+    responses on write, and validate that signature with a secret key on read.
-+    """
-+    return SerializerPipeline(
-+        [base_stage, Stage(pickle), signer_stage(secret_key, salt)],
-+        is_binary=True,
-+    )
-+
-+
-+try:
-+    import itsdangerous  # noqa: F401
- except ImportError as e:
-     signer_stage = get_placeholder_class(e)
-     safe_pickle_serializer = get_placeholder_class(e)
- 
- 
- # BSON serializer
--try:
-+def _get_bson_functions():
-+    """Handle different function names between pymongo's bson and standalone bson"""
-     try:
--        from bson import decode as _bson_loads
--        from bson import encode as _bson_dumps
-+        import pymongo  # noqa: F401
-+
-+        return {'dumps': 'encode', 'loads': 'decode'}
-     except ImportError:
--        from bson import dumps as _bson_dumps
--        from bson import loads as _bson_loads
-+        return {'dumps': 'dumps', 'loads': 'loads'}
- 
-+
-+try:
-+    import bson
-+
-     bson_serializer = SerializerPipeline(
--        [bson_preconf_stage, Stage(dumps=_bson_dumps, loads=_bson_loads)], is_binary=True
-+        [bson_preconf_stage, Stage(bson, **_get_bson_functions())],
-+        is_binary=True,
-     )  #: Complete BSON serializer; uses pymongo's ``bson`` if installed, otherwise standalone ``bson`` codec
- except ImportError as e:
-     bson_serializer = get_placeholder_class(e)
-@@ -94,7 +120,8 @@ except ImportError:
- 
- _json_stage = Stage(dumps=partial(json.dumps, indent=2), loads=json.loads)
- json_serializer = SerializerPipeline(
--    [_json_preconf_stage, _json_stage], is_binary=False
-+    [_json_preconf_stage, _json_stage],
-+    is_binary=False,
- )  #: Complete JSON serializer; uses ultrajson if available
- 
- 
-@@ -102,11 +129,9 @@ json_serializer = SerializerPipeline(
- try:
-     import yaml
- 
-+    _yaml_stage = Stage(yaml, loads='safe_load', dumps='safe_dump')
-     yaml_serializer = SerializerPipeline(
--        [
--            yaml_preconf_stage,
--            Stage(yaml, loads='safe_load', dumps='safe_dump'),
--        ],
-+        [yaml_preconf_stage, _yaml_stage],
-         is_binary=False,
-     )  #: Complete YAML serializer
- except ImportError as e:
---- setup.py.orig	1970-01-01 00:00:00 UTC
-+++ setup.py
-@@ -13,7 +13,7 @@ package_data = \
- install_requires = \
- ['appdirs>=1.4.4,<2.0.0',
-  'attrs>=21.2,<22.0',
-- 'cattrs>=1.8,<2.0',
-+ 'cattrs>=1.8,<22.2',
-  'requests>=2.22,<3.0',
-  'url-normalize>=1.4,<2.0',
-  'urllib3>=1.25.5,<2.0.0']
diff --git a/www/py-requests-cache/pkg-descr b/www/py-requests-cache/pkg-descr
index cbffa1b55be5..068627947fb0 100644
--- a/www/py-requests-cache/pkg-descr
+++ b/www/py-requests-cache/pkg-descr
@@ -16,4 +16,4 @@ Features:
   any combination of strategies
 - Compatibility: Can be combined with other popular libraries based on requests
 
-WWW: https://github.com/reclosedev/requests-cache
+WWW: https://github.com/requests-cache/requests-cache