From b435e036d9775b71048373b91d4c7c3398826858 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Thu, 16 Feb 2023 02:03:12 +0000
Subject: gentoo auto-resync : 16:02:2023 - 02:03:12

---
 sci-libs/Manifest.gz                               | Bin 43592 -> 43598 bytes
 sci-libs/caffe2/Manifest                           |   2 +
 sci-libs/caffe2/caffe2-1.13.1.ebuild               | 169 +++++++++++++++++++++
 sci-libs/pytorch/Manifest                          |   3 +
 .../files/pytorch-1.13.1-global-dlopen.patch       |  23 +++
 sci-libs/pytorch/pytorch-1.13.1.ebuild             |  62 ++++++++
 6 files changed, 259 insertions(+)
 create mode 100644 sci-libs/caffe2/caffe2-1.13.1.ebuild
 create mode 100644 sci-libs/pytorch/files/pytorch-1.13.1-global-dlopen.patch
 create mode 100644 sci-libs/pytorch/pytorch-1.13.1.ebuild

(limited to 'sci-libs')

diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index a3a1854bc469..dd434cda8d58 100644
Binary files a/sci-libs/Manifest.gz and b/sci-libs/Manifest.gz 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
+}
-- 
cgit v1.2.3