diff --git a/media-video/subliminal/Manifest b/media-video/subliminal/Manifest index bf9859e755048..d3eb6df9d133b 100644 --- a/media-video/subliminal/Manifest +++ b/media-video/subliminal/Manifest @@ -1,2 +1,3 @@ DIST matroska_test_w1_1.zip 184550509 BLAKE2B f111725aa08267661942072c2d4ac019d3d322c4e933aad10afb3aa6f69bb3469114c4400d161e53d8a7618b818b22465177460003804a7ac3e69fa4f4db000d SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f DIST subliminal-2.6.0.gh.tar.gz 4090627 BLAKE2B 7b09fd9478bdf36d22f608c643f5bbb8060540f2c526a47b30702d1339ac577c782a87672121459e2ad4e47730a7e3d9fd50bbd0f02056461ec8df32ef569854 SHA512 a6fb3264aeb7c0efbc37fbc1de87a6ebe6788dd4609b8dc5acbf5b7b8548afa5b44cf0cb1df4ab24fbf5de148a38309e8877595d1b2d2b44518305c198e29ffc +DIST subliminal-2.7.0.gh.tar.gz 4103669 BLAKE2B a394418af3e614fe346f219e5efd7d4abc19aebdd4918a038c355145c36108492a5d10858555d4d42d2b134de75149c42813d40157f4e3800a60c49ac59c0ba4 SHA512 06d1bc7a74ff57be54c23b2de60192018753eaa4599d3fe834c6587191e28da5a18cccc5ca6ddab4b4a9756c13e7ce694d2f7d1de44beae48a2273e6459423eb diff --git a/media-video/subliminal/subliminal-2.7.0.ebuild b/media-video/subliminal/subliminal-2.7.0.ebuild new file mode 100644 index 0000000000000..2dca17d8bf4d8 --- /dev/null +++ b/media-video/subliminal/subliminal-2.7.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE='xml(+)' + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library to search and download subtitles" +HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Diaoul/${PN}.git" + EGIT_BRANCH="develop" +else + SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )" + +LICENSE="MIT" +SLOT="0" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + app-arch/unzip + dev-python/rarfile[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + >=dev-python/vcrpy-1.6.1[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + >=dev-python/babelfish-0.6.1[${PYTHON_USEDEP}] + >=dev-python/beautifulsoup4-4.4.0[${PYTHON_USEDEP}] + >=dev-python/chardet-5.0[${PYTHON_USEDEP}] + >=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/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/requests-2.0[${PYTHON_USEDEP}] + >=dev-python/srt-3.5[${PYTHON_USEDEP}] + >=dev-python/stevedore-3.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.13.2[${PYTHON_USEDEP}] +" + +EPYTEST_DESELECT=( + # Needs network + tests/test_core.py::test_scan_archive_with_one_video + 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 + + # TODO + tests/test_core.py::test_refine_video_metadata + + # https://github.com/guessit-io/guessit/issues/796 (fixed in guessit-4.0.0) + tests/test_video.py::test_episode_fromname_guessit_bug +) + +EPYTEST_IGNORE=( + # Needs pypandoc and irrelevant for us + scripts/generate-gh-release-notes.py + # Needs network + tests/cli/test_download.py +) + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_unpack() { + # Needed to unpack the test data + default + + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi +} + +python_prepare_all() { + if use test ; then + mkdir -p tests/data/mkv || die + ln -s "${WORKDIR}"/test*.mkv tests/data/mkv/ || die + fi + + 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 ac28bbf1da287..2dca17d8bf4d8 100644 --- a/media-video/subliminal/subliminal-9999.ebuild +++ b/media-video/subliminal/subliminal-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -70,6 +70,9 @@ EPYTEST_DESELECT=( # TODO tests/test_core.py::test_refine_video_metadata + + # https://github.com/guessit-io/guessit/issues/796 (fixed in guessit-4.0.0) + tests/test_video.py::test_episode_fromname_guessit_bug ) EPYTEST_IGNORE=( @@ -81,6 +84,7 @@ EPYTEST_IGNORE=( export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} +EPYTEST_PLUGINS=() distutils_enable_tests pytest src_unpack() {