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 +}
