commit:     a2db294c0aa48d06c1bfb1df039cb4710bbc2848
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Thu Aug  8 03:59:39 2024 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Thu Aug  8 16:22:32 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2db294c

sci-libs/pytorch: add 2.4.0

No new patches, 3 patches required manual conflict resolution

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

 sci-libs/pytorch/Manifest                          |  1 +
 .../files/pytorch-2.4.0-dontbuildagain.patch       | 17 ++++++
 .../files/pytorch-2.4.0-global-dlopen.patch        | 20 +++++++
 .../files/pytorch-2.4.0-torch_shm_manager.patch    | 11 ++++
 sci-libs/pytorch/pytorch-2.4.0.ebuild              | 66 ++++++++++++++++++++++
 5 files changed, 115 insertions(+)

diff --git a/sci-libs/pytorch/Manifest b/sci-libs/pytorch/Manifest
index 246ab4d21a1a..f34355be2e16 100644
--- a/sci-libs/pytorch/Manifest
+++ b/sci-libs/pytorch/Manifest
@@ -1,3 +1,4 @@
 DIST pytorch-2.2.2.tar.gz 116367503 BLAKE2B 
0be22f2ec4b9aac6f5e976664cae01facf07929a32565cd57d7cc5b2d9888e9ae71ca301853752fe8f31d174d04c9974eb9ed2f3d452360a50ccf024f200726a
 SHA512 
7990e0f9484038c3458c0bda2c863bf2b19e56edab81fc5938c6e0f08b17558287f853bb67350e8cca8f42bec0f1d4ba0e94e50a145db8da44bdd4bd703d91d0
 DIST pytorch-2.3.0.tar.gz 117029829 BLAKE2B 
8f9c0d71ee0a9219b495eddccdcc65107f7ad537c43c68100b229f3d27b0e6c01ccb1659c7fffc356a48d80f2adc0a10361305dc8f1df20446de837d380f89f6
 SHA512 
67f7e9a096c3ffb952206ebf9105bedebb68c24ad82456083adf1d1d210437fcaa9dd52b68484cfc97d408c9eebc9541c76868c34a7c9982494dc3f424cfb07c
 DIST pytorch-2.3.1.tar.gz 117035696 BLAKE2B 
d419d7fa1342f1fb317ffce09ec9dc1447414627cc83d36578fe60f68c283c620b2b4d49f414cd206d537b90b16432a06cd1941662720db05d5e2b6c493325f5
 SHA512 
e1bcae44f9939fc7ccb1360a9b1970d92426f25e5de73e36964df3dd15ad5d8d9f5bd2f9a7dda6b8f64e2bba3674005bd869f542489cc442ad0125a02676f587
+DIST pytorch-2.4.0.tar.gz 115031093 BLAKE2B 
d206477963977011627df284efa01482fbf57e9fcb5f58f51d679c742b8e5dde6aa6affd8745ab817fcd09477d129a81e74e07be576b5d3585eaca1c735b8e01
 SHA512 
804d25944035f33de6591fd942fbda44d3de037717a4397d38a97474b01775d30eaf93d16dd708a832c0119050d24d73b90990fd3e3773be79d26ada25244d22

diff --git a/sci-libs/pytorch/files/pytorch-2.4.0-dontbuildagain.patch 
b/sci-libs/pytorch/files/pytorch-2.4.0-dontbuildagain.patch
new file mode 100644
index 000000000000..4fe5b0bdeb86
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.4.0-dontbuildagain.patch
@@ -0,0 +1,17 @@
+--- a/setup.py
++++ b/setup.py
+@@ -473,14 +473,6 @@ def build_deps():
+     check_pydep("yaml", "pyyaml")
+     build_python = not BUILD_LIBTORCH_WHL
+ 
+-    build_caffe2(
+-        version=version,
+-        cmake_python_library=cmake_python_library,
+-        build_python=build_python,
+-        rerun_cmake=RERUN_CMAKE,
+-        cmake_only=CMAKE_ONLY,
+-        cmake=cmake,
+-    )
+ 
+     if CMAKE_ONLY:
+         report(

diff --git a/sci-libs/pytorch/files/pytorch-2.4.0-global-dlopen.patch 
b/sci-libs/pytorch/files/pytorch-2.4.0-global-dlopen.patch
new file mode 100644
index 000000000000..e72ed94e6888
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.4.0-global-dlopen.patch
@@ -0,0 +1,20 @@
+--- a/torch/__init__.py
++++ b/torch/__init__.py
+@@ -223,7 +223,7 @@ def _load_global_deps() -> None:
+     if library_path:
+         global_deps_lib_path = os.path.join(library_path, 'lib', lib_name)
+     try:
+-        ctypes.CDLL(global_deps_lib_path, mode=ctypes.RTLD_GLOBAL)
++        ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+     except OSError as err:
+         # Can only happen for wheel with cuda libs as PYPI deps
+         # As PyTorch is not purelib, but nvidia-*-cu12 is
+@@ -245,7 +245,7 @@ def _load_global_deps() -> None:
+             raise err
+         for lib_folder, lib_name in cuda_libs.items():
+             _preload_cuda_deps(lib_folder, lib_name)
+-        ctypes.CDLL(global_deps_lib_path, mode=ctypes.RTLD_GLOBAL)
++        ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+ 
+     if library_path:
+         # loading libtorch_global_deps first due its special logic

diff --git a/sci-libs/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch 
b/sci-libs/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch
new file mode 100644
index 000000000000..b1303d141dce
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch
@@ -0,0 +1,11 @@
+--- a/torch/__init__.py
++++ b/torch/__init__.py
+@@ -1691,7 +1691,7 @@ py_float = float
+ py_int = int
+ 
+ # Shared memory manager needs to know the exact location of manager executable
+-_C._initExtension(_manager_path())
++_C._initExtension(b"/usr/bin/torch_shm_manager")
+ del _manager_path
+ 
+ # Appease the type checker: it can't deal with direct setting of globals().

diff --git a/sci-libs/pytorch/pytorch-2.4.0.ebuild 
b/sci-libs/pytorch/pytorch-2.4.0.ebuild
new file mode 100644
index 000000000000..31e3b0439a9d
--- /dev/null
+++ b/sci-libs/pytorch/pytorch-2.4.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_EXT=1
+inherit distutils-r1 prefix
+
+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}]
+               dev-python/sympy[${PYTHON_USEDEP}]
+       ')
+"
+DEPEND="${RDEPEND}
+       $(python_gen_cond_dep '
+               dev-python/pyyaml[${PYTHON_USEDEP}]
+       ')
+"
+
+src_prepare() {
+       eapply \
+               "${FILESDIR}"/${PN}-2.4.0-dontbuildagain.patch \
+               
"${FILESDIR}"/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch
 \
+               "${FILESDIR}"/${PN}-2.4.0-global-dlopen.patch \
+               "${FILESDIR}"/pytorch-2.4.0-torch_shm_manager.patch \
+               "${FILESDIR}"/${PN}-1.13.0-setup.patch \
+               "${FILESDIR}"/${PN}-2.2.1-emptyso.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
+
+       hprefixify tools/setup_helpers/env.py
+}
+
+python_compile() {
+       PYTORCH_BUILD_VERSION=${PV} \
+       PYTORCH_BUILD_NUMBER=0 \
+       USE_SYSTEM_LIBS=ON \
+       CMAKE_BUILD_DIR="${BUILD_DIR}" \
+       distutils-r1_python_compile develop sdist
+}
+
+python_install() {
+       USE_SYSTEM_LIBS=ON distutils-r1_python_install
+}

Reply via email to