commit:     9932484f31b23bd05e5fe52cfa37b9909907bd6e
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Sat Jul  5 21:23:41 2025 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Jul  6 08:50:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9932484f

sci-ml/torchvision: add rocm support and fix multilib issues

Closes: https://bugs.gentoo.org/959589
Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42891
Closes: https://github.com/gentoo/gentoo/pull/42891
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 sci-ml/torchvision/metadata.xml                    |  3 ++
 ...21.0-r1.ebuild => torchvision-0.21.0-r2.ebuild} | 36 +++++++++++++++++-----
 2 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/sci-ml/torchvision/metadata.xml b/sci-ml/torchvision/metadata.xml
index c79707bc8e29..25b9e992eee0 100644
--- a/sci-ml/torchvision/metadata.xml
+++ b/sci-ml/torchvision/metadata.xml
@@ -5,6 +5,9 @@
                <email>[email protected]</email>
                <name>Alfredo Tupone</name>
        </maintainer>
+       <use>
+               <flag name="rocm">Enable ROCm gpu computing support</flag>
+       </use>
        <upstream>
                <remote-id type="github">pytorch/vision</remote-id>
        </upstream>

diff --git a/sci-ml/torchvision/torchvision-0.21.0-r1.ebuild 
b/sci-ml/torchvision/torchvision-0.21.0-r2.ebuild
similarity index 73%
rename from sci-ml/torchvision/torchvision-0.21.0-r1.ebuild
rename to sci-ml/torchvision/torchvision-0.21.0-r2.ebuild
index 85547e6cc670..220ff1706966 100644
--- a/sci-ml/torchvision/torchvision-0.21.0-r1.ebuild
+++ b/sci-ml/torchvision/torchvision-0.21.0-r2.ebuild
@@ -19,16 +19,20 @@ S="${WORKDIR}"/vision-${PV}
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="cuda"
+IUSE="cuda +ffmpeg +jpeg +png rocm +webp"
+
+REQUIRED_USE="
+       ?? ( cuda rocm )
+"
 
 RDEPEND="
        dev-python/numpy
        dev-python/pillow
-       media-libs/libjpeg-turbo:=
-       media-libs/libpng:=
-       media-libs/libwebp
-       media-video/ffmpeg
-       sci-ml/caffe2[cuda?]
+       jpeg? ( media-libs/libjpeg-turbo:= )
+       png? ( media-libs/libpng:= )
+       webp? ( media-libs/libwebp )
+       ffmpeg? ( media-video/ffmpeg )
+       sci-ml/caffe2[cuda?,rocm?]
        sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
 "
 
@@ -44,6 +48,10 @@ BDEPEND="
 PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
 
 src_prepare() {
+       # multilib fixes
+       sed "s/ffmpeg_root, \"lib\"/ffmpeg_root, \"$(get_libdir)\"/" \
+               -i setup.py || die
+
        use cuda && cuda_src_prepare
        distutils-r1_src_prepare
 }
@@ -53,8 +61,20 @@ distutils_enable_tests pytest
 python_compile() {
        addpredict /dev/kfd
 
-       FORCE_CUDA=$(usex cuda 1 0) \
-               NVCC_FLAGS="${NVCCFLAGS}" \
+       export FORCE_CUDA=0
+       if use cuda || use rocm ; then
+         export FORCE_CUDA=1
+       fi
+
+       export TORCHVISION_USE_PNG=$(usex png 1 0)
+       export TORCHVISION_USE_JPEG=$(usex jpeg 1 0)
+       export TORCHVISION_USE_WEBP=$(usex webp 1 0)
+       export TORCHVISION_USE_FFMPEG=$(usex ffmpeg 1 0)
+
+       export TORCHVISION_USE_NVJPEG=$(usex cuda 1 0)
+       export TORCHVISION_USE_VIDEO_CODEC=$(usex cuda 1 0)
+
+       NVCC_FLAGS="${NVCCFLAGS}" \
                MAX_JOBS="$(makeopts_jobs)" \
                distutils-r1_python_compile -j1
 }

Reply via email to