commit:     f2a9993afbc4a4ced0c2a03a57e52515e2d4e4cf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 18 01:53:18 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 02:09:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2a9993a

media-video/subliminal: enable py3.11, use PEP517, fix runtime w/ rarfile

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../subliminal-2.1.0-rarfile-4.0-compat.patch      | 25 ++++++++++++++++++++++
 ...inal-9999.ebuild => subliminal-2.1.0-r2.ebuild} | 20 ++++++++---------
 media-video/subliminal/subliminal-9999.ebuild      | 20 ++++++++---------
 3 files changed, 45 insertions(+), 20 deletions(-)

diff --git 
a/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch 
b/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch
new file mode 100644
index 000000000000..55b8b9484808
--- /dev/null
+++ b/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch
@@ -0,0 +1,25 @@
+https://github.com/Diaoul/subliminal/pull/1045
+
+From e9ed47e61a63ad0e0cdb036375ffa5a144953f1e Mon Sep 17 00:00:00 2001
+From: Eduardo Soares <[email protected]>
+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')
+ 
+

diff --git a/media-video/subliminal/subliminal-9999.ebuild 
b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
similarity index 85%
copy from media-video/subliminal/subliminal-9999.ebuild
copy to media-video/subliminal/subliminal-2.1.0-r2.ebuild
index 792931859484..a3c58afc2d5e 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
@@ -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
 }

diff --git a/media-video/subliminal/subliminal-9999.ebuild 
b/media-video/subliminal/subliminal-9999.ebuild
index 792931859484..a3c58afc2d5e 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -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
 }

Reply via email to