commit:     0ea11ffc786a8b73b5211866a7a5b4e69a599cbc
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  9 08:09:13 2025 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Nov  9 08:09:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ea11ffc

sci-ml/torchvision: fix for ffmpeg8

Closes: https://bugs.gentoo.org/965481
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 sci-ml/torchvision/files/torchvision-0.24.0-ffmpeg8.patch  | 14 ++++++++++++++
 ...chvision-0.24.0.ebuild => torchvision-0.23.0-r1.ebuild} | 12 ++++++++----
 ...chvision-0.23.0.ebuild => torchvision-0.24.0-r1.ebuild} | 12 ++++++++----
 3 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/sci-ml/torchvision/files/torchvision-0.24.0-ffmpeg8.patch 
b/sci-ml/torchvision/files/torchvision-0.24.0-ffmpeg8.patch
new file mode 100644
index 000000000000..f76daeadb153
--- /dev/null
+++ b/sci-ml/torchvision/files/torchvision-0.24.0-ffmpeg8.patch
@@ -0,0 +1,14 @@
+--- a/torchvision/csrc/io/decoder/video_stream.cpp     2025-11-09 
08:27:33.348292544 +0100
++++ b/torchvision/csrc/io/decoder/video_stream.cpp     2025-11-09 
08:37:41.401470709 +0100
+@@ -122,7 +122,11 @@
+ void VideoStream::setHeader(DecoderHeader* header, bool flush) {
+   Stream::setHeader(header, flush);
+   if (!flush) { // no frames for video flush
++#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(58,7,100)
++    header->keyFrame = frame_->flags & AV_FRAME_FLAG_KEY;
++#else
+     header->keyFrame = frame_->key_frame;
++#endif
+     header->fps = av_q2d(av_guess_frame_rate(
+         inputCtx_, inputCtx_->streams[format_.stream], nullptr));
+   }

diff --git a/sci-ml/torchvision/torchvision-0.24.0.ebuild 
b/sci-ml/torchvision/torchvision-0.23.0-r1.ebuild
similarity index 92%
rename from sci-ml/torchvision/torchvision-0.24.0.ebuild
rename to sci-ml/torchvision/torchvision-0.23.0-r1.ebuild
index f78e7a86fe5c..dfebd8855d15 100644
--- a/sci-ml/torchvision/torchvision-0.24.0.ebuild
+++ b/sci-ml/torchvision/torchvision-0.23.0-r1.ebuild
@@ -27,13 +27,15 @@ REQUIRED_USE="
 "
 
 RDEPEND="
-       dev-python/numpy
-       dev-python/pillow
+       $(python_gen_cond_dep '
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/pillow[${PYTHON_USEDEP}]
+       ')
        jpeg? ( media-libs/libjpeg-turbo:= )
        png? ( media-libs/libpng:= )
        webp? ( media-libs/libwebp )
        ffmpeg? ( media-video/ffmpeg )
-       sci-ml/caffe2[cuda?,rocm?]
+       sci-ml/caffe2[cuda?,rocm?,${PYTHON_SINGLE_USEDEP}]
        sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
 "
 
@@ -48,6 +50,8 @@ BDEPEND="
 
 distutils_enable_tests pytest
 
+PATCHES=( "${FILESDIR}"/${PN}-0.24.0-ffmpeg8.patch )
+
 src_prepare() {
        # multilib fixes
        sed "s/ffmpeg_root, \"lib\"/ffmpeg_root, \"$(get_libdir)\"/" \
@@ -84,7 +88,7 @@ python_compile() {
 }
 
 python_test() {
-       rm -rf torchvision || die
+       rm -r torchvision || die
 
        local EPYTEST_IGNORE=(
                test/test_videoapi.py

diff --git a/sci-ml/torchvision/torchvision-0.23.0.ebuild 
b/sci-ml/torchvision/torchvision-0.24.0-r1.ebuild
similarity index 92%
rename from sci-ml/torchvision/torchvision-0.23.0.ebuild
rename to sci-ml/torchvision/torchvision-0.24.0-r1.ebuild
index f78e7a86fe5c..cee8d4bfed4c 100644
--- a/sci-ml/torchvision/torchvision-0.23.0.ebuild
+++ b/sci-ml/torchvision/torchvision-0.24.0-r1.ebuild
@@ -27,13 +27,15 @@ REQUIRED_USE="
 "
 
 RDEPEND="
-       dev-python/numpy
-       dev-python/pillow
+       $(python_gen_cond_dep '
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/pillow[${PYTHON_USEDEP}]
+       ')
        jpeg? ( media-libs/libjpeg-turbo:= )
        png? ( media-libs/libpng:= )
        webp? ( media-libs/libwebp )
        ffmpeg? ( media-video/ffmpeg )
-       sci-ml/caffe2[cuda?,rocm?]
+       sci-ml/caffe2[cuda?,rocm?,${PYTHON_SINGLE_USEDEP}]
        sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
 "
 
@@ -48,6 +50,8 @@ BDEPEND="
 
 distutils_enable_tests pytest
 
+PATCHES=( "${FILESDIR}"/${P}-ffmpeg8.patch )
+
 src_prepare() {
        # multilib fixes
        sed "s/ffmpeg_root, \"lib\"/ffmpeg_root, \"$(get_libdir)\"/" \
@@ -84,7 +88,7 @@ python_compile() {
 }
 
 python_test() {
-       rm -rf torchvision || die
+       rm -r torchvision || die
 
        local EPYTEST_IGNORE=(
                test/test_videoapi.py

Reply via email to