mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-23 18:38:08 -07:00
media-video/subliminal: enable py3.11, use PEP517, fix runtime w/ rarfile
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
https://github.com/Diaoul/subliminal/pull/1045
|
||||
|
||||
From e9ed47e61a63ad0e0cdb036375ffa5a144953f1e Mon Sep 17 00:00:00 2001
|
||||
From: Eduardo Soares <eduardosoares.pt@gmail.com>
|
||||
Date: Fri, 24 Dec 2021 17:08:04 +0000
|
||||
Subject: [PATCH] Fix removal of custom check from rarfile dependency
|
||||
|
||||
---
|
||||
subliminal/providers/legendastv.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/subliminal/providers/legendastv.py b/subliminal/providers/legendastv.py
|
||||
index 9d696ca24..bf57a22dc 100644
|
||||
--- a/subliminal/providers/legendastv.py
|
||||
+++ b/subliminal/providers/legendastv.py
|
||||
@@ -161,7 +161,7 @@ def __init__(self, username=None, password=None):
|
||||
|
||||
# Provider needs UNRAR installed. If not available raise ConfigurationError
|
||||
try:
|
||||
- rarfile.custom_check([rarfile.UNRAR_TOOL], True)
|
||||
+ rarfile.tool_setup(True, False, False, True)
|
||||
except rarfile.RarExecError:
|
||||
raise ConfigurationError('UNRAR tool not available')
|
||||
|
||||
|
||||
95
media-video/subliminal/subliminal-2.1.0-r2.ebuild
Normal file
95
media-video/subliminal/subliminal-2.1.0-r2.ebuild
Normal file
@@ -0,0 +1,95 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE='xml(+)'
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
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}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Python library to search and download subtitles"
|
||||
HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
|
||||
SRC_URI+=" test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
app-arch/unzip
|
||||
dev-python/sympy[${PYTHON_USEDEP}]
|
||||
>=dev-python/vcrpy-1.6.1[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-python/appdirs-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/babelfish-0.5.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/beautifulsoup4-4.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/chardet-2.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/click-4.0[${PYTHON_USEDEP}]
|
||||
dev-python/decorator[${PYTHON_USEDEP}]
|
||||
>=dev-python/dogpile-cache-0.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/enzyme-0.4.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/guessit-2.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/pysrt-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2012c[${PYTHON_USEDEP}]
|
||||
>=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-fix-pytest-warning.patch
|
||||
"${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
|
||||
)
|
||||
|
||||
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() {
|
||||
# Disable code checkers as they require unavailable dependencies.
|
||||
sed -i -e 's/--\(pep8\|flakes\)//g' pytest.ini || die
|
||||
|
||||
# Disable unconditional dependency on dev-python/pytest-runner.
|
||||
sed -i -e "s|'pytest-runner'||g" setup.py || die
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
python_test() {
|
||||
EPYTEST_DESELECT=(
|
||||
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
|
||||
# NotImplementedError
|
||||
tests/test_core.py::test_save_subtitles
|
||||
)
|
||||
|
||||
epytest
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE='xml(+)'
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@@ -15,6 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_BRANCH="develop"
|
||||
else
|
||||
SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Python library to search and download subtitles"
|
||||
@@ -50,7 +51,8 @@ RDEPEND="
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.0-fix-pytest-warning.patch"
|
||||
"${FILESDIR}"/${P}-fix-pytest-warning.patch
|
||||
"${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
@@ -80,16 +82,14 @@ python_prepare_all() {
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local skipped_tests=(
|
||||
EPYTEST_DESELECT=(
|
||||
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
|
||||
# NotImplementedError
|
||||
tests/test_core.py::test_save_subtitles
|
||||
)
|
||||
|
||||
# Two tests that list providers rely on entry points
|
||||
# so they need the package to be installed
|
||||
distutils_install_for_testing
|
||||
pytest -vv --ignore ${PN}/test/test_core.py ${skipped_tests[@]/#/--deselect } \
|
||||
|| die "Tests fail with ${EPYTHON}"
|
||||
epytest
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user