Date: Thursday, November 3, 2022 @ 22:43:56
  Author: kgizdov
Revision: 1341752

initial release

Modified:
  torchvision/trunk/PKGBUILD

----------+
 PKGBUILD |   78 +++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 45 insertions(+), 33 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-11-03 22:32:44 UTC (rev 1341751)
+++ PKGBUILD    2022-11-03 22:43:56 UTC (rev 1341752)
@@ -12,13 +12,14 @@
 # see also 
https://github.com/pytorch/vision/blob/main/torchvision/csrc/io/decoder/gpu/README.rst
 #
 
-_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.7;8.7+PTX"
-_CUDA_ARCH_LIST_CMAKE="52;53;60;61;62;70;72;75;80;86;87;87-virtual"
+# update when available in pytorch
+_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.9;8.9+PTX" 
#;9.0;9.0+PTX"
+_CUDA_ARCH_LIST_CMAKE="52-real;53-real;60-real;61-real;62-real;70-real;72-real;75-real;80-real;86-real;89-real;89-virtual"
 #;90-real;90-virtual"
 _pkgname=vision
 pkgbase='torchvision'
 pkgname=('torchvision' 'torchvision-cuda' 'python-torchvision' 
'python-torchvision-cuda')
-pkgver=0.13.1
-pkgrel=3
+pkgver=0.14.0
+pkgrel=1
 pkgdesc='Datasets, transforms, and models specific to computer vision'
 arch=('x86_64')
 url='https://github.com/pytorch/vision'
@@ -31,15 +32,14 @@
 )
 optdepends=(
   'ffmpeg4.4: video reader backend (the recommended one with better 
performance)'
-  'python-av: video reader backend (the default one)'
   'python-pycocotools: support for MS-COCO dataset'
 )
 makedepends=(
   cmake
+  ninja
   cuda
   ffmpeg4.4
-  python-av
-  python-pytorch-cuda
+  python-pytorch-opt-cuda
   python-setuptools
   qt5-base
   nvidia-utils
@@ -48,24 +48,29 @@
         
"https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/cuviddec.h";
         
"https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/nvcuvid.h";
 )
-b2sums=('7c44458177f18866b133d8f47fb6b8e1b4f6ecc6a757b46cafe2ae0bbebf582f2b5b64cc208a4c3d6a5e59e740177ed9457c1be36a58b423ae70b5d67a5973e9'
+b2sums=('6ddf5c9bdd11e5f496d994ad69426430eab051a5a7eb4805abae9b17509e3d524b6197bd5ad8966a49d2260ad1c93994a52f09cf5e4f31d85625ed9c990d07e2'
         
'e0e3637aae332c9c9ba0546597685b0368cb569f6d5a0ce2e792e1c204dc787b88d8f149fd0a3fba12527fa3048e41ba8605c3215df5062e6988f22fc5caabc8'
         
'7db5d621f3099bc5455f1faeb7f4c3575a9cf70153ba56a6efc6d67d0ef2ac5438f6e117e621c5ef35c239eb3bce3fe17ce160e6b7765e8203d67a7299085429')
 
 prepare() {
+  cd "${srcdir}/${_pkgname}-${pkgver}"
+
   # fix building with ffmpeg4.4 by manually setup include and lib dir
   # and remove other codes to find ffmpeg exe, as ffmpeg4.4 are only headers 
and libs without ffmpeg cmd
-  sed -i '351,358d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i 's#ffmpeg_include_dir = os.path.join(ffmpeg_root, 
"include")#ffmpeg_include_dir = "/usr/include/ffmpeg4.4"#' 
"${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i 's#ffmpeg_library_dir = os.path.join(ffmpeg_root, 
"lib")#ffmpeg_library_dir = "/usr/lib/ffmpeg4.4"#' 
"${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i 's#has_ffmpeg = ffmpeg_exe is not None#has_ffmpeg = True#' 
"${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i '/ffmpeg_exe/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i '/ffmpeg_bin/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
-  sed -i '/ffmpeg_root/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+  sed -e 's#ffmpeg_include_dir = os.path.join(ffmpeg_root, 
"include")#ffmpeg_include_dir = "/usr/include/ffmpeg4.4"#' \
+      -e 's#ffmpeg_library_dir = os.path.join(ffmpeg_root, 
"lib")#ffmpeg_library_dir = "/usr/lib/ffmpeg4.4"#' \
+      -e 's#has_ffmpeg = ffmpeg_exe is not None#has_ffmpeg = True#' \
+      -e '/ffmpeg_exe/d' \
+      -e '/ffmpeg_bin/d' \
+      -e '/ffmpeg_root/d' \
+      -i setup.py
 
   cp -a "${srcdir}/${_pkgname}-${pkgver}" 
"${srcdir}/${_pkgname}-cuda-${pkgver}"
-  cp -a "${srcdir}/${_pkgname}-${pkgver}" "${srcdir}/py-${_pkgname}-${pkgver}"
-  cp -a "${srcdir}/${_pkgname}-${pkgver}" 
"${srcdir}/py-${_pkgname}-cuda-${pkgver}"
+  cp -a "${srcdir}/${_pkgname}-${pkgver}" 
"${srcdir}/python-${_pkgname}-${pkgver}"
+  # need this to disable CUDA
+  cd "${srcdir}/python-${_pkgname}-${pkgver}"
+  sed -e 's#torch.cuda.is_available()#False#' -i setup.py
+  cp -a "${srcdir}/${_pkgname}-${pkgver}" 
"${srcdir}/python-${_pkgname}-cuda-${pkgver}"
 }
 
 build() {
@@ -81,6 +86,9 @@
     -DCMAKE_CXX_FLAGS="${CXXFLAGS} -O3" \
     -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
     -DWITH_CUDA=OFF
+  make
+
+
   # build torchvision-cuda
   cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
   rm -rf build
@@ -96,13 +104,19 @@
     -DTORCH_CUDA_ARCH_LIST="${_CUDA_ARCH_LIST}" \
     -DCUDA_ARCH_LIST="${_CUDA_ARCH_LIST}" \
     -DCMAKE_CUDA_ARCHITECTURES="${_CUDA_ARCH_LIST_CMAKE}"
+  make
 
+
   # build python-torchvision
-  cd "${srcdir}/py-${_pkgname}-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-${pkgver}"
+  WITH_CUDA=0 \
+  FORCE_CUDA=0 \
+  TORCHVISION_USE_NVJPEG=0 \
   python setup.py build
 
+
   # build python-torchvision-cuda
-  cd "${srcdir}/py-${_pkgname}-cuda-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-cuda-${pkgver}"
   TORCHVISION_INCLUDE=${srcdir} \
   TORCHVISION_LIBRARY=/usr/lib \
   FORCE_CUDA=1 \
@@ -114,19 +128,19 @@
   local python_version=$(python -c 'import sys; print("".join(map(str, 
sys.version_info[:2])))')
   # check if VideoReader is build
   # VideoReader depends on ffmpeg
-  cd "${srcdir}/py-${_pkgname}-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-${pkgver}"
   PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-cpython-${python_version}" \
   python -c "from torchvision.io import VideoReader"
 
-  cd "${srcdir}/py-${_pkgname}-cuda-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-cuda-${pkgver}"
   PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-cpython-${python_version}" \
   python -c "from torchvision.io import VideoReader"
 }
 
 package_python-torchvision() {
-  depends+=(python-pytorch)
+  depends+=('python-pytorch')
 
-  cd "${srcdir}/py-${_pkgname}-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-${pkgver}"
   python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
   install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
 }
@@ -133,11 +147,11 @@
 
 package_python-torchvision-cuda() {
   pkgdesc='Datasets, transforms, and models specific to computer vision (with 
GPU support)'
-  depends+=(python-pytorch-cuda)
-  provides+=(python-torchvision=${pkgver})
-  conflicts+=(python-torchvision=${pkgver})
+  depends+=('python-pytorch-cuda')
+  provides+=('python-torchvision')
+  conflicts+=('python-torchvision')
 
-  cd "${srcdir}/py${_pkgname}-cuda-${pkgver}"
+  cd "${srcdir}/python-${_pkgname}-cuda-${pkgver}"
   TORCHVISION_INCLUDE=${srcdir} \
   TORCHVISION_LIBRARY=/usr/lib \
   FORCE_CUDA=1 \
@@ -148,9 +162,7 @@
 
 package_torchvision() {
   pkgdesc='Datasets, transforms, and models specific to computer vision (C++ 
library only)'
-  depends+=(python-pytorch-cuda)
-  provides+=(torchvision=${pkgver})
-  conflicts+=(torchvision=${pkgver})
+  depends+=('python-pytorch-cuda')
 
   cd "${srcdir}/${_pkgname}-${pkgver}"
   make -C build install DESTDIR="$pkgdir"
@@ -158,9 +170,9 @@
 }
 package_torchvision-cuda() {
   pkgdesc='Datasets, transforms, and models specific to computer vision (C++ 
library only with GPU support)'
-  depends+=(python-pytorch-cuda)
-  provides+=(torchvision=${pkgver})
-  conflicts+=(torchvision=${pkgver})
+  depends+=('python-pytorch-cuda')
+  provides+=('torchvision')
+  conflicts+=('torchvision')
 
   cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
   make -C build install DESTDIR="$pkgdir"

Reply via email to