git: 98ded7cd825c - main - devel/py-poetry: Fix build after fa2d4aa15778abdb828847797f1c11f6292c14d4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 09 Jul 2023 15:33:06 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=98ded7cd825c3450f170d10c3d24fdfcf8ea412e commit 98ded7cd825c3450f170d10c3d24fdfcf8ea412e Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-07-09 15:32:48 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-07-09 15:32:48 +0000 devel/py-poetry: Fix build after fa2d4aa15778abdb828847797f1c11f6292c14d4 - Bump PORTREVISION for dependency and package change Obtained from: https://github.com/python-poetry/poetry/commit/fca3d5d04fb01bbb3c77e810094a99732b7d024c --- devel/py-poetry/Makefile | 6 +- devel/py-poetry/files/patch-cachecontrol | 152 +++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 4 deletions(-) diff --git a/devel/py-poetry/Makefile b/devel/py-poetry/Makefile index 7a139dcb92d6..622aef788774 100644 --- a/devel/py-poetry/Makefile +++ b/devel/py-poetry/Makefile @@ -1,5 +1,6 @@ PORTNAME= poetry PORTVERSION= 1.5.0 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,16 +15,14 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.1.0:devel/py-poetry-core@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0.10.0<0.11:devel/py-build@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}cachecontrol>=0.12.9<0.13:www/py-cachecontrol@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cachecontrol>=0.13.0<0.14:www/py-cachecontrol@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cleo>=2.0.0<3:devel/py-cleo@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}crashtest>=0.4.1<0.5:devel/py-crashtest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dulwich>=0.21.2<0.22:devel/py-dulwich@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}filelock>=3.8.0<4:sysutils/py-filelock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}html5lib>=1.0<2:www/py-html5lib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}installer>=0.7.0<0.8:devel/py-installer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.10.0<5:devel/py-jsonschema@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}keyring>=23.9.0,1<24,1:security/py-keyring@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}lockfile>=0.12.2<0.13:devel/py-lockfile@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=20.4:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pexpect>=4.7.0<5:misc/py-pexpect@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pkginfo>=1.9.4<2:sysutils/py-pkginfo@${PY_FLAVOR} \ @@ -36,7 +35,6 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0.10.0<0.11:devel/py-build@${PY_FLAVO ${PYTHON_PKGNAMEPREFIX}shellingham>=1.5<2:devel/py-shellingham@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tomlkit>=0.11.4<1.0.0:textproc/py-tomlkit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}trove-classifiers>=2022.5.19:devel/py-trove-classifiers@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.0,1<2,1:net/py-urllib3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=20.22.0<21:devel/py-virtualenv@${PY_FLAVOR} USES= python diff --git a/devel/py-poetry/files/patch-cachecontrol b/devel/py-poetry/files/patch-cachecontrol new file mode 100644 index 000000000000..79e6cac6a490 --- /dev/null +++ b/devel/py-poetry/files/patch-cachecontrol @@ -0,0 +1,152 @@ +Obtained from: https://github.com/python-poetry/poetry/commit/fca3d5d04fb01bbb3c77e810094a99732b7d024c + +--- pyproject.toml.orig 2023-05-19 12:27:02 UTC ++++ pyproject.toml +@@ -36,17 +36,15 @@ poetry-core = "1.6.0" + poetry-plugin-export = "^1.3.1" + "backports.cached-property" = { version = "^1.0.2", python = "<3.8" } + build = "^0.10.0" +-cachecontrol = { version = "^0.12.9", extras = ["filecache"] } ++cachecontrol = { version = "^0.13.0", extras = ["filecache"] } + cleo = "^2.0.0" + crashtest = "^0.4.1" + dulwich = "^0.21.2" +-filelock = "^3.8.0" + html5lib = "^1.0" + importlib-metadata = { version = ">=4.4", python = "<3.10" } + installer = "^0.7.0" + jsonschema = "^4.10.0" + keyring = "^23.9.0" +-lockfile = "^0.12.2" + # packaging uses calver, so version is unclamped + packaging = ">=20.4" + pexpect = "^4.7.0" +@@ -62,7 +60,6 @@ tomlkit = ">=0.11.4,<1.0.0" + trove-classifiers = ">=2022.5.19" + virtualenv = "^20.22.0" + xattr = { version = "^0.10.0", markers = "sys_platform == 'darwin'" } +-urllib3 = "^1.26.0" + + [tool.poetry.group.dev.dependencies] + pre-commit = "^2.6" +@@ -189,18 +186,15 @@ warn_unused_ignores = false + + [[tool.mypy.overrides]] + module = [ +- 'cachecontrol.*', + 'cachy.*', + 'deepdiff.*', + 'httpretty.*', + 'keyring.*', +- 'lockfile.*', + 'pexpect.*', + 'requests_toolbelt.*', + 'shellingham.*', + 'virtualenv.*', + 'xattr.*', +- 'zipp.*', + ] + ignore_missing_imports = true + +--- src/poetry/publishing/uploader.py.orig 2023-05-19 12:27:02 UTC ++++ src/poetry/publishing/uploader.py +@@ -11,17 +11,14 @@ import requests + + from poetry.core.masonry.metadata import Metadata + from poetry.core.masonry.utils.helpers import distribution_name +-from requests import adapters + from requests.exceptions import ConnectionError + from requests.exceptions import HTTPError + from requests_toolbelt import user_agent + from requests_toolbelt.multipart import MultipartEncoder + from requests_toolbelt.multipart import MultipartEncoderMonitor +-from urllib3 import util + + from poetry.__version__ import __version__ + from poetry.utils.constants import REQUESTS_TIMEOUT +-from poetry.utils.constants import STATUS_FORCELIST + from poetry.utils.patterns import wheel_file_re + + +@@ -64,18 +61,6 @@ class Uploader: + return agent + + @property +- def adapter(self) -> adapters.HTTPAdapter: +- retry = util.Retry( +- connect=5, +- total=10, +- allowed_methods=["GET"], +- respect_retry_after_header=True, +- status_forcelist=STATUS_FORCELIST, +- ) +- +- return adapters.HTTPAdapter(max_retries=retry) +- +- @property + def files(self) -> list[Path]: + dist = self._poetry.file.path.parent / "dist" + version = self._package.version.to_string() +@@ -97,9 +82,6 @@ class Uploader: + session.auth = auth + + session.headers["User-Agent"] = self.user_agent +- for scheme in ("http://", "https://"): +- session.mount(scheme, self.adapter) +- + return session + + def get_auth(self) -> tuple[str, str] | None: +--- src/poetry/utils/authenticator.py.orig 2023-05-19 12:27:02 UTC ++++ src/poetry/utils/authenticator.py +@@ -12,7 +12,6 @@ from pathlib import Path + from typing import TYPE_CHECKING + from typing import Any + +-import lockfile + import requests + import requests.auth + import requests.exceptions +@@ -20,7 +19,6 @@ import requests.exceptions + from cachecontrol import CacheControlAdapter + from cachecontrol.caches import FileCache + from cachecontrol.caches.file_cache import url_to_file_path +-from filelock import FileLock + + from poetry.config.config import Config + from poetry.exceptions import PoetryException +@@ -38,26 +36,6 @@ if TYPE_CHECKING: + logger = logging.getLogger(__name__) + + +-class FileLockLockFile(lockfile.LockBase): # type: ignore[misc] +- # The default LockFile from the lockfile package as used by cachecontrol can remain +- # locked if a process exits ungracefully. See eg +- # <https://github.com/python-poetry/poetry/issues/6030#issuecomment-1189383875>. +- # +- # FileLock from the filelock package does not have this problem, so we use that to +- # construct something compatible with cachecontrol. +- def __init__( +- self, path: str, threaded: bool = True, timeout: float | None = None +- ) -> None: +- super().__init__(path, threaded, timeout) +- self.file_lock = FileLock(self.lock_file) +- +- def acquire(self, timeout: float | None = None) -> None: +- self.file_lock.acquire(timeout=timeout) +- +- def release(self) -> None: +- self.file_lock.release() +- +- + @dataclasses.dataclass(frozen=True) + class RepositoryCertificateConfig: + cert: Path | None = dataclasses.field(default=None) +@@ -149,7 +127,6 @@ class Authenticator: + / (cache_id or "_default_cache") + / "_http" + ), +- lock_class=FileLockLockFile, + ) + if not disable_cache + else None