git: d36866dc1339 - main - multimedia/py-subliminal: Update to 2.3.0

From: Nuno Teixeira <eduardo_at_FreeBSD.org>
Date: Fri, 02 May 2025 19:45:07 UTC
The branch main has been updated by eduardo:

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

commit d36866dc1339f652b671b9b305a4ff0b14b90c49
Author:     Nuno Teixeira <eduardo@FreeBSD.org>
AuthorDate: 2025-05-02 19:41:10 +0000
Commit:     Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2025-05-02 19:44:49 +0000

    multimedia/py-subliminal: Update to 2.3.0
    
    - Switch MASTER_SITES to GH temporarily while PYPI gets updated
    
    ChangeLog: https://github.com/Diaoul/subliminal/releases/tag/2.3.0
---
 multimedia/py-subliminal/Makefile                  | 20 +++++++-------
 multimedia/py-subliminal/distinfo                  |  6 ++---
 .../py-subliminal/files/patch-pyproject.toml       | 10 -------
 multimedia/py-subliminal/files/patch-tests         | 31 ++++++++++++++++++++++
 4 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/multimedia/py-subliminal/Makefile b/multimedia/py-subliminal/Makefile
index 28a0ad2c3d36..6a438d04aeb8 100644
--- a/multimedia/py-subliminal/Makefile
+++ b/multimedia/py-subliminal/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	subliminal
-DISTVERSION=	2.2.1
+DISTVERSION=	2.3.0
 CATEGORIES=	multimedia python
-MASTER_SITES=	PYPI
+MASTER_SITES=	https://github.com/Diaoul/subliminal/releases/download/${DISTVERSION}/
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	eduardo@FreeBSD.org
@@ -11,9 +11,10 @@ WWW=		https://subliminal.readthedocs.org/en/latest/index.html
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatch-vcs>0:devel/py-hatch-vcs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
-
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}babelfish>=0.6.1:devel/py-babelfish@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.4.0:www/py-beautifulsoup@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}chardet>=5.0:textproc/py-chardet@${PY_FLAVOR} \
@@ -28,15 +29,16 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}babelfish>=0.6.1:devel/py-babelfish@${PY_FLA
 		${PYTHON_PKGNAMEPREFIX}requests>=2.0.1:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}srt>3.5:multimedia/py-srt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}stevedore>=3.0:devel/py-stevedore@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}tomli>2:textproc/py-tomli@${PY_FLAVOR}
-TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}vcrpy>0:devel/py-vcrpy@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}tomli>2:textproc/py-tomli@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tomlkit>=0.13.2:textproc/py-tomlkit@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}defusedxml>=0.7.1:devel/py-defusedxml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}knowit>=0.5.5:multimedia/py-knowit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}vcrpy>0:devel/py-vcrpy@${PY_FLAVOR}
 
 USES=		python
 USE_PYTHON=	autoplist concurrent pep517 pytest
 
-PYTEST_BROKEN_TESTS=	test_refine_video_metadata # https://github.com/Diaoul/subliminal/issues/1157
-
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/multimedia/py-subliminal/distinfo b/multimedia/py-subliminal/distinfo
index 6f63d414b79d..9fc9973e529f 100644
--- a/multimedia/py-subliminal/distinfo
+++ b/multimedia/py-subliminal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1721552662
-SHA256 (subliminal-2.2.1.tar.gz) = 2ed6024a07bbb3c68fe3db76374244ad91adfca9d93fc24d3ddb9ef61825756e
-SIZE (subliminal-2.2.1.tar.gz) = 3122221
+TIMESTAMP = 1746010297
+SHA256 (subliminal-2.3.0.tar.gz) = 428073ce98f6a967207615a4c58732fdcb80819fdd8b0404f8dd2ebea18666eb
+SIZE (subliminal-2.3.0.tar.gz) = 3458229
diff --git a/multimedia/py-subliminal/files/patch-pyproject.toml b/multimedia/py-subliminal/files/patch-pyproject.toml
deleted file mode 100644
index b71bc0bb7ec7..000000000000
--- a/multimedia/py-subliminal/files/patch-pyproject.toml
+++ /dev/null
@@ -1,10 +0,0 @@
---- pyproject.toml.orig	2024-06-25 06:59:42 UTC
-+++ pyproject.toml
-@@ -1,6 +1,6 @@
- # https://peps.python.org/pep-0517/
- [build-system]
--requires = ["setuptools>=64"]
-+requires = ["setuptools>=63"]
- build-backend = "setuptools.build_meta"
- 
- # https://peps.python.org/pep-0621/
diff --git a/multimedia/py-subliminal/files/patch-tests b/multimedia/py-subliminal/files/patch-tests
new file mode 100644
index 000000000000..96e42c41f818
--- /dev/null
+++ b/multimedia/py-subliminal/files/patch-tests
@@ -0,0 +1,31 @@
+Fix windows dependency
+
+--- pyproject.toml.orig	2025-05-02 15:15:36 UTC
++++ pyproject.toml
+@@ -73,7 +73,7 @@ tests = [
+     "sympy",
+     "colorama",  # used in scripts/
+     "vcrpy>=5",  # keep synchronized with docs dependencies
+-    "win32-setctime",
++    "win32-setctime; sys_platform == 'win32'",
+     "importlib_metadata>=4.6; python_version<'3.10'",
+ ]
+ types = [
+
+--- tests/test_video.py.orig	2025-05-02 16:03:05 UTC
++++ tests/test_video.py
+@@ -7,7 +7,13 @@ import pytest
+ from unittest.mock import Mock
+ 
+ import pytest
+-from win32_setctime import SUPPORTED, setctime
++# Conditional import of win32_setctime
++try:
++    from win32_setctime import SUPPORTED, setctime
++except ImportError:
++    # Define default values if the import fails (we are on non-Windows or it's not installed)
++    SUPPORTED = False
++    setctime = None # Or a dummy function if preferred: def setctime(*args, **kwargs): pass
+ 
+ from subliminal.utils import sanitize, timestamp
+ from subliminal.video import Episode, Movie, Video