summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-16 02:03:12 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-16 02:03:12 +0000
commitb435e036d9775b71048373b91d4c7c3398826858 (patch)
treea052e1ef783006a9481cac27318cd9b3a6fec7a8 /sci-libs
parent0da5c40f264673f79a9d8c95d465d1cab718d282 (diff)
gentoo auto-resync : 16:02:2023 - 02:03:12
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/Manifest.gzbin43592 -> 43598 bytes
-rw-r--r--sci-libs/caffe2/Manifest2
-rw-r--r--sci-libs/caffe2/caffe2-1.13.1.ebuild169
-rw-r--r--sci-libs/pytorch/Manifest3
-rw-r--r--sci-libs/pytorch/files/pytorch-1.13.1-global-dlopen.patch23
-rw-r--r--sci-libs/pytorch/pytorch-1.13.1.ebuild62
6 files changed, 259 insertions, 0 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index a3a1854bc469..dd434cda8d58 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
diff --git a/sci-libs/caffe2/Manifest b/sci-libs/caffe2/Manifest
index bd7c30826634..ff758eb7e09f 100644
--- a/sci-libs/caffe2/Manifest
+++ b/sci-libs/caffe2/Manifest
@@ -7,7 +7,9 @@ AUX caffe2-1.13.0-install-dirs.patch 5737 BLAKE2B 10b10e3a29976344c7596e1c4e7a60
DIST pytorch-1.12.0.tar.gz 106286765 BLAKE2B ff9bafedb35f859f7dccb9b606299cf9c345bdaa0deb87ecfe0c0c30c3c828414d989e1d9a243d9b7cd3f376d56a2f81c241ca2e3c9a8a2b30cddcdeddd3a5c7 SHA512 c9c748a2e0047daaaf199a1ba3198d2d1aee47f664170a9b34ccacd3deeb95f2070e4035eeb900012ef48dc62cf6fb6806f1a1dfe22de8c94892963076e593b7
DIST pytorch-1.12.1.tar.gz 106311625 BLAKE2B e8ca19d0e1987449c33ad4c36722a3a467f7f8a9f90be2a7f2de643cbd665038f6802b5ff1f1d3da09b6253d8f29e11549a24295de013d97f73affe538c84c99 SHA512 afeb551904ebd9b5901ae623a98eadbb3045115247cedf8006a940742cfad04e5ce24cfaf363336a9ed88d7ce6a4ac53dbb6a5c690aef6efdf20477c3a22c7ca
DIST pytorch-1.13.0.tar.gz 108276317 BLAKE2B 8149775dea06d8e4027b741c828169d33f768a96aef58cd2f86daa3bbad5bf36143454e26b683a992aca34e7fb52e6483c46168b698db48ff6978c9605d7a3d2 SHA512 5a0e8c589bdf552ccf682511a8860c754ab6f5844f51e568c5034793f787b97707af4340b338b9b8606dd27a6ced6ef50091f0cc514458b3021a2220409d7f20
+DIST pytorch-1.13.1.tar.gz 108279745 BLAKE2B 75de03b74dfdaf8d8fb5ea743fcc0c1b0e408a714ad4160c487921220a7b1755e5fa6e587e6bbc8c9f34dd75e096d2e6dd69c80d24821835fff6c833314434d3 SHA512 f16f89d027efade11d057245cad5b69a390e88b458398310ae30de2dbff7c8fd7f1165be7b8da7ea989c81ac3f5a66c5cb9050610e441a97c83fb8aa28c0bd62
EBUILD caffe2-1.12.0-r1.ebuild 4381 BLAKE2B fad2f6e2eef68f2dfca24511580bcf2de32e04e60d610cf4ba9b1e57299bc126c80af87124a5b3b3db2de3a80af8c7ae238c44ed98d6fdfaa063f8d9a98f97f0 SHA512 6a2c7316f077d1ef56721b82ae558a17190cf6c1ecbcdf22ff996afde22c1d95b2be3fbfaecd1bf2c7436bfc84d82485f6a84d08d115a0f9048813b2b144a607
EBUILD caffe2-1.12.1.ebuild 4397 BLAKE2B 04a3885842bd361078748bc5e1f7b8dac784b874978f6eebf9f233ff4938ec28113ec025d8b1799f8677c5fc86820250aa255ff8691d4ec5566a2fed6d2895bc SHA512 0cbd35bd21e1b1cdb7ecbb1b1c57233ff993c5e430503f737b9ac127a9a7ae91c27679b0ffd0ae8d5032a361d9cd79cf4f963409ce88ab9c102586cf5bc49f5b
EBUILD caffe2-1.13.0-r1.ebuild 4476 BLAKE2B 4fc42d2a041dc5a1029456e0ea14036766777c3a20638abc418d45e7d374d377eecc8b63adf83604ba83be9f8a7d3bcd19df1b272d1a4319e566b57b10a930e3 SHA512 c373275ee944b39b31a031b61a55744aaf458474c5905cfa26a575a919ecfba4dd6910d451b0d05725933c27bc506718b49319eee5a526eb0ba304ad044c7d42
+EBUILD caffe2-1.13.1.ebuild 4492 BLAKE2B 7a9e2b2d9f7c580786045a9ed39185d70b69e406dbdb0aede8c06cb2b3fea82faf12a8a96505ae9891dc620fe8d0d884832a4219e162e93b777a065f215f22b6 SHA512 19e120c04e5df68f74818fa2d7b6649e7674a0c1307543c2d69f3654c67fb39e0c37ac72dd779aa84aa60f752237481878bb66f40a77872393eb7974110a1c96
MISC metadata.xml 961 BLAKE2B 7e0924bce6c952cf8b5e997a50e11aad18d572060087ab877d9600399712a6e46f7bee9938aef6b7af142de21046c1cbe541302a68a20072d1040e7b084b202c SHA512 9ff387a4d11eb83799665e38690f0c668ea6147ab92cc8fd68d4fb60590e51863d4530b885f71bd660429c6d38e573a2a7d8fca5e0139b82111ab05cb61b67d9
diff --git a/sci-libs/caffe2/caffe2-1.13.1.ebuild b/sci-libs/caffe2/caffe2-1.13.1.ebuild
new file mode 100644
index 000000000000..caf62fd84b8f
--- /dev/null
+++ b/sci-libs/caffe2/caffe2-1.13.1.ebuild
@@ -0,0 +1,169 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+inherit python-single-r1 cmake flag-o-matic
+
+MYPN=pytorch
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="A deep learning framework"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda ffmpeg nnpack +numpy opencl opencv openmp qnnpack xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( opencv )
+" # ?? ( cuda rocm )
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-libs/cpuinfo
+ dev-libs/libfmt
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ sci-libs/lapack
+ >=sci-libs/onnx-1.12.0
+ sci-libs/foxi
+ cuda? (
+ =dev-libs/cudnn-8*
+ dev-libs/cudnn-frontend:0/8
+ dev-util/nvidia-cuda-toolkit:=[profiler]
+ )
+ ffmpeg? ( media-video/ffmpeg:= )
+ nnpack? ( sci-libs/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv:= )
+ qnnpack? ( sci-libs/QNNPACK )
+ xnnpack? ( sci-libs/XNNPACK )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen
+ dev-libs/psimd
+ dev-libs/FP16
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/flatbuffers
+ sci-libs/kineto
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.13.0-gentoo.patch
+ "${FILESDIR}"/${PN}-1.13.0-install-dirs.patch
+ "${FILESDIR}"/${PN}-1.12.0-glog-0.6.0.patch
+ "${FILESDIR}"/${PN}-1.12.0-clang.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+}
+
+src_configure() {
+ if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
+ ewarn "WARNING: caffe2 is being built with its default CUDA compute capabilities: 3.5 and 7.0."
+ ewarn "These may not be optimal for your GPU."
+ ewarn ""
+ ewarn "To configure caffe2 with the CUDA compute capability that is optimal for your GPU,"
+ ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge caffe2."
+ ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5,3.5"
+ ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell"
+ ewarn ""
+ ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
+ ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=$(usex cuda)
+ -DUSE_CUDNN=$(usex cuda)
+ -DUSE_FAST_NVCC=$(usex cuda)
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DUSE_DISTRIBUTED=OFF
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=OFF # TODO
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=OFF
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_LEVELDB=OFF
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=OFF
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_QNNPACK=$(usex qnnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_PYTORCH_QNNPACK=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=OFF # TODO
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_VALGRIND=OFF
+ -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_ITT=OFF
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_TENSORPIPE=OFF
+
+ -Wno-dev
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ use cuda && addpredict "/dev/nvidiactl" # bug 867706
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+
+ rm -rf python
+ mkdir -p python/torch/include || die
+ mv "${ED}"/usr/lib/python*/site-packages/caffe2 python/ || die
+ mv "${ED}"/usr/include/torch python/torch/include || die
+ cp torch/version.py python/torch/ || die
+ rm -r "${ED}"/var/tmp || die
+ python_domodule python/caffe2
+ python_domodule python/torch
+}
diff --git a/sci-libs/pytorch/Manifest b/sci-libs/pytorch/Manifest
index 5d03df76ecf7..442dde7ef595 100644
--- a/sci-libs/pytorch/Manifest
+++ b/sci-libs/pytorch/Manifest
@@ -1,13 +1,16 @@
AUX 0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch 599 BLAKE2B 4ad99f05d69f53336e6c874b7783c5fb9e800808c6adf588263af215eda865ddf215df8fa803e48220b879fd2f90d71139a6e38bbdc947abc7854cab88a756ad SHA512 fd0e3db9cb68e14d3d90a613d91511acc752c1d764bada85e6dace59b45fe2cf42bca6b77c281084bd04de88d5fefbb5d81be165d288ed3da251e7b0d4c6e86e
AUX pytorch-1.12.0-CVE-2022-45907.patch 2368 BLAKE2B b1d5bb1983ab01f325d27bdd1212d16d1b814cbc06d8e8df86b15fd39ec1d9ba65e4dda151efcd17599a69292a79b465f377b381c6e329945ccce745fea3d0ab SHA512 2a7d22642f0c49fbed3a728b5e9185621f46fa9f1355774f9cdcb13c1212b717289e929e34143d49be6b7026a007d7c23e921ed84ed8f5ec19de1804ea901732
AUX pytorch-1.13.0-setup.patch 357 BLAKE2B 9741c5285353ac09581f54a823e77b069afbe5d9165a6545bd50a2b020298a358783d61fc5923188ddf7fec0929ec92eabeefc8c3be329793f12326aef5f89c5 SHA512 4632b0ea06704122e86dd27836d96ee59fc1ea236e69031fc65a21b2c9eafae21fc9344e55f17ee0c6374e3368f7ad1e3cec3b2be1af5e21bd10902684c72161
+AUX pytorch-1.13.1-global-dlopen.patch 961 BLAKE2B 215e85440efef71df0e96c1014c8922237016e433c639ae3b002266a43e01da8686bd89d1e50ed0164ac29bbde902ff3df9abdfff304cfede856ebd125bb1c58 SHA512 b924ec573f8225bd2655f7c6c5e344909754a5330ce0a78d5cf00620884e15b23698ca99125fd74bcb12f300161aa3dd881a921fd51b2caa974709a81e8a2ee9
AUX pytorch-1.6.0-global-dlopen.patch 592 BLAKE2B a5e3742fcb0cf2286a9406e11bade1eea43a11e1982853cf07531cdf7b2c62c3619b8973ead1059faae35e64d3c3ed3ea53407bc9e61e597a828ed8d79c12137 SHA512 28e22b5321cf6e894828bb33a94a3fff14999470fffe941dcb515cd3701630ece41676bbb2d2509bbe8904c5a7016a109770c6192d7c787365184770de933390
AUX pytorch-1.7.1-torch_shm_manager.patch 441 BLAKE2B 28b87353a0afa0ef25c8ab00e204998b4fb3472fbbb5bb2b300a3fb22d864846d51ccef652ce331484c7a522f7d74e6674c1ceaf26d0a4956d1c8b57b29a7428 SHA512 08f2e5f35768e70713a1432797d9fbe0b133a80ae7dff2898e4b9b51ab398f88bce90a0698b3c9f77bf8a4c5c054911c22931d0684276a0b6d4f2afb69633088
AUX pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch 1063 BLAKE2B c93cb4c1ff40ef332cd518474a397e9b61d310f4cbdb8701c18749f103533a69e4a3e892f1e3613113cc97ae320951dacb956025ba6be694c5275448d2af3a78 SHA512 7931a220068a36b15ee0f282161f23422acdbef32990bd1eafeab55e06131748f5b4ad93e6a0dc7a4f92e7ebd0595a97835c768b46dd7139f626df666642ce18
DIST pytorch-1.12.0.tar.gz 106286765 BLAKE2B ff9bafedb35f859f7dccb9b606299cf9c345bdaa0deb87ecfe0c0c30c3c828414d989e1d9a243d9b7cd3f376d56a2f81c241ca2e3c9a8a2b30cddcdeddd3a5c7 SHA512 c9c748a2e0047daaaf199a1ba3198d2d1aee47f664170a9b34ccacd3deeb95f2070e4035eeb900012ef48dc62cf6fb6806f1a1dfe22de8c94892963076e593b7
DIST pytorch-1.12.1.tar.gz 106311625 BLAKE2B e8ca19d0e1987449c33ad4c36722a3a467f7f8a9f90be2a7f2de643cbd665038f6802b5ff1f1d3da09b6253d8f29e11549a24295de013d97f73affe538c84c99 SHA512 afeb551904ebd9b5901ae623a98eadbb3045115247cedf8006a940742cfad04e5ce24cfaf363336a9ed88d7ce6a4ac53dbb6a5c690aef6efdf20477c3a22c7ca
DIST pytorch-1.13.0.tar.gz 108276317 BLAKE2B 8149775dea06d8e4027b741c828169d33f768a96aef58cd2f86daa3bbad5bf36143454e26b683a992aca34e7fb52e6483c46168b698db48ff6978c9605d7a3d2 SHA512 5a0e8c589bdf552ccf682511a8860c754ab6f5844f51e568c5034793f787b97707af4340b338b9b8606dd27a6ced6ef50091f0cc514458b3021a2220409d7f20
+DIST pytorch-1.13.1.tar.gz 108279745 BLAKE2B 75de03b74dfdaf8d8fb5ea743fcc0c1b0e408a714ad4160c487921220a7b1755e5fa6e587e6bbc8c9f34dd75e096d2e6dd69c80d24821835fff6c833314434d3 SHA512 f16f89d027efade11d057245cad5b69a390e88b458398310ae30de2dbff7c8fd7f1165be7b8da7ea989c81ac3f5a66c5cb9050610e441a97c83fb8aa28c0bd62
EBUILD pytorch-1.12.0-r2.ebuild 1490 BLAKE2B 4453c84ab9d97b5cc1155e7593adb23787736866b08ec369958c4ba6830a6bdf3545dca8e47fde12838417487eccbdb67786c320465a1ed87a3a2efd3f97f7d8 SHA512 fa3df152625bc1ae314079f91f54c40fbbd635841c52c1cb495e2558f20d5c4873f215de0d6c37bce4d83b6051b59d1647294c60b817aae8831a5540c16483db
EBUILD pytorch-1.12.1.ebuild 1490 BLAKE2B 4453c84ab9d97b5cc1155e7593adb23787736866b08ec369958c4ba6830a6bdf3545dca8e47fde12838417487eccbdb67786c320465a1ed87a3a2efd3f97f7d8 SHA512 fa3df152625bc1ae314079f91f54c40fbbd635841c52c1cb495e2558f20d5c4873f215de0d6c37bce4d83b6051b59d1647294c60b817aae8831a5540c16483db
EBUILD pytorch-1.13.0.ebuild 1525 BLAKE2B 6f63abca973e2a191a965e876a054ad3307fe9c7c65a3fea2bad0f1d80d3fd3a4c28c5a04cf45cba1b59ccbe8d71987ebba891ddd96bea3c017168cbb3c2e2cb SHA512 d2cdd4b50b9c8074846e76d9246627cf3581a91f08470eaee78e8ab8537521ad9faa9a5086a9322aa82843128dd2ae0151a1de342bf9707e32bf45856ce54509
+EBUILD pytorch-1.13.1.ebuild 1474 BLAKE2B fc2e0564e659c230c71a75fbbb184a38ab52b8f5aca1604b6b8519a4ba96c62f2cce602c71ed1d93f334859fb63b839b7aef049fa898af121d0049668b7d189b SHA512 a0a98611efac82cff80da6fdec47fd8822c65502500e9bf749ca47f29e952144f4f3217565503a36f25cff0dd2055996205843d38055f2c3d4b702c946d2954e
MISC metadata.xml 328 BLAKE2B f49c6d62ac88dfffe497ed05b1f727941a94acb87a809611dda8aedbd87508fdfdf94ec0e025cac2a649b0881b600236289943b4be0f6ca44fc105b6d8fbe97c SHA512 16c29d2c1177a89026235191ea3e33870c2e6b63f029b7febd4dbd2e99f598fab4b4fd2fa7a801ffd88393663a00752300e6e2cc847a83690b715bcc481d9dc2
diff --git a/sci-libs/pytorch/files/pytorch-1.13.1-global-dlopen.patch b/sci-libs/pytorch/files/pytorch-1.13.1-global-dlopen.patch
new file mode 100644
index 000000000000..4f414be67a29
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.13.1-global-dlopen.patch
@@ -0,0 +1,23 @@
+Don't hardcode the library path. Leave it to the dynamic loader.
+
+Index: pytorch-1.13.1/torch/__init__.py
+===================================================================
+--- a/torch/__init__.py 2023-02-15 20:27:51.747853677 +0100
++++ b/torch/__init__.py 2023-02-15 20:28:23.506341918 +0100
+@@ -169,14 +169,14 @@
+ lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name)
+
+ try:
+- ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
++ ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+ except OSError as err:
+ # Can only happen of wheel with cublas as PYPI deps
+ # As PyTorch is not purelib, but nvidia-cublas-cu11 is
+ if 'libcublas.so.11' not in err.args[0]:
+ raise err
+ _preload_cuda_deps()
+- ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
++ ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+
+
+ if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \
diff --git a/sci-libs/pytorch/pytorch-1.13.1.ebuild b/sci-libs/pytorch/pytorch-1.13.1.ebuild
new file mode 100644
index 000000000000..898c43a39ba9
--- /dev/null
+++ b/sci-libs/pytorch/pytorch-1.13.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="Tensors and Dynamic neural networks in Python"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~sci-libs/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}"/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch \
+ "${FILESDIR}"/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch \
+ "${FILESDIR}"/${P}-global-dlopen.patch \
+ "${FILESDIR}"/pytorch-1.7.1-torch_shm_manager.patch \
+ "${FILESDIR}"/${PN}-1.13.0-setup.patch \
+
+ # Set build dir for pytorch's setup
+ sed -i \
+ -e "/BUILD_DIR/s|build|/var/lib/caffe2/|" \
+ tools/setup_helpers/env.py \
+ || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ PYTORCH_BUILD_VERSION=${PV} \
+ PYTORCH_BUILD_NUMBER=0 \
+ USE_SYSTEM_LIBS=ON \
+ CMAKE_BUILD_DIR="${BUILD_DIR}" \
+ BUILD_DIR= \
+ distutils-r1_src_compile
+}
+
+src_install() {
+ USE_SYSTEM_LIBS=ON distutils-r1_src_install
+}