commit: d3ae7152829432dc1304b8153a4709d3b50c53f4 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue May 6 16:27:04 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue May 6 16:27:21 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3ae7152
media-video/subliminal: add 2.3.0 Bug: https://bugs.gentoo.org/955197 Signed-off-by: Sam James <sam <AT> gentoo.org> media-video/subliminal/Manifest | 1 + .../files/subliminal-2.3.0-win32-tests.patch | 52 ++++++++++++++++++++++ ...liminal-9999.ebuild => subliminal-2.3.0.ebuild} | 32 ++++++++++--- media-video/subliminal/subliminal-9999.ebuild | 32 ++++++++++--- 4 files changed, 103 insertions(+), 14 deletions(-) diff --git a/media-video/subliminal/Manifest b/media-video/subliminal/Manifest index 610eecca1835..4b6790883fb5 100644 --- a/media-video/subliminal/Manifest +++ b/media-video/subliminal/Manifest @@ -1,3 +1,4 @@ DIST matroska_test_w1_1.zip 184550509 BLAKE2B f111725aa08267661942072c2d4ac019d3d322c4e933aad10afb3aa6f69bb3469114c4400d161e53d8a7618b818b22465177460003804a7ac3e69fa4f4db000d SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f DIST subliminal-2.1.0.tar.gz 5480458 BLAKE2B 249bdd027d99dfb0b81d939af2dc08f62b52dca2c8618f1006ca76eee41c2443b450076eddc1aa533997beca8cdf9016b884d7eceeebbf4e48ced91dae1a2361 SHA512 9b26ae594895470830547eed604aa5b28b75f590e5be12c2d5a478c5daf798d405f209639bd54dce0565b0e27d1b0daa5bef87dfa8590af61f2ab1e287c41060 DIST subliminal-2.2.1.gh.tar.gz 3165965 BLAKE2B 9b69547540773d1434117a0e81bebcb3da49f97c145285a2bb2349ff8d6a4cb35f42f8fa8c306d2afedaf0ccff275908526a0f6d6c7ba7846aea6acd2b154b92 SHA512 4e59ccfe42419bb33df395aad6c2255ad03cfe7311fc754ea591be7c9e33ef5cc3e980a1da2839afe79e3b22024b3e7b458b03b4e6270ea8bcadc0337d7e37bf +DIST subliminal-2.3.0.gh.tar.gz 3531908 BLAKE2B cdc2df8fb9cff915c9eb7cd6cf490ad460457ebb197e7f79a12acef8eb58bec552e12fd3ead5efb2f95edb0b79d4d4ef42fa64aa18fe516868d0c49c648c2050 SHA512 400a57265d4086776d613256e09d900f554c59e225019d4f1efa733fb6dbf7139be37de906603e7569977f974d3e618217993839f8c006f57ca533afa48f17df diff --git a/media-video/subliminal/files/subliminal-2.3.0-win32-tests.patch b/media-video/subliminal/files/subliminal-2.3.0-win32-tests.patch new file mode 100644 index 000000000000..377b518c1ad5 --- /dev/null +++ b/media-video/subliminal/files/subliminal-2.3.0-win32-tests.patch @@ -0,0 +1,52 @@ +https://github.com/Diaoul/subliminal/commit/8f410a261a490cea5f10b60afe281490859b0977 + +From 8f410a261a490cea5f10b60afe281490859b0977 Mon Sep 17 00:00:00 2001 +From: getzze <[email protected]> +Date: Mon, 5 May 2025 23:10:49 +0100 +Subject: [PATCH] Make win32-setctime an optional tests dependency, only for + win32 platform (#1278) + +--- + pyproject.toml | 2 +- + tests/test_video.py | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index bbe8f7c99..52054d5ec 100644 +--- a/pyproject.toml ++++ b/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 = [ +diff --git a/tests/test_video.py b/tests/test_video.py +index c8625b5d3..06c737596 100644 +--- a/tests/test_video.py ++++ b/tests/test_video.py +@@ -7,7 +7,6 @@ + from unittest.mock import Mock + + import pytest +-from win32_setctime import SUPPORTED, setctime + + from subliminal.utils import sanitize, timestamp + from subliminal.video import Episode, Movie, Video +@@ -40,6 +39,12 @@ def test_video_exists_age_no_use_ctime( + + + def test_video_exists_age(movies: dict[str, Movie], tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: ++ try: ++ from win32_setctime import SUPPORTED, setctime ++ except (ImportError, ModuleNotFoundError): ++ SUPPORTED = False ++ setctime = None ++ + monkeypatch.chdir(tmp_path) + video = movies['man_of_steel'] + video_path = tmp_path / video.name + diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-2.3.0.ebuild similarity index 67% copy from media-video/subliminal/subliminal-9999.ebuild copy to media-video/subliminal/subliminal-2.3.0.ebuild index e725e00788da..fcca62900667 100644 --- a/media-video/subliminal/subliminal-9999.ebuild +++ b/media-video/subliminal/subliminal-2.3.0.ebuild @@ -3,11 +3,11 @@ EAPI=8 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE='xml(+)' -inherit distutils-r1 +inherit distutils-r1 optfeature DESCRIPTION="Python library to search and download subtitles" HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/" @@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_BRANCH="develop" else SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64" fi SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )" @@ -40,16 +40,16 @@ RDEPEND=" >=dev-python/click-8.0[${PYTHON_USEDEP}] >=dev-python/click-option-group-0.5.6[${PYTHON_USEDEP}] dev-python/decorator[${PYTHON_USEDEP}] + >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}] >=dev-python/dogpile-cache-1.0[${PYTHON_USEDEP}] - >=dev-python/enzyme-0.5.0[${PYTHON_USEDEP}] >=dev-python/guessit-2.0.1[${PYTHON_USEDEP}] + >=dev-python/knowit-0.5.5[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}] >=dev-python/pysubs2-1.7[${PYTHON_USEDEP}] - >=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}] >=dev-python/requests-2.0[${PYTHON_USEDEP}] >=dev-python/srt-3.5[${PYTHON_USEDEP}] >=dev-python/stevedore-3.0[${PYTHON_USEDEP}] - >=dev-python/tomli-2[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.13.2[${PYTHON_USEDEP}] " EPYTEST_DESELECT=( @@ -58,11 +58,25 @@ EPYTEST_DESELECT=( tests/test_core.py::test_scan_archive_with_multiple_videos tests/test_core.py::test_scan_archive_with_no_video tests/test_core.py::test_scan_password_protected_archive + tests/test_archives.py::test_is_supported_archive + tests/test_archives.py::test_scan_archive_with_one_video + tests/test_archives.py::test_scan_archive_with_multiple_videos + tests/test_archives.py::test_scan_archive_with_no_video + tests/test_archives.py::test_scan_password_protected_archive + tests/test_archives.py::test_scan_archive_error + tests/test_archives.py::test_scan_videos_error + 'tests/test_cli.py::test_cli_download_use_absolute_path[never]' + 'tests/test_cli.py::test_cli_download_use_absolute_path[always]' + 'tests/test_cli.py::test_cli_download_use_absolute_path[fallback]' # TODO tests/test_core.py::test_refine_video_metadata ) +PATCHES=( + "${FILESDIR}"/${P}-win32-tests.patch +) + distutils_enable_tests pytest src_unpack() { @@ -82,3 +96,7 @@ python_prepare_all() { distutils-r1_python_prepare_all } + +pkg_postinst() { + optfeature "RAR file support" dev-python/rarfile[compressed] +} diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-9999.ebuild index e725e00788da..fcca62900667 100644 --- a/media-video/subliminal/subliminal-9999.ebuild +++ b/media-video/subliminal/subliminal-9999.ebuild @@ -3,11 +3,11 @@ EAPI=8 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE='xml(+)' -inherit distutils-r1 +inherit distutils-r1 optfeature DESCRIPTION="Python library to search and download subtitles" HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/" @@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_BRANCH="develop" else SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64" fi SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )" @@ -40,16 +40,16 @@ RDEPEND=" >=dev-python/click-8.0[${PYTHON_USEDEP}] >=dev-python/click-option-group-0.5.6[${PYTHON_USEDEP}] dev-python/decorator[${PYTHON_USEDEP}] + >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}] >=dev-python/dogpile-cache-1.0[${PYTHON_USEDEP}] - >=dev-python/enzyme-0.5.0[${PYTHON_USEDEP}] >=dev-python/guessit-2.0.1[${PYTHON_USEDEP}] + >=dev-python/knowit-0.5.5[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}] >=dev-python/pysubs2-1.7[${PYTHON_USEDEP}] - >=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}] >=dev-python/requests-2.0[${PYTHON_USEDEP}] >=dev-python/srt-3.5[${PYTHON_USEDEP}] >=dev-python/stevedore-3.0[${PYTHON_USEDEP}] - >=dev-python/tomli-2[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.13.2[${PYTHON_USEDEP}] " EPYTEST_DESELECT=( @@ -58,11 +58,25 @@ EPYTEST_DESELECT=( tests/test_core.py::test_scan_archive_with_multiple_videos tests/test_core.py::test_scan_archive_with_no_video tests/test_core.py::test_scan_password_protected_archive + tests/test_archives.py::test_is_supported_archive + tests/test_archives.py::test_scan_archive_with_one_video + tests/test_archives.py::test_scan_archive_with_multiple_videos + tests/test_archives.py::test_scan_archive_with_no_video + tests/test_archives.py::test_scan_password_protected_archive + tests/test_archives.py::test_scan_archive_error + tests/test_archives.py::test_scan_videos_error + 'tests/test_cli.py::test_cli_download_use_absolute_path[never]' + 'tests/test_cli.py::test_cli_download_use_absolute_path[always]' + 'tests/test_cli.py::test_cli_download_use_absolute_path[fallback]' # TODO tests/test_core.py::test_refine_video_metadata ) +PATCHES=( + "${FILESDIR}"/${P}-win32-tests.patch +) + distutils_enable_tests pytest src_unpack() { @@ -82,3 +96,7 @@ python_prepare_all() { distutils-r1_python_prepare_all } + +pkg_postinst() { + optfeature "RAR file support" dev-python/rarfile[compressed] +}
