summaryrefslogtreecommitdiff
path: root/sci-ml
diff options
context:
space:
mode:
Diffstat (limited to 'sci-ml')
-rw-r--r--sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild77
-rw-r--r--sci-ml/FBGEMM/Manifest4
-rw-r--r--sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch69
-rw-r--r--sci-ml/FBGEMM/metadata.xml11
-rw-r--r--sci-ml/FP16/FP16-2024.05.27-r1.ebuild59
-rw-r--r--sci-ml/FP16/FP16-2024.06.20.ebuild40
-rw-r--r--sci-ml/FP16/Manifest9
-rw-r--r--sci-ml/FP16/files/FP16-2021.03.20-gentoo.patch44
-rw-r--r--sci-ml/FP16/files/FP16-2024.05.27-gcc14.patch70
-rw-r--r--sci-ml/FP16/files/FP16-2024.06.20-gentoo.patch21
-rw-r--r--sci-ml/FP16/files/FP16-2024.06.20-setfill.patch85
-rw-r--r--sci-ml/FP16/metadata.xml11
-rw-r--r--sci-ml/Manifest.gzbin0 -> 4568 bytes
-rw-r--r--sci-ml/NNPACK/Manifest4
-rw-r--r--sci-ml/NNPACK/NNPACK-2020.12.22-r4.ebuild69
-rw-r--r--sci-ml/NNPACK/files/NNPACK-2020.12.22-gentoo.patch149
-rw-r--r--sci-ml/NNPACK/metadata.xml14
-rw-r--r--sci-ml/XNNPACK/Manifest6
-rw-r--r--sci-ml/XNNPACK/XNNPACK-2024.02.29-r1.ebuild68
-rw-r--r--sci-ml/XNNPACK/XNNPACK-2024.11.08-r1.ebuild66
-rw-r--r--sci-ml/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch30
-rw-r--r--sci-ml/XNNPACK/metadata.xml17
-rw-r--r--sci-ml/accelerate/Manifest3
-rw-r--r--sci-ml/accelerate/accelerate-1.5.2-r2.ebuild45
-rw-r--r--sci-ml/accelerate/metadata.xml11
-rw-r--r--sci-ml/caffe2/Manifest18
-rw-r--r--sci-ml/caffe2/caffe2-2.4.1-r6.ebuild305
-rw-r--r--sci-ml/caffe2/caffe2-2.5.1-r10.ebuild331
-rw-r--r--sci-ml/caffe2/caffe2-2.6.0-r2.ebuild331
-rw-r--r--sci-ml/caffe2/files/caffe2-2.4.0-cpp-httplib.patch13
-rw-r--r--sci-ml/caffe2/files/caffe2-2.4.0-cstdint.patch10
-rw-r--r--sci-ml/caffe2/files/caffe2-2.4.0-libfmt-11.patch44
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-cudnn_include_fix.patch11
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch127
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-glog-0.6.0.patch29
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-newfix-functorch-install.patch8
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-unbundle_fmt.patch10
-rw-r--r--sci-ml/caffe2/files/caffe2-2.5.1-unbundle_kineto.patch22
-rw-r--r--sci-ml/caffe2/files/caffe2-2.6.0-gentoo.patch156
-rw-r--r--sci-ml/caffe2/metadata.xml27
-rw-r--r--sci-ml/datasets/Manifest5
-rw-r--r--sci-ml/datasets/datasets-3.0.2.ebuild89
-rw-r--r--sci-ml/datasets/files/datasets-2.21.0-tests.patch22
-rw-r--r--sci-ml/datasets/files/datasets-3.0.2-tests.patch10
-rw-r--r--sci-ml/datasets/metadata.xml12
-rw-r--r--sci-ml/evaluate/Manifest4
-rw-r--r--sci-ml/evaluate/evaluate-0.4.3.ebuild54
-rw-r--r--sci-ml/evaluate/files/evaluate-0.4.0-tests.patch220
-rw-r--r--sci-ml/evaluate/metadata.xml12
-rw-r--r--sci-ml/foxi/Manifest4
-rw-r--r--sci-ml/foxi/files/foxi-2021.05.27-gentoo.patch73
-rw-r--r--sci-ml/foxi/foxi-2021.05.27.ebuild24
-rw-r--r--sci-ml/foxi/metadata.xml11
-rw-r--r--sci-ml/gemmlowp/Manifest3
-rw-r--r--sci-ml/gemmlowp/gemmlowp-2021.12.20.ebuild28
-rw-r--r--sci-ml/gemmlowp/metadata.xml11
-rw-r--r--sci-ml/gloo/Manifest7
-rw-r--r--sci-ml/gloo/files/gloo-2022.05.18-gentoo.patch94
-rw-r--r--sci-ml/gloo/files/gloo-2023.01.17-cuda.patch13
-rw-r--r--sci-ml/gloo/files/gloo-2023.01.17-ssl3.patch19
-rw-r--r--sci-ml/gloo/files/gloo-2023.12.03-gcc15.patch10
-rw-r--r--sci-ml/gloo/gloo-2023.12.03.ebuild68
-rw-r--r--sci-ml/gloo/metadata.xml15
-rw-r--r--sci-ml/huggingface_hub/Manifest5
-rw-r--r--sci-ml/huggingface_hub/huggingface_hub-0.27.1.ebuild72
-rw-r--r--sci-ml/huggingface_hub/huggingface_hub-0.28.1.ebuild75
-rw-r--r--sci-ml/huggingface_hub/metadata.xml12
-rw-r--r--sci-ml/ideep/Manifest5
-rw-r--r--sci-ml/ideep/ideep-3.5.3_p2.ebuild20
-rw-r--r--sci-ml/ideep/ideep-3.5.3_p3.ebuild20
-rw-r--r--sci-ml/ideep/metadata.xml11
-rw-r--r--sci-ml/jiwer/Manifest4
-rw-r--r--sci-ml/jiwer/files/jiwer-3.0.1-tests.patch31
-rw-r--r--sci-ml/jiwer/jiwer-3.0.3-r1.ebuild27
-rw-r--r--sci-ml/jiwer/metadata.xml12
-rw-r--r--sci-ml/kineto/Manifest7
-rw-r--r--sci-ml/kineto/files/kineto-0.4.0-gcc13.patch10
-rw-r--r--sci-ml/kineto/files/kineto-0.4.0_p20231031-gentoo.patch74
-rw-r--r--sci-ml/kineto/kineto-0.4.0_p20240807.ebuild53
-rw-r--r--sci-ml/kineto/kineto-0.4.0_p20241109.ebuild47
-rw-r--r--sci-ml/kineto/metadata.xml11
-rw-r--r--sci-ml/metadata.xml13
-rw-r--r--sci-ml/oneDNN/Manifest5
-rw-r--r--sci-ml/oneDNN/metadata.xml24
-rw-r--r--sci-ml/oneDNN/oneDNN-3.5.3.ebuild134
-rw-r--r--sci-ml/oneDNN/oneDNN-3.6.2.ebuild134
-rw-r--r--sci-ml/onnx/Manifest6
-rw-r--r--sci-ml/onnx/files/onnx-1.15.0-hidden.patch10
-rw-r--r--sci-ml/onnx/metadata.xml14
-rw-r--r--sci-ml/onnx/onnx-1.16.2-r1.ebuild71
-rw-r--r--sci-ml/onnx/onnx-1.17.0-r1.ebuild71
-rw-r--r--sci-ml/pysentencepiece/Manifest3
-rw-r--r--sci-ml/pysentencepiece/metadata.xml11
-rw-r--r--sci-ml/pysentencepiece/pysentencepiece-0.2.0.ebuild29
-rw-r--r--sci-ml/pytorch/Manifest16
-rw-r--r--sci-ml/pytorch/files/pytorch-1.13.0-setup.patch11
-rw-r--r--sci-ml/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch32
-rw-r--r--sci-ml/pytorch/files/pytorch-2.2.1-emptyso.patch13
-rw-r--r--sci-ml/pytorch/files/pytorch-2.4.0-dontbuildagain.patch17
-rw-r--r--sci-ml/pytorch/files/pytorch-2.4.0-global-dlopen.patch20
-rw-r--r--sci-ml/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch11
-rw-r--r--sci-ml/pytorch/files/pytorch-2.5.1-dontbuildagain.patch17
-rw-r--r--sci-ml/pytorch/files/pytorch-2.5.1-setup.patch10
-rw-r--r--sci-ml/pytorch/files/pytorch-2.6.0-dontbuildagain.patch25
-rw-r--r--sci-ml/pytorch/metadata.xml14
-rw-r--r--sci-ml/pytorch/pytorch-2.4.1-r3.ebuild66
-rw-r--r--sci-ml/pytorch/pytorch-2.5.1-r4.ebuild65
-rw-r--r--sci-ml/pytorch/pytorch-2.6.0-r3.ebuild63
-rw-r--r--sci-ml/safetensors/Manifest44
-rw-r--r--sci-ml/safetensors/metadata.xml12
-rw-r--r--sci-ml/safetensors/safetensors-0.4.5-r2.ebuild107
-rw-r--r--sci-ml/sentencepiece/Manifest4
-rw-r--r--sci-ml/sentencepiece/files/sentencepiece-0.2.0-gcc15.patch10
-rw-r--r--sci-ml/sentencepiece/metadata.xml11
-rw-r--r--sci-ml/sentencepiece/sentencepiece-0.2.0-r1.ebuild55
-rw-r--r--sci-ml/seqeval/Manifest4
-rw-r--r--sci-ml/seqeval/files/seqeval-1.2.2-gentoo.patch10
-rw-r--r--sci-ml/seqeval/metadata.xml12
-rw-r--r--sci-ml/seqeval/seqeval-1.2.2-r4.ebuild42
-rw-r--r--sci-ml/tensorpipe/Manifest6
-rw-r--r--sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gcc15.patch20
-rw-r--r--sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch10
-rw-r--r--sci-ml/tensorpipe/files/tensorpipe-2022.05.13-musl.patch10
-rw-r--r--sci-ml/tensorpipe/metadata.xml11
-rw-r--r--sci-ml/tensorpipe/tensorpipe-2022.05.13-r1.ebuild44
-rw-r--r--sci-ml/tokenizers/Manifest429
-rw-r--r--sci-ml/tokenizers/files/tokenizers-0.15.2-test.patch39
-rw-r--r--sci-ml/tokenizers/metadata.xml11
-rw-r--r--sci-ml/tokenizers/tokenizers-0.21.0.ebuild417
-rw-r--r--sci-ml/tokenizers/tokenizers-0.21.1.ebuild406
-rw-r--r--sci-ml/torchvision/Manifest4
-rw-r--r--sci-ml/torchvision/files/torchvision-0.20.0-gentoo.patch19
-rw-r--r--sci-ml/torchvision/metadata.xml11
-rw-r--r--sci-ml/torchvision/torchvision-0.20.0-r2.ebuild79
-rw-r--r--sci-ml/transformers/Manifest3
-rw-r--r--sci-ml/transformers/metadata.xml15
-rw-r--r--sci-ml/transformers/transformers-4.50.2.ebuild45
137 files changed, 6523 insertions, 0 deletions
diff --git a/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild b/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild
new file mode 100644
index 000000000000..a9034b8d893f
--- /dev/null
+++ b/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=dbc3157bf256f1339b3fa1fef2be89ac4078be0e
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/sci-ml/FBGEMM/Manifest b/sci-ml/FBGEMM/Manifest
new file mode 100644
index 000000000000..b7524cbfa0b0
--- /dev/null
+++ b/sci-ml/FBGEMM/Manifest
@@ -0,0 +1,4 @@
+AUX FBGEMM-2023.11.02-gentoo.patch 2162 BLAKE2B c585ac736dc1494820e778dbba951a340b01cc60d99fe5c308bb140d42a0af8f6c05273963e0dd99a7f1ad2dc9af854702bdadf5b2682c5a959a0e742d22c772 SHA512 296d4f15e4047e98a0ccf7a3d23a9661ca2be8f4599d4dd5541f6e728f181cf58e836f09382ef2ed69792d1c9da3146a57cbce9041f7a43ab5354e641551f9fd
+DIST FBGEMM-2023.12.04.tar.gz 1004231 BLAKE2B 930ae36f4761901e1b22d7ce4a341f051158a23646bd1f5309f6eb98c1ca483e8aa4e5a6cfc44ced702f73f84e3398c1439799457a98d0d8a009702e335d5c03 SHA512 3c786572b4a69af2a32b360711014469ded69be580d0079ba79ab81cbaa964aab51e5a189e24f0ec7dc93402d761167898918a0ea0f86d556cad4b99f5858d8c
+EBUILD FBGEMM-2023.12.04.ebuild 1499 BLAKE2B 132cc8471c4e3ae7fbd0188030b01c0124c95eb948d3dfbfc45d0592e1269204527e817264c17794f61a2412401e261385c03291507ad31d409735cd20098520 SHA512 596df7683f2d39829eada1a8a6ecd17cede5bbb8f18153be58f3b4999fd420167df184d9e17612bbf6475feca091445aa4b701eb0c56624be44a532eae35c193
+MISC metadata.xml 327 BLAKE2B 860b9c0ecb3b0029c855db0a0054590135f3bd6ec9dad20cdf433fc70c119354518eea50fdbb2a204eb8cc6621de23e6928a2f9ec961ac0c51fd9dae22fa8488 SHA512 3a0d5a69421a41e62ce134636025e0024010c1938ee35f7489d8d870d915a66cd526aa60d107a378dc4522ff71b7f10486e20867c8b424b1b47e458988ebff58
diff --git a/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch b/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
new file mode 100644
index 000000000000..6ff4950211a2
--- /dev/null
+++ b/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
@@ -0,0 +1,69 @@
+--- a/CMakeLists.txt 2022-05-21 13:13:50.806813151 +0200
++++ b/CMakeLists.txt 2022-05-21 13:16:46.448969453 +0200
+@@ -225,7 +225,7 @@
+ message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}")
+ message(WARNING "==========")
+
+-if(NOT TARGET asmjit)
++if(FALSE)
+ #Download asmjit from github if ASMJIT_SRC_DIR is not specified.
+ if(NOT DEFINED ASMJIT_SRC_DIR)
+ set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit"
+@@ -254,7 +254,7 @@
+ endif()
+ endif()
+
+-if(NOT TARGET cpuinfo)
++if(FALSE)
+ #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
+ if(NOT DEFINED CPUINFO_SOURCE_DIR)
+ set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo"
+@@ -330,9 +330,6 @@
+ target_link_libraries(fbgemm
+ $<BUILD_INTERFACE:asmjit>
+ $<BUILD_INTERFACE:cpuinfo>)
+-add_dependencies(fbgemm
+- asmjit
+- cpuinfo)
+
+ if(OpenMP_FOUND)
+ target_link_libraries(fbgemm OpenMP::OpenMP_CXX)
+@@ -349,6 +346,9 @@
+ FILES ${FBGEMM_PUBLIC_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm")
+
++install(FILES src/RefImplementations.h
++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm/src")
++
+ install(
+ EXPORT fbgemmLibraryConfig
+ DESTINATION share/cmake/fbgemm
+--- a/test/CMakeLists.txt 2022-05-21 13:15:34.140135199 +0200
++++ b/test/CMakeLists.txt 2022-05-21 13:17:59.170813431 +0200
+@@ -8,7 +8,7 @@
+ set(CMAKE_C_EXTENSIONS OFF)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+-if(FBGEMM_BUILD_TESTS AND NOT TARGET gtest)
++if(FALSE)
+ #Download Googletest framework from github if
+ #GOOGLETEST_SOURCE_DIR is not specified.
+ if(NOT DEFINED GOOGLETEST_SOURCE_DIR)
+@@ -72,7 +72,6 @@
+ target_link_libraries(${TESTNAME} ${OpenMP_CXX_LIBRARIES})
+ endif()
+
+- add_dependencies(${TESTNAME} gtest fbgemm)
+ add_test(${TESTNAME} ${TESTNAME})
+ set_target_properties(${TESTNAME} PROPERTIES FOLDER test)
+ endmacro()
+--- a/src/PackMatrix.cc 2022-05-24 08:19:00.639462626 +0200
++++ b/src/PackMatrix.cc 2022-05-24 08:27:59.127720548 +0200
+@@ -30,6 +30,7 @@
+ }
+
+ template <typename PT, typename inpType, typename accType>
++FBGEMM_API
+ int PackMatrix<PT, inpType, accType>::packedBufferSize(
+ int rows,
+ int cols,
diff --git a/sci-ml/FBGEMM/metadata.xml b/sci-ml/FBGEMM/metadata.xml
new file mode 100644
index 000000000000..b13a1c693d1f
--- /dev/null
+++ b/sci-ml/FBGEMM/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/FBGEMM</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/FP16/FP16-2024.05.27-r1.ebuild b/sci-ml/FP16/FP16-2024.05.27-r1.ebuild
new file mode 100644
index 000000000000..4a2d8a79169e
--- /dev/null
+++ b/sci-ml/FP16/FP16-2024.05.27-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-r1 cmake
+
+CommitId=95163a75c51bc8dc29f72d0d7419ec50132984ff
+
+DESCRIPTION="conversion to/from half-precision floating point formats"
+HOMEPAGE="https://github.com/Maratyszcza/FP16/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="dev-libs/psimd"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+ dev-python/peachpy[${PYTHON_USEDEP}]
+"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.03.20-gentoo.patch
+ "${FILESDIR}"/${P}-gcc14.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ mkdir -p module/fp16 || die
+ cp include/fp16/*py module/fp16 || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFP16_BUILD_BENCHMARKS=OFF
+ -DFP16_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+python_install() {
+ python_domodule module/fp16
+}
+
+src_install() {
+ cmake_src_install
+ rm "${ED}"/usr/include/fp16/*.py || die
+ python_foreach_impl python_install
+}
diff --git a/sci-ml/FP16/FP16-2024.06.20.ebuild b/sci-ml/FP16/FP16-2024.06.20.ebuild
new file mode 100644
index 000000000000..3fe1e5464497
--- /dev/null
+++ b/sci-ml/FP16/FP16-2024.06.20.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=98b0a46bce017382a6351a19577ec43a715b6835
+
+DESCRIPTION="conversion to/from half-precision floating point formats"
+HOMEPAGE="https://github.com/Maratyszcza/FP16/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-setfill.patch
+)
+
+src_prepare() {
+ sed -i -e "s|CXX_STANDARD 11|CXX_STANDARD 14|" CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFP16_BUILD_BENCHMARKS=OFF
+ -DFP16_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/sci-ml/FP16/Manifest b/sci-ml/FP16/Manifest
new file mode 100644
index 000000000000..8379b80ab076
--- /dev/null
+++ b/sci-ml/FP16/Manifest
@@ -0,0 +1,9 @@
+AUX FP16-2021.03.20-gentoo.patch 1876 BLAKE2B 56863806f1040c5a92e04f7cf120e2ae4e4e6c59b336bf8734d0b0945e29d17afb5c244e94fab6023567227878b72e73d3c8d669e4af311bfc703f545b82d847 SHA512 0ac6379a5d92a70df72c4a0bce0d437ebb7733fa6f61b0006cedd007f9c071c2b7c9727cd559c39c08a8528f29c2d96397b566512eca6fa4c5a5d812085125cf
+AUX FP16-2024.05.27-gcc14.patch 1834 BLAKE2B 61d3c6a0399e7d75076201fbadf8bdd3d0adba5538fc82fdd709aaf8a2827917a3d4cccae2d2909228855edc86a063f6d0b58b4805a6a6485f3d5dfcd054f0e4 SHA512 ec16fad675cb65766ac7976e6f787fb756199a5ef8158230ce2cb23d138c8249cdcce4660548a1b251615203a52088850213ce28815b03801819947ea7e42aec
+AUX FP16-2024.06.20-gentoo.patch 813 BLAKE2B 297a056cff5c35e26283c15ec7727c227f5991d3244426e1b197ea52bb2c5c897194efaed20a1929fc8bd0704fb70afc9f5fc0b84850bc43ca2dd2254a4447cc SHA512 4951377cfdc4806867e80f899e6e14d671d43bbe1f5be82343c5b73e246a7f4040470b6a96a76f1d9ae1bc8c899eb7936e11737f9c788ece70099d63b73bbc50
+AUX FP16-2024.06.20-setfill.patch 2044 BLAKE2B e48e9945fdff5aa7fc82a33258a12883442fc1a8169537d9828d9cdc330db94127d944ead7b8f818a3fffc3bdf9cb215e06844a0d99bc81a777110068f3fb9b5 SHA512 2123d1c3bcab4767ce4fb17abc2f583ff2aaa33f468de8f2c877f5f69a8ba46431c09789966f1cff1ff9e5cddc9f886aeeeef480d25a60e11812447622f7d01f
+DIST FP16-2024.05.27.tar.gz 71220 BLAKE2B 5b101aad7a8339fff400bba1db896c82498832075f3eb00cc6eaf27608ee0988f918956b5a768262b74552a52436200d4acd17f04f4a05060a32512afb26a9ac SHA512 b88fd0a91e6b6873ce5d0e2cd2afd2b8dceb8b17c366240abb8a5e2fe152faea3ba577ef420038c595cab0b61581a70b84c019c825a8dd262b1bee4686843b66
+DIST FP16-2024.06.20.tar.gz 64704 BLAKE2B cd086ca7419aa004c0c4c840227e61612348efb98bdddbf68ef92959267f5f4b0aef55751c5b8a6f50a1f0e7f386e4df5fac273c3849961168e0a5c03faf81e2 SHA512 d3ae46b5b0c944f1d8dcfbb90689266f4abaff3e0b5ef338d5d79193367f06d1bfbb9ad85a5a7685a894daeee6dc73fc5d73631718be1379cc6918655a0289aa
+EBUILD FP16-2024.05.27-r1.ebuild 1221 BLAKE2B 65ba8a85e5db68ffd690efca0fcdd258b4ec5a8419cd3c66185b35457d13a6710508026aaee121b0b04eef2a4c08c400440f27e038450cdb4ddc0c58e1cf9d27 SHA512 7f8821a8cfc464a08b26ee715be2a0a9a9aa76c0ad113ac3a2a4b1e9f30db5b7d301e1789f2ca0707e7d7b821fabd67d7cf8931963457d4c508fe43a373ad6bc
+EBUILD FP16-2024.06.20.ebuild 869 BLAKE2B cc7f583da389f6aa8741ab014e9a0e945aec24e066c5f6baac8196eff7acb6d45fd34d58d1736e4663c6a4626f9a1add9ab55861a3508aee865ea939c1802760 SHA512 78adb9c888782351421255b581ede3b9a1ea07223c8a39cc57f5e1fd1db992ee588a5b9d361d0bc8a9646d891c3610b9a096669de70e91594d6da6d0b7c312de
+MISC metadata.xml 329 BLAKE2B eda810b21ca05e2e16f2eafac194cdca189d27449bc9322488aeca215a9b2c10ce68145abab1abb984e290ab6ca8ce21c3beaf06ecd76d7574fd8b82388f4e63 SHA512 27ca59c0862f75f24dc64f9af5eee96cf63ef4bd468e17f5d04cc23289dbb5c44af9b230707ad13d1ff85e75db4d5485d7226c9e6d80e8bc80d9e6f3b2e18acd
diff --git a/sci-ml/FP16/files/FP16-2021.03.20-gentoo.patch b/sci-ml/FP16/files/FP16-2021.03.20-gentoo.patch
new file mode 100644
index 000000000000..5a2d5ed1e2a2
--- /dev/null
+++ b/sci-ml/FP16/files/FP16-2021.03.20-gentoo.patch
@@ -0,0 +1,44 @@
+--- a/CMakeLists.txt 2022-05-10 09:11:41.286417033 +0200
++++ b/CMakeLists.txt 2022-05-10 09:12:48.647398387 +0200
+@@ -29,22 +29,10 @@
+
+ # ---[ Download deps
+ IF(NOT DEFINED PSIMD_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading PSimd to ${CMAKE_BINARY_DIR}/psimd-source (define PSIMD_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CMAKE_BINARY_DIR}/psimd-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/psimd-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/psimd-download")
+ SET(PSIMD_SOURCE_DIR "${CMAKE_BINARY_DIR}/psimd-source" CACHE STRING "PSimd source directory")
+ ENDIF()
+
+ IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
+ ENDIF()
+
+@@ -86,18 +74,12 @@
+
+ # ---[ Configure psimd
+ IF(NOT TARGET psimd)
+- ADD_SUBDIRECTORY(
+- "${PSIMD_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/psimd")
+ ENDIF()
+
+ IF(FP16_BUILD_TESTS)
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ # ---[ Build FP16 unit tests
diff --git a/sci-ml/FP16/files/FP16-2024.05.27-gcc14.patch b/sci-ml/FP16/files/FP16-2024.05.27-gcc14.patch
new file mode 100644
index 000000000000..14c76aed7871
--- /dev/null
+++ b/sci-ml/FP16/files/FP16-2024.05.27-gcc14.patch
@@ -0,0 +1,70 @@
+--- a/test/ieee-from-fp32-value.cc 2025-03-24 09:45:52.653257251 +0100
++++ b/test/ieee-from-fp32-value.cc 2025-03-24 09:46:09.945044617 +0100
+@@ -3,6 +3,7 @@
+ #include <cstdint>
+
+ #include <fp16.h>
++#include <iomanip>
+ #include <tables.h>
+
+ #if (defined(__i386__) || defined(__x86_64__)) && defined(__F16C__)
+--- a/test/bitcasts.cc 2025-03-24 09:50:29.522852488 +0100
++++ b/test/bitcasts.cc 2025-03-24 09:50:44.722665548 +0100
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+
+--- a/test/ieee-to-fp32-value.cc 2025-03-24 09:51:25.784160595 +0100
++++ b/test/ieee-to-fp32-value.cc 2025-03-24 09:51:40.397980890 +0100
+@@ -2,6 +2,7 @@
+
+ #include <cstdint>
+ #include <cmath>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+--- a/test/ieee-to-fp32-bits.cc 2025-03-24 09:47:04.427374626 +0100
++++ b/test/ieee-to-fp32-bits.cc 2025-03-24 09:47:36.596979037 +0100
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+--- a/test/alt-to-fp32-value.cc 2025-03-24 09:52:11.425599313 +0100
++++ b/test/alt-to-fp32-value.cc 2025-03-24 09:52:28.007395391 +0100
+@@ -2,6 +2,7 @@
+
+ #include <cstdint>
+ #include <cmath>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+--- a/test/alt-to-fp32-bits.cc 2025-03-24 09:48:02.413661553 +0100
++++ b/test/alt-to-fp32-bits.cc 2025-03-24 09:48:20.896434255 +0100
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+--- a/test/alt-from-fp32-value.cc 2025-03-24 09:49:31.964560292 +0100
++++ b/test/alt-from-fp32-value.cc 2025-03-24 09:49:48.541356436 +0100
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
diff --git a/sci-ml/FP16/files/FP16-2024.06.20-gentoo.patch b/sci-ml/FP16/files/FP16-2024.06.20-gentoo.patch
new file mode 100644
index 000000000000..c5ab4e046827
--- /dev/null
+++ b/sci-ml/FP16/files/FP16-2024.06.20-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt 2022-05-10 09:11:41.286417033 +0200
++++ b/CMakeLists.txt 2022-05-10 09:12:48.647398387 +0200
+@@ -19,7 +19,7 @@
+ ENDIF()
+
+ # ---[ Download deps
+-IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -60,9 +60,6 @@
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ # ---[ Build FP16 unit tests
diff --git a/sci-ml/FP16/files/FP16-2024.06.20-setfill.patch b/sci-ml/FP16/files/FP16-2024.06.20-setfill.patch
new file mode 100644
index 000000000000..a77b4a94ad52
--- /dev/null
+++ b/sci-ml/FP16/files/FP16-2024.06.20-setfill.patch
@@ -0,0 +1,85 @@
+diff --git a/test/alt-from-fp32-value.cc b/test/alt-from-fp32-value.cc
+index 33bf0fd..d30be0c 100644
+--- a/test/alt-from-fp32-value.cc
++++ b/test/alt-from-fp32-value.cc
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+diff --git a/test/alt-to-fp32-bits.cc b/test/alt-to-fp32-bits.cc
+index f5b61a5..2a232ba 100644
+--- a/test/alt-to-fp32-bits.cc
++++ b/test/alt-to-fp32-bits.cc
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+diff --git a/test/alt-to-fp32-value.cc b/test/alt-to-fp32-value.cc
+index b9d880e..40c49c4 100644
+--- a/test/alt-to-fp32-value.cc
++++ b/test/alt-to-fp32-value.cc
+@@ -2,6 +2,7 @@
+
+ #include <cstdint>
+ #include <cmath>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+diff --git a/test/bitcasts.cc b/test/bitcasts.cc
+index b106935..cb1b564 100644
+--- a/test/bitcasts.cc
++++ b/test/bitcasts.cc
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+
+diff --git a/test/ieee-from-fp32-value.cc b/test/ieee-from-fp32-value.cc
+index ec9afe7..dceaf9a 100644
+--- a/test/ieee-from-fp32-value.cc
++++ b/test/ieee-from-fp32-value.cc
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+diff --git a/test/ieee-to-fp32-bits.cc b/test/ieee-to-fp32-bits.cc
+index 284e1b1..13b41aa 100644
+--- a/test/ieee-to-fp32-bits.cc
++++ b/test/ieee-to-fp32-bits.cc
+@@ -1,6 +1,7 @@
+ #include <gtest/gtest.h>
+
+ #include <cstdint>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+diff --git a/test/ieee-to-fp32-value.cc b/test/ieee-to-fp32-value.cc
+index 5258e92..cbcbbf8 100644
+--- a/test/ieee-to-fp32-value.cc
++++ b/test/ieee-to-fp32-value.cc
+@@ -2,6 +2,7 @@
+
+ #include <cstdint>
+ #include <cmath>
++#include <iomanip>
+
+ #include <fp16.h>
+ #include <tables.h>
+
diff --git a/sci-ml/FP16/metadata.xml b/sci-ml/FP16/metadata.xml
new file mode 100644
index 000000000000..4c219d7162ec
--- /dev/null
+++ b/sci-ml/FP16/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Maratyszcza/FP16</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/Manifest.gz b/sci-ml/Manifest.gz
new file mode 100644
index 000000000000..958a35818ff1
--- /dev/null
+++ b/sci-ml/Manifest.gz
Binary files differ
diff --git a/sci-ml/NNPACK/Manifest b/sci-ml/NNPACK/Manifest
new file mode 100644
index 000000000000..dfb562ebd1c0
--- /dev/null
+++ b/sci-ml/NNPACK/Manifest
@@ -0,0 +1,4 @@
+AUX NNPACK-2020.12.22-gentoo.patch 6218 BLAKE2B 1bc9d1bb20504b90d99492fd0c93324830aa84a58a59101288677ba0d622c5a50e8f6181089fef1e14d14f563824a9c42979387e6f3efbb0add3211d68f6ce6c SHA512 1a52cc158c4c6259a9f5fbd8ce40f8647a96ce7c7f67bbdcfe495647b75f6c2f5baa826390b8474f48a91ee4a043bfb2085915730f0dd32f4edd34a733b2cc13
+DIST NNPACK-2020.12.22.tar.gz 219318 BLAKE2B 6b6619c8a706ef9630f20fda1e276314b2ef7f6c9aed26836a48bdaa0ae198a86383e68b04c651f37c07d34e400bc54b5daa75b06fc18cdb0a9c55e2cb33bbe1 SHA512 f0b261e8698b412d12dd739e5d0cf71c284965ae28da735ae22814a004358ba3ecaea6cd26fa17b594c0245966b7dd2561c1e05c6cbf0592fd7b85ea0f21eb37
+EBUILD NNPACK-2020.12.22-r4.ebuild 1409 BLAKE2B 23337a43e7c3b6e522f40d26724aa1b5bdef37e3475710f55070ccb6e9db3f9b20b0b8b18b499fb4c822517fe97f170d16a3d327fc615432636854120ba50a0b SHA512 954ca3cfe0894eca40ffa1e94ac32d827ba2a87e74f5150d5defdf5bc96303d3d0bee899944b20a9bcd6c64b987132ec77cc4522d5b62b7c489df0e50614a09a
+MISC metadata.xml 411 BLAKE2B 86026a638f6f37fb45fed8a4533990a47be1650325fc6c85bd7624cd454f27d497fd6fd52a884609c7c57ebd34712a96f488cb1227c7c9e18d6e22d2bdcc73bf SHA512 a1b28f63c287a738126d08fd49783af2b8e1d3b40ad774f8191c0d4a34ae0f4694d35a24e18034d37902ee47486ac732f7c1d561af4540619577d563617bca27
diff --git a/sci-ml/NNPACK/NNPACK-2020.12.22-r4.ebuild b/sci-ml/NNPACK/NNPACK-2020.12.22-r4.ebuild
new file mode 100644
index 000000000000..b059fd74d7a3
--- /dev/null
+++ b/sci-ml/NNPACK/NNPACK-2020.12.22-r4.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake python-single-r1
+
+CommitId=c07e3a0400713d546e0dea2d5466dd22ea389c73
+
+DESCRIPTION="acceleration package for neural network computations"
+HOMEPAGE="https://github.com/Maratyszcza/NNPACK/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/pthreadpool
+ dev-libs/cpuinfo
+ $(python_gen_cond_dep '
+ ~sci-ml/FP16-2024.05.27[${PYTHON_USEDEP}]
+ dev-python/peachpy[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ dev-libs/FXdiv
+ dev-libs/psimd
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ sed -i \
+ -e "/-O/d" \
+ -e "s:CXX_STANDARD 11:CXX_STANDARD 14:" \
+ CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ use test-full || local CMAKE_SKIP_TESTS=(
+ convolution-output-overfeat
+ convolution-kernel-gradient-vgg
+ convolution-input-gradient-overfeat
+ convolution-input-gradient-vgg
+ convolution-output-vgg
+ )
+ cmake_src_test
+}
diff --git a/sci-ml/NNPACK/files/NNPACK-2020.12.22-gentoo.patch b/sci-ml/NNPACK/files/NNPACK-2020.12.22-gentoo.patch
new file mode 100644
index 000000000000..82064d5171c1
--- /dev/null
+++ b/sci-ml/NNPACK/files/NNPACK-2020.12.22-gentoo.patch
@@ -0,0 +1,149 @@
+--- a/CMakeLists.txt 2022-05-17 20:26:04.765047673 +0200
++++ b/CMakeLists.txt 2022-05-17 20:27:51.513583722 +0200
+@@ -123,7 +123,7 @@
+ CACHE PATH "Confu-style dependencies binary directory")
+
+ IF(NNPACK_BACKEND STREQUAL "x86-64")
+- IF(NOT DEFINED PYTHON_SIX_SOURCE_DIR)
++ IF(FALSE)
+ MESSAGE(STATUS "Downloading six (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/six (define PYTHON_SIX_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadSix.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/six-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -133,7 +133,7 @@
+ SET(PYTHON_SIX_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/six" CACHE STRING "six (Python package) source directory")
+ ENDIF()
+
+- IF(NOT DEFINED PYTHON_ENUM_SOURCE_DIR)
++ IF(FALSE)
+ IF(${PYTHON_VERSION_STRING} VERSION_LESS 3.4)
+ # ---[ Python < 3.4 does not natively support enums, and needs a polyfill
+ MESSAGE(STATUS "Downloading enum (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/enum (define PYTHON_ENUM_SOURCE_DIR to avoid it)")
+@@ -148,7 +148,7 @@
+ ENDIF()
+ ENDIF()
+
+- IF(NOT DEFINED PYTHON_PEACHPY_SOURCE_DIR)
++ IF(FALSE)
+ # ---[ PeachPy requires Opcodes for installation
+ IF(NOT DEFINED PYTHON_OPCODES_SOURCE_DIR)
+ MESSAGE(STATUS "Downloading opcodes (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/opcodes (define PYTHON_OPCODES_SOURCE_DIR to avoid it)")
+@@ -177,7 +177,7 @@
+ ENDIF()
+ ENDIF()
+
+-IF(NOT DEFINED CPUINFO_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -187,7 +187,7 @@
+ SET(CPUINFO_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo" CACHE STRING "cpuinfo source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FP16_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FP16 to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16 (define FP16_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -197,7 +197,7 @@
+ SET(FP16_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16" CACHE STRING "FP16 source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FXDIV_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FXdiv to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv (define FXDIV_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -207,7 +207,7 @@
+ SET(FXDIV_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv" CACHE STRING "FXdiv source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PSIMD_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -217,7 +217,7 @@
+ SET(PSIMD_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd" CACHE STRING "PSimd source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading pthreadpool to ${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool (define PTHREADPOOL_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -227,7 +227,7 @@
+ SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ ENDIF()
+
+-IF(NNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -496,7 +496,7 @@
+ TARGET_INCLUDE_DIRECTORIES(nnpack_reference_layers PUBLIC include)
+
+ # ---[ Configure cpuinfo
+-IF(NOT TARGET cpuinfo)
++IF(FALSE)
+ SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
+@@ -508,7 +508,7 @@
+ TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
+
+ # ---[ Configure pthreadpool
+-IF(NOT TARGET pthreadpool)
++IF(FALSE)
+ SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
+ SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -525,7 +525,7 @@
+ TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC pthreadpool)
+
+ # ---[ Configure FXdiv
+-IF(NOT TARGET fxdiv)
++IF(FALSE)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -532,18 +532,16 @@
+ "${FXDIV_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
+
+ # ---[ Configure psimd
+-IF(NOT TARGET psimd)
++IF(FALSE)
+ ADD_SUBDIRECTORY(
+ "${PSIMD_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
+
+ # ---[ Configure FP16
+-IF(NOT TARGET fp16)
++IF(FALSE)
+ SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -550,8 +548,6 @@
+ "${FP16_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
+
+ INSTALL(TARGETS nnpack
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -560,7 +560,7 @@
+
+ IF(NNPACK_BUILD_TESTS)
+ # ---[ Build google test
+- IF(NOT TARGET gtest)
++ IF(FALSE)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ ADD_SUBDIRECTORY(
+ "${GOOGLETEST_SOURCE_DIR}"
diff --git a/sci-ml/NNPACK/metadata.xml b/sci-ml/NNPACK/metadata.xml
new file mode 100644
index 000000000000..98253690776e
--- /dev/null
+++ b/sci-ml/NNPACK/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="test-full">Run additional, quite slow tests</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Maratyszcza/NNPACK</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/XNNPACK/Manifest b/sci-ml/XNNPACK/Manifest
new file mode 100644
index 000000000000..164968cdfd17
--- /dev/null
+++ b/sci-ml/XNNPACK/Manifest
@@ -0,0 +1,6 @@
+AUX XNNPACK-2024.11.08-gentoo.patch 1093 BLAKE2B 46cdae35701b235ac8d82078ac499c5bceb887ff91674eb7105d5f7a880828f30a800998073c7f4cd8e96d838b89dc847740383d09e5b77d76798d75dee2baff SHA512 7e4da685a071ff6ff503633eda8d36b71d5e3eacf642e805bfbdaa7df768462b9d3be2131433adb5c6dadd808dfc14f11576d105910544e7753a4b5c2ff00ba6
+DIST XNNPACK-2024.02.29.tar.gz 11561561 BLAKE2B bb3666edbf2ad87f4b6ba9dcaf28b3ed056b655bfa02e6f9bc350ce84db247ef3e0a6f9f908a0e05244e4b145b6993d465cd19ca763067ae619a7f94b97dc7bd SHA512 8063e27686f7b71cfba05b0c004c46db4506638689ffb112f013b3886de58653b60ca5487978c3f96275c17bb1136883ca4c93ddb2241a2c31925a950cb51759
+DIST XNNPACK-2024.11.08.tar.gz 8923022 BLAKE2B 1e73ffc1e5d1e1248272910860e59a471b52f207945f0049188d64b944e442fd2bc814105b2fef59e9ec295e9871cae0a805de485a047f9eacedcee2695d6e99 SHA512 b9e711e1c69a24e347f64ee21c60a609bff25e36153216382acd3d431e466b127eea81b1d80f00f84699a426c44f8a3566d9b95d0e87079c34f527e05c2db787
+EBUILD XNNPACK-2024.02.29-r1.ebuild 1636 BLAKE2B 72689f80372d4c6ddf7b55576f1e4c6826bdb6f46727cf7fdccce42140fad3b29c57582a00de71f75122464b0ebf6c9375862268a2190513f2fda1507a5c214b SHA512 3584802e5dea0127e688d5ce96fd23e02bbb4b35164c0fde7f187bcc5ba010521611fdb7b29bbb3e20c5d65d2a53b24c14894919568cdc64ff6f26a77e91da49
+EBUILD XNNPACK-2024.11.08-r1.ebuild 1523 BLAKE2B 5a2bf2517fa723d64c86767006097f9c56194c6b22b0c697274bcaf2f83cd6fd1af7ef84700d455991e74ce487a7ea3612494656db537947c77111d422ebc4c2 SHA512 52d47781e6b1ed02e003623ab01d3f4039c0b35d460248643be13fa0930873285cdc0011f3cd4ae99495133c170b663a7695ba1d206f9f388c18c5da801283a7
+MISC metadata.xml 614 BLAKE2B 4f33a22a79f975aaf528ba53bf6e26aeb91af4244f7aac4259a61033c0841f2ea3c29a62c6a984429bf2a87b8e8173df7481079e3438e76d2d7050a31856501a SHA512 e55c7b603f37211338d1472796015a24ff2d034339461eb67411ed4d59202ed52a9e8d554de5cd72636e35875421f983dee12b7173056c806cd9541148ca0f71
diff --git a/sci-ml/XNNPACK/XNNPACK-2024.02.29-r1.ebuild b/sci-ml/XNNPACK/XNNPACK-2024.02.29-r1.ebuild
new file mode 100644
index 000000000000..a5fd72f0c3d9
--- /dev/null
+++ b/sci-ml/XNNPACK/XNNPACK-2024.02.29-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake flag-o-matic
+
+CommitId=fcbf55af6cf28a4627bcd1f703ab7ad843f0f3a2
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/google/XNNPACK/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+assembly jit +memopt +sparse static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ sci-ml/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/933414
+ # https://github.com/google/XNNPACK/issues/6806
+ filter-lto
+
+ local mycmakeargs=(
+ -DXNNPACK_BUILD_BENCHMARKS=OFF
+ -DXNNPACK_USE_SYSTEM_LIBS=ON
+ -DXNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF)
+ -DXNNPACK_ENABLE_JIT=$(usex jit ON OFF)
+ -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF)
+ -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DPTHREADPOOL_SOURCE_DIR=/usr
+ -DCPUINFO_SOURCE_DIR=/usr
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ fully-connected-test
+ fully-connected-nc-test
+ subgraph-fp16-test
+ qd8-f16-qc8w-gemm-minmax-test
+ qd8-f32-qc8w-gemm-minmax-test
+ qd8-f16-qc4w-gemm-minmax-test
+ qd8-f32-qc4w-gemm-minmax-test
+ )
+ cmake_src_test
+}
diff --git a/sci-ml/XNNPACK/XNNPACK-2024.11.08-r1.ebuild b/sci-ml/XNNPACK/XNNPACK-2024.11.08-r1.ebuild
new file mode 100644
index 000000000000..86c6084cc83f
--- /dev/null
+++ b/sci-ml/XNNPACK/XNNPACK-2024.11.08-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake flag-o-matic
+
+CommitId=4ea82e595b36106653175dcb04b2aa532660d0d8
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/google/XNNPACK/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+assembly jit +memopt +sparse static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ sci-ml/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/933414
+ # https://github.com/google/XNNPACK/issues/6806
+ filter-lto
+
+ local mycmakeargs=(
+ -DXNNPACK_BUILD_BENCHMARKS=OFF
+ -DXNNPACK_USE_SYSTEM_LIBS=ON
+ -DXNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF)
+ -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF)
+ -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DPTHREADPOOL_SOURCE_DIR=/usr
+ -DCPUINFO_SOURCE_DIR=/usr
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ unary-elementwise-nc-test
+ f32-f16-vcvt-test
+ f16-vlrelu-test
+ f16-vsqr-test
+ )
+ cmake_src_test
+}
diff --git a/sci-ml/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch b/sci-ml/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch
new file mode 100644
index 000000000000..a44708a2a88e
--- /dev/null
+++ b/sci-ml/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch
@@ -0,0 +1,30 @@
+--- a/src/reference/unary-elementwise.cc 2025-02-19 21:58:14.973845984 +0100
++++ b/src/reference/unary-elementwise.cc 2025-02-19 22:06:55.224576694 +0100
+@@ -127,6 +127,16 @@
+ }
+ };
+
++#ifdef XNN_HAVE_FLOAT16
++template <>
++struct ConvertOp<xnn_bfloat16, _Float16> {
++ explicit ConvertOp(const xnn_unary_uparams*) {}
++ _Float16 operator()(xnn_bfloat16 x) const {
++ return static_cast<_Float16>(static_cast<float>(x));
++ }
++};
++#endif
++
+ template <typename TIn, typename TOut>
+ const xnn_unary_elementwise_config* get_convert_config(
+ std::true_type /*input_quantized*/, std::true_type /*output_quantized*/) {
+--- a/src/xnnpack/requantization.h 2025-02-19 22:36:23.417900964 +0100
++++ b/src/xnnpack/requantization.h 2025-02-19 22:37:06.910367395 +0100
+@@ -121,7 +121,7 @@
+ uint8_t zero_point,
+ uint8_t min, uint8_t max) {
+ assert(scale < 256.0f);
+- assert(scale >= 0x1.0p-32f);
++ assert(scale >= 1.0f / 4294967296.0f /* 0x1.0p-32f */);
+
+ struct ExpMul f32 = parse_f32(scale);
+
diff --git a/sci-ml/XNNPACK/metadata.xml b/sci-ml/XNNPACK/metadata.xml
new file mode 100644
index 000000000000..ddf909e2c6ee
--- /dev/null
+++ b/sci-ml/XNNPACK/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="assembly">Build with assembly micro-kernels</flag>
+ <flag name="jit">Build with JIT micro-kernels</flag>
+ <flag name="memopt">Build with optimized memory allocation scheme</flag>
+ <flag name="sparse">Build with graph rewriting for sparse inference</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">google/XNNPACK</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/accelerate/Manifest b/sci-ml/accelerate/Manifest
new file mode 100644
index 000000000000..b259de850602
--- /dev/null
+++ b/sci-ml/accelerate/Manifest
@@ -0,0 +1,3 @@
+DIST accelerate-1.5.2.gh.tar.gz 765155 BLAKE2B 4ae488772251b0f00ff4e195001299fbc22dd12b9625547fbfb952b92a2c4c2a2ea9e1ac976e25b6a1d74ce4bfca4d0398362dfe30cbb266f297539ce790fc1c SHA512 aebdc3963fbc4d331bc8ed37b8769d13ec09cfe1f6b1607c83e2cc92903ef4e5ab6d3be5eb6e1007f3efa1a06e80e7a2d152e3180f2613baebcf1f787ac53139
+EBUILD accelerate-1.5.2-r2.ebuild 1248 BLAKE2B 7c9b6def3abd904edf64ebe3bf3297df4e4a7f9b5e44eab82181e59bcd0fce66b9cf7d652bf940c7ddecf966d18cdf67a85e8a651a8754da235737bf7b53b76e SHA512 493829281c7102226e0026d84d0fe7fcc6688653b324b272ff15fa23043d598fbfbe51518e04b8a8945b0cd96b375150e1d4c622f2ad1ed03e2e1434f3648a4a
+MISC metadata.xml 335 BLAKE2B 06a96188c26e286e81590830a24987e0029dec21d88d4f9c6262fdddc4953f9dfedf0d7f66385e9a1e1465b2f32fc09cee72b52516a77e2ff4e24fa5fa380c6a SHA512 4762cebead407dcd66c274ff1abdd056fb1f14dc54603d476e22c462c9bcff8ab6b42baf9d00a6b937b4d36112112671aeddd1f493b7202fb02158d32817882a
diff --git a/sci-ml/accelerate/accelerate-1.5.2-r2.ebuild b/sci-ml/accelerate/accelerate-1.5.2-r2.ebuild
new file mode 100644
index 000000000000..e8ef0adaf4d4
--- /dev/null
+++ b/sci-ml/accelerate/accelerate-1.5.2-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="Run your *raw* PyTorch training script on any kind of device"
+HOMEPAGE="https://github.com/huggingface/accelerate"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ sci-ml/caffe2[gloo]
+)"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_examples.py
+ tests/deepspeed
+ tests/test_big_modeling.py
+ tests/fsdp
+ tests/tp
+ tests/test_cli.py
+ )
+ local EPYTEST_DESELECT=(
+ tests/test_modeling_utils.py::ModelingUtilsTester::test_infer_auto_device_map_with_buffer_check
+ tests/test_modeling_utils.py::ModelingUtilsTester::test_infer_auto_device_map_with_buffer_check_and_multi_devices
+ tests/test_modeling_utils.py::ModelingUtilsTester::test_infer_auto_device_map_with_fallback_allocation_and_buffers
+ tests/test_utils.py::UtilsTester::test_patch_environment_key_exists
+ )
+ epytest tests
+}
diff --git a/sci-ml/accelerate/metadata.xml b/sci-ml/accelerate/metadata.xml
new file mode 100644
index 000000000000..565dc9f7fbe5
--- /dev/null
+++ b/sci-ml/accelerate/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Alfredo Tupone</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/accelerate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/caffe2/Manifest b/sci-ml/caffe2/Manifest
new file mode 100644
index 000000000000..7db834f6adf3
--- /dev/null
+++ b/sci-ml/caffe2/Manifest
@@ -0,0 +1,18 @@
+AUX caffe2-2.4.0-cpp-httplib.patch 414 BLAKE2B fabe646c86f4c6736600fa44733ab6ea246a7a007a01b1a558a42b32f42ccd9ce63a14ac5a949a07258c8ba06d464ea5bd1de3ab1fe265792e527365f9dbb546 SHA512 c206df54f285bbd7fe5a216f906e6c545e145a21322bd817bf5cee1190d7c3381f626991889cac8b8f586f277e80bf26f393abd01a0e3b5ded97f8c355c46bac
+AUX caffe2-2.4.0-cstdint.patch 263 BLAKE2B 52705466cc1f170f7c6f6ef2474fd92b294e8a07e6ab640804efa38e7e0526a72e7ff51c3b214662cc586eac7118b768b1a40df62a133834d617d5c8f7a712db SHA512 22f3c024ca11fe4483263956825f8190245c61eb6f200d1466a734a927729a0e3bc244d77050c85403b469ea647046941b5ba42e59c4f6410f8c8fa192de4268
+AUX caffe2-2.4.0-libfmt-11.patch 1560 BLAKE2B 816201b6abc3ad4c4924c649905068306f3a0c674eab36fb6a6772b84d2bf0806dd55d586d6873952b0eac56afae00513966071a380b9e60eff3c668e6aec737 SHA512 acdc879f2ed8ae546a6ce4db1b63faba3b6672374c61940d58e0c2b747c4b0d8d38fb34a2e66f3805f9f328fd4e0115dd705b541871b2fd99a2782756ca583e5
+AUX caffe2-2.5.1-cudnn_include_fix.patch 587 BLAKE2B 8ffeb9080ee77b953e7a77c9bea9af8c078adf147c314e07cf40d6f9ce1c988ac201e282ffd67a29703ced5885329d44be013c54cf3ba870c009aed40e65fefc SHA512 b37427e35d8147e603331eb344a3542ed31d0b133df3c7ce10ebecec93b1d09d040f77c33f23f70e9835db10fa209c0318b89b70b3b91263655d160ed737d6f3
+AUX caffe2-2.5.1-gentoo.patch 5181 BLAKE2B 146e49ea90dbdd3bfb12a8f1b135b9ac8ed849c408a81081a5308c8dd761e1b3a8e714b905c2b88a785f436123347899b7a72eccacc2fbc54d9efad2d1dc3550 SHA512 885e79edc67d7eff1e895bdd3589704220714b6024635444dac1452e41a947c2b2a4a33866acbfc19af66d42f340038395aeb53d1477294712578e4bdbe06673
+AUX caffe2-2.5.1-glog-0.6.0.patch 959 BLAKE2B eb0c18a34a2c5a1b68a420b9001eac5c8ff65ef9ca9ea1e5ad93ecef3cbaa595808105bbf6c8d3dcb9047559d23bc0398cda5922fb41e29a7588644c90c90fd8 SHA512 5873f11930ae5947c7dfbb19d0377d5535e395fcc1ab213e3c65c77b2e3bd911efc11cde2ca3e7134e9e7798ca7a483910113f331c0a23b73a5546aaaded40c5
+AUX caffe2-2.5.1-newfix-functorch-install.patch 455 BLAKE2B 32f1b92ce029337a6e977487b352456e7db42f9e8a51d4dbb8d3cd8bdd76f04cd9db1aead6a30ebef13f5a157e7310563e12e5af1f6e48785605e5d1e66e25ab SHA512 d78030fd4d1ee3c393a6171f0018fd101d068f321828a20fc33049ce18115dafacd5c6421c81a46c99abe46653bf862029d90df3bbbea61d90dea793432ef58c
+AUX caffe2-2.5.1-unbundle_fmt.patch 499 BLAKE2B 06550f8e7ae3a932a585f8abe7653ac0b574d9ce1160c190a39f96b7d76e3a9e7a4e62b9e5e967e5884d0e38668f60af7737ea3c715d718deb7a634de98ccebd SHA512 afcb5f1123cbe5eeebdb2c5e312e37956dbc33a926cf379f531896f2c75fbb4b4dfa2c9d276a98bbad51bc587886bb572c3221be06e5116443c8ab44e1d12da5
+AUX caffe2-2.5.1-unbundle_kineto.patch 830 BLAKE2B 80c9ebc30d0ca3b964141a5d9a7cb3662e6dc8472454ceabc2725f47277211cd495c4146dc9c2046cc5c5505909cf4e30c780685fceebdb05319aba5c4366346 SHA512 9645b11b5395f7a4626f17edae22c718c73d2e2f3de56e98653932a3c66f417942d54fd1dadc99112337c11513ac707a96d0caac4bf3d100db8f7079609b9b68
+AUX caffe2-2.6.0-gentoo.patch 6698 BLAKE2B 58c46bedcc71ef25ab3e70efbea98e2cd4f5c068deb289ae95ba985745edcacb258bcf5cf093f44ff60606b3f6dcd1f75c9463ee225dec5e79675d0f78196e05 SHA512 b835e24e903f4d4aeaa4c1c8611bdd3896e36631c163da4154201676d7c5236e6eb7d80e0f81700f47b5f5859ced4c7ec0bdfbef6646c6ccc0f982f0d893fe14
+DIST caffe2-patches-20240809.tar.gz 15242 BLAKE2B 77503c61487e7d85cca5afcab9a6e638f9833a70861845638cf1b62bc492d7b6650e6db81d53ebb2f39c6313509250d339f725f04d03ec6dd23dd0cf70843d8c SHA512 74b3b0b6671b655ecac93f7436c4ed7cb0157a83aafbf6afcc0811e11cef341cd8f638db1a111bcbb01e1a6dd4daf3a36b96d7a8ce90f04c2fa091bd6e3a142b
+DIST pytorch-2.4.1.tar.gz 115029469 BLAKE2B c2909ff27d527bc57cba56b780d3b8cd07a043ab045caa6c6b27857a16f9ad10aaab2116b26226b1e46ee08ffb44007965d914464418e4ae14ca48c3f3f383bb SHA512 7e9b4485e242eaf0d648765c6621d73d95e7107b766646a098175436d1ab2e2b864badd0757a3bab6b7c318233f2120bad9ac07b39bb9e357897919580c87631
+DIST pytorch-2.5.1.tar.gz 116091366 BLAKE2B 7838b17562b94ffc7d798031348689db607dd5eae2a3c35be365972e2b52a2c1b12067068d5aca5ab00cf0977d9c2c3c9ae5337d69534c864c732e6256cbeef6 SHA512 a913a466324a65fa3d79c5e9ad4d605fc7976f0134fda2f81aaa3cea29d56926604999b8a238759646d211e63b47bbb446cdffa86ca8defd8159f11e30301289
+DIST pytorch-2.6.0.tar.gz 119594438 BLAKE2B 3152eb341cf42295e147e59625beb9c06608aa4b78f9618c1c0024b10c1c767715d07fe8c4be52d029ac47f808cd0d5e65c9530ec90d951a64b993083b4067ad SHA512 a70da80ff09d226085e18228132cf6bb236ad8cc47eed52375d0d2a615f09dd33849da947270b5670c184eab60cb8e2adf11d801babfbda7aa621400501d07b0
+EBUILD caffe2-2.4.1-r6.ebuild 8556 BLAKE2B 77f1809c8ec73b36e16a8c2939bcafb83a995f8074c163e224f0b02230f6c9cde73c2c11aa07b44f4b670b4472c6ba4157262dd14743cad385187bc4145f5af9 SHA512 7747b9ad89f065af36e5d191f24525748a4c6ea020848b0d64f5699e8f9192699ec523708ea6bc52e1973c5792e65330ba7d27e3a0c88d0990094feda9e9a46d
+EBUILD caffe2-2.5.1-r10.ebuild 8866 BLAKE2B bcc3af372f8ab5969903c32bf15cc619d700776133cfa20e723fe126435505e73fcf48985c338c3055b5a206f776fe5744a73441308114356f35e566aae56b28 SHA512 e175f3741c80e0181ec03952dfac7bcfad808275c60d01f18a46073300d575b31f7b161eb715db22a00e8bb13e37c68051e487982a8f020d63da342da24ff56e
+EBUILD caffe2-2.6.0-r2.ebuild 8889 BLAKE2B 0ccf998a778c69efb005967a5ed6110c34ab263e42f5d969fb4bbbed611209ae1c9191df8c47b53c7c194b2612ce86229456dc4fc6383779a8736e4499056bfa SHA512 d5f19c8f8742b0bfacef9656b9ead6bdaf1185360467d6b83cd1bc7e26db2e3e2c925131850a7f2b9bf3b1fadc081e9d6047ae3b86aeacecc689377fe62edca8
+MISC metadata.xml 1228 BLAKE2B 29fa99ccc009ae8ac209cf0a85a8c87992d10301837f44478b4fe60445dbf261cf1c3869cc6e173944b9c98608fcf32a379c766bf7e53267c90fd71e51e1f9a0 SHA512 06d89ac1b62bf215d56ac67408f6027849f3a1948f1a40013aa989f9d879eb9aa9156d9c336cc83d2bb3795271c11d39d34919f749d83dbfbf48cc2d6aa8545e
diff --git a/sci-ml/caffe2/caffe2-2.4.1-r6.ebuild b/sci-ml/caffe2/caffe2-2.4.1-r6.ebuild
new file mode 100644
index 000000000000..bc95abbd3fca
--- /dev/null
+++ b/sci-ml/caffe2/caffe2-2.4.1-r6.ebuild
@@ -0,0 +1,305 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+ROCM_VERSION=6.1
+inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
+
+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
+ https://dev.gentoo.org/~tupone/distfiles/${PN}-patches-20240809.tar.gz"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda distributed fbgemm flash gloo mkl mpi nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ mpi? ( distributed )
+ gloo? ( distributed )
+ ?? ( cuda rocm )
+ rocm? (
+ || ( ${ROCM_REQUIRED_USE} )
+ !flash
+ )
+"
+
+# CUDA 12 not supported yet: https://github.com/pytorch/pytorch/issues/91122
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/abseil-cpp:=
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-libs/cpuinfo
+ dev-libs/libfmt:=
+ dev-cpp/opentelemetry-cpp
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef[cpu_flags_x86_avx512f(+),cpu_flags_x86_avx(+)]
+ dev-libs/sleef[cpu_flags_x86_sse3(+),cpu_flags_x86_ssse3(+)]
+ dev-libs/sleef[cpu_flags_x86_sse4_1(+),cpu_flags_x86_sse4_2(+)]
+ virtual/lapack
+ sci-ml/onnx
+ sci-ml/foxi
+ cuda? (
+ dev-libs/cudnn
+ >=dev-libs/cudnn-frontend-1.0.3:0/8
+ <dev-util/nvidia-cuda-toolkit-12.5:=[profiler]
+ )
+ fbgemm? ( sci-ml/FBGEMM )
+ gloo? ( sci-ml/gloo[cuda?] )
+ mpi? ( virtual/mpi )
+ nnpack? ( sci-ml/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ onednn? ( sci-ml/oneDNN )
+ opencl? ( virtual/opencl )
+ qnnpack? (
+ !sci-libs/QNNPACK
+ sci-ml/gemmlowp
+ )
+ rocm? (
+ =dev-util/hip-6.1*
+ =dev-libs/rccl-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocThrust-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocPRIM-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipBLAS-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipFFT-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSPARSE-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipRAND-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipCUB-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSOLVER-6.1*[${ROCM_USEDEP}]
+ =sci-libs/miopen-6.1*[${ROCM_USEDEP}]
+ =dev-util/roctracer-6.1*[${ROCM_USEDEP}]
+
+ =sci-libs/hipBLASLt-6.1*
+ amdgpu_targets_gfx90a? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx90a] )
+ amdgpu_targets_gfx940? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx940] )
+ amdgpu_targets_gfx941? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx941] )
+ amdgpu_targets_gfx942? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx942] )
+ )
+ distributed? (
+ sci-ml/tensorpipe[cuda?]
+ dev-cpp/cpp-httplib
+ )
+ xnnpack? ( sci-ml/XNNPACK )
+ mkl? ( sci-libs/mkl )
+ openblas? ( sci-libs/openblas )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/clog
+ dev-libs/psimd
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/flatbuffers
+ sci-ml/FP16
+ sci-ml/kineto
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+ cuda? ( <=dev-libs/cutlass-3.4.1 )
+ onednn? ( sci-ml/ideep )
+"
+
+PATCHES=(
+ ../patches/${PN}-2.4.0-gentoo.patch
+ ../patches/${PN}-2.4.0-install-dirs.patch
+ ../patches/${PN}-1.12.0-glog-0.6.0.patch
+ ../patches/${PN}-1.13.1-tensorpipe.patch
+ ../patches/${PN}-2.3.0-cudnn_include_fix.patch
+ ../patches/${PN}-2.1.2-fix-rpath.patch
+ ../patches/${PN}-2.4.0-fix-openmp-link.patch
+ ../patches/${PN}-2.4.0-rocm-fix-std-cpp17.patch
+ ../patches/${PN}-2.2.2-musl.patch
+ ../patches/${PN}-2.4.0-exclude-aotriton.patch
+ ../patches/${PN}-2.3.0-fix-rocm-gcc14-clamp.patch
+ ../patches/${PN}-2.3.0-fix-libcpp.patch
+ "${FILESDIR}"/${PN}-2.4.0-libfmt-11.patch
+ "${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
+ "${FILESDIR}"/${PN}-2.4.0-cstdint.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+ sed -i \
+ -e "/third_party\/gloo/d" \
+ cmake/Dependencies.cmake \
+ || die
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+ # prefixify the hardcoded paths, after all patches are applied
+ hprefixify \
+ aten/CMakeLists.txt \
+ caffe2/CMakeLists.txt \
+ cmake/Metal.cmake \
+ cmake/Modules/*.cmake \
+ cmake/Modules_CUDA_fix/FindCUDNN.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
+ cmake/public/LoadHIP.cmake \
+ cmake/public/cuda.cmake \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ CMakeLists.txt
+
+ if use rocm; then
+ sed -e "s:/opt/rocm:/usr:" \
+ -e "s:lib/cmake:$(get_libdir)/cmake:g" \
+ -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
+ -i cmake/public/LoadHIP.cmake || die
+
+ ebegin "HIPifying cuda sources"
+ ${EPYTHON} tools/amd_build/build_amd.py || die
+ eend $?
+ fi
+}
+
+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_DISTRIBUTED=$(usex distributed)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=$(usex fbgemm)
+ -DUSE_FLASH_ATTENTION=$(usex flash)
+ -DUSE_MEM_EFF_ATTENTION=OFF
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=$(usex gloo)
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=$(usex onednn)
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_TENSORPIPE=$(usex distributed)
+ -DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=$(usex rocm)
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_UCC=OFF
+ -DUSE_VALGRIND=OFF
+ -DPython_EXECUTABLE="${PYTHON}"
+ -DUSE_ITT=OFF
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_PSIMD=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_PYTORCH_METAL=OFF
+ -DUSE_XPU=OFF
+
+ -Wno-dev
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ if use mkl; then
+ mycmakeargs+=(-DBLAS=MKL)
+ elif use openblas; then
+ mycmakeargs+=(-DBLAS=OpenBLAS)
+ else
+ mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
+ fi
+
+ if use cuda; then
+ addpredict "/dev/nvidiactl" # bug 867706
+ addpredict "/dev/char"
+ addpredict "/proc/self/task" # bug 926116
+
+ mycmakeargs+=(
+ -DUSE_CUDNN=ON
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ elif use rocm; then
+ export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
+
+ mycmakeargs+=(
+ -DUSE_NCCL=ON
+ -DUSE_SYSTEM_NCCL=ON
+ )
+
+ # ROCm libraries produce too much warnings
+ append-cxxflags -Wno-deprecated-declarations -Wno-unused-result
+
+ if tc-is-clang; then
+ # fix mangling in LLVM: https://github.com/llvm/llvm-project/issues/85656
+ append-cxxflags -fclang-abi-compat=17
+ fi
+ fi
+
+ if use onednn; then
+ mycmakeargs+=(
+ -DUSE_MKLDNN=ON
+ -DMKLDNN_FOUND=ON
+ -DMKLDNN_LIBRARIES=dnnl
+ -DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
+ )
+ fi
+
+ cmake_src_configure
+
+ # do not rerun cmake and the build process in src_install
+ sed '/RERUN/,+1d' -i "${BUILD_DIR}"/build.ninja || die
+}
+
+python_install() {
+ python_domodule python/caffe2
+ python_domodule python/torch
+ ln -s ../../../../../include/torch \
+ "${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
+}
+
+src_install() {
+ cmake_src_install
+
+ # Used by pytorch ebuild
+ 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
+ cp torch/version.py python/torch/ || die
+ python_install
+}
diff --git a/sci-ml/caffe2/caffe2-2.5.1-r10.ebuild b/sci-ml/caffe2/caffe2-2.5.1-r10.ebuild
new file mode 100644
index 000000000000..02c57f637949
--- /dev/null
+++ b/sci-ml/caffe2/caffe2-2.5.1-r10.ebuild
@@ -0,0 +1,331 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+ROCM_VERSION=6.1
+inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
+
+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"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda distributed fbgemm flash gloo memefficient mkl mpi nnpack +numpy
+ onednn openblas opencl openmp qnnpack rocm xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ mpi? ( distributed )
+ gloo? ( distributed )
+ ?? ( cuda rocm )
+ rocm? (
+ || ( ${ROCM_REQUIRED_USE} )
+ !flash
+ )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/abseil-cpp:=
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-cpp/nlohmann_json
+ dev-cpp/opentelemetry-cpp
+ dev-libs/cpuinfo
+ dev-libs/libfmt:=
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ sci-ml/onnx
+ sci-ml/foxi
+ virtual/lapack
+ cuda? (
+ dev-libs/cudnn
+ >=dev-libs/cudnn-frontend-1.0.3:0/8
+ dev-util/nvidia-cuda-toolkit:=[profiler]
+ )
+ fbgemm? ( sci-ml/FBGEMM )
+ gloo? ( sci-ml/gloo[cuda?] )
+ mpi? ( virtual/mpi )
+ nnpack? ( sci-ml/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ onednn? ( =sci-ml/oneDNN-3.5* )
+ opencl? ( virtual/opencl )
+ qnnpack? (
+ !sci-libs/QNNPACK
+ sci-ml/gemmlowp
+ )
+ rocm? (
+ =dev-util/hip-6.1*
+ =dev-libs/rccl-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocThrust-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocPRIM-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipBLAS-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipFFT-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSPARSE-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipRAND-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipCUB-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSOLVER-6.1*[${ROCM_USEDEP}]
+ =sci-libs/miopen-6.1*[${ROCM_USEDEP}]
+ =dev-util/roctracer-6.1*[${ROCM_USEDEP}]
+
+ =sci-libs/hipBLASLt-6.1*
+ amdgpu_targets_gfx90a? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx90a] )
+ amdgpu_targets_gfx940? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx940] )
+ amdgpu_targets_gfx941? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx941] )
+ amdgpu_targets_gfx942? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx942] )
+ )
+ distributed? (
+ sci-ml/tensorpipe[cuda?]
+ dev-cpp/cpp-httplib
+ )
+ xnnpack? ( ~sci-ml/XNNPACK-2024.02.29 )
+ mkl? ( sci-libs/mkl )
+ openblas? ( sci-libs/openblas )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/flatbuffers
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/psimd
+ sci-ml/FP16
+ sci-ml/kineto
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+ cuda? ( <=dev-libs/cutlass-3.4.1 )
+ onednn? ( sci-ml/ideep )
+ qnnpack? ( dev-libs/clog )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-unbundle_fmt.patch
+ "${FILESDIR}"/${P}-unbundle_kineto.patch
+ "${FILESDIR}"/${P}-cudnn_include_fix.patch
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
+ "${FILESDIR}"/${P}-glog-0.6.0.patch
+ "${FILESDIR}"/${P}-newfix-functorch-install.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+
+ # Unbundle fmt
+ sed -i \
+ -e 's|::fmt-header-only||' \
+ c10/CMakeLists.txt \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ || die
+
+ # Drop third_party from CMake tree
+ sed -i \
+ -e '/add_subdirectory.*third_party/d' \
+ CMakeLists.txt \
+ cmake/Dependencies.cmake \
+ cmake/ProtoBuf.cmake \
+ aten/src/ATen/CMakeLists.txt \
+ || die
+ # Change libc10* path
+ sed -i \
+ -e "/EXPORT/s|DESTINATION lib)|DESTINATION $(get_libdir))|" \
+ c10/cuda/CMakeLists.txt \
+ c10/CMakeLists.txt \
+ c10/hip/CMakeLists.txt \
+ || die
+ sed -i \
+ -e '/Using pocketfft in directory:/d' \
+ cmake/Dependencies.cmake \
+ || die
+
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+
+ # prefixify the hardcoded paths, after all patches are applied
+ hprefixify \
+ aten/CMakeLists.txt \
+ caffe2/CMakeLists.txt \
+ cmake/Metal.cmake \
+ cmake/Modules/*.cmake \
+ cmake/Modules_CUDA_fix/FindCUDNN.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
+ cmake/public/LoadHIP.cmake \
+ cmake/public/cuda.cmake \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ CMakeLists.txt
+
+ if use rocm; then
+ sed -e "s:/opt/rocm:/usr:" \
+ -e "s:lib/cmake:$(get_libdir)/cmake:g" \
+ -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
+ -i cmake/public/LoadHIP.cmake || die
+
+ ebegin "HIPifying cuda sources"
+ ${EPYTHON} tools/amd_build/build_amd.py || die
+ eend $?
+ fi
+}
+
+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
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ -DPython_EXECUTABLE="${PYTHON}"
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=$(usex cuda)
+ -DUSE_DISTRIBUTED=$(usex distributed)
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=$(usex fbgemm)
+ -DUSE_FLASH_ATTENTION=$(usex flash)
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=$(usex gloo)
+ -DUSE_ITT=OFF
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MEM_EFF_ATTENTION=$(usex memefficient)
+ -DUSE_MKLDNN=$(usex onednn)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_NCCL=OFF
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_NUMA=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
+ -DUSE_PYTORCH_METAL=OFF
+ -DUSE_ROCM=$(usex rocm)
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_PSIMD=ON
+ -DUSE_SYSTEM_PSIMD=ON
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_TENSORPIPE=$(usex distributed)
+ -DUSE_UCC=OFF
+ -DUSE_VALGRIND=OFF
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_XPU=OFF
+ -Wno-dev
+ )
+
+ if use mkl; then
+ mycmakeargs+=(-DBLAS=MKL)
+ elif use openblas; then
+ mycmakeargs+=(-DBLAS=OpenBLAS)
+ else
+ mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
+ fi
+
+ if use cuda; then
+ addpredict "/dev/nvidiactl" # bug 867706
+ addpredict "/dev/char"
+ addpredict "/proc/self/task" # bug 926116
+
+ mycmakeargs+=(
+ -DUSE_CUDNN=ON
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ elif use rocm; then
+ export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
+
+ mycmakeargs+=(
+ -DUSE_NCCL=ON
+ -DUSE_SYSTEM_NCCL=ON
+ )
+
+ # ROCm libraries produce too much warnings
+ append-cxxflags -Wno-deprecated-declarations -Wno-unused-result
+
+ if tc-is-clang; then
+ # fix mangling in LLVM: https://github.com/llvm/llvm-project/issues/85656
+ append-cxxflags -fclang-abi-compat=17
+ fi
+ fi
+
+ if use onednn; then
+ mycmakeargs+=(
+ -DMKLDNN_FOUND=ON
+ -DMKLDNN_LIBRARIES=dnnl
+ -DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ PYTORCH_BUILD_VERSION=${PV} \
+ PYTORCH_BUILD_NUMBER=0 \
+ cmake_src_compile
+}
+
+python_install() {
+ python_domodule python/torch
+ mkdir "${D}"$(python_get_sitedir)/torch/bin || die
+ mkdir "${D}"$(python_get_sitedir)/torch/lib || die
+ mkdir "${D}"$(python_get_sitedir)/torch/include || die
+ ln -s ../../../../../include/torch \
+ "${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
+ ln -s ../../../../../bin/torch_shm_manager \
+ "${D}"/$(python_get_sitedir)/torch/bin/torch_shm_manager || die
+ ln -s ../../../../../$(get_libdir)/libtorch_global_deps.so \
+ "${D}"/$(python_get_sitedir)/torch/lib/libtorch_global_deps.so || die
+}
+
+src_install() {
+ cmake_src_install
+
+ # Used by pytorch ebuild
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+ dostrip -x /var/lib/${PN}/functorch.so
+
+ rm -rf python
+ mkdir -p python/torch || die
+ cp torch/version.py python/torch/ || die
+ python_install
+}
diff --git a/sci-ml/caffe2/caffe2-2.6.0-r2.ebuild b/sci-ml/caffe2/caffe2-2.6.0-r2.ebuild
new file mode 100644
index 000000000000..b9747ad9eed4
--- /dev/null
+++ b/sci-ml/caffe2/caffe2-2.6.0-r2.ebuild
@@ -0,0 +1,331 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+ROCM_VERSION=6.1
+inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
+
+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"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda distributed fbgemm flash gloo memefficient mkl mpi nnpack +numpy
+ onednn openblas opencl openmp qnnpack rocm xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ mpi? ( distributed )
+ gloo? ( distributed )
+ ?? ( cuda rocm )
+ rocm? (
+ || ( ${ROCM_REQUIRED_USE} )
+ !flash
+ )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/abseil-cpp:=
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-cpp/nlohmann_json
+ dev-cpp/opentelemetry-cpp
+ dev-libs/cpuinfo
+ dev-libs/libfmt:=
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ virtual/lapack
+ sci-ml/foxi
+ sci-ml/onnx
+ cuda? (
+ dev-libs/cudnn
+ >=dev-libs/cudnn-frontend-1.0.3:0/8
+ dev-util/nvidia-cuda-toolkit:=[profiler]
+ )
+ fbgemm? ( sci-ml/FBGEMM )
+ gloo? ( sci-ml/gloo[cuda?] )
+ mpi? ( virtual/mpi )
+ nnpack? ( sci-ml/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ onednn? ( =sci-ml/oneDNN-3.5* )
+ opencl? ( virtual/opencl )
+ qnnpack? (
+ !sci-libs/QNNPACK
+ sci-ml/gemmlowp
+ )
+ rocm? (
+ =dev-util/hip-6.1*
+ =dev-libs/rccl-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocThrust-6.1*[${ROCM_USEDEP}]
+ =sci-libs/rocPRIM-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipBLAS-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipFFT-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSPARSE-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipRAND-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipCUB-6.1*[${ROCM_USEDEP}]
+ =sci-libs/hipSOLVER-6.1*[${ROCM_USEDEP}]
+ =sci-libs/miopen-6.1*[${ROCM_USEDEP}]
+ =dev-util/roctracer-6.1*[${ROCM_USEDEP}]
+
+ =sci-libs/hipBLASLt-6.1*
+ amdgpu_targets_gfx90a? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx90a] )
+ amdgpu_targets_gfx940? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx940] )
+ amdgpu_targets_gfx941? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx941] )
+ amdgpu_targets_gfx942? ( =sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx942] )
+ )
+ distributed? (
+ sci-ml/tensorpipe[cuda?]
+ dev-cpp/cpp-httplib
+ )
+ xnnpack? ( sci-ml/XNNPACK )
+ mkl? ( sci-libs/mkl )
+ openblas? ( sci-libs/openblas )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/flatbuffers
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/psimd
+ sci-ml/FP16
+ sci-ml/kineto
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+ cuda? ( <=dev-libs/cutlass-3.4.1 )
+ onednn? ( sci-ml/ideep )
+ qnnpack? ( dev-libs/clog )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.1-unbundle_fmt.patch
+ "${FILESDIR}"/${PN}-2.5.1-unbundle_kineto.patch
+ "${FILESDIR}"/${PN}-2.5.1-cudnn_include_fix.patch
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
+ "${FILESDIR}"/${PN}-2.5.1-glog-0.6.0.patch
+ "${FILESDIR}"/${PN}-2.5.1-newfix-functorch-install.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+
+ # Unbundle fmt
+ sed -i \
+ -e 's|::fmt-header-only||' \
+ c10/CMakeLists.txt \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ || die
+
+ # Drop third_party from CMake tree
+ sed -i \
+ -e '/add_subdirectory.*third_party/d' \
+ CMakeLists.txt \
+ cmake/Dependencies.cmake \
+ cmake/ProtoBuf.cmake \
+ aten/src/ATen/CMakeLists.txt \
+ || die
+ # Change libc10* path
+ sed -i \
+ -e "/EXPORT/s|DESTINATION lib)|DESTINATION $(get_libdir))|" \
+ c10/cuda/CMakeLists.txt \
+ c10/CMakeLists.txt \
+ c10/hip/CMakeLists.txt \
+ || die
+ sed -i \
+ -e '/Using pocketfft in directory:/d' \
+ cmake/Dependencies.cmake \
+ || die
+
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+
+ # prefixify the hardcoded paths, after all patches are applied
+ hprefixify \
+ aten/CMakeLists.txt \
+ caffe2/CMakeLists.txt \
+ cmake/Metal.cmake \
+ cmake/Modules/*.cmake \
+ cmake/Modules_CUDA_fix/FindCUDNN.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
+ cmake/public/LoadHIP.cmake \
+ cmake/public/cuda.cmake \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ CMakeLists.txt
+
+ if use rocm; then
+ sed -e "s:/opt/rocm:/usr:" \
+ -e "s:lib/cmake:$(get_libdir)/cmake:g" \
+ -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
+ -i cmake/public/LoadHIP.cmake || die
+
+ ebegin "HIPifying cuda sources"
+ ${EPYTHON} tools/amd_build/build_amd.py || die
+ eend $?
+ fi
+}
+
+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
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ -DPython_EXECUTABLE="${PYTHON}"
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=$(usex cuda)
+ -DUSE_DISTRIBUTED=$(usex distributed)
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=$(usex fbgemm)
+ -DUSE_FLASH_ATTENTION=$(usex flash)
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=$(usex gloo)
+ -DUSE_ITT=OFF
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MEM_EFF_ATTENTION=$(usex memefficient)
+ -DUSE_MKLDNN=$(usex onednn)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_NCCL=OFF
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_NUMA=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
+ -DUSE_PYTORCH_METAL=OFF
+ -DUSE_ROCM=$(usex rocm)
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_PSIMD=ON
+ -DUSE_SYSTEM_PSIMD=ON
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_TENSORPIPE=$(usex distributed)
+ -DUSE_UCC=OFF
+ -DUSE_VALGRIND=OFF
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_XPU=OFF
+ -Wno-dev
+ )
+
+ if use mkl; then
+ mycmakeargs+=(-DBLAS=MKL)
+ elif use openblas; then
+ mycmakeargs+=(-DBLAS=OpenBLAS)
+ else
+ mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
+ fi
+
+ if use cuda; then
+ addpredict "/dev/nvidiactl" # bug 867706
+ addpredict "/dev/char"
+ addpredict "/proc/self/task" # bug 926116
+
+ mycmakeargs+=(
+ -DUSE_CUDNN=ON
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ elif use rocm; then
+ export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
+
+ mycmakeargs+=(
+ -DUSE_NCCL=ON
+ -DUSE_SYSTEM_NCCL=ON
+ )
+
+ # ROCm libraries produce too much warnings
+ append-cxxflags -Wno-deprecated-declarations -Wno-unused-result
+
+ if tc-is-clang; then
+ # fix mangling in LLVM: https://github.com/llvm/llvm-project/issues/85656
+ append-cxxflags -fclang-abi-compat=17
+ fi
+ fi
+
+ if use onednn; then
+ mycmakeargs+=(
+ -DMKLDNN_FOUND=ON
+ -DMKLDNN_LIBRARIES=dnnl
+ -DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ PYTORCH_BUILD_VERSION=${PV} \
+ PYTORCH_BUILD_NUMBER=0 \
+ cmake_src_compile
+}
+
+python_install() {
+ python_domodule python/torch
+ mkdir "${D}"$(python_get_sitedir)/torch/bin || die
+ mkdir "${D}"$(python_get_sitedir)/torch/lib || die
+ mkdir "${D}"$(python_get_sitedir)/torch/include || die
+ ln -s ../../../../../include/torch \
+ "${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
+ ln -s ../../../../../bin/torch_shm_manager \
+ "${D}"/$(python_get_sitedir)/torch/bin/torch_shm_manager || die
+ ln -s ../../../../../$(get_libdir)/libtorch_global_deps.so \
+ "${D}"/$(python_get_sitedir)/torch/lib/libtorch_global_deps.so || die
+}
+
+src_install() {
+ cmake_src_install
+
+ # Used by pytorch ebuild
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+ dostrip -x /var/lib/${PN}/functorch.so
+
+ rm -rf python
+ mkdir -p python/torch || die
+ cp torch/version.py python/torch/ || die
+ python_install
+}
diff --git a/sci-ml/caffe2/files/caffe2-2.4.0-cpp-httplib.patch b/sci-ml/caffe2/files/caffe2-2.4.0-cpp-httplib.patch
new file mode 100644
index 000000000000..5d684a4a4738
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.4.0-cpp-httplib.patch
@@ -0,0 +1,13 @@
+--- a/torch/lib/libshm/CMakeLists.txt 2024-09-04 06:09:51.943752841 +0200
++++ b/torch/lib/libshm/CMakeLists.txt 2024-09-04 06:10:52.243821438 +0200
+@@ -24,6 +24,10 @@
+ CXX_STANDARD 17)
+ target_link_libraries(shm PRIVATE ${TORCH_CPU_LIB})
+
++if (USE_DISTRIBUTED)
++ target_link_libraries(shm PRIVATE cpp-httplib)
++endif()
++
+ if(UNIX AND NOT APPLE)
+ include(CheckLibraryExists)
+ find_package(Threads REQUIRED)
diff --git a/sci-ml/caffe2/files/caffe2-2.4.0-cstdint.patch b/sci-ml/caffe2/files/caffe2-2.4.0-cstdint.patch
new file mode 100644
index 000000000000..f248ab031eb0
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.4.0-cstdint.patch
@@ -0,0 +1,10 @@
+--- a/caffe2/utils/string_utils.cc 2024-09-05 08:29:06.930438069 +0200
++++ b/caffe2/utils/string_utils.cc 2024-09-05 08:29:28.398137596 +0200
+@@ -3,6 +3,7 @@
+ #include <algorithm>
+ #include <sstream>
+ #include <vector>
++#include <cstdint>
+
+ namespace caffe2 {
+
diff --git a/sci-ml/caffe2/files/caffe2-2.4.0-libfmt-11.patch b/sci-ml/caffe2/files/caffe2-2.4.0-libfmt-11.patch
new file mode 100644
index 000000000000..9f6740a07f1f
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.4.0-libfmt-11.patch
@@ -0,0 +1,44 @@
+Fix build against libfmt-11
+
+https://github.com/pytorch/pytorch/commit/83eedf66b9e7f52323d9f45c5dfaa64472452595
+https://github.com/pytorch/pytorch/pull/130628
+
+From 83eedf66b9e7f52323d9f45c5dfaa64472452595 Mon Sep 17 00:00:00 2001
+From: Aaron Gokaslan <aaronGokaslan@gmail.com>
+Date: Tue, 16 Jul 2024 06:12:08 +0000
+Subject: [PATCH] Update libfmt submodule to 11.0.1 (#130628)
+
+Update libfmt to 11.0.1 reopen of https://github.com/pytorch/pytorch/pull/129962. Requires a kineto update and moves fmt::join into a separate include so added it where necessary.
+
+Pull Request resolved: https://github.com/pytorch/pytorch/pull/130628
+Approved by: https://github.com/aaronenyeshi
+--- a/torch/csrc/distributed/c10d/socket.cpp
++++ b/torch/csrc/distributed/c10d/socket.cpp
+@@ -32,6 +32,7 @@ C10_DIAGNOSTIC_PUSH_AND_IGNORED_IF_DEFINED("-Wdeprecated")
+ #include <fmt/chrono.h>
+ C10_DIAGNOSTIC_POP()
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ #include <torch/csrc/distributed/c10d/error.h>
+ #include <torch/csrc/distributed/c10d/exception.h>
+--- a/torch/csrc/profiler/standalone/execution_trace_observer.cpp
++++ b/torch/csrc/profiler/standalone/execution_trace_observer.cpp
+@@ -10,6 +10,7 @@
+ #endif // _WIN32
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+ #include <chrono>
+ #include <cmath>
+ #include <fstream>
+--- a/torch/csrc/profiler/util.cpp
++++ b/torch/csrc/profiler/util.cpp
+@@ -5,6 +5,7 @@
+ #include <c10/util/ArrayRef.h>
+ #include <c10/util/irange.h>
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ #ifdef USE_KINETO
+ #include <libkineto.h>
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-cudnn_include_fix.patch b/sci-ml/caffe2/files/caffe2-2.5.1-cudnn_include_fix.patch
new file mode 100644
index 000000000000..77905dbd1ac8
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-cudnn_include_fix.patch
@@ -0,0 +1,11 @@
+--- a/cmake/Dependencies.cmake 2024-04-29 18:37:34.005639858 +0200
++++ b/cmake/Dependencies.cmake 2024-04-29 18:39:29.126587738 +0200
+@@ -1235,7 +1235,7 @@
+ if(CUDNN_VERSION VERSION_LESS 8.5)
+ message(FATAL_ERROR "PyTorch needs CuDNN-8.5 or above, but found ${CUDNN_VERSION}. Builds are still possible with `USE_CUDNN=0`")
+ endif()
+- set(CUDNN_FRONTEND_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/cudnn_frontend/include)
++ set(CUDNN_FRONTEND_INCLUDE_DIR /opt/cuda/include)
+ target_include_directories(torch::cudnn INTERFACE ${CUDNN_FRONTEND_INCLUDE_DIR})
+ endif()
+
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch b/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch
new file mode 100644
index 000000000000..f923b6746a4b
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch
@@ -0,0 +1,127 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -986,12 +986,11 @@ endif()
+ # third_party/FBGEMM
+ include(cmake/public/utils.cmake)
+ if(NOT MSVC)
+- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
++ string(APPEND CMAKE_CXX_FLAGS " -O2")
+ # Eigen fails to build with some versions, so convert this to a warning
+ # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
+ string(APPEND CMAKE_CXX_FLAGS " -Wall")
+ string(APPEND CMAKE_CXX_FLAGS " -Wextra")
+- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
+@@ -1085,7 +1084,6 @@ if(NOT MSVC)
+ string(APPEND CMAKE_LINKER_FLAGS_DEBUG " -fno-omit-frame-pointer -O0")
+ append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
+- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
+ else()
+ # skip unwanted includes from windows.h
+ add_compile_definitions(WIN32_LEAN_AND_MEAN)
+--- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
++++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
+@@ -324,16 +324,8 @@ set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER include/pytorch_q
+ set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER include/qnnpack_func.h)
+
+ # ---[ Configure clog
+-if(NOT TARGET clog)
+- set(CLOG_BUILD_TESTS OFF CACHE BOOL "")
+- set(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
+- add_subdirectory(
+- "${CLOG_SOURCE_DIR}"
+- "${CONFU_DEPENDENCIES_BINARY_DIR}/clog")
+- # We build static version of clog but a dynamic library may indirectly depend on it
+- set_property(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)
+-endif()
+-target_link_libraries(pytorch_qnnpack PUBLIC clog)
++find_library(CLOG_LIBRARY NAMES clog REQUIRED)
++target_link_libraries(pytorch_qnnpack PUBLIC ${CLOG_LIBRARY})
+
+ # ---[ Configure cpuinfo
+ if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO)
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -87,7 +87,7 @@ endif()
+ # Note: the folders that are being commented out have not been properly
+ # addressed yet.
+
+-if(NOT MSVC AND USE_XNNPACK)
++if(FALSE)
+ if(NOT TARGET fxdiv)
+ set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -1081,7 +1081,6 @@ if(USE_XPU)
+ endif()
+
+ if(NOT MSVC AND USE_XNNPACK)
+- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
+ endif()
+
+ # ==========================================================
+--- a/cmake/Codegen.cmake
++++ b/cmake/Codegen.cmake
+@@ -57,7 +57,7 @@ if(INTERN_BUILD_ATEN_OPS)
+ if(MSVC)
+ set(OPT_FLAG "/fp:strict ")
+ else(MSVC)
+- set(OPT_FLAG "-O3 ")
++ set(OPT_FLAG " ")
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ set(OPT_FLAG " ")
+ endif()
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -473,7 +473,9 @@ if(USE_PYTORCH_QNNPACK)
+ set_property(TARGET pytorch_qnnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
+ set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
+ # QNNPACK depends on gemmlowp headers
+- target_include_directories(pytorch_qnnpack PRIVATE "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
++ find_package(gemmlowp REQUIRED)
++ get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp::gemmlowp INTERFACE_INCLUDE_DIRECTORIES)
++ target_include_directories(pytorch_qnnpack PRIVATE ${GEMMLOWP_INCLUDE_DIRS})
+
+ if(PYTORCH_QNNPACK_CUSTOM_THREADPOOL)
+ target_compile_definitions(
+@@ -710,7 +712,7 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
+ endif()
+
+ # ---[ FBGEMM
+-if(USE_FBGEMM)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ if(NOT DEFINED FBGEMM_SOURCE_DIR)
+ set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
+@@ -758,6 +760,7 @@ if(USE_FBGEMM)
+ endif()
+
+ if(USE_FBGEMM)
++ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
+ caffe2_update_option(USE_FBGEMM ON)
+ else()
+ caffe2_update_option(USE_FBGEMM OFF)
+--- a/cmake/External/nnpack.cmake
++++ b/cmake/External/nnpack.cmake
+@@ -56,7 +56,7 @@ if(ANDROID OR IOS OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAM
+ set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE STRING "Google Test source directory")
+
+- if(NOT TARGET nnpack)
++ if(FALSE)
+ if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
+ set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
+ endif()
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -422,8 +422,6 @@ function(torch_compile_options libname)
+ endif()
+
+ # Use -O2 for release builds (-O3 doesn't improve perf, and -Os results in perf regression)
+- target_compile_options(${libname} PRIVATE
+- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:-O2>)
+
+ endfunction()
+
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-glog-0.6.0.patch b/sci-ml/caffe2/files/caffe2-2.5.1-glog-0.6.0.patch
new file mode 100644
index 000000000000..6c06d2cca654
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-glog-0.6.0.patch
@@ -0,0 +1,29 @@
+https://github.com/pytorch/pytorch/issues/58054
+
+--- a/c10/util/Logging.cpp
++++ b/c10/util/Logging.cpp
+@@ -192,23 +192,13 @@
+ google::GLOG_WARNING,
+ "The minimum log level that caffe2 will output.");
+
+-// Google glog's api does not have an external function that allows one to check
+-// if glog is initialized or not. It does have an internal function - so we are
+-// declaring it here. This is a hack but has been used by a bunch of others too
+-// (e.g. Torch).
+-namespace google {
+-namespace glog_internal_namespace_ {
+-bool IsGoogleLoggingInitialized();
+-} // namespace glog_internal_namespace_
+-} // namespace google
+-
+ namespace c10 {
+ namespace {
+
+ void initGoogleLogging(char const* name) {
+ #if !defined(_MSC_VER)
+ // This trick can only be used on UNIX platforms
+- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized())
++ if (!::google::IsGoogleLoggingInitialized())
+ #endif
+ {
+ ::google::InitGoogleLogging(name);
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-newfix-functorch-install.patch b/sci-ml/caffe2/files/caffe2-2.5.1-newfix-functorch-install.patch
new file mode 100644
index 000000000000..91eed46b813e
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-newfix-functorch-install.patch
@@ -0,0 +1,8 @@
+--- a/functorch/CMakeLists.txt 2024-11-10 11:18:29.151992840 +0100
++++ b/functorch/CMakeLists.txt 2024-11-10 11:20:19.642389982 +0100
+@@ -42,4 +42,4 @@
+ if(NOT ${TORCH_PYTHON_LINK_FLAGS} STREQUAL "")
+ set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS})
+ endif()
+-install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}")
++install(TARGETS ${PROJECT_NAME} DESTINATION "$ENV{$EPREFIX}/var/lib/caffe2/")
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_fmt.patch b/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_fmt.patch
new file mode 100644
index 000000000000..2594a56b36a5
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_fmt.patch
@@ -0,0 +1,10 @@
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -1522,7 +1522,6 @@
+ # CMAKE_CXX_FLAGS in ways that break feature checks. Since we already know
+ # `fmt` is compatible with a superset of the compilers that PyTorch is, it
+ # shouldn't be too bad to just disable the checks.
+-set_target_properties(fmt-header-only PROPERTIES INTERFACE_COMPILE_FEATURES "")
+
+ list(APPEND Caffe2_DEPENDENCY_LIBS fmt)
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_kineto.patch b/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_kineto.patch
new file mode 100644
index 000000000000..ebe931bc49b6
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.5.1-unbundle_kineto.patch
@@ -0,0 +1,22 @@
+--- a/torch/CMakeLists.txt 2024-11-09 20:50:21.806784527 +0100
++++ b/torch/CMakeLists.txt 2024-11-09 20:52:56.303892418 +0100
+@@ -67,7 +67,7 @@
+ ${TORCH_ROOT}/third_party/gloo
+ ${TORCH_ROOT}/third_party/onnx
+ ${TORCH_ROOT}/third_party/flatbuffers/include
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include
++ "/usr/include/kineto"
+ ${TORCH_ROOT}/third_party/cpp-httplib
+ ${TORCH_ROOT}/third_party/nlohmann/include
+
+--- a/caffe2/CMakeLists.txt 2024-11-09 20:58:37.698085144 +0100
++++ b/caffe2/CMakeLists.txt 2024-11-09 20:59:15.771391643 +0100
+@@ -1185,7 +1185,7 @@
+ ${TORCH_ROOT}/third_party/miniz-2.1.0)
+
+ target_include_directories(torch_cpu PRIVATE
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include)
++ "/usr/include/kineto")
+
+ if(USE_KINETO)
+ target_include_directories(torch_cpu PRIVATE
diff --git a/sci-ml/caffe2/files/caffe2-2.6.0-gentoo.patch b/sci-ml/caffe2/files/caffe2-2.6.0-gentoo.patch
new file mode 100644
index 000000000000..0464c06ad376
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.6.0-gentoo.patch
@@ -0,0 +1,156 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -984,12 +984,11 @@ endif()
+ # third_party/FBGEMM
+ include(cmake/public/utils.cmake)
+ if(NOT MSVC)
+- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
++ string(APPEND CMAKE_CXX_FLAGS " -O2")
+ # Eigen fails to build with some versions, so convert this to a warning
+ # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
+ string(APPEND CMAKE_CXX_FLAGS " -Wall")
+ string(APPEND CMAKE_CXX_FLAGS " -Wextra")
+- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
+@@ -1091,7 +1091,6 @@
+ endif()
+ append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
+- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
+ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13)
+ append_cxx_flag_if_supported("-Wno-error=dangling-reference" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Wno-error=redundant-move" CMAKE_CXX_FLAGS)
+--- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
++++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
+@@ -323,16 +323,8 @@ set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER include/pytorch_q
+ set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER include/qnnpack_func.h)
+
+ # ---[ Configure clog
+-if(NOT TARGET clog)
+- set(CLOG_BUILD_TESTS OFF CACHE BOOL "")
+- set(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
+- add_subdirectory(
+- "${CLOG_SOURCE_DIR}"
+- "${CONFU_DEPENDENCIES_BINARY_DIR}/clog")
+- # We build static version of clog but a dynamic library may indirectly depend on it
+- set_property(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)
+-endif()
+-target_link_libraries(pytorch_qnnpack PUBLIC clog)
++find_library(CLOG_LIBRARY NAMES clog REQUIRED)
++target_link_libraries(pytorch_qnnpack PUBLIC ${CLOG_LIBRARY})
+
+ # ---[ Configure cpuinfo
+ if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO)
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -87,7 +87,7 @@ endif()
+ # Note: the folders that are being commented out have not been properly
+ # addressed yet.
+
+-if(NOT MSVC AND USE_XNNPACK)
++if(FALSE)
+ if(NOT TARGET fxdiv)
+ set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -1130,7 +1130,6 @@ if(USE_XPU)
+ endif()
+
+ if(NOT MSVC AND USE_XNNPACK)
+- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
+ endif()
+
+ # ==========================================================
+--- a/cmake/Codegen.cmake
++++ b/cmake/Codegen.cmake
+@@ -64,7 +64,7 @@ if(INTERN_BUILD_ATEN_OPS)
+ if(MSVC)
+ set(OPT_FLAG "/fp:strict ")
+ else(MSVC)
+- set(OPT_FLAG "-O3 ")
++ set(OPT_FLAG " ")
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ set(OPT_FLAG " ")
+ endif()
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -467,7 +467,9 @@
+ set_property(TARGET pytorch_qnnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
+ set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
+ # QNNPACK depends on gemmlowp headers
+- target_include_directories(pytorch_qnnpack PRIVATE "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
++ find_package(gemmlowp REQUIRED)
++ get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp::gemmlowp INTERFACE_INCLUDE_DIRECTORIES)
++ target_include_directories(pytorch_qnnpack PRIVATE ${GEMMLOWP_INCLUDE_DIRS})
+ endif()
+
+ list(APPEND Caffe2_DEPENDENCY_LIBS pytorch_qnnpack)
+@@ -556,7 +556,7 @@
+ find_library(microkernels-prod_LIBRARY microkernels-prod)
+ set_property(TARGET XNNPACK PROPERTY IMPORTED_LOCATION "${XNNPACK_LIBRARY}")
+ set_property(TARGET microkernels-prod PROPERTY IMPORTED_LOCATION "${microkernels-prod_LIBRARY}")
+- if(NOT XNNPACK_LIBRARY or NOT microkernels-prod_LIBRARY)
++ if(FALSE)
+ message(FATAL_ERROR "Cannot find XNNPACK")
+ endif()
+ message("-- Found XNNPACK: ${XNNPACK_LIBRARY}")
+@@ -693,7 +695,7 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
+ endif()
+
+ # ---[ FBGEMM
+-if(USE_FBGEMM)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ if(NOT DEFINED FBGEMM_SOURCE_DIR)
+ set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
+@@ -745,6 +747,7 @@ if(USE_FBGEMM)
+ endif()
+
+ if(USE_FBGEMM)
++ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
+ caffe2_update_option(USE_FBGEMM ON)
+ else()
+ caffe2_update_option(USE_FBGEMM OFF)
+--- a/cmake/External/nnpack.cmake
++++ b/cmake/External/nnpack.cmake
+@@ -56,7 +56,7 @@
+ set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE STRING "Google Test source directory")
+
+- if(NOT TARGET nnpack)
++ if(FALSE)
+ set(NNPACK_BUILD_TESTS OFF CACHE BOOL "")
+ set(NNPACK_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ set(NNPACK_LIBRARY_TYPE "static" CACHE STRING "")
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -422,8 +422,6 @@ function(torch_compile_options libname)
+ endif()
+
+ # Use -O2 for release builds (-O3 doesn't improve perf, and -Os results in perf regression)
+- target_compile_options(${libname} PRIVATE
+- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:-O2>)
+
+ endfunction()
+
+--- a/aten/src/ATen/CMakeLists.txt 2025-02-27 14:23:02.402742165 +0100
++++ b/aten/src/ATen/CMakeLists.txt 2025-02-27 14:23:40.445850718 +0100
+@@ -269,8 +269,6 @@
+ if(USE_CUDA)
+ list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/cuda)
+ # Next two lines are needed because TunableOp uses third-party/fmt
+- list(APPEND ATen_CUDA_INCLUDE $<TARGET_PROPERTY:fmt::fmt-header-only,INTERFACE_INCLUDE_DIRECTORIES>)
+- list(APPEND ATen_CUDA_DEPENDENCY_LIBS fmt::fmt-header-only)
+ list(APPEND ATen_CUDA_CU_SRCS
+ ${cuda_cu}
+ ${native_cuda_cu}
+@@ -315,8 +313,6 @@
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/composable_kernel/include)
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/composable_kernel/library/include)
+ # Next two lines are needed because TunableOp uses third-party/fmt
+- list(APPEND ATen_HIP_INCLUDE $<TARGET_PROPERTY:fmt::fmt-header-only,INTERFACE_INCLUDE_DIRECTORIES>)
+- list(APPEND ATen_HIP_DEPENDENCY_LIBS fmt::fmt-header-only)
+ list(APPEND ATen_HIP_SRCS
+ ${ATen_HIP_SRCS}
+ ${hip_hip}
diff --git a/sci-ml/caffe2/metadata.xml b/sci-ml/caffe2/metadata.xml
new file mode 100644
index 000000000000..2483e58ed39e
--- /dev/null
+++ b/sci-ml/caffe2/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="distributed">Support distributed applications</flag>
+ <flag name="fbgemm">Use <pkg>sci-ml/FBGEMM</pkg></flag>
+ <flag name="flash">Enable flash attention</flag>
+ <flag name="gloo">Use <pkg>sci-ml/gloo</pkg></flag>
+ <flag name="memefficient">Enable mem efficient attention</flag>
+ <flag name="mkl">Use <pkg>sci-libs/mkl</pkg> for blas, lapack and sparse blas routines</flag>
+ <flag name="nnpack">Use <pkg>sci-ml/NNPACK</pkg></flag>
+ <flag name="numpy">Add support for math operations through numpy</flag>
+ <flag name="onednn">Use <pkg>sci-ml/oneDNN</pkg></flag>
+ <flag name="openblas">Use <pkg>sci-libs/openblas</pkg> for blas routines</flag>
+ <flag name="openmp">Use OpenMP for parallel code</flag>
+ <flag name="qnnpack">Use QNNPACK</flag>
+ <flag name="rocm">Enable ROCm gpu computing support</flag>
+ <flag name="xnnpack">Use <pkg>sci-ml/XNNPACK</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">pytorch/pytorch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/datasets/Manifest b/sci-ml/datasets/Manifest
new file mode 100644
index 000000000000..86d43b89b744
--- /dev/null
+++ b/sci-ml/datasets/Manifest
@@ -0,0 +1,5 @@
+AUX datasets-2.21.0-tests.patch 721 BLAKE2B cf85b02a4eb5da27e52bf819f00e333d6e3fb3fb0b9f7279afff24e3fddf76fcd46cb5e06d29b4780d0ce6b48c9378df301c70f6339e2f2898560219ebab4210 SHA512 43cdc5af6ba3fff3e7641006be6d8e10a5ad00136c1cf137628456019cccbd3d05b888b7eeec1cb8cd42d5ce52091b2a66d32a5b41ff2193658c4257900ea45c
+AUX datasets-3.0.2-tests.patch 335 BLAKE2B b7499d85cc8cf09a2cb9b58aa0c7ab16c1bc700812c767465979cc59b11d63d05f52422ae731317f373314164715079f6fa81b30d47e3058ce88d6539d049789 SHA512 3f533ab765362ea6a1bc7a1766d332f5bc53e342cbb684061eaed58ef415f715c003f210b73a8b0ca20245d8e1f60517191829fb64feb53101211a9f81542e5a
+DIST datasets-3.0.2.gh.tar.gz 1867037 BLAKE2B 92475ac566bd825c542dbd3e138c83e1733e6d1137f30a2cfd8f82f7dd54ed78c0566aa766182625e8787413be18f5a0c0c0a289b5823fa9112dcb2876074b7e SHA512 aa55dd2f53df7217c30999f759c76a13d78851233bce4df9b1ad85081e101a7280e905822160874d24d15ea1e1a5ecee1bae9cc66785e89af45ad16dd0339595
+EBUILD datasets-3.0.2.ebuild 2612 BLAKE2B cc533351d7685f3e40cd458c324c3a29c51e3cfe7ed0258962793a4d6c4a14c34a12dc142292a0c09f801afeb5125617a2d52d2f41ac36c824fcba72ab09c5d3 SHA512 5d9da157f3e4747c6e21a32678998b64acb364dc5db32dab43a262633f2b6030d762bfbeca044647ef74946dce9588149f6075f28d3072e270621cf49b432221
+MISC metadata.xml 379 BLAKE2B 48ebb9e7bfa8b58b0d15b82c4146def465e08cf3212ab4af04129d09c153b67b00d0fa05b94d6af54f643ec3a202f2335d3254b966f49d1394d3c7b9e5da56a5 SHA512 99560decfaa0e438980f372d99257695e9ca9585167d9aba091e0b775c2f8384657ddc017841c8f06f8b568017a54fb9e31da736f3c875da717e154cdce876d1
diff --git a/sci-ml/datasets/datasets-3.0.2.ebuild b/sci-ml/datasets/datasets-3.0.2.ebuild
new file mode 100644
index 000000000000..e6b81257061a
--- /dev/null
+++ b/sci-ml/datasets/datasets-3.0.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks"
+HOMEPAGE="https://pypi.org/project/datasets/"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sci-ml/caffe2[${PYTHON_SINGLE_USEDEP},numpy]
+ sci-ml/huggingface_hub[${PYTHON_SINGLE_USEDEP}]
+ sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/multiprocess[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ sci-ml/torchvision[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ sci-ml/jiwer[${PYTHON_USEDEP}]
+ sci-ml/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tests.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e \
+ "/pyarrow_hotfix/d" \
+ src/datasets/features/features.py || die
+}
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ tests/features/test_audio.py
+ tests/test_fingerprint.py
+ tests/packaged_modules/test_audiofolder.py
+ tests/packaged_modules/test_spark.py
+ tests/test_iterable_dataset.py
+ )
+
+ local EPYTEST_DESELECT=(
+ tests/packaged_modules/test_cache.py::test_cache_multi_configs
+ tests/packaged_modules/test_cache.py::test_cache_single_config
+ tests/test_arrow_dataset.py::BaseDatasetTest::test_filter_caching_on_disk
+ tests/test_arrow_dataset.py::BaseDatasetTest::test_map_caching_on_disk
+ tests/test_distributed.py::test_torch_distributed_run
+ tests/test_file_utils.py::TestxPath::test_xpath_rglob
+ tests/test_file_utils.py::TestxPath::test_xpath_glob
+ tests/test_hub.py::test_convert_to_parquet
+ )
+ distutils-r1_src_test
+}
diff --git a/sci-ml/datasets/files/datasets-2.21.0-tests.patch b/sci-ml/datasets/files/datasets-2.21.0-tests.patch
new file mode 100644
index 000000000000..0a55459db109
--- /dev/null
+++ b/sci-ml/datasets/files/datasets-2.21.0-tests.patch
@@ -0,0 +1,22 @@
+--- a/tests/test_arrow_dataset.py 2024-02-20 21:53:24.248470991 +0100
++++ b/tests/test_arrow_dataset.py 2024-02-20 21:53:29.441804737 +0100
+@@ -4131,7 +4131,6 @@
+ [
+ "relative/path",
+ "/absolute/path",
+- "s3://bucket/relative/path",
+ "hdfs://relative/path",
+ "hdfs:///absolute/path",
+ ],
+--- a/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:00:39.560876163 +0200
++++ b/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:01:26.005212423 +0200
+@@ -1,9 +1,8 @@
+ import shutil
+ import textwrap
+
+ import numpy as np
+ import pytest
+-import soundfile as sf
+
+ from datasets import Audio, ClassLabel, Features, Value
+ from datasets.builder import InvalidConfigName
diff --git a/sci-ml/datasets/files/datasets-3.0.2-tests.patch b/sci-ml/datasets/files/datasets-3.0.2-tests.patch
new file mode 100644
index 000000000000..5ff3d6c85c57
--- /dev/null
+++ b/sci-ml/datasets/files/datasets-3.0.2-tests.patch
@@ -0,0 +1,10 @@
+--- a/tests/test_arrow_dataset.py 2024-02-20 21:53:24.248470991 +0100
++++ b/tests/test_arrow_dataset.py 2024-02-20 21:53:29.441804737 +0100
+@@ -4131,7 +4131,6 @@
+ [
+ "relative/path",
+ "/absolute/path",
+- "s3://bucket/relative/path",
+ "hdfs://relative/path",
+ "hdfs:///absolute/path",
+ ],
diff --git a/sci-ml/datasets/metadata.xml b/sci-ml/datasets/metadata.xml
new file mode 100644
index 000000000000..94c112402049
--- /dev/null
+++ b/sci-ml/datasets/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/datasets</remote-id>
+ <remote-id type="pypi">datasets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/evaluate/Manifest b/sci-ml/evaluate/Manifest
new file mode 100644
index 000000000000..14e828cf046e
--- /dev/null
+++ b/sci-ml/evaluate/Manifest
@@ -0,0 +1,4 @@
+AUX evaluate-0.4.0-tests.patch 8354 BLAKE2B 45c6fbcd58eb1899a02b373f882917cb2d76a05f5737a50c60d96f1eeb9b0169f8e526a475ec8aab2829f3ce47082476b802813064ca912353b65652e3f7fc64 SHA512 e296c97d5bf3d06828ddda96f00b20cb763b9c9a8611b148cf0e5c55bb78995a45df1b2cd731e4c45bfe80817ce03485a958c01c2e081aef3cd5238a9011903b
+DIST evaluate-0.4.3.gh.tar.gz 297000 BLAKE2B 5d658cf513a0083194829618bde53c1e6f4a41e48a9ff683c79bc5b57f9f25acc38b42bed5ad56c569b7cae442212fc3dda1ce4db406ab2a49789b485c5c27a0 SHA512 f19f22fb1625544d3e27f25b159449c9f656540b5dbc62f00d13bad2dd33d5591d80f6e81d671d51f802b671602b86b758d9a53be4f63378c181f66eb93c2830
+EBUILD evaluate-0.4.3.ebuild 1652 BLAKE2B cc15a71dcf4b367fbe421635aa314b15ba4e3b90e35a8a9dc6ff7b3082fbfa79f06e68009a03a728f2071089e25f50d41fe564e4c5da4286dd5c92a1b1ff28f0 SHA512 f94ed6399eb91804253004f27c49a1f8b330e18876a8ef4f2fcb3cd48f428e940b524b90c1616d7f8faaca111acd770414136cc5f66f072559e1e8d1571da464
+MISC metadata.xml 379 BLAKE2B a717b46962e59358925c866c64b2d0bc1dcd5d55d73e814686a09f703e339d2c0de52f6c214c8f795518d6d9dbb46443be11374643d415ff681dedca1511732b SHA512 03d6b58cad73cad46f1101fedf88ec94dc6d7a2028399a20b39939bead4fa402d00224085206a175a33d92417176cc45853060b18faa13769b80527fac9254e1
diff --git a/sci-ml/evaluate/evaluate-0.4.3.ebuild b/sci-ml/evaluate/evaluate-0.4.3.ebuild
new file mode 100644
index 000000000000..9de2381c415b
--- /dev/null
+++ b/sci-ml/evaluate/evaluate-0.4.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="makes evaluating, comparing models and reporting their performance easier"
+HOMEPAGE="
+ https://pypi.org/project/evaluate/
+ https://github.com/huggingface/evaluate
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet]
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ ')
+ sci-ml/datasets[${PYTHON_SINGLE_USEDEP}]
+ sci-ml/transformers[${PYTHON_SINGLE_USEDEP}]
+"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ sci-ml/jiwer[${PYTHON_USEDEP}]
+ sci-ml/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.4.0-tests.patch )
+
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_evaluation_suite.py::TestEvaluationSuite::test_empty_suite
+ tests/test_evaluation_suite.py::TestEvaluationSuite::test_running_evaluation_suite
+ tests/test_evaluator.py::TestAudioClassificationEvaluator::test_class_init
+ tests/test_evaluator.py::TestAudioClassificationEvaluator::test_overwrite_default_metric
+ tests/test_evaluator.py::TestAudioClassificationEvaluator::test_pipe_init
+ tests/test_evaluator.py::TestAudioClassificationEvaluator::test_raw_pipe_init
+ tests/test_metric.py::TestEvaluationcombined_evaluation::test_modules_from_string_poslabel
+ )
+ distutils-r1_src_test
+}
diff --git a/sci-ml/evaluate/files/evaluate-0.4.0-tests.patch b/sci-ml/evaluate/files/evaluate-0.4.0-tests.patch
new file mode 100644
index 000000000000..cc0a8b6a7eed
--- /dev/null
+++ b/sci-ml/evaluate/files/evaluate-0.4.0-tests.patch
@@ -0,0 +1,220 @@
+--- a/tests/test_evaluator.py 2023-05-14 11:01:54.449768849 +0200
++++ b/tests/test_evaluator.py 2023-05-14 11:06:15.182738125 +0200
+@@ -16,6 +16,7 @@
+
+ from time import sleep
+ from unittest import TestCase, mock
++from unittest import skip
+
+ from datasets import ClassLabel, Dataset, Features, Sequence, Value
+ from PIL import Image
+@@ -128,6 +128,7 @@
+ return [{"text": "Lorem ipsum"} for _ in inputs]
+
+
++@skip("require network")
+ class TestEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict({"label": [1, 0], "text": ["great movie", "horrible movie"]})
+@@ -230,6 +230,7 @@
+ )
+
+
++@skip("require network")
+ class TestTextClassificationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict({"label": [1, 0], "text": ["great movie", "horrible movie"]})
+@@ -394,6 +394,7 @@
+ self.assertAlmostEqual(results["latency_in_seconds"], results["total_time_in_seconds"] / len(data), 5)
+
+
++@skip("require network")
+ class TestTextClassificationEvaluatorTwoColumns(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -452,6 +452,7 @@
+ self.assertEqual(results["accuracy"], 1.0)
+
+
++@skip("require network")
+ class TestImageClassificationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -534,6 +535,7 @@
+ self.assertEqual(results["accuracy"], 0)
+
+
++@skip("require network")
+ class TestQuestionAnsweringEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -716,6 +716,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 0.5)
+
++ @skip("require network")
+ def test_class_init(self):
+ evaluator = TokenClassificationEvaluator()
+ self.assertEqual(evaluator.task, "token-classification")
+@@ -735,6 +736,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 2 / 3)
+
++ @skip("require network")
+ def test_overwrite_default_metric(self):
+ accuracy = load("seqeval")
+ results = self.evaluator.compute(
+@@ -750,6 +752,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 1.0)
+
++ @skip("require network")
+ def test_data_loading(self):
+ # Test passing in dataset by name with data_split
+ data = self.evaluator.load_data("evaluate/conll2003-ci", split="validation[:1]")
+@@ -863,6 +866,7 @@
+ self.pipe = DummyTextGenerationPipeline(num_return_sequences=4)
+ self.evaluator = evaluator("text-generation")
+
++ @skip("require network")
+ def test_class_init(self):
+ evaluator = TextGenerationEvaluator()
+ self.assertEqual(evaluator.task, "text-generation")
+@@ -877,6 +877,7 @@
+ results = self.evaluator.compute(data=self.data)
+ self.assertIsInstance(results["unique_words"], int)
+
++ @skip("require nltk")
+ def test_overwrite_default_metric(self):
+ word_length = load("word_length")
+ results = self.evaluator.compute(
+@@ -906,6 +910,7 @@
+ self.assertEqual(processed_predictions, {"data": ["A", "B", "C", "D"]})
+
+
++@skip("require network")
+ class TestText2TextGenerationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -979,6 +984,7 @@
+ self.assertEqual(results["bleu"], 0)
+
+
++@skip("require network")
+ class TestAutomaticSpeechRecognitionEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+--- a/tests/test_trainer_evaluator_parity.py 2023-05-14 17:50:29.224525549 +0200
++++ b/tests/test_trainer_evaluator_parity.py 2023-05-14 17:37:40.947501195 +0200
+@@ -269,6 +269,7 @@
+ self.assertEqual(transformers_results["eval_HasAns_f1"], evaluator_results["HasAns_f1"])
+ self.assertEqual(transformers_results["eval_NoAns_f1"], evaluator_results["NoAns_f1"])
+
++ @unittest.skip('require eval_results.json')
+ def test_token_classification_parity(self):
+ model_name = "hf-internal-testing/tiny-bert-for-token-classification"
+ n_samples = 500
+--- a/tests/test_load.py 2023-05-20 15:45:58.855473557 +0200
++++ b/tests/test_load.py 2023-05-20 15:50:41.620071500 +0200
+@@ -61,6 +61,7 @@
+ hf_modules_cache=self.hf_modules_cache,
+ )
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactory_with_internal_import(self):
+ # "squad_v2" requires additional imports (internal)
+ factory = HubEvaluationModuleFactory(
+@@ -72,6 +73,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactory_with_external_import(self):
+ # "bleu" requires additional imports (external from github)
+ factory = HubEvaluationModuleFactory(
+@@ -83,6 +85,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactoryWithScript(self):
+ factory = HubEvaluationModuleFactory(
+ SAMPLE_METRIC_IDENTIFIER,
+@@ -115,6 +118,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_cache_with_remote_canonical_module(self):
+ metric = "accuracy"
+ evaluation_module_factory(
+@@ -127,6 +131,7 @@
+ metric, download_config=self.download_config, dynamic_modules_path=self.dynamic_modules_path
+ )
+
++ @pytest.mark.skip("require network")
+ def test_cache_with_remote_community_module(self):
+ metric = "lvwerra/test"
+ evaluation_module_factory(
+--- a/tests/test_metric.py 2023-05-20 15:54:32.558477445 +0200
++++ b/tests/test_metric.py 2023-05-20 15:55:40.775415987 +0200
+@@ -316,6 +316,7 @@
+ self.assertDictEqual(expected_results[1], results[1])
+ del results
+
++ @pytest.mark.skip('')
+ def test_distributed_metrics(self):
+ with tempfile.TemporaryDirectory() as tmp_dir:
+ (preds_0, refs_0), (preds_1, refs_1) = DummyMetric.distributed_predictions_and_references()
+@@ -736,6 +736,7 @@
+
+ self.assertDictEqual(dummy_result_1, combined_evaluation.compute(predictions=preds, references=refs))
+
++ @pytest.mark.skip('require network')
+ def test_modules_from_string(self):
+ expected_result = {"accuracy": 0.5, "recall": 0.5, "precision": 1.0}
+ predictions = [0, 1]
+--- a/tests/test_metric_common.py 2023-05-20 15:57:02.399146066 +0200
++++ b/tests/test_metric_common.py 2023-05-20 15:59:25.167947472 +0200
+@@ -99,6 +99,7 @@
+ evaluation_module_name = None
+ evaluation_module_type = None
+
++ @pytest.mark.skip('require network')
+ def test_load(self, evaluation_module_name, evaluation_module_type):
+ doctest.ELLIPSIS_MARKER = "[...]"
+ evaluation_module = importlib.import_module(
+--- a/tests/test_trainer_evaluator_parity.py 2023-05-20 16:00:55.986549706 +0200
++++ b/tests/test_trainer_evaluator_parity.py 2023-05-20 16:02:51.808766855 +0200
+@@ -4,6 +4,7 @@
+ import subprocess
+ import tempfile
+ import unittest
++import pytest
+
+ import numpy as np
+ import torch
+@@ -33,6 +33,7 @@
+ def tearDown(self):
+ shutil.rmtree(self.dir_path, ignore_errors=True)
+
++ @pytest.mark.skip('require network')
+ def test_text_classification_parity(self):
+ model_name = "philschmid/tiny-bert-sst2-distilled"
+
+@@ -121,6 +122,7 @@
+
+ self.assertEqual(transformers_results["eval_accuracy"], evaluator_results["accuracy"])
+
++ @pytest.mark.skip('require network')
+ def test_image_classification_parity(self):
+ # we can not compare to the Pytorch transformers example, that uses custom preprocessing on the images
+ model_name = "douwekiela/resnet-18-finetuned-dogfood"
+@@ -179,6 +181,7 @@
+
+ self.assertEqual(transformers_results["eval_accuracy"], evaluator_results["accuracy"])
+
++ @pytest.mark.skip('require network')
+ def test_question_answering_parity(self):
+ model_name_v1 = "anas-awadalla/bert-tiny-finetuned-squad"
+ model_name_v2 = "mrm8488/bert-tiny-finetuned-squadv2"
diff --git a/sci-ml/evaluate/metadata.xml b/sci-ml/evaluate/metadata.xml
new file mode 100644
index 000000000000..f1e8571190f9
--- /dev/null
+++ b/sci-ml/evaluate/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">evaluate</remote-id>
+ <remote-id type="github">huggingface/evaluate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/foxi/Manifest b/sci-ml/foxi/Manifest
new file mode 100644
index 000000000000..c1f4e28a2c1e
--- /dev/null
+++ b/sci-ml/foxi/Manifest
@@ -0,0 +1,4 @@
+AUX foxi-2021.05.27-gentoo.patch 2398 BLAKE2B 53ed8efa8c86460768839ef071567632793fadca138d72b5e7f07619db769dbbd2d4497bfb71d63ba47c201b17fb6a415a116ee05f56083c8cbc1a00b147e31a SHA512 4b81687444653d1614226b6696ee6515e652b62746187e0b44dcff1db7bfea653cee4d9e20775d6b8e2aca7430f0f654db3da95e3a784d477373da528b05b39e
+DIST foxi-2021.05.27.tar.gz 28960 BLAKE2B 06c960f829b090eec4fe9e8c981e119578f358724e0b63991173bb7e318d23654261b901d1e15efeb6240bba75cc05fd45ab32fb30bbdf48369e139cf152f398 SHA512 ad42cfd70e40ba0f0a9187b34ae9e3bd361c8c0038669f4c1591c4f7421d12ad93f76f42b33c2575eea1a3ddb3ff781da2895cdc636df5b60422598f450203c7
+EBUILD foxi-2021.05.27.ebuild 523 BLAKE2B a54ddff15ca6c67548f636bf019552605f944345686178b625e2344f237710eaccc294759dfbee105ef45c7c4fc47a40bcafdea95f8a0da53dad584b6791fd7d SHA512 a01f53a67bca0e48f797244bc93509b6ba058340de2192258c79f7242d136008fe3ccd1cf0ba89a8cf71d05d8737ffff9ae7df1d87c2feca11535ab238222e88
+MISC metadata.xml 327 BLAKE2B d9b056783fbf66675262cb93b1faf4cd410f1ea34c877480896602f07b1a6e136d7e4168d41725d4b4bd8743155508500e1f9d80b9158acce72bca7a84596953 SHA512 4598a70431dd411d24237ec4b97ec2ab57d9a46fcbcfd3416edfa1623baf7f10599c932ae22d6bd9d69f7898a1e51322ae084ececd2a44c2d73d07cc9817f863
diff --git a/sci-ml/foxi/files/foxi-2021.05.27-gentoo.patch b/sci-ml/foxi/files/foxi-2021.05.27-gentoo.patch
new file mode 100644
index 000000000000..f252ae4fcdb2
--- /dev/null
+++ b/sci-ml/foxi/files/foxi-2021.05.27-gentoo.patch
@@ -0,0 +1,73 @@
+--- a/CMakeLists.txt 2022-06-13 21:42:28.197087591 +0200
++++ b/CMakeLists.txt 2022-06-13 21:44:49.787170054 +0200
+@@ -77,6 +77,7 @@
+ OUTPUT_NAME "foxi"
+ POSITION_INDEPENDENT_CODE YES)
+ target_link_libraries(foxi_wrapper PRIVATE foxi_loader foxi)
++ target_link_options(foxi_wrapper PUBLIC "-Wl,-soname=libfoxi.so")
+ if(DEFINED FOXI_SEARCH_DIR)
+ target_compile_definitions(foxi_wrapper PRIVATE "FOXI_SEARCH_DIR=\"${FOXI_SEARCH_DIR}\"")
+ endif()
+@@ -115,11 +116,11 @@
+
+ install(TARGETS
+ foxi foxi_dummy foxi_loader
+- EXPORT ONNXTargets DESTINATION lib)
++ EXPORT ONNXTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if(NOT ANDROID AND NOT IOS)
+ install(TARGETS foxi_wrapper
+- EXPORT ONNXTargets DESTINATION lib)
++ EXPORT ONNXTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+ set(FOXI_INCLUDE_DIRS "${FOXI_ROOT}" "${CMAKE_CURRENT_BINARY_DIR}")
+--- a/foxi/onnxifi_wrapper.c 2022-06-14 08:07:07.351585673 +0200
++++ b/foxi/onnxifi_wrapper.c 2022-06-14 08:11:21.680855591 +0200
+@@ -761,7 +761,9 @@
+ const void* onnxModel,
+ uint32_t weightsCount,
+ const onnxTensorDescriptorV1* weightDescriptors,
+- onnxGraph* graph)
++ onnxGraph* graph,
++ uint32_t maxSeqLength,
++ void* deferredWeightReader)
+ {
+ if (graph == NULL) {
+ return ONNXIFI_STATUS_INVALID_POINTER;
+@@ -797,7 +799,9 @@
+ onnxModel,
+ weightsCount,
+ weightDescriptors,
+- &graph_wrapper->graph);
++ &graph_wrapper->graph,
++ maxSeqLength,
++ deferredWeightReader);
+ switch (status) {
+ case ONNXIFI_STATUS_SUCCESS:
+ case ONNXIFI_STATUS_FALLBACK:
+--- a/foxi/onnxifi_dummy.c 2022-06-14 08:14:02.484503254 +0200
++++ b/foxi/onnxifi_dummy.c 2022-06-14 08:17:01.408891030 +0200
+@@ -103,7 +103,9 @@
+ const void* onnxModel,
+ uint32_t weightCount,
+ const onnxTensorDescriptorV1* weightDescriptors,
+- onnxGraph* graph) {
++ onnxGraph* graph,
++ uint32_t maxSeqLength,
++ void* deferredWeightReader) {
+ if (graph == NULL) {
+ return ONNXIFI_STATUS_INVALID_POINTER;
+ }
+@@ -215,6 +217,8 @@
+ onnxWaitEventFor(onnxEvent event,
+ uint32_t timeoutMs,
+ onnxEventState* eventState,
+- onnxStatus* eventStatus) {
++ onnxStatus* eventStatus,
++ char* message,
++ size_t* messageLength) {
+ return ONNXIFI_STATUS_SUCCESS;
+-}
+\ No newline at end of file
++}
diff --git a/sci-ml/foxi/foxi-2021.05.27.ebuild b/sci-ml/foxi/foxi-2021.05.27.ebuild
new file mode 100644
index 000000000000..22aa3350c9bc
--- /dev/null
+++ b/sci-ml/foxi/foxi-2021.05.27.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=c278588e34e535f0bb8f00df3880d26928038cad
+
+DESCRIPTION="ONNXIFI with Facebook Extension"
+HOMEPAGE="https://github.com/houseroad/foxi/"
+SRC_URI="https://github.com/houseroad/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+RESTRICT="test" # No test available
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
diff --git a/sci-ml/foxi/metadata.xml b/sci-ml/foxi/metadata.xml
new file mode 100644
index 000000000000..2b6c8e44882d
--- /dev/null
+++ b/sci-ml/foxi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">houseroad/foxi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/gemmlowp/Manifest b/sci-ml/gemmlowp/Manifest
new file mode 100644
index 000000000000..8369294d506d
--- /dev/null
+++ b/sci-ml/gemmlowp/Manifest
@@ -0,0 +1,3 @@
+DIST gemmlowp-2021.12.20.tar.gz 842220 BLAKE2B 74139935c01683f894a2ee8bb6f5373a64b8346e5860addd9dcccd47ceffe8942509def3ed242fcd92021c7f82f2e8858313df12369257e2172143a14cec82ed SHA512 934bc79cc951dd18bff413148f3526332685bf0980ddcc0f990ba347bafcd73725e5ffd4bd255dcaa21f0fd71698d26726e2f9f36aa8df87380048041e536e20
+EBUILD gemmlowp-2021.12.20.ebuild 627 BLAKE2B 1b974983655b1538109d42999d407cb9750e650fdee380c775893893df73eda25722e9274c999b4a808eff26518d4bb335917aa0a7d89e729d22d589c3548c90 SHA512 e4dc29b9f7feaa12f547682a090250e0606a798bc5e9cbbfd09385ba6488119419f0f5c1c8467ee57aa026444ec5f0bcd07f302eb2049e0fe7be9e73d7e57093
+MISC metadata.xml 328 BLAKE2B 6234efe94ede4aaae8283e935245f1c816b14b4d86ad1ec33872ef4b70eb56b27e4da1474e805368363ada175f11bf5a340110f30e72bbde120bf4bdac33b057 SHA512 d3dfd32799f5ca5da4a7c92d4d5f5163871d53bc5bfaadd7f992a4587ebc3d4a178ac37e87566052932da57331a3508dde08ee1995afc4af733fd9a4c22cf0ff
diff --git a/sci-ml/gemmlowp/gemmlowp-2021.12.20.ebuild b/sci-ml/gemmlowp/gemmlowp-2021.12.20.ebuild
new file mode 100644
index 000000000000..5e11d229caeb
--- /dev/null
+++ b/sci-ml/gemmlowp/gemmlowp-2021.12.20.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=e844ffd17118c1e17d94e1ba4354c075a4577b88
+DESCRIPTION="Low-precision matrix multiplication"
+HOMEPAGE="https://github.com/google/gemmlowp/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}/contrib
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/sci-ml/gemmlowp/metadata.xml b/sci-ml/gemmlowp/metadata.xml
new file mode 100644
index 000000000000..13b16c5be808
--- /dev/null
+++ b/sci-ml/gemmlowp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/gemmlowp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/gloo/Manifest b/sci-ml/gloo/Manifest
new file mode 100644
index 000000000000..6914eefda6d7
--- /dev/null
+++ b/sci-ml/gloo/Manifest
@@ -0,0 +1,7 @@
+AUX gloo-2022.05.18-gentoo.patch 3073 BLAKE2B 0d6b4b4f87d8b8507b8ed06b3ea1548f750eac0bbebb1618950ea2fc4c0eff98b46d5561d2eb8b1011e6ea87a1d51d2791c712fc46192f8957652a2017876dc9 SHA512 5b3ee22b5e4d08002798cdd940b962f179b24cce02fc5b1d3e1d42d8fb747381b5932467c0dbda12a2e37eeb85154198d53ec734256a820111e7e929762a841e
+AUX gloo-2023.01.17-cuda.patch 460 BLAKE2B 646004184eed2acbfb0cb54bdfadaa6cb4b3ac51b4323a6e16e825a3eabf0274061dcd8c1cfc996c72d75645176f3f798667caae33006d387bbd6ac1d00d4aa1 SHA512 649969154c42ef381c8220ea891ff3175292b2941efef0ce166bef137b1fb08d2f262de0961e3ce11661307a56c2338e7a7f81944e71b93aa5210bc2a7603caf
+AUX gloo-2023.01.17-ssl3.patch 764 BLAKE2B e4abed8dc9f891da2a97c80e4aa3c7f68beed1143a039f22ed6add80cdb16b0543086b0d3c54628904743dd7901caa11a3281d9e574a256132ee3a1f4d52bb28 SHA512 259048a70a9ae9090b6e6631aba5787ce68b12facbf0d0c0200121ace780ffe30990b9240ba817f361e46025ec2cf22f3b6f06d8df8797848a16f8e4167253d2
+AUX gloo-2023.12.03-gcc15.patch 226 BLAKE2B 342c4ac2ab0b109b50bae1cd72b349399757bd68aa0351ce485e17966eb50ce32c7804ae9f8ee76e21ed3eb290cdd8185db2a4bb3052ee2cc880a51b80803b61 SHA512 5d1ba92714f13fe0785731c18058445de3356d4ba4c5fa81b948ed4dbc39bd4d44ab23fa2b52bc7f0489124081bf984d69defb80ae2757722e628a73523fde2c
+DIST gloo-2023.12.03.tar.gz 259857 BLAKE2B b56cbbb0986b70ed327a8d019f140099c5d1d725576120089cd5e640dc42daa6c6bb67de877d540fd2160f5b8d89cf54af7c11a1b81039e62e4de97daa4f63d6 SHA512 597679dd96394e7d0009be34ef9bd6f8446d22e2faa006c0853e055caf0d6d821c7532ff867b4d924197e92ab53c4c7ee9b74f897d6c5a469ee797c11ce0d28d
+EBUILD gloo-2023.12.03.ebuild 1521 BLAKE2B 926001e600486e7ce70e6a888e57b954d76c3e1ae2e785b9a4f90a8287b91efaf21a2162a1dc1532d210e6f0c265b0e0030eb4c646045e9601a5fadd9912ac71 SHA512 73d7584a7d4c9fb1e6968592b619bfdcabfcc94c3dc1b0069fd602e10b452c8fd4376b877165416db7ca1de938db5285ebdc67c1ff791f941165d1e38af7e811
+MISC metadata.xml 492 BLAKE2B be64dabc0bd193d99c4458e6bad8c78042ef1d65800ebd3a3818ffdac3b361f18011ae044036e3c73deba03886e8aa6ffdcb5c2a66b635ecc2f29d636c660227 SHA512 e342a7d570f7ff12718f51e91fd6d359d038670dfb3b679a4cd8d7de61bef8d4b048e2362303bb925eddfd7c40e67f4179e89c24dc2f9b5c21e5a220bf9d4aa2
diff --git a/sci-ml/gloo/files/gloo-2022.05.18-gentoo.patch b/sci-ml/gloo/files/gloo-2022.05.18-gentoo.patch
new file mode 100644
index 000000000000..1344d42a0c3f
--- /dev/null
+++ b/sci-ml/gloo/files/gloo-2022.05.18-gentoo.patch
@@ -0,0 +1,94 @@
+--- a/CMakeLists.txt 2022-06-09 08:29:13.172119535 +0200
++++ b/CMakeLists.txt 2022-06-09 08:29:27.474929097 +0200
+@@ -2,6 +2,9 @@
+
+ project(gloo CXX C)
+
++include(GNUInstallDirs)
++include(CTest)
++
+ set(GLOO_VERSION_MAJOR 0)
+ set(GLOO_VERSION_MINOR 5)
+ set(GLOO_VERSION_PATCH 0)
+--- a/gloo/CMakeLists.txt 2022-06-09 08:41:09.883773600 +0200
++++ b/gloo/CMakeLists.txt 2022-06-09 08:42:39.045637103 +0200
+@@ -181,7 +181,7 @@
+ # want to statically link with Gloo and not install any artifacts.
+ if(GLOO_INSTALL)
+ install(TARGETS gloo EXPORT GlooTargets
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(USE_CUDA)
+ install(TARGETS gloo_cuda EXPORT GlooTargets
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+--- a/gloo/test/CMakeLists.txt 2022-06-10 22:17:03.682856314 +0200
++++ b/gloo/test/CMakeLists.txt 2022-06-10 22:17:49.671242697 +0200
+@@ -73,3 +73,4 @@
+ gloo_hip_add_executable(gloo_test_hip ${GLOO_TEST_HIP_SRCS})
+ target_link_libraries(gloo_test_hip gloo_hip gtest OpenSSL::SSL OpenSSL::Crypto)
+ endif()
++add_test(NAME gloo_test COMMAND gloo_test)
+--- a/gloo/test/memory_test.cc 2022-06-10 22:28:53.815371465 +0200
++++ b/gloo/test/memory_test.cc 2022-06-10 22:29:14.504094854 +0200
+@@ -52,7 +52,7 @@
+ class MemoryTest : public BaseTest,
+ public ::testing::WithParamInterface<Param> {};
+
+-TEST_P(MemoryTest, ManySlotsNoLeaks) {
++TEST_P(MemoryTest, DISABLED_ManySlotsNoLeaks) {
+ const auto transport = GetParam();
+ spawn(transport, 2, [&](std::shared_ptr<Context> context) {
+ size_t tmp0;
+--- a/cmake/Dependencies.cmake 2022-06-11 23:38:57.367089917 +0200
++++ b/cmake/Dependencies.cmake 2022-06-11 23:48:57.690866797 +0200
+@@ -81,7 +81,7 @@
+ pkg_search_module(libuv REQUIRED libuv>=1.26)
+ find_file(
+ libuv_LIBRARY
+- NAMES libuv.a libuv_a.a
++ NAMES libuv.so
+ PATHS ${libuv_LIBDIR}
+ NO_DEFAULT_PATH)
+ if(NOT EXISTS ${libuv_LIBRARY})
+@@ -90,10 +90,7 @@
+ endif()
+
+ add_library(uv_a INTERFACE IMPORTED)
+- set_target_properties(uv_a PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES ${libuv_INCLUDE_DIRS}
+- INTERFACE_LINK_LIBRARIES ${libuv_LIBRARY}
+- )
++ list(APPEND gloo_DEPENDENCY_LIBS -luv)
+ endif()
+ endif()
+
+--- a/gloo/transport/tcp/tls/pair.cc 2022-10-04 21:14:04.099150060 +0200
++++ b/gloo/transport/tcp/tls/pair.cc 2022-10-04 21:14:22.330886610 +0200
+@@ -17,6 +17,7 @@
+
+ #include <cstring>
+ #include <poll.h>
++#include <array>
+
+ namespace gloo {
+ namespace transport {
+--- a/gloo/common/linux.cc 2022-10-04 21:20:21.401691929 +0200
++++ b/gloo/common/linux.cc 2022-10-04 21:23:13.924192100 +0200
+@@ -198,7 +198,7 @@
+ } ecmd;
+ int rv;
+
+- ifr->ifr_data = (__caddr_t)&ecmd;
++ ifr->ifr_data = (char *)&ecmd;
+ memset(&ecmd, 0, sizeof(ecmd));
+ ecmd.req.cmd = ETHTOOL_GLINKSETTINGS;
+
+@@ -226,7 +226,7 @@
+ struct ethtool_cmd edata;
+ int rv;
+
+- ifr->ifr_data = (__caddr_t)&edata;
++ ifr->ifr_data = (char *)&edata;
+ memset(&edata, 0, sizeof(edata));
+ edata.cmd = ETHTOOL_GSET;
+
diff --git a/sci-ml/gloo/files/gloo-2023.01.17-cuda.patch b/sci-ml/gloo/files/gloo-2023.01.17-cuda.patch
new file mode 100644
index 000000000000..1a894d3e4251
--- /dev/null
+++ b/sci-ml/gloo/files/gloo-2023.01.17-cuda.patch
@@ -0,0 +1,13 @@
+diff --git a/gloo/CMakeLists.txt b/gloo/CMakeLists.txt
+index 9ee82df..3b3affb 100644
+--- a/gloo/CMakeLists.txt
++++ b/gloo/CMakeLists.txt
+@@ -184,7 +184,7 @@ if(GLOO_INSTALL)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(USE_CUDA)
+ install(TARGETS gloo_cuda EXPORT GlooTargets
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+ if(USE_ROCM)
+ install(TARGETS gloo_hip EXPORT GlooTargets
diff --git a/sci-ml/gloo/files/gloo-2023.01.17-ssl3.patch b/sci-ml/gloo/files/gloo-2023.01.17-ssl3.patch
new file mode 100644
index 000000000000..f01beafa4596
--- /dev/null
+++ b/sci-ml/gloo/files/gloo-2023.01.17-ssl3.patch
@@ -0,0 +1,19 @@
+--- a/gloo/CMakeLists.txt 2023-11-27 22:39:53.709670525 +0100
++++ b/gloo/CMakeLists.txt 2023-11-27 22:42:29.784250524 +0100
+@@ -77,7 +77,7 @@
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set(GLOO_HAVE_TRANSPORT_TCP 1)
+ if(${USE_TCP_OPENSSL_LINK} OR ${USE_TCP_OPENSSL_LOAD})
+- find_package(OpenSSL 1.1 REQUIRED EXACT)
++ find_package(OpenSSL 1.1...<4 REQUIRED)
+ set(GLOO_HAVE_TRANSPORT_TCP_TLS 1)
+ else()
+ set(GLOO_HAVE_TRANSPORT_TCP_TLS 0)
+--- a/gloo/test/CMakeLists.txt 2023-11-27 22:42:55.969844380 +0100
++++ b/gloo/test/CMakeLists.txt 2023-11-27 22:43:14.873551147 +0100
+@@ -1,4 +1,4 @@
+-find_package(OpenSSL 1.1 REQUIRED EXACT)
++find_package(OpenSSL 1.1...<4 REQUIRED)
+
+ set(GLOO_TEST_SRCS
+ "${CMAKE_CURRENT_SOURCE_DIR}/allgather_test.cc"
diff --git a/sci-ml/gloo/files/gloo-2023.12.03-gcc15.patch b/sci-ml/gloo/files/gloo-2023.12.03-gcc15.patch
new file mode 100644
index 000000000000..d68b4e551053
--- /dev/null
+++ b/sci-ml/gloo/files/gloo-2023.12.03-gcc15.patch
@@ -0,0 +1,10 @@
+--- a/gloo/types.h 2024-09-06 22:05:07.308213847 +0200
++++ b/gloo/types.h 2024-09-06 22:05:32.598941783 +0200
+@@ -5,6 +5,7 @@
+ #pragma once
+
+ #include <iostream>
++#include <cstdint>
+
+ #ifdef __CUDA_ARCH__
+ #include <cuda.h>
diff --git a/sci-ml/gloo/gloo-2023.12.03.ebuild b/sci-ml/gloo/gloo-2023.12.03.ebuild
new file mode 100644
index 000000000000..495f9b1d0ce7
--- /dev/null
+++ b/sci-ml/gloo/gloo-2023.12.03.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake cuda
+
+CommitId=5354032ea08eadd7fc4456477f7f7c6308818509
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/facebookincubator/gloo/"
+SRC_URI="https://github.com/facebookincubator/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="cuda libuv mpi redis ssl test"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ libuv? ( dev-libs/libuv )
+ mpi? ( virtual/mpi )
+ redis? (
+ dev-db/redis
+ dev-libs/hiredis
+ )
+ ssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="test" # For some test the network is needed
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.05.18-gentoo.patch
+ "${FILESDIR}"/${PN}-2023.01.17-cuda.patch
+ "${FILESDIR}"/${PN}-2023.01.17-ssl3.patch
+ "${FILESDIR}"/${P}-gcc15.patch
+)
+
+src_prepare() {
+ eapply_user
+ cmake_src_prepare
+ use cuda && cuda_add_sandbox
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DUSE_CUDA=$(usex cuda ON OFF)
+ -DGLOO_USE_CUDA_TOOLKIT=$(usex cuda ON OFF)
+ -DUSE_LIBUV=$(usex libuv ON OFF)
+ -DUSE_MPI=$(usex mpi ON OFF)
+ -DUSE_REDIS=$(usex redis ON OFF)
+ -DUSE_TCP_OPENSSL_LINK=$(usex ssl ON OFF)
+ )
+ if use cuda; then
+ addpredict "/proc/self/task"
+
+ mycmakeargs+=(
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ fi
+ cmake_src_configure
+}
diff --git a/sci-ml/gloo/metadata.xml b/sci-ml/gloo/metadata.xml
new file mode 100644
index 000000000000..453b2878b484
--- /dev/null
+++ b/sci-ml/gloo/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebookincubator/gloo</remote-id>
+ </upstream>
+ <use>
+ <flag name="libuv">Enable libuv support</flag>
+ <flag name="redis">Enable Redis backend for storage via <pkg>dev-libs/hiredis</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-ml/huggingface_hub/Manifest b/sci-ml/huggingface_hub/Manifest
new file mode 100644
index 000000000000..1bd6e3bf3a24
--- /dev/null
+++ b/sci-ml/huggingface_hub/Manifest
@@ -0,0 +1,5 @@
+DIST huggingface_hub-0.27.1.gh.tar.gz 4079456 BLAKE2B 846291aa9242e6951c26fd8f695a2f324899b473e01a582dc0fa9aad11e0bb30233761c5dd573876167913e4fe89c2616ab857892c08fa067eac11d7b2fb5228 SHA512 64d435a08765c67e3046370a4bc701da136570f3b23cdf1b5d35c679331694c8cb35ece72417f34f4288d035695d39e4ab6e1e1dce2fb33db42b3664258186cd
+DIST huggingface_hub-0.28.1.gh.tar.gz 6559176 BLAKE2B 30c465d7e844dadf4d3154bdb440bcac4296860518e38ae607994e5f7e6642c2e2b94d755faf48e2d129f621275df55819903723113f1bd76bbd3b61c0f49dcc SHA512 3893cac7540d0cc8be65047c1b6798f3d39592070a9be5a86b5f44464cc66d2f12b2a3f0c5c5a12b96a624f128e1160bda1c45c814d2acae294f1484929ec11c
+EBUILD huggingface_hub-0.27.1.ebuild 2090 BLAKE2B aaf70ecfc27fd13a534de3d721c2a3b21269452328a68463c3666b1a1434b9ac2b63930c435a26c06a5b628774b99835fba3f60f2eada150ee95b53a1b37b541 SHA512 d2b2cd492dea1f3cf35a1b6922d6f36f8518af54d6fc858c9c979285a812beb0463c1900bffe78508ed83481e0c010adaff920940b112072a43ecffd386360ed
+EBUILD huggingface_hub-0.28.1.ebuild 2040 BLAKE2B 37fb0318339fa62812a3d7f2e53816e436624916949bbead2641dc4c01e2feab8273ff39a947e1824295ea7792fe025b9f67df61d37665580be817d3b1d3db50 SHA512 b1476ccc23d3904b903edfdbc3671793a607d5f2c5eba669aa3ec83b23d67774f21f34d183bd992d3c99785a5f6ded48e55c64cc04fe699758adc5e22c99f614
+MISC metadata.xml 393 BLAKE2B 1703224359804943e921acb978be119c5ae48c6dae23177d9ba2a4b843a1f8cf10487c7dfc5af83600bb98f1443cb5d3cdad1d48ddc5db7117ebb3092af5fe44 SHA512 74ac25236d7cd4b169ec6281480b140e25f0b2579998ca441eb2ab5c070ed87690c49b7af1bb7b83d8782685c18dc3d2cd5f7ef27e8a51fa8863badc58214461
diff --git a/sci-ml/huggingface_hub/huggingface_hub-0.27.1.ebuild b/sci-ml/huggingface_hub/huggingface_hub-0.27.1.ebuild
new file mode 100644
index 000000000000..0825d6c3e9bd
--- /dev/null
+++ b/sci-ml/huggingface_hub/huggingface_hub-0.27.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="a client library to interact with the Hugging Face Hub"
+HOMEPAGE="
+ https://pypi.org/project/huggingface_hub/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+"
+
+BDEPEND="test? (
+ sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ contrib/sentence_transformers/test_sentence_transformers.py
+ contrib/spacy/test_spacy.py
+ contrib/timm/test_timm.py
+ tests/test_cache_no_symlinks.py
+ tests/test_command_delete_cache.py
+ tests/test_file_download.py
+ tests/test_hf_api.py
+ tests/test_inference_api.py
+ tests/test_inference_async_client.py
+ tests/test_inference_client.py
+ tests/test_inference_text_generation.py
+ tests/test_repocard.py
+ tests/test_repository.py
+ tests/test_snapshot_download.py
+ tests/test_utils_cache.py
+ tests/test_utils_telemetry.py
+ tests/test_webhooks_server.py
+ )
+
+ local EPYTEST_DESELECT=(
+ tests/test_cache_layout.py::ReferenceUpdates::test_update_reference
+ tests/test_commit_scheduler.py::TestCommitScheduler::test_sync_local_folder
+ tests/test_dduf.py::TestExportFolder::test_export_folder
+ tests/test_file_download.py::StagingDownloadTests::test_download_from_a_gated_repo_with_hf_hub_download
+ tests/test_hf_api.py::TestLargeUpload::test_upload_large_folder
+ tests/test_hub_mixin.py::HubMixinTest::test_push_to_hub
+ tests/test_hub_mixin_pytorch.py::PytorchHubMixinTest::test_push_to_hub
+ )
+
+ distutils-r1_src_test
+}
diff --git a/sci-ml/huggingface_hub/huggingface_hub-0.28.1.ebuild b/sci-ml/huggingface_hub/huggingface_hub-0.28.1.ebuild
new file mode 100644
index 000000000000..292c7542bfa7
--- /dev/null
+++ b/sci-ml/huggingface_hub/huggingface_hub-0.28.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="a client library to interact with the Hugging Face Hub"
+HOMEPAGE="
+ https://pypi.org/project/huggingface_hub/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+"
+
+BDEPEND="test? (
+ sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
+ dev-vcs/git-lfs
+ )"
+
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ contrib/sentence_transformers/test_sentence_transformers.py
+ contrib/spacy/test_spacy.py
+ contrib/timm/test_timm.py
+ tests/test_cache_layout.py
+ tests/test_cache_no_symlinks.py
+ tests/test_command_delete_cache.py
+ tests/test_commit_scheduler.py
+ tests/test_file_download.py
+ tests/test_hf_api.py
+ tests/test_hf_file_system.py
+ tests/test_inference_api.py
+ tests/test_inference_async_client.py
+ tests/test_inference_client.py
+ tests/test_inference_text_generation.py
+ tests/test_repocard.py
+ tests/test_repository.py
+ tests/test_snapshot_download.py
+ tests/test_utils_cache.py
+ tests/test_utils_http.py
+ tests/test_utils_telemetry.py
+ tests/test_webhooks_server.py
+ )
+
+ local EPYTEST_DESELECT=(
+ tests/test_dduf.py::TestExportFolder::test_export_folder
+ tests/test_hub_mixin.py::HubMixinTest::test_push_to_hub
+ tests/test_hub_mixin_pytorch.py::PytorchHubMixinTest::test_push_to_hub
+ tests/test_offline_utils.py::test_offline_with_timeout
+ tests/test_utils_pagination.py::TestPagination::test_paginate_github_api
+ )
+
+ distutils-r1_src_test
+}
diff --git a/sci-ml/huggingface_hub/metadata.xml b/sci-ml/huggingface_hub/metadata.xml
new file mode 100644
index 000000000000..ed22415e0eec
--- /dev/null
+++ b/sci-ml/huggingface_hub/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/huggingface_hub</remote-id>
+ <remote-id type="pypi">huggingface_hub</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/ideep/Manifest b/sci-ml/ideep/Manifest
new file mode 100644
index 000000000000..8d892fc2a09a
--- /dev/null
+++ b/sci-ml/ideep/Manifest
@@ -0,0 +1,5 @@
+DIST ideep-3.5.3_p2.tar.gz 63267 BLAKE2B 8797b5ff222824ef135496c39cdeb41c646ae2d7538a75688d554933529de1fa5126fa19e95d0d0199e6cef348c6ede49ccb7a10235d9f434c4f108991c1b299 SHA512 033ec14e50b50fde7f213656c784cc81a12b4ff0a67b019e8efc00e0703bdff5b5aed44bad5cab75e50d014ea9db5a2ec5490f62ff7208824d08a5df451cc64a
+DIST ideep-3.5.3_p3.tar.gz 63303 BLAKE2B 18e1f1d410e0ff772c8e8e0df2d5121570929ad3c73540c3de3697388b0a88a2e591a054927a2451c9f35274821aabbbc1d0c57a618f382152111c0f6521630c SHA512 a814afd5a0924e2336cad2fd651606ac2a2fd191d793cdf6674d2172402b025a3e5175efd2fc23c163843659597fbc20a02330bbec175107ed3fab4775873c00
+EBUILD ideep-3.5.3_p2.ebuild 432 BLAKE2B 2cd827b79c29ecedf9b2aecf5f76522ee40bc44c7d34cd1eb5ae9fdf932fc4c825f81842b9001e6fc450a798a9cdba859a2de5f29f2404438d382215fd4a2a2e SHA512 36e954009d52f440f687d307ba8af0c4bccc581569f5ef74609b40efadd1f4a98e7c921aa8a1bb3b0c62526d16a57717c0b9d32a09e52d65525281fe9463a041
+EBUILD ideep-3.5.3_p3.ebuild 432 BLAKE2B 2cd827b79c29ecedf9b2aecf5f76522ee40bc44c7d34cd1eb5ae9fdf932fc4c825f81842b9001e6fc450a798a9cdba859a2de5f29f2404438d382215fd4a2a2e SHA512 36e954009d52f440f687d307ba8af0c4bccc581569f5ef74609b40efadd1f4a98e7c921aa8a1bb3b0c62526d16a57717c0b9d32a09e52d65525281fe9463a041
+MISC metadata.xml 324 BLAKE2B 64ab7e6f3c76c6627e6d86be6650cd725a10b4bb8c886aeda603c94817c949a55579a4bf630dfaf82757f1245c9362a5378685378ee2f725e591e3f28b6703f2 SHA512 ff287f7f251a1c27d35876a89f2adf622c43a2bf02569d5035a28ba44a5381afc1ca9e801c628a07cfec776bdd53810948116eaacdf1dcc3e7dc1b073e29eb6e
diff --git a/sci-ml/ideep/ideep-3.5.3_p2.ebuild b/sci-ml/ideep/ideep-3.5.3_p2.ebuild
new file mode 100644
index 000000000000..c01174665e58
--- /dev/null
+++ b/sci-ml/ideep/ideep-3.5.3_p2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=pytorch-rls-v${PV/_p/-}
+DESCRIPTION="Intel® Optimization for Chainer"
+HOMEPAGE="https://github.com/intel/ideep"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/ideep-${MYP}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_install() {
+ doheader -r include/*
+}
diff --git a/sci-ml/ideep/ideep-3.5.3_p3.ebuild b/sci-ml/ideep/ideep-3.5.3_p3.ebuild
new file mode 100644
index 000000000000..c01174665e58
--- /dev/null
+++ b/sci-ml/ideep/ideep-3.5.3_p3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=pytorch-rls-v${PV/_p/-}
+DESCRIPTION="Intel® Optimization for Chainer"
+HOMEPAGE="https://github.com/intel/ideep"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/ideep-${MYP}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_install() {
+ doheader -r include/*
+}
diff --git a/sci-ml/ideep/metadata.xml b/sci-ml/ideep/metadata.xml
new file mode 100644
index 000000000000..953b04a60d15
--- /dev/null
+++ b/sci-ml/ideep/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">intel/ideep</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/jiwer/Manifest b/sci-ml/jiwer/Manifest
new file mode 100644
index 000000000000..a535410f166e
--- /dev/null
+++ b/sci-ml/jiwer/Manifest
@@ -0,0 +1,4 @@
+AUX jiwer-3.0.1-tests.patch 790 BLAKE2B dda351c97d0807c327d0438eb3849e15a9b30753c3e7350fa522ebc6d861fa5f3ecbf01b9c55bfad921e6a605178c0175ead21f450677518da26de9faf2120d4 SHA512 e8b8bacbb051b20e8b6cf9e93542dd31828cc052fea773335d7ec4b8a27d2c06c2ba7a8a58f91d02434907aeb1d499e411d69e6daf56cb3420a3ccfbcc51ea35
+DIST jiwer-3.0.3.gh.tar.gz 24092 BLAKE2B 593170953a8f56d654b7a749fd7b8a636065c1a3b1e51b810b1768b8acd817474010025d758a3af984bbe9d4d834411d8a5df446174e87b839be1325fbd1085f SHA512 fbd9d7a5d8c2056e99f47cf55ef8661fcf96ccd16bafe28f40036477def6e7ff433bd372169fdc92c5b727e106e90353468205d2d8238726ea501c3cbab8d156
+EBUILD jiwer-3.0.3-r1.ebuild 612 BLAKE2B f08bf3c6fb5bc75eedf6e06a87a36d678eebe13d56b5f5256ca51ac395efb613da3284df2cc78ae59e24b47a0d760284d110da7d9e06d953a8826da36e90aec7 SHA512 28c12588fe75ecddd1e0f058a40903dbf61a565827cb8e748554356f8ffd97d6a07d91322222580b8c42e399b9b5e411122b859eef389e10a4c73f82e1653419
+MISC metadata.xml 367 BLAKE2B 474dd86fe7addc587bea0b16430e99e5c69148099c1fba0cd58022dbe83411e83e1455320ed4ea1a54c4c74932bcbaa5e793223023d795639babb64d7751a876 SHA512 9bbed0bbfca58ff29129a6e3cceaa075da22576c840595e0a1471baa8e8e00f4f3407c88bbd46755c498a058d89220e3c0864157fd61850ab4c73d3f2c4a110e
diff --git a/sci-ml/jiwer/files/jiwer-3.0.1-tests.patch b/sci-ml/jiwer/files/jiwer-3.0.1-tests.patch
new file mode 100644
index 000000000000..cfd9530985a3
--- /dev/null
+++ b/sci-ml/jiwer/files/jiwer-3.0.1-tests.patch
@@ -0,0 +1,31 @@
+--- a/tests/test_speed.py 2023-05-14 18:22:53.206560417 +0200
++++ b/tests/test_speed.py 2023-05-14 18:24:35.611996479 +0200
+@@ -1,4 +1,6 @@
+ from jiwer import wer
++import pytest
++
+
+
+ def perform_computation(num_sentences):
+@@ -8,17 +10,21 @@
+ wer(truth, hypo)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n1(benchmark):
+ benchmark(perform_computation, 1)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n10(benchmark):
+ benchmark(perform_computation, 10)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n100(benchmark):
+ benchmark(perform_computation, 100)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n1000(benchmark):
+ benchmark(perform_computation, 1000)
diff --git a/sci-ml/jiwer/jiwer-3.0.3-r1.ebuild b/sci-ml/jiwer/jiwer-3.0.3-r1.ebuild
new file mode 100644
index 000000000000..871c5323b7a4
--- /dev/null
+++ b/sci-ml/jiwer/jiwer-3.0.3-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="Evaluate an automatic speech recognition system"
+HOMEPAGE="
+ https://github.com/jitsi/jiwer
+ https://pypi.org/project/jiwer/
+"
+SRC_URI="https://github.com/jitsi/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+RDEPEND="
+ dev-python/rapidfuzz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${PN}-3.0.1-tests.patch )
diff --git a/sci-ml/jiwer/metadata.xml b/sci-ml/jiwer/metadata.xml
new file mode 100644
index 000000000000..183cb49efbc4
--- /dev/null
+++ b/sci-ml/jiwer/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">jiwer</remote-id>
+ <remote-id type="github">jitsi/jiwer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/kineto/Manifest b/sci-ml/kineto/Manifest
new file mode 100644
index 000000000000..eb55ab5dec19
--- /dev/null
+++ b/sci-ml/kineto/Manifest
@@ -0,0 +1,7 @@
+AUX kineto-0.4.0-gcc13.patch 255 BLAKE2B 5633abeae41fd306a6d66d4e0f72040abbcc27b052a9802c94235c4afcff5ed99f3ac0df9ed712c6d4a57345d666442ea89bcc84f9f7d333d2ec77be9246a1d5 SHA512 db55567e22355f7ca98959f6a385b103474b2aeed0684f48e0c2e043754defc888fbd6ae997c3e5909329777d662b2e4e1b85520192da7fcae32845798c4565d
+AUX kineto-0.4.0_p20231031-gentoo.patch 2997 BLAKE2B 123603ac81512b12800a0ef82fd0f573891c4170a16156f87afbdb7004608cf2593eccd23541aa2f042137762dc5d4a1d4013e9fa42303fb8e60066f96529030 SHA512 e7f4d0c7418cb3d4b00cd231b03692dd6b0fd3c29d54f6db557bb87d4ab000e5020d03fffec1583b7c2df8b0431e7f263a4c892eadc16e04ce8af2c9032b47fe
+DIST kineto-0.4.0_p20240807.tar.gz 8263052 BLAKE2B 79a9035939164595f30f55c6cdfdc72ab42fd93d6d8fc63dc028cae50498823916993cb2d856c4b4dc43f4107602e28e8cf70584b4aea4cacda2a700b9e856e3 SHA512 f037fac78e566c40108acf9eace55a8f67a2c5b71f298fd3cd17bf22cf05240c260fd89f017fa411656a7505ec9073a06a3048e191251d5cfc4b52c237b37d0b
+DIST kineto-0.4.0_p20241109.tar.gz 8275370 BLAKE2B 976e629eda6b967e3169e4179e021d8e6e62671d53ceadae420dc2c586445ab701a1f4b479d7e2abd8f0bd689e4679e66d57dcadc42f5e763c127fb371bb389c SHA512 e56500c3fb967d808b9aa052587a4bdeb5561bd47ab4de87cc636496867089c5b480e1c7634a0269b97262504e03ced047dc612903fa0f56a018c23adef4e686
+EBUILD kineto-0.4.0_p20240807.ebuild 1070 BLAKE2B 60997c08c371ad2165e83075659e9de22c9987cbfed937770720914781d735cea0d3970812f0ce1d5ee42033b572ccc97875813d1f6b8aca8851ae0b88b13e59 SHA512 31ebcd9bc34fb9ba9bed53eb0a17e38f25a1242de0da0e057957b98a23df543d560f8a1e70a1c8e2dbf7a226612db7494593068453e922455d7f5d6cf6c72c19
+EBUILD kineto-0.4.0_p20241109.ebuild 1021 BLAKE2B 0569a26b9094272766a3cfee6ba7f26e674eaff6201dc4e811a337d01caa9228c58468d28e02a036e675381b1a1649fb840d1104c973257eeab5413516af24a9 SHA512 0c760eeb8be389021fb20be5a62e153cc23e70304f164d56e7252666b33946b47babafac606f82dcfa89eefed849d0b54a79bdd298b16b36df7d9b67b1bc1ce9
+MISC metadata.xml 327 BLAKE2B f48b87396bdfbc5a12b807941e162b596bbf760252fbfd08dc05ef8aeb9dcd8fc1b0ed3c8d4ec5f531da5a7315a041b8db7b0f6449c86fc52fba4f6d4476beb5 SHA512 9f6906e171f530b6f5de417338af00c26681fe757d823b4ab88cb9749506404c2d9baa96ea3c71c4fe523f6f5877a81e20f2378abe4a2e9895e501829e3fe85d
diff --git a/sci-ml/kineto/files/kineto-0.4.0-gcc13.patch b/sci-ml/kineto/files/kineto-0.4.0-gcc13.patch
new file mode 100644
index 000000000000..296104aef7fc
--- /dev/null
+++ b/sci-ml/kineto/files/kineto-0.4.0-gcc13.patch
@@ -0,0 +1,10 @@
+--- a/src/SampleListener.h 2023-04-12 12:07:58.869097270 +0200
++++ b/src/SampleListener.h 2023-04-12 12:09:42.930392363 +0200
+@@ -7,6 +7,7 @@
+ #include <iostream>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ namespace KINETO_NAMESPACE {
+
diff --git a/sci-ml/kineto/files/kineto-0.4.0_p20231031-gentoo.patch b/sci-ml/kineto/files/kineto-0.4.0_p20231031-gentoo.patch
new file mode 100644
index 000000000000..d0f8790ae5a5
--- /dev/null
+++ b/sci-ml/kineto/files/kineto-0.4.0_p20231031-gentoo.patch
@@ -0,0 +1,74 @@
+--- a/CMakeLists.txt 2022-05-24 11:16:18.537610972 +0200
++++ b/CMakeLists.txt 2022-05-24 11:19:15.011073535 +0200
+@@ -86,7 +86,8 @@
+ CXX_STANDARD_REQUIRED YES
+ CXX_EXTENSIONS NO)
+
+-set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto")
++set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto"
++ ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+ list(APPEND KINETO_COMPILE_OPTIONS "-DFMT_HEADER_ONLY")
+ list(APPEND KINETO_COMPILE_OPTIONS "-DENABLE_IPC_FABRIC")
+ if(NOT MSVC)
+@@ -111,7 +113,7 @@
+ target_compile_options(kineto_base PRIVATE "${KINETO_COMPILE_OPTIONS}")
+ target_compile_options(kineto_api PRIVATE "${KINETO_COMPILE_OPTIONS}")
+
+-if(NOT TARGET fmt)
++if(FALSE)
+ if(NOT FMT_SOURCE_DIR)
+ set(FMT_SOURCE_DIR "${LIBKINETO_THIRDPARTY_DIR}/fmt"
+ CACHE STRING "fmt source directory from submodules")
+@@ -129,9 +131,7 @@
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
+ endif()
+
+-set(FMT_INCLUDE_DIR "${FMT_SOURCE_DIR}/include")
+ message(STATUS "Kineto: FMT_SOURCE_DIR = ${FMT_SOURCE_DIR}")
+-message(STATUS "Kineto: FMT_INCLUDE_DIR = ${FMT_INCLUDE_DIR}")
+ if (NOT CUPTI_INCLUDE_DIR)
+ set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include")
+ endif()
+@@ -144,15 +144,14 @@
+ set(ROCM_INCLUDE_DIRS "${ROCM_SOURCE_DIR}/include")
+ endif()
+
+-set(DYNOLOG_INCLUDE_DIR "${LIBKINETO_THIRDPARTY_DIR}/dynolog/")
+-set(IPCFABRIC_INCLUDE_DIR "${DYNOLOG_INCLUDE_DIR}/dynolog/src/ipcfabric/")
++set(DYNOLOG_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/")
++set(IPCFABRIC_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/src/ipcfabric/")
+
+ message(INFO " CUPTI_INCLUDE_DIR = ${CUPTI_INCLUDE_DIR}")
+ message(INFO " ROCTRACER_INCLUDE_DIR = ${ROCTRACER_INCLUDE_DIR}")
+ message(INFO " DYNOLOG_INCLUDE_DIR = ${DYNOLOG_INCLUDE_DIR}")
+ message(INFO " IPCFABRIC_INCLUDE_DIR = ${IPCFABRIC_INCLUDE_DIR}")
+
+-add_subdirectory("${IPCFABRIC_INCLUDE_DIR}")
+ target_link_libraries(kineto_base PRIVATE dynolog_ipcfabric_lib)
+
+ target_include_directories(kineto_base PUBLIC
+@@ -160,7 +159,6 @@
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${DYNOLOG_INCLUDE_DIR}>
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${IPCFABRIC_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUPTI_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUDA_INCLUDE_DIRS}>
+@@ -168,7 +166,6 @@
+ $<BUILD_INTERFACE:${ROCM_INCLUDE_DIRS}>)
+
+ target_include_directories(kineto_api PUBLIC
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>)
+
+ if(KINETO_LIBRARY_TYPE STREQUAL "default")
+@@ -202,8 +199,6 @@
+ if(CUDA_nvperf_host_LIBRARY)
+ target_link_libraries(kineto "${CUDA_nvperf_host_LIBRARY}")
+ endif()
+-target_link_libraries(kineto $<BUILD_INTERFACE:fmt::fmt-header-only>)
+-add_dependencies(kineto fmt::fmt-header-only)
+
+ install(TARGETS kineto EXPORT kinetoLibraryConfig
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/sci-ml/kineto/kineto-0.4.0_p20240807.ebuild b/sci-ml/kineto/kineto-0.4.0_p20240807.ebuild
new file mode 100644
index 000000000000..5009ab92b0c6
--- /dev/null
+++ b/sci-ml/kineto/kineto-0.4.0_p20240807.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-any-r1 cmake prefix
+
+CommitId=d9753139d181b9ff42872465aac0e5d3018be415
+
+DESCRIPTION="part of the PyTorch Profiler"
+HOMEPAGE="https://github.com/pytorch/kineto"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libfmt
+ dev-libs/dynolog
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.0-gcc13.patch
+)
+
+src_prepare() {
+ cd libkineto
+ cmake_src_prepare
+}
+
+src_configure() {
+ cd libkineto
+ local mycmakeargs=(
+ -DLIBKINETO_THIRDPARTY_DIR="${EPREFIX}"/usr/include/
+ -DKINETO_BUILD_TESTS=OFF # tests require cuda toolkit
+ -DCUDA_SOURCE_DIR=/opt/cuda
+ -DLIBKINETO_NOXPUPTI=Yes
+ )
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-0.4.0_p20231031-gentoo.patch)
+
+ cmake_src_configure
+}
diff --git a/sci-ml/kineto/kineto-0.4.0_p20241109.ebuild b/sci-ml/kineto/kineto-0.4.0_p20241109.ebuild
new file mode 100644
index 000000000000..9ebae4ffc2d4
--- /dev/null
+++ b/sci-ml/kineto/kineto-0.4.0_p20241109.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-any-r1 cmake prefix
+
+CommitId=338140f58a28d599da3434ced4fd2d75dd1a213d
+
+DESCRIPTION="part of the PyTorch Profiler"
+HOMEPAGE="https://github.com/pytorch/kineto"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${CommitId}/libkineto
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libfmt
+ dev-libs/dynolog
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.0-gcc13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBKINETO_THIRDPARTY_DIR="${EPREFIX}"/usr/include/
+ -DKINETO_BUILD_TESTS=OFF # tests require cuda toolkit
+ -DCUDA_SOURCE_DIR=/opt/cuda
+ -DLIBKINETO_NOXPUPTI=Yes
+ )
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-0.4.0_p20231031-gentoo.patch)
+
+ cmake_src_configure
+}
diff --git a/sci-ml/kineto/metadata.xml b/sci-ml/kineto/metadata.xml
new file mode 100644
index 000000000000..9d79d73e5c54
--- /dev/null
+++ b/sci-ml/kineto/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/kineto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/metadata.xml b/sci-ml/metadata.xml
new file mode 100644
index 000000000000..8e0c11ac93d3
--- /dev/null
+++ b/sci-ml/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The sci-ml category contains software and models that can be used
+ for machine learning, natural language processing and similar
+ </longdescription>
+ <longdescription lang="it">
+ La categoria sci-ml contiene programmi e modelli che possono essere
+ usati per l'apprendimento automatico, elaborazione del linguaggio
+ naturale e similari
+ </longdescription>
+</catmetadata>
diff --git a/sci-ml/oneDNN/Manifest b/sci-ml/oneDNN/Manifest
new file mode 100644
index 000000000000..8106154b495b
--- /dev/null
+++ b/sci-ml/oneDNN/Manifest
@@ -0,0 +1,5 @@
+DIST oneDNN-3.5.3.tar.gz 13190748 BLAKE2B 04ad0a6c6edeb1d356397bcd25cb77aaa2be00ea8eed343cd088e400b10fb3d7f7658ed35797f16dbe8434fb9a2bf2c715def7a8e749271ea2c911957f9e98fc SHA512 251da59164c102a6dd3c97e92aef58a879930c0def6e9fe6e43e68e1316ed0c9844796e69eecebbde12085900bfcda6c1ab30db6df24ba9826883171c87a964d
+DIST oneDNN-3.6.2.tar.gz 13788211 BLAKE2B bc6039d24b33ac5a3f362d161b7dddbeb3f6b2b865175a1eecf66bb199d641d017b4036f7cfa18740302c96d06b2ed8d210de922136924edc309434731b16f36 SHA512 b45b6ae398ac33fdb79415395865bc34e0af35995015154df82a434bf5dc7a6ae126fb52cefc264b6abab04b2da5d60f6325f47052fa9430650c77dd54e612f6
+EBUILD oneDNN-3.5.3.ebuild 3442 BLAKE2B 053eb20fedef2decd28ae08da95d2fd99a5a35d878e4a5fab947e8a73e0d6d70ff390cec776b6de01ad03647f4bef35057c1df0059edbde2e9f9191ec9a8810c SHA512 1e910f8de84a5fd7f4f82de41cbc89e10eb5014b6ea5205b52c291bad30c383c81cc9ed5125d49a554411eedd596e047dbf020c461a88bd117d303347f048a9c
+EBUILD oneDNN-3.6.2.ebuild 3469 BLAKE2B de447103492dac212cfc55ec81db1ddb2e96855abca1f0fe18f0c1e8f810b2112b3529475010ae8f4e3c54f5efe87c0ed0358ab7acf81632dd6e47c6ccf10cbe SHA512 a6e64a5c0640bb505b6895cb7960223b7cdebcd0a8eb26bfd8fd743a889204bc4fd2a2197808c731ea9522f5d5f89aef90a5367415b78dc081c5198b58722628
+MISC metadata.xml 777 BLAKE2B 33c65c97e0c8132e315aa389c395407e8985fbe1607222f2affb04534c33e4df14776d90f3293fc651d7892f703cc8eff5803d075291c979bcd828aa51ab1778 SHA512 9b0c2354f69d0e2656bba2995fb956f16d6fad65887f240b670548d244074e7fe92bff73afd379e9d9a208c39ac7da01de97463aa65c37dd51aded32228aafd3
diff --git a/sci-ml/oneDNN/metadata.xml b/sci-ml/oneDNN/metadata.xml
new file mode 100644
index 000000000000..1e6efe71ca6a
--- /dev/null
+++ b/sci-ml/oneDNN/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/oneapi-src/oneDNN/issues</bugs-to>
+ <remote-id type="github">oneapi-src/oneDNN</remote-id>
+ </upstream>
+ <use>
+ <flag name="mkl">Use sci-libs/mkl for sgemm routines</flag>
+ <flag name="cblas">Use virtual/cblas for sgemm routines</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-ml/oneDNN/oneDNN-3.5.3.ebuild b/sci-ml/oneDNN/oneDNN-3.5.3.ebuild
new file mode 100644
index 000000000000..8f80ba4e76f9
--- /dev/null
+++ b/sci-ml/oneDNN/oneDNN-3.5.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=( none )
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ llvm-core/clang-runtime[openmp]
+ )
+ )
+"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_EXPERIMENTAL_UKERNEL=ON
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_interface
+ test_graph_unit_dnnl_layout_propagator
+ test_graph_unit_dnnl_op_executable
+ test_graph_unit_utils
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
diff --git a/sci-ml/oneDNN/oneDNN-3.6.2.ebuild b/sci-ml/oneDNN/oneDNN-3.6.2.ebuild
new file mode 100644
index 000000000000..a76d3055d225
--- /dev/null
+++ b/sci-ml/oneDNN/oneDNN-3.6.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=( none )
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="test" # Some test are very long to execute
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ llvm-core/clang-runtime[openmp]
+ )
+ )
+"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_EXPERIMENTAL_UKERNEL=ON
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_interface
+ test_graph_unit_dnnl_layout_propagator
+ test_graph_unit_dnnl_op_executable
+ test_graph_unit_utils
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
diff --git a/sci-ml/onnx/Manifest b/sci-ml/onnx/Manifest
new file mode 100644
index 000000000000..97f580a08e41
--- /dev/null
+++ b/sci-ml/onnx/Manifest
@@ -0,0 +1,6 @@
+AUX onnx-1.15.0-hidden.patch 511 BLAKE2B 857a4ff9597a25430e2236c2d9de47c1203e630a4adfe8e4cdb72ddfb928f0327e2a625ad91e936e4d3f71bc4aa135bbd15abcf348958238075d356d47d3291b SHA512 a4dbcbae79af1ef1edc8ec8aa27eb0303c1a52baf7db74e70f2d1e6a35db7d5ed2205f7f10f34fdcd3ac536b029edf749b9eb8f7926ac2b620ac7a4b59884182
+DIST onnx-1.16.2.tar.gz 12429500 BLAKE2B 1541fd9e80e305bc0764d1f5d236a89a2f0d0d8819bd6f235c88d35985daf02f575854a537af193befbeab861b2fe6a9d5b8803975b8ae6a47d5d5a6dc28b661 SHA512 7a9a8493b9c007429629484156487395044506f34e72253640e626351cb623b390750b36af78a290786131e3dcac35f4eb269e8693b594b7ce7cb105bcf9318d
+DIST onnx-1.17.0.tar.gz 12475304 BLAKE2B 17e3cdd4bf101749ba841599d1b4e89ad80cfa3de6adabc10491f84ec928c385b1fe517e32657b24ca57d14780d51cc9a641860c06194cec082d9a9950004c8c SHA512 5a18e2b19ec9c18c8b115fb7e12ed98eddaa581c95f15c4dd420cd6c86e7caa04f9a393da589e76b89cf9b3544abd3749a8c77c2446782f37502eb74e9b1f661
+EBUILD onnx-1.16.2-r1.ebuild 1478 BLAKE2B c673170582e8eb3986185d71e213dac55f1b6e9e8d1d9d2dfe1ec8dbf0f4249f2d9662217205940d6c9a473349f4b7bc2e839af61a3dc5056679cb20611fe8c7 SHA512 ed31b08bfa27810e6f737de6c5ac64d2e4b98564e12d93b8a4d9933c1d4e4ca3625299f5de2f586f7ac327011b7310e841d21d5af675b594eecb7ab94a9ac415
+EBUILD onnx-1.17.0-r1.ebuild 1485 BLAKE2B 4db26b704599eecb1ca6618feeb4900232a543f91018a1289ddf6d4f485bf67cb18d3cfc53dcd9a1f141e4e9082daf1148e256303d0ba71808f5fed572a7cc28 SHA512 a0f4cdc1e249013a6e2c0ff5815ad47c8b1b04d4cb4952a2cf822214dcd439414aa53ee20645a08f145c83c8198e14585685cf7f5c05e8452f093544c90a1068
+MISC metadata.xml 404 BLAKE2B 363f1790f0dd2eace0368d7eb1875c166ba6dd0b2514232050f2f1813ccba854b4f8e58e22a329792126188f06d21bf87436c1dcc10d68b018f7abc8eb8ec3e9 SHA512 6a80de77d763a261cafee9cd69337de5282fa39772a1d2a82c3d954d29221596036346339926a124f9df9b261050d17b58d004cdd01ff2f57347379e9df2e45f
diff --git a/sci-ml/onnx/files/onnx-1.15.0-hidden.patch b/sci-ml/onnx/files/onnx-1.15.0-hidden.patch
new file mode 100644
index 000000000000..b500c01a91bc
--- /dev/null
+++ b/sci-ml/onnx/files/onnx-1.15.0-hidden.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt 2024-05-04 19:39:17.464135798 +0200
++++ b/CMakeLists.txt 2024-05-04 19:39:23.155068064 +0200
+@@ -496,7 +496,6 @@
+ else()
+ # On non-Windows, hide all symbols we don't need
+ set(ONNX_API_DEFINE "-DONNX_API=__attribute__\(\(__visibility__\(\"default\"\)\)\)")
+- set_target_properties(onnx_proto PROPERTIES CXX_VISIBILITY_PRESET hidden)
+ set_target_properties(onnx_proto PROPERTIES VISIBILITY_INLINES_HIDDEN 1)
+ endif()
+ target_compile_definitions(onnx_proto PRIVATE ${ONNX_API_DEFINE})
diff --git a/sci-ml/onnx/metadata.xml b/sci-ml/onnx/metadata.xml
new file mode 100644
index 000000000000..e06b5c6e88c2
--- /dev/null
+++ b/sci-ml/onnx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="disableStaticReg">Disable Static Registration</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">onnx/onnx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/onnx/onnx-1.16.2-r1.ebuild b/sci-ml/onnx/onnx-1.16.2-r1.ebuild
new file mode 100644
index 000000000000..555c3bac3c40
--- /dev/null
+++ b/sci-ml/onnx/onnx-1.16.2-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 cmake
+
+DESCRIPTION="Open Neural Network Exchange (ONNX)"
+HOMEPAGE="https://github.com/onnx/onnx"
+SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="disableStaticReg"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-libs/protobuf:=[protoc(+)]
+ dev-cpp/abseil-cpp:=
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-1.15.0-hidden.patch
+ cmake_src_prepare
+ distutils-r1_src_prepare
+}
+
+python_configure_all()
+{
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ -DONNX_BUILD_SHARED_LIBS=ON
+ -DONNX_DISABLE_STATIC_REGISTRATION=$(usex disableStaticReg ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_configure() {
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ -DONNX_BUILD_SHARED_LIBS=ON
+ -DONNX_DISABLE_STATIC_REGISTRATION=$(usex disableStaticReg ON OFF)
+ )
+ CMAKE_ARGS="${mycmakeargs[@]}" distutils-r1_src_compile
+}
+
+python_compile_all() {
+ cmake_src_compile
+}
+
+python_install_all() {
+ cmake_src_install
+ distutils-r1_python_install_all
+}
+
+src_install() {
+ distutils-r1_src_install
+}
diff --git a/sci-ml/onnx/onnx-1.17.0-r1.ebuild b/sci-ml/onnx/onnx-1.17.0-r1.ebuild
new file mode 100644
index 000000000000..0b868d900025
--- /dev/null
+++ b/sci-ml/onnx/onnx-1.17.0-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 cmake
+
+DESCRIPTION="Open Neural Network Exchange (ONNX)"
+HOMEPAGE="https://github.com/onnx/onnx"
+SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="disableStaticReg"
+RESTRICT="test"
+
+RDEPEND="
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=[protoc(+)]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-1.15.0-hidden.patch
+ cmake_src_prepare
+ distutils-r1_src_prepare
+}
+
+python_configure_all()
+{
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ -DONNX_BUILD_SHARED_LIBS=ON
+ -DONNX_DISABLE_STATIC_REGISTRATION=$(usex disableStaticReg ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_configure() {
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ -DONNX_BUILD_SHARED_LIBS=ON
+ -DONNX_DISABLE_STATIC_REGISTRATION=$(usex disableStaticReg ON OFF)
+ )
+ CMAKE_ARGS="${mycmakeargs[@]}" distutils-r1_src_compile
+}
+
+python_compile_all() {
+ cmake_src_compile
+}
+
+python_install_all() {
+ cmake_src_install
+ distutils-r1_python_install_all
+}
+
+src_install() {
+ distutils-r1_src_install
+}
diff --git a/sci-ml/pysentencepiece/Manifest b/sci-ml/pysentencepiece/Manifest
new file mode 100644
index 000000000000..05d0088a2796
--- /dev/null
+++ b/sci-ml/pysentencepiece/Manifest
@@ -0,0 +1,3 @@
+DIST sentencepiece-0.2.0.tar.gz 11980811 BLAKE2B adf28a66de3f6995d31c3b9be6a324614b95f20fe07ea33dd914bcd9d33d123dfee69f80ef7b2a70c3c23700534916caf57ac877e55e5c9d0d671d37372e0aed SHA512 b4214f5bfbe2a0757794c792e87e7c53fda7e65b2511b37fc757f280bf9287ba59b5d630801e17de6058f8292a3c6433211917324cb3446a212a51735402e614
+EBUILD pysentencepiece-0.2.0.ebuild 646 BLAKE2B eb2c116ae46f74414cddd18eb5c53b19189f8bc1f1939aca56a384b961c1aa91741c023d8c4a79cf47fc89c0ee8e56211dd1d0c475287524381923955fa75f5c SHA512 f41b506ce911d096687875dd2f605abdf552ba27f6f9f7f3f3068180ecde3d1203e084894f7a242557a38026b54a1fb55ce8dd31cbdfd7e710e14e56d711a084
+MISC metadata.xml 333 BLAKE2B 03fe2156a6c7e3c777d32eaad0116b47c67929331f479a91eed112aae5740160be79048c0488f124824e079b7e8316efd8b20b27c0f37e99b3fa47fe1c7abcb9 SHA512 b0b545f7110d19388c741d11ec2225526b73f359b50ad9e77757dd741138376f68b18b2130e78c172de2b95c4803b66c7179d6ced8c06d2ddd828fb0262b2c38
diff --git a/sci-ml/pysentencepiece/metadata.xml b/sci-ml/pysentencepiece/metadata.xml
new file mode 100644
index 000000000000..c1ecc19d09a6
--- /dev/null
+++ b/sci-ml/pysentencepiece/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/sentencepiece</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/pysentencepiece/pysentencepiece-0.2.0.ebuild b/sci-ml/pysentencepiece/pysentencepiece-0.2.0.ebuild
new file mode 100644
index 000000000000..39d0f7889fcc
--- /dev/null
+++ b/sci-ml/pysentencepiece/pysentencepiece-0.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+MY_PN=${PN:2}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Text tokenizer for Neural Network-based text generation"
+HOMEPAGE="https://github.com/google/sentencepiece"
+SRC_URI="https://github.com/google/${MY_PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+
+S="${WORKDIR}"/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="${CATEGORY}/${MY_PN}"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ ${EPYTHON} test/sentencepiece_test.py || die
+}
diff --git a/sci-ml/pytorch/Manifest b/sci-ml/pytorch/Manifest
new file mode 100644
index 000000000000..01de53b072f1
--- /dev/null
+++ b/sci-ml/pytorch/Manifest
@@ -0,0 +1,16 @@
+AUX pytorch-1.13.0-setup.patch 357 BLAKE2B 9741c5285353ac09581f54a823e77b069afbe5d9165a6545bd50a2b020298a358783d61fc5923188ddf7fec0929ec92eabeefc8c3be329793f12326aef5f89c5 SHA512 4632b0ea06704122e86dd27836d96ee59fc1ea236e69031fc65a21b2c9eafae21fc9344e55f17ee0c6374e3368f7ad1e3cec3b2be1af5e21bd10902684c72161
+AUX pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch 1063 BLAKE2B c93cb4c1ff40ef332cd518474a397e9b61d310f4cbdb8701c18749f103533a69e4a3e892f1e3613113cc97ae320951dacb956025ba6be694c5275448d2af3a78 SHA512 7931a220068a36b15ee0f282161f23422acdbef32990bd1eafeab55e06131748f5b4ad93e6a0dc7a4f92e7ebd0595a97835c768b46dd7139f626df666642ce18
+AUX pytorch-2.2.1-emptyso.patch 464 BLAKE2B 8c93245f36218a63a910ddf41e1181c83306485ae788cc47ad191641dfed13b2f0ce8b492c9e377279a2ee8ed83c2aaac25e1ba8b4cad3d5a07c7bbc95d60063 SHA512 1f5cbd5937d20411a74812347a2a02111d80fcc73453717eb136d8e3ffc94f839234713b77c2c89b07f87404a132fd0a1d345666df8d6a3ba01284cc0b752fc2
+AUX pytorch-2.4.0-dontbuildagain.patch 416 BLAKE2B 42d62ba2342a32a7eb0a8062750cd59ca9ebd6085b06f6751ac884c7daaf6d4a36373290403c02da7bd8d96e409cb7f57fc601cab4bace45613b3f7a14892c24 SHA512 a844b68faf11072b6e2b7d23cd17fff21cb96226f72dc6b52ec5d4f98d48beebcb341b3528b70c89e831e6de0aecefd01e3ad3f41c05347114ca8c19bd31c34d
+AUX pytorch-2.4.0-global-dlopen.patch 887 BLAKE2B 044e7708619070f93b1157a0c4e560dadda88b299c32023f4f953711201c308966e07dc6c8a34ed9f56cd6ee4b02d5870fd3637365f83f98444695f5747ca7cb SHA512 091b353b33a5d8496836adcafba7f0c04f2085ddbd33bf1fda8222a4afdf2c5b12bed53c26140f22442a1a77c465b326f603de02837f6d214f16dfae01c56417
+AUX pytorch-2.4.0-torch_shm_manager.patch 367 BLAKE2B f03c002cbd50fb959dfc3ccf89cb8aa9fe6e001ff2cb47bee45cde28cac262e20df1d06f396776ce069f0a9e92cd370c96788db0aa5d1b9d9f3bc1832701502a SHA512 94f095908385b3058863d05a78a0e243f8614bbde406d457e50bdba574a8e1911b77790a0806f705644dc0c0ae235888314ea4a31aed7c0eb8ddfb29ff42636e
+AUX pytorch-2.5.1-dontbuildagain.patch 420 BLAKE2B 42935902e5cb98d5d013fd4e409107c7fa95b91a09ee34723b67dbee37eed4575bb008de0aaab4d00b36bb19d87b4d6855829498fe5b7de95e47b4d536edc71c SHA512 e78b572110ff62d7d90ecd8dfb3f9f6a72c05e5190991ee8084107bbe11f0fe4f85d6fa440b2b4d3ce5e2611685e6e6f35d4fb026eef43131e3e4e60dba53bcf
+AUX pytorch-2.5.1-setup.patch 437 BLAKE2B 4107ad2dfde10b25e7422f65c7f87833bb662958eb3fca3ac0c1a5c2e203f7186c31142ac6cdf2a10009a95408e45caaa09fd85a5cc35ee6c9106f8c630a8beb SHA512 a51b3840763f960c1c63df0181c2d35747697a57e11bb08681acf21af06b64d2fca45f6bb3647034d20860e497cab53cec9bd2b5719c5c5aab7bf01080da9103
+AUX pytorch-2.6.0-dontbuildagain.patch 757 BLAKE2B 2de63f16f26bdf2df95fc040ab1d69cb2026a1785f37be6be75744c7cb8d62e59552b18598fe740c1551415b1bf915ab57e0d0cb7791ede86541a1cc68305dfc SHA512 0f072dc1b7b568d1c3a6e3fea5a9566bebfc113a32a51fa25ce3aee35f8ff77f8a8a7681dd7ebb121136b55605c52592439c9b2d1ccc0ded241deacefe33940b
+DIST pytorch-2.4.1.tar.gz 115029469 BLAKE2B c2909ff27d527bc57cba56b780d3b8cd07a043ab045caa6c6b27857a16f9ad10aaab2116b26226b1e46ee08ffb44007965d914464418e4ae14ca48c3f3f383bb SHA512 7e9b4485e242eaf0d648765c6621d73d95e7107b766646a098175436d1ab2e2b864badd0757a3bab6b7c318233f2120bad9ac07b39bb9e357897919580c87631
+DIST pytorch-2.5.1.tar.gz 116091366 BLAKE2B 7838b17562b94ffc7d798031348689db607dd5eae2a3c35be365972e2b52a2c1b12067068d5aca5ab00cf0977d9c2c3c9ae5337d69534c864c732e6256cbeef6 SHA512 a913a466324a65fa3d79c5e9ad4d605fc7976f0134fda2f81aaa3cea29d56926604999b8a238759646d211e63b47bbb446cdffa86ca8defd8159f11e30301289
+DIST pytorch-2.6.0.tar.gz 119594438 BLAKE2B 3152eb341cf42295e147e59625beb9c06608aa4b78f9618c1c0024b10c1c767715d07fe8c4be52d029ac47f808cd0d5e65c9530ec90d951a64b993083b4067ad SHA512 a70da80ff09d226085e18228132cf6bb236ad8cc47eed52375d0d2a615f09dd33849da947270b5670c184eab60cb8e2adf11d801babfbda7aa621400501d07b0
+EBUILD pytorch-2.4.1-r3.ebuild 1612 BLAKE2B f1ec65d1b0bd32516a5ecd6ce762eb0888499c4af9e5ca0d174be2d958b406ac00b7135b68632cb7c7824522a2b4954ff1771f92f18223d3440c62daf6572788 SHA512 0f74180fe88b7f0f5440e5f5fa2e3b24e65965d0454bb76f5fa84fbb675dbcf515e0670cbad2749e5b6a76b0042d5280ee49fe7e7114d626a6a100df99e2e431
+EBUILD pytorch-2.5.1-r4.ebuild 1467 BLAKE2B a18550e5d679fbb00fbea15c36d9333db9cf96e7b60d96dbb72fab648a67b86bc2a6b028dad56564b5f259623e81abba15bd302226dd6c37ed9cb1141998be2b SHA512 5be9ecd5a7f8aa6093f91ac31e64348d4d04c9f1597991d8f6ff707023715cbdcae4dc62d9a94eeb30a98e651741d64b4b7763c9d12faba7f439a713b0c1187f
+EBUILD pytorch-2.6.0-r3.ebuild 1428 BLAKE2B 9847ea4da9647a2813191b0c0ce394872e4922fa6ce3852051593014bef8a15b621d64d46616eb9cb245cb510852ccad32cd37d6744874c7b8b043766e740675 SHA512 0fe2d12da69df83fa843ead0f05d27a6b0db12e4cbf7c548d8b8e075704e98a4212a26e6a3e2c62299d72d73a201bffe9119361334da5f6a7491ac2910d962c9
+MISC metadata.xml 516 BLAKE2B 91217d92fb2a588197740116e4d60d2429c1e4dc21845605bcaba4f6f5c941d27024175eae9cbd3dd89deb30496fb3d56f2a771f115887548e4a81b1947837d4 SHA512 85e43fc8be4da3677d1bfadaaeb8d23a17277fa4a684e89f5d8da0279f6b2d9744716ca82d7fe5e070b163de4d153e4d0c433b2d5ef9b609b7b9b53d57e32906
diff --git a/sci-ml/pytorch/files/pytorch-1.13.0-setup.patch b/sci-ml/pytorch/files/pytorch-1.13.0-setup.patch
new file mode 100644
index 000000000000..bc5721e5b932
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-1.13.0-setup.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2023-02-14 19:34:56.327571750 +0100
++++ b/setup.py 2023-02-14 19:35:31.073020464 +0100
+@@ -234,6 +234,8 @@
+ import time
+ import sysconfig
+
++sys.path[:0] = os.getcwd()
++
+ from tools.build_pytorch_libs import build_caffe2
+ from tools.setup_helpers.env import (IS_WINDOWS, IS_DARWIN, IS_LINUX,
+ build_type)
diff --git a/sci-ml/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch b/sci-ml/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch
new file mode 100644
index 000000000000..214267487c95
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch
@@ -0,0 +1,32 @@
+From 52019a3f395e5fa97b26d424152d91f73b400f8e Mon Sep 17 00:00:00 2001
+From: Alexey Chernov <4ernov@gmail.com>
+Date: Wed, 13 Nov 2019 23:44:12 +0300
+Subject: [PATCH 5/5] Change library directory according to CMake build
+Modified: Tue, 03 Aug 2021, fit for pytorch-1.9.0
+
+Change `lib_path` in favour of out-of-tree CMake build
+directory, so that all the C++ libraries be found.
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 60502b6add..cbced52192 100644
+--- a/setup.py
++++ b/setup.py
+@@ -268,9 +268,10 @@ else:
+
+ # Constant known variables used throughout this file
+ cwd = os.path.dirname(os.path.abspath(__file__))
+-lib_path = os.path.join(cwd, "torch", "lib")
++cmake_build_dir = os.environ.get("CMAKE_BUILD_DIR", os.path.join(cwd, "build"))
++lib_path = os.path.join(cmake_build_dir, "lib")
+ third_party_path = os.path.join(cwd, "third_party")
+-caffe2_build_dir = os.path.join(cwd, "build")
++caffe2_build_dir = cmake_build_dir
+
+ # CMAKE: full path to python library
+ if IS_WINDOWS:
+--
+2.23.0
+
diff --git a/sci-ml/pytorch/files/pytorch-2.2.1-emptyso.patch b/sci-ml/pytorch/files/pytorch-2.2.1-emptyso.patch
new file mode 100644
index 000000000000..2b4839baec5b
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-2.2.1-emptyso.patch
@@ -0,0 +1,13 @@
+--- a/setup.py 2024-03-08 19:34:42.148677983 +0100
++++ b/setup.py 2024-03-08 19:34:52.402558423 +0100
+@@ -1019,10 +1019,6 @@
+ extensions.append(
+ Extension(name="caffe2.python.caffe2_pybind11_state_hip", sources=[]),
+ )
+- if cmake_cache_vars["BUILD_FUNCTORCH"]:
+- extensions.append(
+- Extension(name="functorch._C", sources=[]),
+- )
+
+ cmdclass = {
+ "bdist_wheel": wheel_concatenate,
diff --git a/sci-ml/pytorch/files/pytorch-2.4.0-dontbuildagain.patch b/sci-ml/pytorch/files/pytorch-2.4.0-dontbuildagain.patch
new file mode 100644
index 000000000000..4fe5b0bdeb86
--- /dev/null
+++ b/sci-ml/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-ml/pytorch/files/pytorch-2.4.0-global-dlopen.patch b/sci-ml/pytorch/files/pytorch-2.4.0-global-dlopen.patch
new file mode 100644
index 000000000000..e72ed94e6888
--- /dev/null
+++ b/sci-ml/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-ml/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch b/sci-ml/pytorch/files/pytorch-2.4.0-torch_shm_manager.patch
new file mode 100644
index 000000000000..b1303d141dce
--- /dev/null
+++ b/sci-ml/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-ml/pytorch/files/pytorch-2.5.1-dontbuildagain.patch b/sci-ml/pytorch/files/pytorch-2.5.1-dontbuildagain.patch
new file mode 100644
index 000000000000..3a3d24e155d9
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-2.5.1-dontbuildagain.patch
@@ -0,0 +1,17 @@
+--- a/setup.py
++++ b/setup.py
+@@ -470,14 +470,6 @@
+ check_submodules()
+ 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-ml/pytorch/files/pytorch-2.5.1-setup.patch b/sci-ml/pytorch/files/pytorch-2.5.1-setup.patch
new file mode 100644
index 000000000000..10052a65c939
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-2.5.1-setup.patch
@@ -0,0 +1,10 @@
+--- a/setup.py 2023-02-14 19:34:56.327571750 +0100
++++ b/setup.py 2023-02-14 19:35:31.073020464 +0100
+@@ -238,6 +238,7 @@
+ import setuptools.command.sdist
+ from setuptools import Extension, find_packages, setup
+ from setuptools.dist import Distribution
++sys.path[:0] = os.getcwd()
+ from tools.build_pytorch_libs import build_caffe2
+ from tools.generate_torch_version import get_torch_version
+ from tools.setup_helpers.cmake import CMake
diff --git a/sci-ml/pytorch/files/pytorch-2.6.0-dontbuildagain.patch b/sci-ml/pytorch/files/pytorch-2.6.0-dontbuildagain.patch
new file mode 100644
index 000000000000..75a386ce2969
--- /dev/null
+++ b/sci-ml/pytorch/files/pytorch-2.6.0-dontbuildagain.patch
@@ -0,0 +1,25 @@
+--- a/setup.py
++++ b/setup.py
+@@ -256,6 +256,7 @@
+ import setuptools.command.sdist
+ from setuptools import Extension, find_packages, setup
+ from setuptools.dist import Distribution
++sys.path[:0] = os.getcwd()
+ from tools.build_pytorch_libs import build_pytorch
+ from tools.generate_torch_version import get_torch_version
+ from tools.setup_helpers.cmake import CMake
+@@ -483,14 +483,6 @@
+ check_submodules()
+ check_pydep("yaml", "pyyaml")
+ build_python = not BUILD_LIBTORCH_WHL
+- build_pytorch(
+- 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-ml/pytorch/metadata.xml b/sci-ml/pytorch/metadata.xml
new file mode 100644
index 000000000000..eea3cea19850
--- /dev/null
+++ b/sci-ml/pytorch/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/pytorch/pytorch/issues</bugs-to>
+ <changelog>https://github.com/pytorch/pytorch/releases</changelog>
+ <doc>https://pytorch.org/docs/stable/index.html</doc>
+ <remote-id type="github">pytorch/pytorch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/pytorch/pytorch-2.4.1-r3.ebuild b/sci-ml/pytorch/pytorch-2.4.1-r3.ebuild
new file mode 100644
index 000000000000..9071008bf955
--- /dev/null
+++ b/sci-ml/pytorch/pytorch-2.4.1-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+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-ml/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${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
+}
diff --git a/sci-ml/pytorch/pytorch-2.5.1-r4.ebuild b/sci-ml/pytorch/pytorch-2.5.1-r4.ebuild
new file mode 100644
index 000000000000..026615ba5bb8
--- /dev/null
+++ b/sci-ml/pytorch/pytorch-2.5.1-r4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+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-ml/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}"/${P}-dontbuildagain.patch \
+ "${FILESDIR}"/${P}-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
+
+ # Get object file from caffe2
+ cp "${ESYSROOT}"/var/lib/caffe2/functorch.so functorch/functorch.so || die
+
+ 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
+}
diff --git a/sci-ml/pytorch/pytorch-2.6.0-r3.ebuild b/sci-ml/pytorch/pytorch-2.6.0-r3.ebuild
new file mode 100644
index 000000000000..27391724320e
--- /dev/null
+++ b/sci-ml/pytorch/pytorch-2.6.0-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+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-ml/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-dontbuildagain.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
+
+ # Get object file from caffe2
+ cp "${ESYSROOT}"/var/lib/caffe2/functorch.so functorch/functorch.so || die
+
+ 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
+}
diff --git a/sci-ml/safetensors/Manifest b/sci-ml/safetensors/Manifest
new file mode 100644
index 000000000000..1e63c2f44c20
--- /dev/null
+++ b/sci-ml/safetensors/Manifest
@@ -0,0 +1,44 @@
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
+DIST memmap2-0.9.4.crate 32752 BLAKE2B 1b21af908061e6fe09484ce5f84d31ed1751301dffb6439512b38c53f9f090cef7541b591b968d0207c6d8351ee4d5949007caef7832ce130ffda1b3716b5454 SHA512 8bba078dba73253e8ee88f0bd2202dcd2afd0b7b800d08af8af593b882cb4acff7e297a3f299e253f5adf103893fc390dcd73e882a2e7d93ca96099fc2eace4a
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
+DIST safetensors-0.4.5.gh.tar.gz 81030 BLAKE2B ca3dd6e60c65c50e2a97f6cbbc707a067b8c498929ac3c73d00011a887b6bb7d2addda3b2a8f0a3a34ad34959da241f98a0fc1df4bdac5927b8ad75a8747b664 SHA512 e465983d139d40c2924e5053ace21150b4321eb5e5145c2d1fcd80f2ec7f0709e14160a3959892cfc0953b16f94a1a79ec1648086cf8461dacf2ee8a7c1f75fd
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f
+DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e
+DIST serde_json-1.0.122.crate 147200 BLAKE2B e678f61791da51bfc9df8e0184ee3d43c7eeef51c10ea5ea7b14f887ba22d6eb8ccd80a3080a35fc35279b36e635fa00ca3f102c4f6f2366a831d48014692407 SHA512 140830b38ca4e79eb66bb9d2b55c69434dde9208be926e7aaf7eb561af3c19148f9abd93d1526a7f77e249ac44d9226e4d6ae63eacfb6214544913480f668160
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
+DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+EBUILD safetensors-0.4.5-r2.ebuild 1979 BLAKE2B 87f31c8e0a80c986c5aea689dfa1d6fb229c992277afc2a280f98fd1602484bbeee4bd751e6010bdd4759b0ca756daadff217f0924c0545c2b66fd4ffd133c7c SHA512 17c975fe7c4938055fb3ac4339165d62e0a6498d63a4002bedcde58788987bb8b6f3b684f059669faaffabebc3b26058d3bc8854eb7423d3344a79381b21b75e
+MISC metadata.xml 385 BLAKE2B 5fcb9894785eab5f5222d0563c734aa442b13d84e594a53abc58d8f659c4d74d56bcc96929a3d385681e6ca314e7fa2de343859a2a5ae99f3a060eac2bb271d6 SHA512 24326c0f79d48ffe3899e155cf15890bf8d3d5769ce58773ff4cd020bf3b3b14f9c584019a596c83065209ef884125b09080e98e0c8479e408b62827f653c796
diff --git a/sci-ml/safetensors/metadata.xml b/sci-ml/safetensors/metadata.xml
new file mode 100644
index 000000000000..313819f5fd44
--- /dev/null
+++ b/sci-ml/safetensors/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">safetensors</remote-id>
+ <remote-id type="github">huggingface/safetensors</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/safetensors/safetensors-0.4.5-r2.ebuild b/sci-ml/safetensors/safetensors-0.4.5-r2.ebuild
new file mode 100644
index 000000000000..60e7eb508671
--- /dev/null
+++ b/sci-ml/safetensors/safetensors-0.4.5-r2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+
+CRATES="
+ autocfg@1.3.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ itoa@1.0.11
+ libc@0.2.155
+ lock_api@0.4.11
+ memchr@2.7.4
+ memmap2@0.9.4
+ memoffset@0.9.1
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ portable-atomic@1.7.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ quote@1.0.36
+ redox_syscall@0.4.1
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.204
+ serde_derive@1.0.204
+ serde_json@1.0.122
+ smallvec@1.13.2
+ syn@2.0.72
+ target-lexicon@0.12.16
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 cargo
+
+DESCRIPTION="Simple, safe way to store and distribute tensors"
+HOMEPAGE="
+ https://pypi.org/project/safetensors/
+ https://huggingface.co/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}"/${P}/bindings/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+QA_FLAGS_IGNORED="usr/lib/.*"
+RESTRICT="test" #depends on single pkg ( pytorch )
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ rm tests/test_{tf,paddle,flax}_comparison.py || die
+ rm benches/test_{pt,tf,paddle,flax}.py || die
+}
+
+src_configure() {
+ cargo_src_configure
+ distutils-r1_src_configure
+}
+
+python_compile() {
+ cargo_src_compile
+ distutils-r1_python_compile
+}
+
+src_compile() {
+ distutils-r1_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+}
diff --git a/sci-ml/sentencepiece/Manifest b/sci-ml/sentencepiece/Manifest
new file mode 100644
index 000000000000..cf18fd18c05c
--- /dev/null
+++ b/sci-ml/sentencepiece/Manifest
@@ -0,0 +1,4 @@
+AUX sentencepiece-0.2.0-gcc15.patch 314 BLAKE2B befcc8bea7b4b9ca518218ecc8cea1857a8e21d123a8e45b14f392effb94537f55e60f8fa5aa13e659d9b8315177b6ddb0558c8577d2838d0c475f1c107e7e21 SHA512 f21684bbeaa91d09f188c72302120a23f02e02fd551a61b47907c0a732b31980ee896625c0dc1101cb571ccc294f7f3e3d39ff45cfced24486bb6a4e8adaa6a8
+DIST sentencepiece-0.2.0.tar.gz 11980811 BLAKE2B adf28a66de3f6995d31c3b9be6a324614b95f20fe07ea33dd914bcd9d33d123dfee69f80ef7b2a70c3c23700534916caf57ac877e55e5c9d0d671d37372e0aed SHA512 b4214f5bfbe2a0757794c792e87e7c53fda7e65b2511b37fc757f280bf9287ba59b5d630801e17de6058f8292a3c6433211917324cb3446a212a51735402e614
+EBUILD sentencepiece-0.2.0-r1.ebuild 1011 BLAKE2B bff042d00ecf80d22963a018c416016e239fabef2ebb67351b641b94f80ecb7c7565639f524bd967a6252c6473a79f2e841abe8307f11e9ef6adecc2670202cc SHA512 bc3b3bfa82d70ff0af4b412321a0ab54a0e766f9520197490ffa46d06510c02eab1d2fbaf44a48a486094b2a8b9184a181808a7abb35df96821c01eccf6869c3
+MISC metadata.xml 333 BLAKE2B 03fe2156a6c7e3c777d32eaad0116b47c67929331f479a91eed112aae5740160be79048c0488f124824e079b7e8316efd8b20b27c0f37e99b3fa47fe1c7abcb9 SHA512 b0b545f7110d19388c741d11ec2225526b73f359b50ad9e77757dd741138376f68b18b2130e78c172de2b95c4803b66c7179d6ced8c06d2ddd828fb0262b2c38
diff --git a/sci-ml/sentencepiece/files/sentencepiece-0.2.0-gcc15.patch b/sci-ml/sentencepiece/files/sentencepiece-0.2.0-gcc15.patch
new file mode 100644
index 000000000000..d165dfb7e55c
--- /dev/null
+++ b/sci-ml/sentencepiece/files/sentencepiece-0.2.0-gcc15.patch
@@ -0,0 +1,10 @@
+--- a/src/sentencepiece_processor.h 2025-03-20 21:45:30.138329183 +0100
++++ b/src/sentencepiece_processor.h 2025-03-20 21:46:09.315859746 +0100
+@@ -15,6 +15,7 @@
+ #ifndef SENTENCEPIECE_PROCESSOR_H_
+ #define SENTENCEPIECE_PROCESSOR_H_
+
++#include <cstdint>
+ #include <cstring>
+ #include <memory>
+ #include <string>
diff --git a/sci-ml/sentencepiece/metadata.xml b/sci-ml/sentencepiece/metadata.xml
new file mode 100644
index 000000000000..c1ecc19d09a6
--- /dev/null
+++ b/sci-ml/sentencepiece/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/sentencepiece</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/sentencepiece/sentencepiece-0.2.0-r1.ebuild b/sci-ml/sentencepiece/sentencepiece-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..478b86dc42bd
--- /dev/null
+++ b/sci-ml/sentencepiece/sentencepiece-0.2.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Text tokenizer for Neural Network-based text generation"
+HOMEPAGE="https://github.com/google/sentencepiece"
+SRC_URI="https://github.com/google/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-cpp/abseil-cpp
+ dev-libs/protobuf:=
+ dev-util/google-perftools
+"
+DEPEND="${RDEPEND}
+ dev-libs/darts
+"
+
+DOCS=(
+ README.md
+ doc/api.md
+ doc/experiments.md
+ doc/normalization.md
+ doc/options.md
+ doc/special_symbols.md
+)
+
+PATCHES=( "${FILESDIR}"/${P}-gcc15.patch )
+
+src_prepare() {
+ sed -i \
+ -e "s:third_party/darts_clone/darts.h:darts.h:" \
+ src/model_interface.h \
+ src/normalizer.h \
+ src/normalizer.cc \
+ src/unigram_model.h \
+ src/builder.cc \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSPM_ABSL_PROVIDER=package
+ -DSPM_PROTOBUF_PROVIDER=package
+ )
+ cmake_src_configure
+}
diff --git a/sci-ml/seqeval/Manifest b/sci-ml/seqeval/Manifest
new file mode 100644
index 000000000000..abe8181e3b42
--- /dev/null
+++ b/sci-ml/seqeval/Manifest
@@ -0,0 +1,4 @@
+AUX seqeval-1.2.2-gentoo.patch 450 BLAKE2B fd44e8b8d6b421e7790ac7b7c32d260db1ff20ddec6c1c15f8bf244458776b1e201204405bfb718fa2ab12bd602de548b16228b1f7968ce3eebb6ec6c4b55742 SHA512 b26c0c01e4285f683e16da8da0be96161c3e697725dda75d9daa0b5e89294099eab0af8c3a501f33525e7fc0e5c698060f1fe4228d95ef3216dcba919da4853a
+DIST seqeval-1.2.2.gh.tar.gz 42187 BLAKE2B c0ae8b71fab3d29381d5e2bc70f733b5d176b8a447ee7803a8b4681a1fbd9d197e288c1e3c1239454b5c669addc4977d8a3274c63884529d8c682bf584f2cd3a SHA512 794b817dcd19bc60ecc1c3c3f188bb17b2786dd3629691c43a594443b6dd2a3298b398309d5f14817ff1e0e37859fe109175b8bd48d0d30243de0ea4845c381a
+EBUILD seqeval-1.2.2-r4.ebuild 867 BLAKE2B 32be6f2b32ab37c26c003ecfac85aa960506c6801dd66620abeaa5f554d31252be81fd73c2b20233966f45c2a4a07c56ff651d56b9d0724a4cba94903067bc02 SHA512 fcd3534aa530a902d84949b5eb5a10dd515b68e4cfeda97ae8f0dd9eccc4cc8f00333c028fbebf9365e4595b7cf7400a84135552204755311d91c018ac1c3ca0
+MISC metadata.xml 378 BLAKE2B 3f985472075cf2a650e8e2851d63fb69fcae8bba196b04809cea8158922aea385320d813a7ca18c96b33242b7c4e154ba92b1ff0a26e37450112df3c3e5e9484 SHA512 d227df0c4c1735b8bca799e4bdec447a15d532e63d1c6a6eb2ad634a63a13baee62f403c87db4fbe1b36ea0b1b34fda3b95b5781a7432ccae2904b0c92005664
diff --git a/sci-ml/seqeval/files/seqeval-1.2.2-gentoo.patch b/sci-ml/seqeval/files/seqeval-1.2.2-gentoo.patch
new file mode 100644
index 000000000000..17af496e249a
--- /dev/null
+++ b/sci-ml/seqeval/files/seqeval-1.2.2-gentoo.patch
@@ -0,0 +1,10 @@
+--- a/tests/test_metrics.py 2023-05-04 09:00:31.656558311 +0200
++++ b/tests/test_metrics.py 2023-05-04 09:02:09.151781216 +0200
+@@ -158,6 +158,7 @@
+ self.assertLess(abs(r_pred - r_pred_inv), 1e-4)
+ self.assertLess(abs(f1_pred - f1_pred_inv), 1e-4)
+
++ @pytest.mark.skip(reason="take too much time to finish")
+ def test_statistical_tests(self):
+ filepath = 'eval_data.txt'
+ for prefix in ['BIO', 'EIO']:
diff --git a/sci-ml/seqeval/metadata.xml b/sci-ml/seqeval/metadata.xml
new file mode 100644
index 000000000000..11047fcb8a30
--- /dev/null
+++ b/sci-ml/seqeval/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">seqeval</remote-id>
+ <remote-id type="github">chakki-works/seqeval</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/seqeval/seqeval-1.2.2-r4.ebuild b/sci-ml/seqeval/seqeval-1.2.2-r4.ebuild
new file mode 100644
index 000000000000..768944196ea5
--- /dev/null
+++ b/sci-ml/seqeval/seqeval-1.2.2-r4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="Python framework for sequence labeling evaluation"
+HOMEPAGE="
+ https://pypi.org/project/seqeval/
+ https://github.com/chakki-works/seqeval
+"
+SRC_URI="https://github.com/chakki-works/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+"
+BDEPEND="test? (
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+)"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tests
+ distutils-r1_src_test
+}
diff --git a/sci-ml/tensorpipe/Manifest b/sci-ml/tensorpipe/Manifest
new file mode 100644
index 000000000000..638f993222cc
--- /dev/null
+++ b/sci-ml/tensorpipe/Manifest
@@ -0,0 +1,6 @@
+AUX tensorpipe-2022.05.13-gcc15.patch 546 BLAKE2B e2ac5367bc7c345d285a87ae15c0c7673f86056f34c964ba51e75619cca35ae72ba632cfa45dc0e08e92b3ad5807b649b40fb3f4d778fe384cae0bdad30beeaf SHA512 491a7d55670ec39e174041ffd0fe291e854d7d719c84f1a88adafe15cf6260a36d4ff60a7c1a70dec8995041b1d64e059457849447db1031b3af068665cfa844
+AUX tensorpipe-2022.05.13-gentoo.patch 522 BLAKE2B b5efc8193549a84569125794e65a931343f26996f487158f39dd6c9d1689ecd1390bae1616e1f498461a3b4b0a17478a8a14c1cbd6b76c82b7dc2a4452e72d7e SHA512 3c8cd91daf9cf1c4249c5e5f7154f9d4495d33ab011802f83a96d056723ebfb86406f4bc9c8bacc8af2a70336d706de9d88d538d196348d2d6ea4e56886b5162
+AUX tensorpipe-2022.05.13-musl.patch 330 BLAKE2B 9aade68ee025eea3c8bf1ab38531dda0814537bfa2878aea15da6c954ac379ca09dc2eb1ee136481e5d23af7c968dd27afcd93652efdc0737668976745ecefec SHA512 a09590691156b0e425b8c28652af295e53ef4b107ed148ea0c18c94fbd1e99ed1f7dabe2eb87bc3458ff09db0d463d71dbb97edffbe15db78be7e3a9c8289112
+DIST tensorpipe-2022.05.13.tar.gz 259678 BLAKE2B 09231216b7ea1a5f4559bfd38d82337cdcde160c34ceb160c728b85ccf94566b812f0c38b6d3f6bc74b6f08b49b749939970265df343e3ca0214803f9d88e58c SHA512 cf0334f81affb2d844bc8b63c533a749753e36ee096f841641716a3bf044b17580262a2e9056d8d1351228e323c4f75401a2a120a5de397e80ec21a33fe56d2b
+EBUILD tensorpipe-2022.05.13-r1.ebuild 779 BLAKE2B 1f307edbc4df26b5f9d867c043c3ee6a7053f09b3bd3019d0e559beff036971f1dcc5427b6ac65e84abea2ba3d75af51e412a5f9eac885beab4c4b26258a72ea SHA512 975d55eeb8287408dee56ffb77df470768d4c3aeb8623d41f18c70f2647f39f41f70fba211624b53412fcd7bd167a554441043779b8903ef42ad3166735027ee
+MISC metadata.xml 331 BLAKE2B 6a5a854e8e6c987dc1b105a3c905d8113b0613e63f479e700f85a01b96e4b939de8706bc876c1bf44bd61f40b9b3b18eb87f3899c1f3697ddfb5ca6bed2a7a61 SHA512 8843f661956cdbfbda49aebfe4586c5eaafa7e7b82f134d5881e46ac6ebf69b20167f532a372280be17ae29016aca82e2930762b2bdbb7616918b7200a3a2a49
diff --git a/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gcc15.patch b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gcc15.patch
new file mode 100644
index 000000000000..4d99ee656920
--- /dev/null
+++ b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gcc15.patch
@@ -0,0 +1,20 @@
+--- a/tensorpipe/common/allocator.h 2024-09-06 21:57:32.806149494 +0200
++++ b/tensorpipe/common/allocator.h 2024-09-06 21:57:54.018918083 +0200
+@@ -13,6 +13,7 @@
+ #include <functional>
+ #include <memory>
+ #include <vector>
++#include <cstdint>
+
+ #include <tensorpipe/common/error.h>
+
+--- a/tensorpipe/common/memory.h 2024-11-02 14:00:40.971529014 +0100
++++ b/tensorpipe/common/memory.h 2024-11-02 14:01:16.891890766 +0100
+@@ -10,6 +10,7 @@
+
+ #include <sys/mman.h>
+
++#include <cstdint>
+ #include <memory>
+
+ #include <tensorpipe/common/defs.h>
diff --git a/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch
new file mode 100644
index 000000000000..1d3ab0724030
--- /dev/null
+++ b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch
@@ -0,0 +1,10 @@
+--- a/tensorpipe/CMakeLists.txt 2022-05-27 16:04:55.374134087 +0200
++++ b/tensorpipe/CMakeLists.txt 2022-05-27 16:05:11.596909345 +0200
+@@ -184,7 +184,6 @@
+ # We should keep libnop headers private as they should not be exposed to downstream users,
+ # but they're currently transitively included by tensorpipe/transport/connection.h (which
+ # is still unclear whether it should be a public or private header).
+-list(APPEND TP_INCLUDE_DIRS $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/third_party/libnop/include>)
+
+
+ ## Target
diff --git a/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-musl.patch b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-musl.patch
new file mode 100644
index 000000000000..86fd4793ae5f
--- /dev/null
+++ b/sci-ml/tensorpipe/files/tensorpipe-2022.05.13-musl.patch
@@ -0,0 +1,10 @@
+--- a/tensorpipe/channel/cma/context_impl.cc 2023-12-31 13:40:35.080753311 +0100
++++ b/tensorpipe/channel/cma/context_impl.cc 2023-12-31 13:40:44.570735997 +0100
+@@ -8,7 +8,6 @@
+
+ #include <tensorpipe/channel/cma/context_impl.h>
+
+-#include <linux/prctl.h>
+ #include <sys/prctl.h>
+ #include <sys/syscall.h>
+ #include <sys/uio.h>
diff --git a/sci-ml/tensorpipe/metadata.xml b/sci-ml/tensorpipe/metadata.xml
new file mode 100644
index 000000000000..a676d5dbb87a
--- /dev/null
+++ b/sci-ml/tensorpipe/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/tensorpipe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/tensorpipe/tensorpipe-2022.05.13-r1.ebuild b/sci-ml/tensorpipe/tensorpipe-2022.05.13-r1.ebuild
new file mode 100644
index 000000000000..b89d2676ec07
--- /dev/null
+++ b/sci-ml/tensorpipe/tensorpipe-2022.05.13-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+CommitId=bb1473a4b38b18268e8693044afdb8635bc8351b
+
+DESCRIPTION="provides a tensor-aware channel"
+HOMEPAGE="https://github.com/pytorch/tensorpipe/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda"
+RESTRICT=test
+
+RDEPEND="
+ dev-libs/libuv
+ cuda? (
+ dev-util/nvidia-cuda-toolkit:=
+ )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libnop
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-musl.patch
+ "${FILESDIR}"/${P}-gcc15.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DTP_USE_CUDA=$(usex cuda)
+ )
+ cmake_src_configure
+}
diff --git a/sci-ml/tokenizers/Manifest b/sci-ml/tokenizers/Manifest
new file mode 100644
index 000000000000..532a15a7bbf4
--- /dev/null
+++ b/sci-ml/tokenizers/Manifest
@@ -0,0 +1,429 @@
+AUX tokenizers-0.15.2-test.patch 1783 BLAKE2B eb91905fb1773a57b7553d9d95ce326da6ed12729d1f4111504b58d8e825d8cfbe3303e0663703f8620e72c91e70573fd7b6fdf021a165c44a04d0a84e87622f SHA512 763276325c87a4fcca24e482726f50a7db9640b436314ac3a7f47fb868502360ab0c65eecafe53ee12f4a94c3a2c56b69942ceaf636479eb005e756d8cf8c1b1
+DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b
+DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
+DIST anes-0.1.4.crate 8303 BLAKE2B 0630d9900e5f866231ae958c7b473d90b41e030d2c47510a261ea76c48a6944d8a6a9b88eeb89616ca3a250340fcac940f7a13c31e916934ffa00120b64e048c SHA512 354869e1f03faae634bf8d353fab75f5ae41575f5ca3027840f5a224ad4ce6343b2f77449cc2cc3591d890da9cbc9c00104448182a28a56c8f7030969bf910c4
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
+DIST anstream-0.6.18.crate 29681 BLAKE2B b6f72cda084b38f1e1cfe60de2562e8d62ebbc352176bdf668a2d6be09349bec46d291cd475e8af814ce66def44d95cb98c325761150130752284a82d8a84f21 SHA512 5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963
+DIST anstyle-1.0.10.crate 15725 BLAKE2B 36e656bd8f9c584f11fda5cfe0c2e24e8426b9e1b602aad34ed118ae6950a55440e292d2e0ff7615f5e4f466fd06f07536be198a59506a587d40cb0c4ede4f80 SHA512 621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea
+DIST anstyle-parse-0.2.6.crate 22343 BLAKE2B 85eba405dc5cf806283cf442984e86583dfe6c681f849eb7a347b7b67bd2b6f692e84fc9b5bd86486633cb2f05960ec16e8778300df114ae6676da43442db9bb SHA512 e28c9818afcda0e9b84c205d9c6697ce64cb06c21df2c3666869c07d66893105d9c5e96a27fcf2410a09f6af00735252e22b5c7d8c6cb3f68c4a8f376c49d396
+DIST anstyle-query-1.1.2.crate 9969 BLAKE2B 179b8dd6dd709c2ca67f4eb5c9a502b2867cb6744a39f824c4fdebedc67c6c3e07d107c7d817e2ffb589d13b7ed4900cf9653ddc0a43663217042ee92ce8c9da SHA512 26069d936c4b1fb09bc65cda0253fe9be8fa4e96c0821f980c772602b4e9230035ec8c9d092ef95e0a0354ac559f8d25f57a14c34086d4d241b5fba688951837
+DIST anstyle-wincon-3.0.6.crate 12271 BLAKE2B d9f4d9d46fa93a1168ca340562681718be852ffa94e30c9ea208af53af9d6697ca84921837a325ddc36681caab2b866b7f574901c80b5c0d862dcb765b81b68b SHA512 59ec6f5a53bd68b6344d82e923eb8c45ddac481dd0d270a7b452dc5b0540ee1656705697c1508942ecc131e7c075248c85d8f4159f27d97ea94f22469ce2eeb5
+DIST assert_approx_eq-1.1.0.crate 7512 BLAKE2B 6efc259426c5f61ce971a86dd434bad2dadc6613ee182df90d818a7f5ab1e4a8e1bd4b210a76d80f2c1fe93bfb91cf8a65776c419d39746e9f3d4aa78669b426 SHA512 701ed76e413f32d873fa670e307646924344bc40d56961887554bfd155ddbfc7606b76c341f66d64a75c882d40f99d803fd839f0ebedd35293ae47aeaf57782e
+DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c
+DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520
+DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
+DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6
+DIST bit-set-0.8.0.crate 16289 BLAKE2B b27bd0a273d7e45e2fbdf46d4c5df4d82f710071cee82b19e95204cecfb13dda26aa346696f489a52f66347e7123a67cd0d05f7c2a4d7164d671f712fba1b9da SHA512 eb06e6b9285f33fb0dca69ce189838138f679e97e72538d09923e29348cb25ff1043cf4ef4ef4b74644de9a601859159d9d9d74354def92eb10b86e6067047fa
+DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8
+DIST bit-vec-0.8.0.crate 24132 BLAKE2B e9bb9e1b7aba90337e546e9cf6aced966ddea82e825c76c34806604746b774ab03b19756a24084f6df35bb64c21600ba4cd1c477196b34dfe4bf56efa6e4a23d SHA512 20d55f09994bff368381d2da5e0aa4ec3d336361d0e0111d72d147fa0e44cdafe3df62c3dc30d42d745dbf42dfc0b75037f046e5335085f3fb88f586e52fa571
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c
+DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf
+DIST bitflags-2.7.0.crate 45924 BLAKE2B d4266b77e4ee15d7083c8e8eebe1b050029e3f3d21029606d4e9d3c4fe03820b6d5ba2e1309f47cd6ca2a043b5d7e1b19dd991f3fbe97c4bb018aadb54c60818 SHA512 c97246c09551bf1b333850135d82c40650be4aa8df1ab55dc190d80ea8e950ebd122635fa7d82c43d477150e207acfc4e830b9fde41aaca1edbbe7c0a800c174
+DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1
+DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
+DIST bytes-1.10.1.crate 76779 BLAKE2B 96573ff7852cd2d4f37a68cb4d76bc43d2018dc25b7b7e2164df022de4e1974f22d4d3ea7cbfb280667650cdb5063d600f4f76cbdca43dae508f29ced449b0f7 SHA512 03429f01927b94ba6c958c46b2e5bf92a23b39ce9385689e21accd34a5d3be01fd0f665f4bbffb1f7c5bdf1edfb1bf11d5ccad00eff0f9388be39fe2f753d296
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.2.1.crate 92731 BLAKE2B c9cb100964834692781ecc3f47972f83adaf27e019ca212f896b19a853521cf2084da213f2c2fc5c8a1bc794cc83fe9f81faf7751e1b065a3a2a08137cda0b61 SHA512 54bc5d85d48d678d33dc795aa6cc823a59ae6d17b4ec5708a1dd515e3495eabccdd949e9467e9bb3a29e44847a2d3ccd75055dfda241d8abbb16bfad650f2819
+DIST cc-1.2.6.crate 99923 BLAKE2B 61e091267c5b18d3c2886ee50870ccd3aced59d9f5eea31967e8739a49523226e2d1f0f383c7b5c3c9b6dc19d65bee319efb081f0c05c9d25847063d7f628081 SHA512 a9a2a00c58e0625aef2023c0c84827f17ee260bcde7e9407c98b38300ecaa5df852babbe896d857920c3455089e3608b54014812da88e597c500017bdd9a52ab
+DIST cc-1.2.8.crate 100790 BLAKE2B 15f707b72adc1a6598d5a88df4346223e0efa863d4798c648daff3606adafcae9cc51109eaee197ebd33e8583167c00d18564c50159e0b393e7b7938b928b0aa SHA512 2566ae63afe078e4ed598cfe81d6a37af958c3f96c9689c8c94f873e42115c1cc0b02bf52437905fcfe8ee058a789b864b9959cd105348b7fa907e21db93f068
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c
+DIST ciborium-0.2.2.crate 35611 BLAKE2B 7bb34ed2b16f55af2d762bbc83263bba901a0f05bc7677a370460549297839c4d6e913622e8a6cb3a5c2447b94b0bd17b7d5007228ea8881193d08e5b8deb072 SHA512 8d1af6a09f116e42f0098d7d0e34dd906dc3e718b257ff1a1fde655a235d40619f61f18917c0cf35c55de9160c255a9795d5e7525989037e3512807cc6a900b1
+DIST ciborium-io-0.2.2.crate 6697 BLAKE2B 07636da78f59859515af0075cb36d9ca969113ac327ff727953c73b64b60ddae22e5b1b65d8be5aa401f8b13d34074cbc8b47f23abd7a13d551f0b1c78f23575 SHA512 641b8592f9699d5e6c607815c8e6dfc82b2bd01897015e04ef8853420a7d90c2ec5c1140e39eb7623ce05587bea52ef63659eae76baee5b6592d2ac5298ce106
+DIST ciborium-ll-0.2.2.crate 14695 BLAKE2B 3c9ab0b338070359f9565706a504e4f6c65560072380af6e0a57068ae6716773d40e75dee84ded5e1d32f93445a07a0965759bedace58291b68b94479fb16488 SHA512 2f7ef6ad8bf5a862e8b9daa64bc6d8184c87a22c264b10dbb35c00c9effcd5712f354b4ca6c2eb8e6795d4b99d7cb88fa2acf01f3ad6fb28caf81708a500549a
+DIST clap-4.5.26.crate 56474 BLAKE2B 986e620055ea5c8546162793958ac147f309df76058b49862e15517b1f060f986e631da5816fc7cd22563f1699a57b5d377622974606c96c454d74d8ba72a07c SHA512 ff41bbc3432504eb80dcd95091aa21f00716337a4e271822d9d0e8f244e01583fdcfb890f6eef908ad3cebe7e2597802d09ba26f9cb7b8c325f616ec4ff6d1f9
+DIST clap-4.5.35.crate 56970 BLAKE2B 3175e6f12fe04fd517bfc7b80f4968cdae3d465885a1c7d308a350e88c3a17595f562e42bc11d75da882b8d78ec5f6d4aa734d397283fdf62b6c1121a0325881 SHA512 18830a954a9d90a277f21ea71b4a218539afd59b0f48c362d9f8a53b8b8c70def59218f59cf433f640067fa9541092583cb3b85267bfd57495cd531e32915b26
+DIST clap_builder-4.5.26.crate 167961 BLAKE2B 4cdb5b3d356a2631e86c9130389e6773d061d0842997233ab470c4c0853a966eb8c40e36574fa9708f7d052901bfc267579a26175e6e2da2c74552bb377ccde9 SHA512 474cb2e9b9732c353ba0b1a5fda60332903296fc50019481ccc881680b30602ca545cf36116374a6b15f6e40574b8631aa682becf6a1707ccd42d18e34a68a29
+DIST clap_builder-4.5.35.crate 168525 BLAKE2B 716cefcaecdb678c17508dd0488df25fe63b07f6220f158bd295cfaee2846c3d2d067d56ed775d27bd37d7127fcd5238210d201d0320f8ff0373315d534a68d6 SHA512 cee5cb006b9dccc58d573919ad139a27dd7e4e855e93e275c3dae70c8c3eeadd43381fc53c16d47ec0927e67ca6d8163aa31ae0ce4dbecaa2ee996c31da1f24b
+DIST clap_lex-0.7.4.crate 12858 BLAKE2B a5ecd50cc503157dd69746f3b6e9c288e0fe4f6d5d82271499f657134fd401fbe076255e2be6a23ed0b69daf3941c6429dad8b288223b0ad390a2c435575cdd1 SHA512 a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e
+DIST colorchoice-1.0.3.crate 7923 BLAKE2B 7055fe61677143f0d4445ed5f6be2cbc284c155aa6ceac04df6f3fa2563a225e440ba708bf40e298ad09775ab7c7e1842b5f6dd78422b06dbd1250908e3227ee SHA512 fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14
+DIST console-0.15.10.crate 36449 BLAKE2B d0d2f161ea045854f0f53af39490c37af170888241b2f63bb47749b288ac387e24e52f936651763a5584a20bcca3512b28d50cfc4435d97ff06cb5de20768e29 SHA512 2d4b99912215a1e7083ac4cdd594f6ef7914152c683f007babecde2be7f3d6c2a861a198c9b4306242d84722d44965185ba846041e2ef13ee9ee9a5d43c370d5
+DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
+DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33
+DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a
+DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266
+DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-deque-0.8.6.crate 22471 BLAKE2B 02b854df171b0430ca8a40349674ff251698d0c322c317055da8678da6661730c945d86737fa4947c3bd824ffe402271ee2f77fd6a505d2d46b4a41454c510c8 SHA512 9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa
+DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8
+DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025
+DIST crunchy-0.2.3.crate 3775 BLAKE2B 8e2db9b8b24e375ccf788ee442e6196872860fc664de0b6d6f88f33c985e56b1386a7b277763326bd5011f2258c3e75460bc333a9162aa816a559948ee68828c SHA512 f97919ee077981da8a14d0cf4a1622b08059710918d97fbbd1f7a5aeb92d51ae5452934c2c45c1f9f79b320aeac6eca41f2a54b35d0710e077069d8841be52ca
+DIST darling-0.20.10.crate 32031 BLAKE2B 038c2a4d919a8e9ff6eff5f83911b40cf4e918ac27c90f313b6b9131c41770f83cc3901973fea1c6fea2886a8360f3c5cf73b807d14e579b8b8e87f15e3bc6dc SHA512 7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55
+DIST darling_core-0.20.10.crate 65015 BLAKE2B a94adcc6092a7a69728725ec4bf4cb7c163bc3fe0890f272bba9963c256697bbe1ad964d58a975c80742019c59d4e1b3e56e624f938576996e216d2f99e21f2d SHA512 2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d
+DIST darling_macro-0.20.10.crate 1874 BLAKE2B 29cbdc6bd63e4eb0731c8f8f0a50cfcae9a88f116f8cfc0068e5d3cddc20b42b7f0f20f128ffa0f7bcb8d72f0188b04b3838b8327fa6f3ab45de4cf5c3bbf317 SHA512 565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52
+DIST derive_builder-0.20.2.crate 36661 BLAKE2B 27679d1837dc87ad4103459df3be6ab42d4d8b70aa01a1552aceab82042dfee81d90134c9f940f0c1c62bf359c5a70128bb4bf7a62bc4844066f198c771fabe9 SHA512 75d08f4c106ee5df795ebc8be3dcf34dada037c7566b20bfb52243e16f288b440c723fd17343a654d2f170c056a4197704b9c6b69c8e0d1b250039bee43fd872
+DIST derive_builder_core-0.20.2.crate 31397 BLAKE2B bc8c8da24a0b7871c7574330230544c3fffddd3a00c403f076997def95ae882be99d5f3a29c4e08fe536af9de87751ad63a5ad77e6cd9587764d19dda174fb0d SHA512 ab154b7f116a21984cf8c9cea538e8d33be1680663f4578af37f7d74696547431e9ded07bd8ab0265fd2c4aba5937b948f57d4f9b60b96c840f5150e8c10ce86
+DIST derive_builder_macro-0.20.2.crate 6360 BLAKE2B 6c64582fa68d6cb8d2c865a32af74ebdfb463d449bbe5a60cd2139033aa3a74a6c2de1e3e5c18b4dc785e9f272971e893a3789ce3d0c1c3b7735f6082e5e76ff SHA512 1a5cdd75bbd6326147f6ed726fdc21b2a4e44db9abe49576d4b1ed067b0e56871cae148ea982b647016240392194efa4eca157d615ab42248d798396612b3d9f
+DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1
+DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a
+DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948
+DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322
+DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
+DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359
+DIST env_filter-0.1.2.crate 13327 BLAKE2B 96f888b30ec8b40032e588f8ac73e9fe23340af71d5ec69cd8b4dc2bcc272ecd64d1d3ab54bc57e7a71a44cbac497ee7ad3df52930dfe3c7ba7dd129df290b73 SHA512 b1f21a5d4aadfd940bde3e53935c04da48e48cd4f825cedaa83968a08244722aa4e92afb9fd2fdd228412754f040f7bb68f24e05c0bf9bf57783aec042808606
+DIST env_filter-0.1.3.crate 15191 BLAKE2B 95fa27602c10e819ef09b8f4935dcc3204104f7c5a0227e5fd33cc51fd77f70cdab3d822670d216321f263643d1f5220f5849002ad857925d4170b1b56cd3fd7 SHA512 94db29f1639636655e05ab02611cf14d5c2c8778be6eddddf0b6b8c21f364a71909a2ecc3acf3f4062d5d3c79a6316e9ef30b2fe042f617108af8431e198d344
+DIST env_logger-0.11.5.crate 30683 BLAKE2B 9dd2b461be5c5cb3411ebba8bcdb53a78fff28c54fafd21a0f8c3fe578ebc3882ed5df63a5ef9adf62bce00fb6360de895457baf75fd2ed1a6730429478c32cc SHA512 e2ab1f117227ebf8840daaff971c2533830c0e481797cdcaa055a4506ffef78fc0830bfa13295275c604273d494278d43440b987132f97ed6bc1cf705e05cd8a
+DIST env_logger-0.11.6.crate 31105 BLAKE2B 536f7b02bc6bd4f186061d55d2c5fb0d57aa91adc73d0c2521e0136573283147d5d336228fa7b64306daec9f488a2a83c83b96f06d648f45c3b52d04699b15d9 SHA512 1ec41e4c4eee4ea6bea38d40e739b1f324ef236fc786553fd77c6bacf6303f13d35c1626d3408a18346d42ebf5c896869deba133ef34b8cccf3729957c72de0e
+DIST erased-serde-0.4.5.crate 25459 BLAKE2B 0745866c0780b8635861ac9c6bc545742d5b1abbc7a42e299ee5fc7092803e709892987b2a82b293eea5a610b410602c5f4f27be3503b7467ea71eac01bcb028 SHA512 56ecd1be8f756a852102eea15d6e79b6c1c5d39c87cac0a5595d050fd3a62fda6b2bd81b9370dbde806b3b1b1c664a994f968b418212d0453b47a458313968c8
+DIST errno-0.3.10.crate 11824 BLAKE2B f9976b538868daba3cd2d47ff2fdcda16b4a436ca767f865f23d1139e7f232aba263dd4aa38d573442c762999c8a8beab8a4a8c10649d21b49090fa65ced1ec7 SHA512 fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f
+DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a
+DIST esaxx-rs-0.1.10.crate 175210 BLAKE2B 40cedcf5b281ee32e7d146763c727936af7825304e72bc3f7d39a483dab0faacbc81f3b2a303757f292ab119d7681da2622b94ad7c3f85c4e30215e92828e290 SHA512 87129723dab9588da3b0a873e47fcd1906c6089aa714701401c59d5d61fd47eca0bdad9778ac068dcc072b093688e2e5ea0cdce77f265406cb7339605be901a1
+DIST fancy-regex-0.13.0.crate 85930 BLAKE2B dee797093765f8f1ea6b8896cd832983fdbeafb23828b896811f2657e135b71e374a713fc37f68ff128068d04ae140bb2864415db1edfa2e300aea04ef597474 SHA512 0e7ad0ea46ecaf9eefbeb696bc99aa725022d92f0f11b9f3efb8e81a80a058fed08816d3f9efb4c5fa0176aa1b649e13f5ea18d3352f75a7d2be772fd531f744
+DIST fancy-regex-0.14.0.crate 86969 BLAKE2B ceb9428b0a599d7b1a1e5f8aeb383fa56d4ac147fb19a7ed05415ea2f580df47de7331eb0139017941416ffb56dc0ac7575e018c0a406ccfcba50db2e42f94a7 SHA512 7de6eeaedeca5242538c4fe3455bae061f11a79c5c115813f153ccd5adf2cb731ed13396330107d7aef149bac1de483a044b0c9dd6c4baed454bb6c87ddb3af3
+DIST fastrand-2.2.0.crate 15031 BLAKE2B f3fe05ed1acfda1fbca7ebe3da2b26d05a35ab782db693ca58737dad537c53d16142422a04d2d55a6f9fa9a76abe4454923d85f6948601394f39cea5c90e835d SHA512 de2835aee8d5380a6e1c0f627a876594626e1379f2f7dbd3ad0f785d7c3f3f82162c9c20a68417324506f78264cb9dbcfb2d4d5dc9ca666996150979738822e4
+DIST fastrand-2.3.0.crate 15076 BLAKE2B 15c9a1c4f64d94c4bfd38ae139c6fe19b6b621a495c1b57209edd6d76d978eaf018ba77f356b5086c3f462a6de044fb5e3b172fc288309569911a17ec39951bc SHA512 267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947
+DIST flate2-1.0.35.crate 109188 BLAKE2B 8bd6e51c3bcc06044e5b8d7ead950c3beab6c6337052fd48e86175f0fc98c8d12804274308ee515dc6156bbedb2277dfa2706cdcd7baaf2a789122473248486e SHA512 aa2c4f0ad46cfbc7d2bfbdffd226eaa37f5223a34d132d8fb2dfd04c20d15a96c4882cc377fd72afbc7d13e512f5e9934386b0390a0ab2b171d081335c58fad4
+DIST flate2-1.1.1.crate 77224 BLAKE2B b23eefddb87d3203cbf086e8f25ef23369fcb8285e0ec7b003ba249c9c14c6de00e7627fdff8076299bc1b06f44f789b23603a9b0ea121ddac1e452001bc4856 SHA512 5b0e56e950b47f686f1014e0e3324c471bd986c432151eea665027a33d4978babebddc84cd48812dde1b47474fd07c97f9230a3c1e74882e0fae9b947c19e8ee
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
+DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69
+DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935
+DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf
+DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166
+DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9
+DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81
+DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
+DIST getrandom-0.3.0.crate 45123 BLAKE2B 4b85d99fac88731bffd2e6e026f79224f0f1418622e870d603f3d9b22d3f802eada340ae8369e0e6706330126508705970502a47af596f9a42092e19af313adc SHA512 37242bf5b20c0cac97ce88e4f76ffb38ffef4ee469bb787e92dc9fc28c17a45e3e8a5f1a75e33d1d77249c65ba8e0da11cc8ec9e0a9fe870b8544c75807329b0
+DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949
+DIST half-2.4.1.crate 50892 BLAKE2B c275a9ec70d2fc0c50cb63421399202d31252b0dbf463798ed0a12a17493817c66b8933811d483b348f8f945cb05aab7cc2a4d952bd16009c3da4860202e28dc SHA512 0bce235583ca128723186e1fb50f636b519bf826c942f02c5b969db4117baa87c644665c541991c16d1f1dd97c7233c017a513d45075fc72c5d99ccc7c1ac193
+DIST half-2.5.0.crate 59156 BLAKE2B df69e12683ffbcb402cd9a69a0bbe984300dec1cdfae3038000e221b7054591a738de8b6d0a989072035010e6bfb3d07a8a79c8b85e14e40ef36643dea98573e SHA512 a5712ac6f2a6c384f6180b57dc1434077f6ae27d6220947a655f9fe15ec13359ca4fbf0ee35818f5fc11ea4625a20805153f08577799bb7f13f3d43de6f089a1
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST hermit-abi-0.4.0.crate 16310 BLAKE2B efcd1dee7bcd6d185cbe0051c7bc7e2776857ffcfd2adc3fb101febd7c1bd75994b7e4a4a0a59c5b4628cc2521b4c1f043e98a0c44935d0180e7499667690ab8 SHA512 b1a21f6d54598185a8e8c29565ffc2e1bc5da57cf1c9d87ba643d23d7c23d53e8ad36ee2f5c1ec8a504334b6f98b0f17a832ff37877c7b7f9238b196f4034e6f
+DIST hermit-abi-0.5.0.crate 17480 BLAKE2B 502964fc10754985eb39aa9f9e6ca418bb65656703f24ae713131f4305de2569a0afcfb96ef15ed58bbc3fbd24701b2c87a4b81da5ff335fef7f13601d31bfef SHA512 2af390ae8e3ef2f4c6993cfb5d5b92c6184c3ef22134c745cb02b6482561526eebc8c7ec517324373145fbea2cc668bc4518c6bce6d575747aae6ac162adae08
+DIST hf-hub-0.3.2.crate 24295 BLAKE2B 0f7b8ebe62f4d210b61a6e2bc0b1d4da178e0a07ee47bf5fdd21047f0465588613606bba5e03b46cdf6c415ee2a88fc2a5b4f47a2566a1683c043603688a2cc3 SHA512 a6178ae68a5c9f65f0ac4f2054042d7cee85ad5b4ec97dd7e94057bf0b9eca6d1232b790355a4cda0edf91d1bb13d6de1846c4a249e7b9ecd62a431d7b9d45c2
+DIST hf-hub-0.4.2.crate 41860 BLAKE2B f043dd41f818b7cff09db67cd7e7b70c82c05e457ad065d40e30c2901ea083d87d6e61df70987b025aa1afaff4b6c77b6d70f5d0de6cfd293fc7ab9642e8537b SHA512 64c2c336923e38edcd1fb47450e18f0af58220195c84933422e68a079313f1906edbd84876521b04bfb3ba332bb12b4d079c60803145520a1d85adb6a84dc8bc
+DIST http-1.3.1.crate 106063 BLAKE2B c7ac3982bc0ee5ab6885d058ddb4341a85f2308cbccb59c51b5bf76df93c77c23a6ed974cfc45844b5d8a4db21081f262b115e084f10869636e3cd02a4917614 SHA512 20c6a049d93294e081150991eec281f531d2f2aa66b04b5d51585995bd07c1f9748df7f21a4f94fddf4cb04872c83d77822cce12b2d65778ea55197666e550ac
+DIST http-body-1.0.1.crate 6125 BLAKE2B e253f2c85c0553382db955ce9ed18072f8916738962083223f2466034803553818e7f5a11649ebf5ea9118e7ce1067bd9b999379a03a335b88c810bcd312cafc SHA512 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd
+DIST http-body-util-0.1.3.crate 16975 BLAKE2B 0914cdba8bcc09ba191bc5a05ee9ec13d8ab75530b25121bc34cbff970ab95ff59ecbdd7ba4f49d997b523dd6465f57fa6ad79a84f84de0e75b75a9db3813e9f SHA512 3aa8f63bc489773c01ec7bd8e4012b515d4f037649c405b519051fb43acebb0fafebb4a51a38308c842244e6d869d360885ab64ca7b43e2b9f0c52542c072bcd
+DIST httparse-1.10.1.crate 45190 BLAKE2B ce166e68e60434c9e5659b7fd8d2b014247e798be12bdd08ed1a28bd71d9aab4047f96c6179e00fdbeff8967d27ffcc9c9ad3b76a4fbc5791c68c14ab36ac31d SHA512 b9988b4657e54931a9f8beab694d938bca7c15783c7181059770e56a7cbff801531e96eaa396615f19b0d99c37f73b39194c6ae06df1309a02097ba13e33ffd0
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST hyper-1.6.0.crate 153923 BLAKE2B c69d338d00dd9be80c910dae6b3b995918d862d6ee863e9f85442f0e45584a054056f51864313b8ca0068680d7667faac61d70adfe2e7d2db2346f608b45bb32 SHA512 8c30624f51fed280e909ca526284f81a0863e3ace05f20ce8117298f180efc1567e92f807895034d9ad83026059e4b90c5a3cfe527a3e9c99674489fd17fc6a8
+DIST hyper-rustls-0.27.5.crate 34660 BLAKE2B de261692fa4765f3ffdf8c384250532a0747b2595c41fbbc1a01c69c2c8a68a87656572f70228ecadb4aea04851ea6e7a0ab7077d6ffbe75b1a15805e64fbcbf SHA512 6a2451be2f42880978b0236385e8775fdfc3f538d9642c7fd6993ce85b16d623357f97a8c2a328e76e31c76083a8be557a4e7447f34aa52b9e990f4c9680e193
+DIST hyper-util-0.1.11.crate 75973 BLAKE2B a234bf9c393018f1cc503a33280e069f30de2126192b8724528a18cd079287b2b95ffd09d1fd5be03aacf7a706c3f5b5e466bd739e09a0e54e557038a72606ed SHA512 691faea879c7f4e6a92c45c738787f51b1657a60bcb4d9fe8007aa3c6dc41a08ca4ab2ddd3df346cc2218c48d1cd277301efec01cb12f056d6870cb56bd8cc00
+DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db
+DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57
+DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63
+DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405
+DIST icu_locid_transform_data-1.5.1.crate 42937 BLAKE2B d9d1d66a556ba5383abe07c23cb96765312fe9637aeea50d030488faa9431cdeccfe42a5367d84c8fddb7a3fd2550fef106876798a1f020821ebc1cb6d32cbbc SHA512 fe5b5563248ea0c78f63b8f5fa19b7298776e0d6dca062af108e388565c932d098b98f1e7eba1469c705184684a369e9d142b3123b24451bf5084bc7b83245db
+DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13
+DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f
+DIST icu_normalizer_data-1.5.1.crate 50737 BLAKE2B 3beba44344a525220cb64bed28c1d869d2df0cd7091c92841ed08b1a82b958e61d388653ffce6dbc49781a8a157d427f7ff89f0b5a3bf874d1dd3f4461a1f00f SHA512 372ea6d0ed10bbba7392cb563997dca1601b3799c5c9ae585602629cd064461d096bbb0c624f14e43ccbeb6186d28d2d75e7f2ae98bc3a5ccbc0893b15dce7f2
+DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac
+DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac
+DIST icu_properties_data-1.5.1.crate 229231 BLAKE2B 9bf61185e1e99f213fda4e28e0fe196e9884de0bf00783357607ee9d055d43c4303e611248b174e7cce0df3978f028d15188503160ae2b08ef9696f9dc835d35 SHA512 f37bb469d33f6a0d5126a37469783bdbd268dee081cdcaa8d18461c8bcbf91b08a75ecabe6df8c47e532838c95816778ae7aa36a22571fbba452d84fa6d63228
+DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1
+DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63
+DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9
+DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126
+DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e
+DIST indicatif-0.17.9.crate 65246 BLAKE2B 9ce758e7dbafb3394d632a6fca910ea3d1237309ac9bad0ca1236cca9563abfc442509ca96fda1cc7be6916875416cf2b85390c53266f59bc18c6589addbeef1 SHA512 a0d798fa86cc4b75d080bd233e274d6554d82e1532b3590d27b9fcdfdfde4da2717afa16ef42b180ca0ad43ad151db8b0963890de106e36b6bdf07f87a519bdf
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST ipnet-2.11.0.crate 29718 BLAKE2B 5cfd0876d2c45de886a069fa564d5bd0d4bc53a62ba445692b35c12ad4e3197d9d42b51b14e31bf79e7b8ece129e4612dbf47c90ace5e2e5a9f0e478bd6a5b1c SHA512 9d3c42b5bd93a792ac09975b9ced105e6e8b1eb83bfe012aeabcaa3fc388ee2c5a0541d5cd6dae48dfb97cf82aa970316962d231b65298873136335ac3e5ddca
+DIST is-terminal-0.4.13.crate 7665 BLAKE2B 47a024e135ca4931a04a8dc8151f999f816ab50c924f17321af4295dd84fd51bf98ff057de967e646a461c1cc9ffbfd7ae245a9021b3a77f3812f43707b44aa2 SHA512 ea5b18dbfc965b96a27086eabc070747fdc557a6a9acd06203164e846c2f390c4bebedb29211ec008e060dc80b10f53de6d6cdc822d4f51a543057736fe33448
+DIST is-terminal-0.4.16.crate 7811 BLAKE2B 430b817c0d022b669624c77e84304b40ea8ea508fac45cd44b5fcf3a7322073d5e630c22d05af0be0b235967bc80505f5614b462c800c194cd2961ae36ab9873 SHA512 4dcb0d83a4d3370805fa575e5a11b72c6d8152fa252e0e0090087b0f31b6bc2dcc749180f263fe6b7748923988d3b70ade08e6b4d82fafc7fe9b9ffd7819baa5
+DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
+DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4
+DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987
+DIST js-sys-0.3.72.crate 54096 BLAKE2B 76c1044b7684ccfbc06c6d43541fc39552c058fda5ccdcb7154c930d03f5260706ed42b36b305e56c5a0eb0dcee27180d3df3fbde92f3b7ba5104b0709f5714e SHA512 5a83d711a02bead2d9c05aaf8a7e3f351307b3219f4f6697bf190d9a9b36bcc10fd33ce0a334e4f3e251d52fc7411020a3631d0874097e9b519e839b713e1c42
+DIST js-sys-0.3.76.crate 54420 BLAKE2B 8d211aee6d8af87c339250e06e321bf02d2ff313b80505f696f66c43298e2aee8286076f2b291aa853730f8e1b9940f09c56535d3534fc7990aeb16653844250 SHA512 54e9a6be3f5a19021351d22d655a3aa55579c80f1453a99aba5989fafc7429078dea57ffebada4240b9185d3260d02f30da250fa539ac12c4bdda975adfe0dad
+DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
+DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
+DIST libc-0.2.166.crate 760418 BLAKE2B e4a81e82d139d03b85eb061439f045f1965f6260dc4d4a769f1db19e5d682a923497ba2cf041ebebd46b90c627b91cd97f86250d8b1854945b4f2e826a04d14f SHA512 55a484456ca4d0fc90e488c5b793a6100f160c9333f0b4173f21a49e33e2ce3ae28d74eadd4f2e72e51040667f0a2a93d7edcdc727fe266ff35b8b37608cce2d
+DIST libc-0.2.169.crate 757901 BLAKE2B 1012cf93d8975aa20fc3f2332e253426ff66be6aed63ace5292cc8568ee419b0f1a4b5b39ddbb78d9c2dfd8d72eb0d068c98faa229ab55556da5e674429f0e97 SHA512 c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce
+DIST libc-0.2.171.crate 785246 BLAKE2B 2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f SHA512 aca8b5f769dff18d9b3d73cae2c496f64a9828edfb0b57412da01a89158e770a5dcbb74bd83612870f9a08eb31647c1a2c92463189f16b01be8cdfc76fe0bacd
+DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49
+DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7
+DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B d1936eb74377d9bfddccef3830b56eb716c38ea3cb7e13b73325dfd00f9fc0df74bae49e4214dd7f27c257403b8b12cd1ef332d53336279d13f7e9497caf4135 SHA512 b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309
+DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f
+DIST litemap-0.7.5.crate 29962 BLAKE2B c94ddff0b5f6fb99d6adf31ee7c953bb1bb3741e5a68cfa598c75f58f6f426a53d19423e40b0b3ae2010e1533b4d46eefeeb7e86fdfc72289748cac897ba99c9 SHA512 722345f73b4ec2e91a9407dafd3951f1aad0acfb66e0adfed8b0a83dc1ea71d513fa5570bf960ef51409c9d50aeac23f85410ec6392f5620dc1f1e1e1f884659
+DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71
+DIST log-0.4.24.crate 44882 BLAKE2B 24dfce781a5a53fb214a6fd7795d5c593fecc7b1c20bd2b001f135101c520296b4dfbbb9677bd3e82b3655a9b25867a068eabbf22c77c2e67077f7938c51c1ad SHA512 1117fb0b868d48f26681c7fc2a4508eeb6dca0c37deb25dd065a4b9ccb6a014c4d43d75b817d58c98caa9db8ed17d66c714b67b16d04802bad9c357fed4720e4
+DIST macro_rules_attribute-0.2.0.crate 15408 BLAKE2B 3a568de49448ec1aaf2abb8c361fd84d2b257a05579b8345cc66a45ecf111e0964e46d1510b458204c95169a67d0c8a3d41b604afefb8db9f642ed60587ac05d SHA512 53dd3b4d271f5aadee7877829660bdf9a6b89f1173494d102a5360866721fc6c02b9bb1c7fb14f50e214bc16a59752e69eedad5dd1d64411a1fdda76f7d62afc
+DIST macro_rules_attribute-proc_macro-0.2.0.crate 8264 BLAKE2B c885432d9334a3aa2c1ac66bd3c1f1e186aa259a449aa851a0663b422c9861365216e4dad10e31e7608fd970391508c9ad8a232272057dd9268e0e0299109b66 SHA512 6ce9cd867b5f6fb8459e3103688aa149275718a5bb2290994a02cbd7ae49aa23eaea41aa7247a6f9b15e2572bc95fc2f94c26b401e28a76e229a0907da6021e3
+DIST matrixmultiply-0.3.9.crate 57819 BLAKE2B c13f0edd4e33f9be4e562a8ad79eb4b0f42384ea6652b9e8b8b8435cc42f6ac8ff7e425a3b690b87b94ceae8d7f8ecd2d9acedac9591134a24b36cf479c14e4f SHA512 0b0a3433e81ccf7f62469bf478c430abb8b18cf499bae389dff0e25945b569810197eb110a7deb69cb8545d668350d1ac79414c82b3b9efe5e3cae4dc4c602fd
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST miniz_oxide-0.8.2.crate 59068 BLAKE2B 22808b2137b4afae29cc5cf25d9f643d24824293524542e2cbac3ed0fb0341417c052310602a6f0a003843abdbe7715a95a6068c807cc0c843ed867958650215 SHA512 e58802e332a72123954ba1751cdb59509789bf930ad74da3d06e2c1c3737547fc0b9848be816a66b6585830786b7a0fce7c9fb574789e15f3b540709563cf854
+DIST miniz_oxide-0.8.7.crate 66905 BLAKE2B fb39f59dde8537134ab4667a356a5f0fd4e090d588f0967da3ace2c13f4f41ce269e757c9675b08779893cebe8c7434ca061ac923d04a0e02eb6e51c5f7a1c4f SHA512 6a52026a10354f54c1806815f6b4e468623aecc7eb63bb7b4503d1f3f2af2c99d7055037cb14e53fc349664ec37651b3004c0cb09de6c7e8fcee6bc20ac1f2b7
+DIST mio-1.0.3.crate 103703 BLAKE2B 0d2360e4ef45f37104208a31e9aa467d6db041dfeb97403a010a36e1e1427f51d97f8408948c75c0084e6c118f058267bfe87d36e7911cb37366f2b1ac6eb693 SHA512 2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2
+DIST monostate-0.1.13.crate 14073 BLAKE2B ef0644850bf1d7cd2bf967f60358a231d15bf5037e8a196e804ef41437b1543af36835312296ee8022124fc20415f44ec93b6c3b998db4bcee7232210368c4bc SHA512 be6406f2dd85c8398332b1cb273816e7c765b4f8195e93c5ef2573e7445460b0368ea1d2cb6a6ba7949a8ace9eec29adf567d8f83f3fb368e11e007f2686d331
+DIST monostate-impl-0.1.13.crate 7302 BLAKE2B bebb66e9c56341104db80a6ff1dd503b5573413be97cfcd23a6ec6e1194c6567b82f68466f2f7335591f71d0b090e031ed39b0db25e84d9329f905c53f4d5be6 SHA512 0907810517277e03e776262c5345df512e45b27066dc11355589060a98ae068e8d769c7dcfedcdc122daec089aac49e27912fd6f5eb2778f0aad423cfa4fd0ce
+DIST native-tls-0.2.12.crate 29517 BLAKE2B 76f4bb2aa8fefc306a04ff50a62d6617f71c3c34aa83ed35f11714ef2306fd82f76c7e26ab7ce50f8eabed40602ba02589dde2d98b55ea6113b45cc539c84bb6 SHA512 15fbc9d02134d3d55334d2f02fe4f64be50db991d75720b38d802088f06cf5f844cba6b25dfd7beb92f2cd367ba477ec2098e3c7336c4e5a5a7fd39c753fc723
+DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
+DIST ndarray-0.16.1.crate 291026 BLAKE2B 18ca2512cb55388fb4164caea89dc2ce4569d03142ffefeb868381d256513319e4a0a671a6cd95d01597d0a02c3225cba9f674551e92594bdb9a3b1cdb5f090c SHA512 59fa8944b79933d205e70d6163f136e9c58f33c786c6052ba5f3e6ddad4d67ed79b2f08a07e405bbdda49a94d2c17dfcea2010cc49bd114173248ca285c4238c
+DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
+DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043
+DIST num-complex-0.4.6.crate 30352 BLAKE2B b9f0465d53e8e16edc44187f8efa40681377e75fc4bbaec2c9fd8b8f5384044c3a989106ed3cdb740cb86e19659b34e4b38e7cfd7bb01904e137ddeda3d0b6b5 SHA512 11ca2c28ffbd15aacb7e184b7f3e09cbec9c955738568c1e0760c256c72b230cae7152403d834c8ed9358e42b724269e99313dde9a23027a6963ca176ca45615
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
+DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
+DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
+DIST numpy-0.22.1.crate 82267 BLAKE2B 64410f6e39e76e5902aa2c9b47374ea2271e8f0b2ec12539eea912cd1d8a26ec550a312d88b4aa41a685a49b9a2e20c2c76010e6cb1b534fd9586fdcc9fb611e SHA512 68e0b08d2ed4256e87dc4acd81c42290e0db6e47f54e85e90bc001509aafcb99bc28984d02e8ed09aded009377eb882e8d07aac0ac228e78f97f77352ae18dcd
+DIST numpy-0.23.0.crate 79034 BLAKE2B 981175016e79220697252b123bb4cfd9963379d3e702bd9b4819dc0bffa285e47081c399b1629df3aab0315687a3a85fc2fe81156cf94f9df1a567921b3d5687 SHA512 e93b1de1ebdc2db623e850f39d63921f1e289ef0be8a0b1a8a872f8fcf2bb6c4c872486853ad7b8fa634ed48d35177b63d3ec9c518451a9c8c86a346be340511
+DIST object-0.36.7.crate 329938 BLAKE2B 0b02cf2f44e99002909b38125edada1a259feae59fd0e5ef52001755b6878cac710c87c60fbafdbe405281e039f68572ea3d8093d16128899090fd70df7f2fa8 SHA512 dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478
+DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
+DIST onig-6.4.0.crate 32616 BLAKE2B eca949c47870f260310c69302c6a0a60b9329f7324281433170b0f6fde80f91d49267307825652830217cf44b6a77a741f526a3bca63a12fd8f28791c14a0d5c SHA512 5d388d35eaeb4ba4876b5a683010e4e38c7c54abaf15c900681a7c9ed199b6b7ff414aa1d6246153546680eab28505cfda359c3d5df5b9fd3a5cdbfba35953bf
+DIST onig_sys-69.8.1.crate 638216 BLAKE2B 08d5f61f4047cfc841ee9e1881deeee49478bdead87483595e9c81c722e475d137b8cf5e1caad2965ea411d3211738a6848896128b5fa1f727a0a175ac217d05 SHA512 26a7dec69abe1535d575e7db63448abd898d363ef42352605e7b7d046b5abac5733e3cc05b7d442ce67db9366dc96d4a7a82a7f486d3b9af6d298b49b0baa864
+DIST oorandom-11.1.4.crate 10201 BLAKE2B fc77678ec202bc5ef7314ed876f670575983612db9cc94ddec4ad7e9f04e2e2742d12b746803b33f1dada4a10c8afe19210fbc337803ca59a0df74998fa6de92 SHA512 8d5acd7b344b1eb9635ae597b38d65f0da519366664f02bfd083d37b5e9c88f21403066a8e93d8a61e843e06ad9323cca9796058aabd901d0adf7e7235c17562
+DIST oorandom-11.1.5.crate 23750 BLAKE2B cbe0b9167e6d1b95e45ecee67ebf3397044c54230732b192fc5b5279cf1c9bbf6bfe1e7d04f6ffc0cd42448268d31ef89b357250a907f6140901384647494e05 SHA512 63daae0b6e352cc52fdb7793aed1ef501ad996507d8e36cf8235068a3feb9f627549961af1a355227b561948c30f6dea17e225dc3f27caebd51116fc4e3a3ba6
+DIST openssl-0.10.68.crate 276578 BLAKE2B da7c42f8a87150c76cde12316fe1c170593e76a4bd55176ca5ab7a43c57d5457246bfa91bf7bbf73ca47c87a066789226529fb7ad57c5e93c551baa67f6a9eba SHA512 2b0c7f5a888b0e398ebee9c0fffb6fdb8408c36f96eb99182ebb9e162106c012334554304ddaaa6689d3ae41cdf638ba08187a40088efb95a5e9f6aca032a22f
+DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c
+DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c
+DIST openssl-sys-0.9.104.crate 72287 BLAKE2B d9af8f2ae8a8dfd53b3bb68433a4dd2a4b30038858ac58aa98d7a23b2d23e0b7c7d8fc36c1733d0330bcb9f51284667b2c32fc5a5bd4d9e1a5df7b98d610a997 SHA512 e812d5323bc0ec7376f176a980dd9856dad6d36513e854d333b93ce8a14c20a9ca61be88db82ba2a8ae4e086df5c3fe6965ed10ac155eb7b502e0225c0124278
+DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56
+DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532
+DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST pkg-config-0.3.31.crate 20880 BLAKE2B ab7676e810751f89639b60ae70bdebe1d57edc76319f83077c3680049a701a26e72e8cc485fe77cdc4346fe3571d32c59e7384c8c86fef17e00d7d81df5daf43 SHA512 ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4
+DIST plotters-0.3.7.crate 149031 BLAKE2B a53b3aa85eda3ac2278cf49c4d701642b37a5f52a3a013594101388d9d104b96e35f542ff6b8ee33bf711fb64c8c25a48c8f10b3c12e70e6e57c90fd30cb9b5f SHA512 526fa20153b445176efcd1314c2e36963561e267c566223ddbbcdaf74340aa821e9c0174c15849c55f3cb3177fd5e34aa9bdd872888476b7ff0a20ec3c1a04e1
+DIST plotters-backend-0.3.7.crate 13709 BLAKE2B 7ba96de1435beaffe0171dd4fd010f84d0bb6bf0856adb05da87dd324a5834aee3a71545a019ac899e141cec32cd15e395c56d281f498430e54b6715eaa46761 SHA512 5b53e5d369f39748d45269c82c87a0731cf23666b88d7e407162602c715a01807ebc50f8a90805f417c0e7e74dc511d1d7861052835beb8a9d548e2f33c062e3
+DIST plotters-svg-0.3.7.crate 6715 BLAKE2B 1437ad7e1c1b3e82ab1f58660ff6931e510f6ea5ea6cae6eb48582d4652bc65c5dad518d3312e25303651c03d90bf56d9abac4c2e3979f8290b4cb35c0b6ba5c SHA512 9a60e19026edfad359a7d042630b60825d7723855fc0c17881ac880c29160a81449ca672a3ae5cea4405293947ae0556f31cb37f519dad4cef56353248350cd6
+DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19
+DIST portable-atomic-util-0.2.4.crate 47043 BLAKE2B 6a8e122bb2b9eb8262e9eb790f336dbb602f6c086f8ac025740c043170360d5474af578b3842b06ec51535535de3f4d1b6753ec54a6871dd0396f5c1012b0bd4 SHA512 f2266e78576181123aaf68e7b5d3523a368fa8136d447bac68a08d65c7051dea677cea84491a1a03b9decb4704b2f9392574d68dda9427092a2ac92cfa0affe8
+DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1
+DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee
+DIST proc-macro2-1.0.93.crate 52388 BLAKE2B dae4493215b88f68cc485bc0ae80f0a48ebad68e0260839b1c367832d1ab778197bf040647b3fe36cfe9d5f7a496e05cd71b5914f531eb129c2d458d5f0be896 SHA512 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c
+DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
+DIST pyo3-0.23.5.crate 1088533 BLAKE2B 2efae0a42c1d33e25c5871e3f61a3cea9890d278a20e2777307752b544ab3a634059bba896a1df0df4eadd0ae3c2e63b6d637aecd6699b31fac4107e3a43a387 SHA512 efd3a86dd70c199304463c0ae18dbdf4d9176d1af13b664bdd05a1e218cffda3f29f06d868d0d852d51c3e85b7e07c39617206b3feddc913b3b622f3fcf59d5f
+DIST pyo3-build-config-0.22.6.crate 31369 BLAKE2B a1a72de120c4ac4f23a3faaf9b2e340231d7a778a29083ef25fd863fa213afb2a9b720333e3d46a6e1d32105f63073276a23b9bcd999a97fe71eaff3afc7db99 SHA512 9ab44c830e56ddb9ee537ce438fc690664d2c5416f01cdf72498ce062e4c1e7192eac8b7dc2de86c9f2212890b133b69a66209b1615c4eabdf4eaa6882a980fe
+DIST pyo3-build-config-0.23.5.crate 33885 BLAKE2B 14e3897186abb772bcde147a9ebf2a70f5cbd634cb0240e1dbba71079acd2f9cd61fd263a5d32bc583e188ec84b6db8b93f018ab954ac9da66f423183ad5c176 SHA512 72aac032e3026554761eb81dc9c57591abc4d0c329c46918da13a8cc93c0532eba2fe3d971699a50890c66d8853b93a67840b0e8f1c15747d184b873dec2894a
+DIST pyo3-ffi-0.22.6.crate 69352 BLAKE2B 99eea6ed87001b23fdeb263937bc14be0fadadc1ad77d4fa8834045ba2fc6ba5c0b89f4051916a058b7640be655afe22785b1da42aac8a32d10209b7b37bf810 SHA512 616e51a0eae1207830fe95251d5b62f126daf446bec68ac98cb1b8538aaa59761dbde62d446a9ee205c23453dbd32bd8ecb15e26265ed1fa1e5e2056efd96369
+DIST pyo3-ffi-0.23.5.crate 74867 BLAKE2B 5c80f7ac77ee516a891c1cb367e27fa396e55a7504dc8f92312219a90860baba3861ca2e83a1410839b99b6b3beb4c068703b841e18ea1854f70d04fef7404bd SHA512 37c25b21acc3718eab842c04489b0c16c04d33a30fe7f3f58cd80943048203375d8788ce84153ba3720df695fc95bf9f7bccacfa02b0e669a5ddbfc44d65f86c
+DIST pyo3-macros-0.22.6.crate 8182 BLAKE2B 81998e4f4cb325763e4d3477af05b332e184cabf6391761f850d23508cebcf8d496ce12f747ea241523bb3899886eb20494b076a0651151744bb81d52901a1b4 SHA512 63f7a7b42e099742518c8a3bbc7647e98debb5500d08c39e11e8140fc146e790ab06e005d8d14c89aba79ebc5bf04fe1c92c0e9c5b13421307d3a4682d044179
+DIST pyo3-macros-0.23.5.crate 8856 BLAKE2B 56e7dea9cc630e21f9e8aa43319db27f3d287baad4035bf8d921b2c8e737142e5a89decf6a04bcc095f97e035cfe4a5edd7091bba79dd68bc110b7420c29477b SHA512 bf9c12b02597cf6f119e92fe827016f393d13cfa21376811ab9bf8f49cbfd6447afe9dcbef564ad2b5b72db5338520c37c77429db8ee1ccb74de3944fc9fce7f
+DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab0075d6ec5bf628e3344b86fb8e20a6d0bc1f891b56ccfa4622840a609480581f32bd211b9a3d1dd989716cf255efe3fdc89331 SHA512 87463939b5a5674e30e8ca05ae747f652f8679f0c5c85d20967e9910ad853768a769a914580e82e409188fe4add80a3117ccb9da24c250406bc6f76fe4453799
+DIST pyo3-macros-backend-0.23.5.crate 70938 BLAKE2B 20d5b00edf806ff19de3e3a03d10a23a29b16d544faf2bb5781032e51c3e07cd7f1a979e00b9f1abca36bc7cf1546b702ee83f85d021d74ac819b8b13bf8d140 SHA512 5e9a971d98a7b70424bf93b1f7fb326564010562dd376789be2fa6b13b89c3d34f760eb61ed49f0b013bbdfff2658d874d24a8a0b65d8f82d10d8f34b8ef5b53
+DIST quinn-0.11.7.crate 79387 BLAKE2B 8273b3b247409a420e696c45c35d5f158cf6e700e6ffe72e7d48583f47357654c0a79c82efc8675bf0e6992b04f79de42124bb11dac4295aa4ea1d5f858ba67d SHA512 0ac9f8fea2e49c4e6963adc986497d42c096f686e1f13cbdc28235490b32b908d61907a2157c135eb1afc975d0428aa9e6c33465798e7475b1aedbdf094f3793
+DIST quinn-proto-0.11.10.crate 229164 BLAKE2B f60e18c03629a37564921a6bb3c57607332c5674243f1d711ff272ea531fffbbe519ab6b477b66c4ebe4bfed140f3c38e8206156b5afe2953519b13dd94c57ff SHA512 4e8f957677ba6ce3797c171878041f07b4a4296050b530cba3556f92183ab9cbdfd46b39643a36ca5adc4dd951fc788550819821d0d5006f1ce9611095c26f9d
+DIST quinn-udp-0.5.11.crate 31854 BLAKE2B e50b864a409a073d086fad05b2602531d6e64d299dea461c628b31baf6d733673abdaf3fe51f432ff9c217e1d389d4f521140774fadcdbc53f668a3fa5821533 SHA512 ed0956a0c0a3b34813b350c4e031d9fbbe2882873d18513048f6d1ed55320556c67ffef9eb897143871f1903800bbd3e8deca7e9b25c76fc7b7f40c8e4b9fe23
+DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
+DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
+DIST rand-0.9.0.crate 97798 BLAKE2B db07e33ceedec70d4cf094ba18d010e45036d9ab847beceefd1dbfd3cf7a608d9e333ff1a0f157cd920dd71d8e63d0e3634f24076b72a88aa3ccd29f25770536 SHA512 e07c9650dda7f9686b4f604990bb7f948667bc820322f464302fac3b2a8136a2a5d48ae6399f104e47bc1ebfda105f99ad8b031ce090cdb71840afb85f6a3032
+DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
+DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST rand_core-0.9.0.crate 23441 BLAKE2B 8f1543e2f33622edba457c340bdb4c266f8a3c9cdd95a3afaadf487f8dca7760548316227c1decc481a7e1ca5475f6915cfadb1ffd3860631c7a91494ea7f25a SHA512 def4746229c8405ceb46eb9300838918693f17a39a749e6ca42ad73fd02b0f0e14dca0dd26b3f030338db45da0d149d8c563d95cbd71c31995c5ab6294bd087a
+DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
+DIST rayon-cond-0.3.0.crate 9913 BLAKE2B 4096dc35abfa825739953b92e2eb62822761e4f0eb3311bdb4a0e1639b4453fdabf49c5c6909d4f7ea3c1a674f55acee2d2cd4d116e5a30620ee62ec853e4e04 SHA512 4cd02f2ffc2a7f02db6b1c0468fe8ed78ea092c0629fae448542c11cb8c065883f6939b610dd0e0eb1463dc240aaa75117a5d910cfe5f4eab6a424b774f4b249
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST redox_users-0.4.6.crate 15585 BLAKE2B 1d60d0b7781395ff271d79264910d24fb021cd8ef612714265abae25b26ac158d48f542f1e73701bf5b99bd67546a7b878e4a14e40cdbd478b35bcc8b4778f5f SHA512 719d63fec42bad3cbed39deb9242ce1daf3f391bccafa8121f63198120371f112d78b0da8d66458519e946581511004983f04b0a697071f22294ac7c831120c9
+DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8
+DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2
+DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8
+DIST reqwest-0.12.15.crate 199320 BLAKE2B d9b92f079ccc194738bab8b55617130d4c0afffb6946d62e06a3c3b7cbb535b8bb615ada6ddba14aa3a08515f72b2ab62294b3d21a6cf978a8ada8940bd494d7 SHA512 7f54585ed98f6b8d6feeaf2cd821b4194894a622bf6ed6cdbcd0d2b990974fa69d98fda132b5dd3b64e52643d064f92dad90269b44d354bff7893a1a91746778
+DIST ring-0.17.14.crate 1502610 BLAKE2B b33efb6d21931ab94f044373f24428e87015029a0e065071bfd901f8679d30944f6b27bf0325c77fc4bea7fcd935209087a349e5c279677bea73af6205725371 SHA512 88d38205dc1a1f89bd4ae887ec5c168e68a4b749b3ac0612674092331e99d14a9b8d0f4a98d72c1a3853bcc9da420402336da3ee053bedcfd598da8de93afa14
+DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358
+DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustc-hash-2.1.0.crate 13316 BLAKE2B 3e93739234cd36f3cda5d71522e3d2204e98b1d134cf01cae5a93a93e6c4340a7b1b0485c339f312145c723185fb83f6aa87ae2a0b9b726a34cd29c19d3ede56 SHA512 6f6a40586fd7a99016efd53888970c745888a06bb6b9d32eeb4936bcd16906c90ba22fad82a4a6b547df4b6c9cf6d73eaa8d36af097d65d3d6de18a0669d5ad2
+DIST rustix-0.38.41.crate 378463 BLAKE2B 8af17ffb57da36df6407e112d78e8748fd9931a5cc451530bf46c4c2a57685a9ff5de3591e3d7d01d033060f24f55cd1444541e2899dcc622869f077116ef847 SHA512 faefcebbc668605640d156800781f7c8726271e15ca4cbde4057fed22f94032bd083c873f5595ec39d5cb00c203fcdf7cb863bc3cb3ae79c20c2aed4423f0ec1
+DIST rustix-0.38.42.crate 378683 BLAKE2B 4071e1118ab8111bab9efef39c6e35f8a3030cb230cb3643df7ae09ffc750b18becf1f069c2714b0b6d13e334c12446433057fd015c9dec04d7a1372a354ae05 SHA512 438bf1e4663cacbc7c0af23b10ecc11c8b01c53e18c2e82a740c46b4a61f06cdd25d926aff27a9c39084c39d9c950c222a1a3a6d5878dd240554fa593fa762a5
+DIST rustix-0.38.43.crate 379134 BLAKE2B 7e527b0a98485c029b89f2946f07226d772d9ddcce2f21d7fc7b74c2f2377f780d7fb0529f9af1be6a750a0d1a00393534708dff48f4bbd0678cc75ac1a9a6df SHA512 0122fc3ef3b1199105f63e3d06df0992b7fbf4a3f0bf54cf68ff8035ed96329c90c2ec30b365f02a7a9ae1f0018897489f5be77787b4048c2bfe49b30d7839df
+DIST rustls-0.21.12.crate 285674 BLAKE2B 44977600effb314aa3c89609059c61337905f0380464ce05b4e91783f1a1c9076a016c8957afb3d184a7a6d076cdbc59e4703be22fc15c540e46a057527ac1ca SHA512 7e48a990ee69fc298df45d9a0de9b5a33a56261ec3f79ff16065cbae7368705c1f3432b77e3262a6141df68b19cbedcccf16eb271a54202049435c63454186e5
+DIST rustls-0.23.21.crate 337106 BLAKE2B 3b7c100e1fd257c3b71b3bdedc6461c507ef5dc8183d460ff6e7ccc9ddfbdc3fae908830a98577d5fdf6b418fa980f31e248488304bb9dc198f94dfae4e31d07 SHA512 0cc7c924c0a72be5de3d49ad67f41e1d6b42bb77905a0923d39852d3a88a5e22f63ff38419c9c6e96a3fa760a9635343fd43960c7b6a9d9586d5aa7ac85eb4e7
+DIST rustls-0.23.25.crate 346742 BLAKE2B 85e01e5c56663ec8a0fc28e712895394b8f5b0cf55c497262005311cadfdaa3bc74c3e840d48f48a807582bd7d02c7cef180b82386e9630bf25f27155fc3bdb5 SHA512 bda6b6123c55c66798727454b1a44960bfa2f6e51d8cf9d1765563300adeb9359b1689a4cc484c19218b34e76c6cbff0238b7256f067dc743db95153b668cf73
+DIST rustls-pemfile-2.2.0.crate 25849 BLAKE2B dfb94a77fe9d86b17b0c6badc6b715f247e9aaf0b312bc9698dbe8d38fff281428ceaec2ec73bef8009667dd93536dda2bc7e7c49d194b36244dca38dd86d577 SHA512 1e69f0b72c6060eb0a54ec8a1cb51809525b053771a1d417892205f8f5dbcf4ba45250fc0d6a836e0cc8fede06d934f0a90c47d475cd8e066dcb3f7504ddaf17
+DIST rustls-pki-types-1.10.1.crate 58944 BLAKE2B 1bf83e046802a5eef5dc597bcbe045a7aef146c489ef5fca442bc20a9a80dcb2d15cc8e07ffff45890df069b99698bca2a9463d1c2925a8f1a5eaa673ebf621c SHA512 ec63005b54bb9676fb6ab3f7a399aa816881c34670577e8c8de7f86a46a834e71c2363049ef152475d784f12b6cc9301b4fa20e9d478e95a8f1b9ad75f6ba2d8
+DIST rustls-pki-types-1.11.0.crate 63933 BLAKE2B 487099180f45163b87614a8ba7088f189547191ef628011911f76ae6f6aa615b16e969682e26f26ce47f52463def702395f2a5dcf6a1742a87fb7c6d559a2e59 SHA512 60a6d20b66b15f077cbded6abcbfbc8524a02229209a3a73ed676a218ecffa26e375ab086247c05aec826ad63bcd9d446748a061191fe2ba5d9f35ec05b698fb
+DIST rustls-webpki-0.101.7.crate 168808 BLAKE2B ab7177449be359e17f1f4553193e96e71b8e26e1298a0937af658b1a6f9485f051183d1bf8262d52430ea4c3b96263d1fd903c7a5f046bfe5f87b6b97ebb0672 SHA512 680e3d52f699c9d6200e2e738a4245a5114fc7122546c07d3f15f1e6741a52275061b3e016c2240f1dc3eb9f701f7346193bd82e827274fb73b8e9e0d5af4e68
+DIST rustls-webpki-0.102.8.crate 204327 BLAKE2B 8db832f181b46bdecc419e1433dd5550bc181cbffa1961aa90b2533f92696ebe15d71d742225bf806e2dc3a4ebb110d48bf62b0677089df1eede6d5a072c0a28 SHA512 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba
+DIST rustls-webpki-0.103.1.crate 820273 BLAKE2B 0d014b978df9b9d3d1ac6049aacdecacf766458a24fdf1530a1c0b6ba94cd24d2ba6881c1fffcb9211a38bfe6f18dae81fb2eec039f802a9124764cd9288fe4c SHA512 25fb15ecd8009b57fd6feb8c8aa272d142565cb6031cd12668b0e75952e09b38fdc6785627c7e17d09a45afc18ed6fde864b7a3ddf0b2f25dffb9e3c07b32ef4
+DIST rustversion-1.0.20.crate 20666 BLAKE2B 49fabcf276fe3f59b4a1c2e8a07364ba59c5ba4e0a33fe4150ce2eb93c6da42d32ad4d4a197baf6616c1cd703d34fcf5a90186c5467c1656388d55e7962d01a3 SHA512 250be168a4ee64f4b85d78658706659122d5fbbc748f321fe2b9baf48c547de4f0004c87882642645994b7798077c514a44e06b73784a800d04e4cc673aa8906
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST schannel-0.1.27.crate 42772 BLAKE2B 55b3cdf596d6d490fdbc10298eed7cb1b1bb8d6349ac8700ac2e7db66e1d75f0a5bea5b1b322bf30cc0f982262e96aa421998151a8ee1e620b5a09d25ad4263f SHA512 f469d03c2be014c248e7b6408f541584f250a9d58bc8dd8ff4d1e63f5720cadba1c0579b1e5d97b58844fadaeff10e9cfae6d5cd33c5de0fa4ebe699a8ead4a8
+DIST sct-0.7.1.crate 27501 BLAKE2B 12f63e62f49a0ed0c5a62c1c9b42a83c1df43401ed1de85f993167d8fc52733908e58ea1fe76cd7ff6128d4d6046d7c0335434672ed1865c8ddb1b3fbaecb590 SHA512 6030295b3b11411f5a7e518db1066282bf11a279c27414c5e959cd430e9fcbb7358e5d69bcc68c8bf696d4c1d9579ed7218b7f9dfbb61de2271c4c3d3316fb7e
+DIST security-framework-2.11.1.crate 80188 BLAKE2B 844d36d2b2216cc7055687110d54ea783a7ed9bfe6375fd4dcbea267ec85531e666fe002648110315f42c3364ff5ff5aeba711cf8d1f5358ba65c8393e96f55c SHA512 02786d62fd9dded80bae3942896bc8fea2a90763427f582bf5d9f127ca5682097b59b5dbff2cde373198ba659316ab5906a68d3141ba00c7408b73ebe353fac1
+DIST security-framework-sys-2.14.0.crate 20537 BLAKE2B 50a04eda370788fb769600b0df2f984155d9ff67c753a8b138568c648fc23f90f076092c9a8f984aa3b6590c547171e53b968ecc4f80f6b7edb8cbbf23bce31c SHA512 a6b5a391450ad91118aff3b9d8420e1099fc9f96926043f5c4061a1fd615a00bb1f86f5a06b9a549f45b27a43b5f9ceb5a015d8589d7df258a77dd4b4dfdd7e4
+DIST serde-1.0.215.crate 78527 BLAKE2B ca8e1175839ca45a4d78a155f5943396211408a85e0840b065c52948188010653d68fc4fc7b63bf2c39a11a6988abb7f6f3c6d878ca1373596e0a5d62186e109 SHA512 3da13f1a74393f1fcb6d659b5e060a11ecae358f55cdf4a2fd05bfc863fea6f75d3140d3bc74902f8feba8cddf7dae71a3f4e4e78e78e1b08ed46b3e4900281f
+DIST serde-1.0.217.crate 79019 BLAKE2B a0aacff795d34583365ddd469fa14c58a6cccf8afbb248210aaff3134c7ce6e34b3d03f437326d7c01b3e78f82a5d19c37ed9fa4372970d8b2793f2889288e1c SHA512 f97b3b54b9e99c9a027390405cc054c3072f49c92803a4ed5f5f69e76a179deda9d77993b645b3581437085912d881da88d0451b9e0da423c64033a23fdd8054
+DIST serde_derive-1.0.215.crate 57092 BLAKE2B f28bb66017599afdcd8d45c514b8e07854eb944c1dcf931e052a01ce421e0de6c20c13b3867da5922e2153e25ce88bf9fa27e2e68ddc9d212977f71fa0bd6352 SHA512 cae686bdf10c683149956ffe1c64fcf3e9b9bf0cd6e33b4ce7429d0ca35b9fdb55443693866c1202fa79348c6ea0f49ab3be3d5f857de4ae0818d2b4c8c67d9b
+DIST serde_derive-1.0.217.crate 57749 BLAKE2B 63b4930122d80d64492ba2718630513012202e42bbaa74510729ee66a0e72b8a1ad123784b479697ba562db43868f4bddfdf5e94bb3d744cd68a547471ba40aa SHA512 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76
+DIST serde_fmt-1.0.3.crate 8677 BLAKE2B db89ed0207d5336b3c135d41763979f878300381ca9a3ed19a8e9e509a57a747903f8c2e919c9f8b5fe446deaf1d6f22a9414ac42a5d9b946180441c2e209853 SHA512 d0f1a35b0a3c910bc6393597cd0564101179e17f9be7c332f35e8de56257a4ee1b87cf23b45791056c7546282af79044750a14b0dab2b0bc00d493c28dc7576f
+DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f
+DIST serde_json-1.0.134.crate 154351 BLAKE2B 546f8ffe9373444e8c9e81910476da281dcef10498dceabc8bec9f9063c55f4a9033b83586a09b0f410369515882c37712a2bd75ff1fff05815d904f37386124 SHA512 ab6323799bf19da8ec6e6c428370d37cd230192b45ef54d2c65c7d83907b2dde71d51650e44f1fcca1084e75e0e195e97b28437f53a331bf48effed3d59b58a5
+DIST serde_json-1.0.135.crate 154499 BLAKE2B deeb22932145715d6a443b36b9b984b6ace1e254199db9586c48dcfdd270a3208ef127584431e19a826947df705de78f07e58d9126ee1c5ccd2bc73d1e779bd8 SHA512 e19c583aa4a55f1c3b9a4e49b8b5c6b66e91c893db06e52f33e87608be1ff0aa27996065157f45dd4d2c59b752259ae747b2d353fe7cd1d466f56cd8a97fe71d
+DIST serde_urlencoded-0.7.1.crate 12822 BLAKE2B 38c74ea862f041828467dfa586bad9b8e1d1d64a9f82fb7f98727e3965377d00e59f2dbf20955a9dce976b6911c0a619d2a6e4cc9dfc73cf0f6c449d873fd072 SHA512 b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60
+DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST socket2-0.5.9.crate 57432 BLAKE2B 07876ec6fbe32656bb7d8dc7dd03c3b09bebbc77ff11b9581345473b3d420298432f3ec4271b6e0d2b4ffc113b1237937b2a6fa204856255f8027cc47d9ff2e1 SHA512 a73a30999b30694dab5c1c129244a46dc1773a95d30b82d58ece646c401553719d9830d62c793a7616c7f2e77280d3121ef1b0287936b19b97368ccf040f0918
+DIST socks-0.3.4.crate 13172 BLAKE2B 02fa5e950aae0ae6fadb11f27c455da2ca3ce5db3b63f27ea720bb748e03652038a599c036941240edba0286b61a35699bef8db07716ada851c1077b0592b7dc SHA512 531ab43f277e2dfc6aaefcb584c5fdf910cba51cc5fee73256ef00dae714ace844251cb53ca090fd3e8258115cebbcf65843476913fadba8535cb44166294eb8
+DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
+DIST spm_precompiled-0.1.4.crate 557527 BLAKE2B 18a5955f1f7581acb1988b9d30dedd0ab1742f508cb7de95f7e47202aff6ab69bfbdcef33fa8297c4c3d9c68876b47d8990792ef1f5231b65a8d7faa4854975c SHA512 164f37f20a6cf9bb3dd0bb63704b74f8810c79a2bf4ac229fb50ec4e80d0a3892fb37f5c0fc838ab18e47079da952bfc5e6eeae71bce6b43fa630d128f597623
+DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
+DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
+DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
+DIST sval-2.13.2.crate 26212 BLAKE2B 78129b9445f2298d3f3c721a90852e424c97edd4bd38d19c197b8d722b9bd4e45c300fa8d49cfa9833abfe175baa020d7aa26ddb8328bd5f0f4a0e896d5aec9d SHA512 6bcfaab3d7331d6309355c55acb41f9075e54e19ac3460721137641b01c8f8d81925691e721cc76334fa8356c32bad0a47d6adf7df65bd1e2643600899f08554
+DIST sval_buffer-2.13.2.crate 18107 BLAKE2B 01c7c9b2414a80c135eea3f5b82e87160b8cc6c0b273271f6569330cb091ccb9bfd3b16909521d8316b1838faef251172551947978e924d076775833373ddffc SHA512 bdb4f28283b490ba5cddce3b93d8e1e4ceab537d7bd5cdc3c4564e8c7659e6bbf02baa5c99accf5afdb3582cd0bf54d405533ed87b95223b8feeaf0e9d87f4ae
+DIST sval_dynamic-2.13.2.crate 8229 BLAKE2B 62536c9bd7b8f8b9fbac37c99ff64e01060e7ea2c2cb91789b0b2f800d066d4da2e9ea0d997c0d5a3bc0e3526367e89877838c2ebda901cf5cc8f52e606509f9 SHA512 3dc64a5928dfd95558175c1a0fca7ff2d92e48ac26d287026f3b0badeb3a1beb110793a74fb39b7bffa72a4fae1e8e4abd2672caedcd10295005471c21bae8d5
+DIST sval_fmt-2.13.2.crate 10551 BLAKE2B b8d08f0202999e7531b8f2abeeb6294786916f6c21d47ae10d25b22f2280a95b3bed5cc8aa32b23009ecd138041d3464fa26ed3c4ede656b224d4050aaea9a39 SHA512 4281d4a3938133b0dc4ad9fb515a68209fad75ff47d20dcb6bcf2eefba74eea9cd79a01586f30d92d41f610b21020190e1a59b8f494ea0ea66c6e5a10cab626c
+DIST sval_json-2.13.2.crate 11088 BLAKE2B 4864c2cda114bce7e080bd6ba00235dfc34180e6521a4487a7815ed41afd979508772a5af5c6d92b944e66302598866ad49a0db57e0e1245561ba5a515b1e57c SHA512 428cc0722630d5a010a57b35448b1af35680a9ab00b2d86cca71f86ee006d4a3a0ea0dec6f746cdffd668f3de2e896e1766d2d004a96215d387d058d43597f66
+DIST sval_nested-2.13.2.crate 16728 BLAKE2B a7ffb2fabcaa82682d169c64d25009753f169a0c11cb6d1c756a1bb209efb9c4f2c3575c4190be1d289eb20c6aa5c35e88113a8e66992f8e9682e9ae7b3145e9 SHA512 fadb99489941268050de4e6d10e53c9fa57debe8c07500f339b4983d1651055b5e7d23e1b99a0846fbba7a78f99aff3568688771f4e77b05d1395b9cff2fa690
+DIST sval_ref-2.13.2.crate 7935 BLAKE2B 2f62e0294d4e4be012933aa5b503d0a67d1cba3e30ee5234b355ebe5a11b449c73f8a8dc8f86a8e7918e66242f178cab1bbf1f3b7cc166394e4e43845b07b892 SHA512 274e2ae69ac4b0bbad87f7294b4b86adab553c8def2e689e8231b8b5c36647c7b980e87cb819a7b28720212a7937ac6af1f766c4ea40af2e7e815b1f8cbac1cb
+DIST sval_serde-2.13.2.crate 10187 BLAKE2B 88ffd29264943a0e91a8791ec7f79ee8e6e94d83d6524f381d52324ba0190f041e0235137774c566e0722b7d6f40943ff18b664c5c7dfdfe8e9934573d5fe573 SHA512 66d6ef5a53685e6cfa3bb661acd6abbc125602d8878cc0fb374dde542a0cd08a80258d9d7c2a26ee00a351f41c7b2732ae365e092ec91f45f39c0a6653f870bf
+DIST syn-2.0.89.crate 289852 BLAKE2B 4e2b06d2a0ea9b8970338ab61f8c5569cb7c10466dcf139576d0618c3690cfd23c98b66f0714c34839364dee72df6a6d8571f73dbf03ecc347fb1effb118fc2f SHA512 d172936f04a383b7b5e79dad328e70ea3c4faba4a88d0b6d186645413e8698434d30f53012cc9d3813f617c8bef75e95a2d064fdabae7867678abbed22bcd910
+DIST syn-2.0.93.crate 293925 BLAKE2B c36aabae91b4d25149d03d58576dcc067a481ba456ebd6ec9ebe2ab5606e0dc1aff3c6aa714e6a0dd40dd8b8e01d3f48243b6e831f68ed2c12c799b25a347ddb SHA512 0f76fb495402b9d4eda239d65fd4697f77231b702ad4aa1c4d2991b899a092b892c30d1dace92bb54a53f5a7d2baf7637ed3c1804d11c6708987cb1e2b50450b
+DIST syn-2.0.96.crate 297497 BLAKE2B 68b62de28ad670572096a1d92ff8ed6fb55fee441f2d429edfeffcc48fa1d4f1cd39327540a4216d94a9763b84831956cb7e5c8ce89b81f1dc5767ea5734620d SHA512 ec2e352a5b0b2aa619774c01d7a7767674a44ffe91dea45d3379bf172d13039c3d37f264e98e26b20fe1d86db6d5190f220831c842f3316469d4ae73c2bfddec
+DIST sync_wrapper-1.0.2.crate 6958 BLAKE2B b2e162f982ea827229dcff468bcf31c6286c57ea3491a909784cdb50b0ba36c3a1a6fbdc7b34fc2aa9a7df1d174393d61ea9dc7ab3439a5e1a1884e2473a70f8 SHA512 aa314a6ab3ba028d2a169ea55a50eecf3b73b475a81c91330430ece9f1734296562627a8c32fad51b5a26796931f364e2803b3a13075ccd9a0aa614d5220903c
+DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
+DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
+DIST tempfile-3.14.0.crate 35065 BLAKE2B d155a39f6ed6e846bfd572ffdc73f306d30942642e07f2b497963ae150b8ef774dd046bfb3ce410fa326c8e1df27b0cada804100215e01d02272d6059d5294e3 SHA512 98c1ab70eb3efd2d8b16ed58c8c83f8599663af7ef269304e908a04c38334f659a4d0b1647a13dc0d1eb90a293f1b37ec8ff0b9b45ef5b7ff1b4452bbfcdcb15
+DIST tempfile-3.15.0.crate 35693 BLAKE2B 1b4d6b17ed4263ff89ef6967650b0c18671b2b80cbfe388cbfd77ca597473e91c1c7aebfc715d0fe4360c20d0f235df31147b1f029b471aea8c57d188f7c2be0 SHA512 82636d50a29e1ea8cc61e80dc1fa28ea4cfaeb6175e5bf0558d6cd6f8da823f50a808a555ec17fc8601acfd0f504e15688fe95f64e8792feeb216bf27678807d
+DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899
+DIST thiserror-2.0.9.crate 28531 BLAKE2B 7789458ffcb381e2cf02f182248396c5e6c20a818e4c5a2c7da8a8f50099c548646b51dbfe0630a242f24e9aff65e215a4473e13f63bbffbd80a3429237c65c7 SHA512 b7b5f54cde87c21e8fac3526d5a140c0d64116e700d07eb28714df3db372a42fba30bb37817282d0ee1b5333f1998d1f628d43054e59fc39393fb567c3df4cb0
+DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3
+DIST thiserror-impl-2.0.9.crate 21023 BLAKE2B c2def0cfe9b9854ce33075fc246a2baba386d8f3a70f26516124f5ff4f7dbb0cd0b8887882c491f37652b565ee4fb3e7895a39cf34564a21e96890fa6e3ce125 SHA512 408f6a4c0f6cee36f69fff5a2f08cbd349db44753e6b6ac730c418fa1fc06ba7f69fbf248182af947843ae49d5cb5ff53980cdb18cb850ea8d7d9ac7dc8d67fa
+DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492
+DIST tinystr-0.7.5.crate 16366 BLAKE2B 00a5eda21da581ab351dbdd2591960c027d0d1e35f00b2b1049cf78ce115b4e7f9583ebec74d0a95c79112d2b4fa60ab8440ec83646542d8c73236790c07ae8c SHA512 f6f5ee490049a3572d13305f1431d4882f201c81bacb0e0a333e949a0a955c98d3a0d347b1f31d1fc8eaeefb4690a3fe6fb18e82163b92d10b757a56bb5610c3
+DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
+DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST tinyvec-1.9.0.crate 54137 BLAKE2B 68a96ec0ffa392586c3bdadf2323b2a3b416ecb81db5d18ae0e05187b097c7882da6678bc881e70f935554862fab5cf41ae590b27e0fab7c1c73995449b84f5f SHA512 5f42811be51c58c72b80fe9a7199250fb6176f5766dc774b39ff656ae5ebead0d9c91ed7db1046288b8e05e20edba36455e4cc6fc0766c60898187f30c232aab
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST tokenizers-0.21.0.gh.tar.gz 1544853 BLAKE2B dca3462bc76c77203b47eb556401a9be713fc469b6c461ab4aff380f4c901aa958a10c44b46ca472cae2fb949c59aa197f4f72aa9c6bfd5ca06fac2af9f07a0d SHA512 df2c290cdbd3b610d07ff511ad46ce927cb272b78bd119aeff2e5d79067cb688a74d351ab5894f0f2db3227e55c33fa2a8b7e873950c59fdfdae4e65f48e31cf
+DIST tokenizers-0.21.1.gh.tar.gz 1545849 BLAKE2B e076429795d9e34a27c88b7d030e866198819288c5e93556369faaf424140d1f37c6f6bd07672915e60c71ae24aedd135db2ac135d26757a5edc8549821f1564 SHA512 b7058ff748991085d7ad02d71f307bf28116370e88fbfef0b82ca755e3e21ca3d7036fd0c7ee26b3403fb39482553fe8f6d03699cdfaa605970ac6a4a7c66a94
+DIST tokio-1.44.1.crate 830115 BLAKE2B aa5782eb5c17671154aaa5f306cd97a7f47c298b0aebbd9641183796a77fead391c837986873e27ba617e3ad61d92af050ea3e1bf269a7b6eaef508d1571a635 SHA512 41250b12a7fef14026215f098eb5aec128c83d601cd6f005943fa06f89a096a384c0a5f66c409d26281aa44b0039598d8b058ca86d9e58d9a76a780a58db7d2f
+DIST tokio-rustls-0.26.2.crate 31655 BLAKE2B 44a569a4aa8c13f2153a18ac56e6ce6b5b9c9adb4ba6d94c1b9579e340233e614cd61da26670f74080c870b54e0d7f5f008692120a823782144cbe42e97bbdb0 SHA512 c0ff373e02c90704d8bff39b634d118143bcdb3d657e491d7d9279bd5a0a166541c759b5a26f5348fecc4d3a1f11c8ce3127df217137f68c57db581714bfc735
+DIST tokio-util-0.7.14.crate 118861 BLAKE2B 77ce7e2a6eb3bad6da00a4614642ed8493a9122e096e81ed5c529706278b8ed03ff732df2d8ae053f82407942fc13f23cb4b4eafd040a31a65450db73cb0d171 SHA512 7a4652f539acc7b7ca7b726e63279a5cdd2863620f0e79c7a643dcb4ff1d1778a1734ee2fc02759575cd651bf5ecc1d0228562693d62c02b5795bde3f712e555
+DIST tower-0.5.2.crate 109417 BLAKE2B 414f17e97102224f1fdf23a03e6aa958e0a2d6cfcfce93ac3f2e911d68267aee33aa079c94540626ec3fa895e1780e6e5d18b4831f9f05cdf3e8c26ff73b7279 SHA512 e89c4ffd83fec3566334a4c4e9151ddeabfd3437269afc8bffb46201391bc1cdc82cbb97c69643a30f8873e87c511ad9aefc6c081241a4419fe315c99c61ffce
+DIST tower-layer-0.3.3.crate 6180 BLAKE2B 20435102dd62113c3e961bb28d7b18ac6f8ec6d5f0051f511e6f5eb044b20016f247ddd1b8eae9dc9f1ee259d8cc31e0bbddd26f5a22fadeea4007a3011b8500 SHA512 edf36671076cd29bb32c29351b648afbf3e7134316988a697c7807db62de7a63cb0339e4db7c0f36ed60d8aced7f3e493318cccc272070c037b01e2dd189b934
+DIST tower-service-0.3.3.crate 6950 BLAKE2B 32ca66bff783eeb015af982b539acb63c9d426b931832b27aa45088382712df3894132a9e6e96fe1ed9d0f9e582b7a25b33e0ab73711acb06b4e134e69158452 SHA512 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd
+DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c
+DIST tracing-attributes-0.1.28.crate 33280 BLAKE2B 4f4bfab16ad8a296c9399125edfd4314d55ef58977d8a1f3e867618617feed898cd14766527c9b788d5fe3d3f8ee5bcca0e26dae79a2e6cf05366991ac23dc10 SHA512 4a3d5fd76efc414c86af0721aab9e9aa70fcd6b08eed4acee8c2af5af56fd665197aea612187c7f6022d1acf5567d5b9e72a7dcdcf25cc401135d875d95a99ed
+DIST tracing-core-0.1.33.crate 63434 BLAKE2B bc36332ffe5f4c95ae2d12df43944bcf589746cdb923a39098e5f4007fd1f19d7c3bb115011ddc40c13e3ae0e5cfc9a59c49861824e99fed7430fd29479abacf SHA512 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef
+DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285
+DIST tracing-subscriber-0.3.19.crate 198345 BLAKE2B c7083168e62619c856b872570b85b44475edd687fb6d5c3334246622900fcbf4e4a8484c23362fbfb358d6d9f8088f7dbad2e2ed30954aebf76d1b57324b712b SHA512 840e35103f1152e94ef9138d0f03f157b296def538bab6c7464fa7d363aef7734feed196091782dd3aa9bf06c7dc181a2c37149a23f5be036f00c00b5200686c
+DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08
+DIST typeid-1.0.2.crate 8844 BLAKE2B ec74d365b11f17f63f938bfd8819a29d94eee8a3d938d8e5f6c797c0fc4696c1016e5c900f5874e3df05f6d5650f1b05da9446e240afea6185d16ec958beaa37 SHA512 a056d99db3bc648ea260157335045dba1df96e70cefe65dbeac80d517cf630cf398f86da692180592e99f27ae14eec1d3f658c0d2d039ae353ce56463f7cee40
+DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a
+DIST unicode-normalization-alignments-0.1.12.crate 91546 BLAKE2B 18aa85b935f2bbd4eab91cd160fbfc75a7f919090dd5874162d1ca76851c53bfbaf1b0e3aa23cdcb2b7a9f15e576736521be1fe45c9ff7de6db23cbc6c59e78f SHA512 b51d9096088c14a84b5c179402b1618f26b0e9bf5250ee86c9d5e26e318149829e3e57802a4c9e437c3ec29ee31ee311491e683abe50ecac5432c0a593478e6f
+DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946
+DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb
+DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d
+DIST unicode_categories-0.1.1.crate 87298 BLAKE2B f52b83d204b90ce0ec26e0500bc80b0547610f3417616603c4e837fbec0a41a6a715de19f88432f4c15ddb6b2ba55ee75a472fb7e2c888accfc77e1ef1d85fee SHA512 2d15499ee9318ee54910d657339820acfa88183e4f9aa146ac655129d2c4d76d3fd0550b601702ad2ccac4c8647dd2f26528d8003f39181e09b8ef480351a3cb
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+DIST ureq-2.12.1.crate 115366 BLAKE2B 8e349c5dbd4c1c6180fa018523db67dd694c0f7ef0ae4323592c1051fef473bfd6a8bf80d91fa4047547fa5e908ec5f362cf0697168385e2968ce67f8474c59b SHA512 30fb75e097b9cfb34ebd056c0936d1b5ce16f4a613e963c5179046eb48a0165da6cb2e4a5d612b03d6b0daf736f5353159a92ab69e68b643b923fd551f0c3e7c
+DIST ureq-2.8.0.crate 112867 BLAKE2B 60409a3d3b271a1578986f5d99c14c8c1300b44010d32cd52f3e32885eb0ed36cadc04b939f2e0d81a0b30f21be433f4c7428b0485c75217b00ed0988c29fd43 SHA512 3b398a52da98e9350792d29eeef8a20d4689a55210df3e30d3e1786d3c5e378c3a144d64b3728f282a07e7e701ce21794e6c50eccceef670d7f5bfefd5da0333
+DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d
+DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa
+DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
+DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266
+DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
+DIST valuable-0.1.1.crate 28679 BLAKE2B 33a68f81cb0448fa737fd7416f2dc1f0e4f171851692e5f759bc375ca8ffbe6eb53912823a59da44228029d379729b669e8213f00928c9b1a182c5d26c0de8bb SHA512 d8a4bffdc8a166d1ee11b87dd91cd68e5c898916b14db7039ad2faaad34f4bfef76f3fc3d17d6e7bf05e495778f7c9d5223fbf45331bd114f93fb6ec950eadbf
+DIST value-bag-1.10.0.crate 40371 BLAKE2B 8d201444eb30bb6820dd9c0132b6e475df3f358762f2dd3ef0a7172bc0241ebe108ff8a8f1b053cd1c27de17f994cb14af13ba8f70fa00618288f0a7c035e973 SHA512 30b7d7e181c7ffdfff2b2f669dced2dd75508678a9f40f01b45249ba95ee685910a069e089867084ff1e3c2092663c3b11544869e3323f4ae77c6adf6fa020ce
+DIST value-bag-serde1-1.10.0.crate 5564 BLAKE2B 87c5f7c3ca5f87bb8f60707b07ba130149422a1dac333e34f675a2dc12023bd5acca2da76b35791f9233d24c0a7354f806ec4a6324e35dbc83be38daaf4a1aee SHA512 2d0043a21e23ad415641e98832e1255193aead12fc38ffdcbbb9256429b0a47ec98a527b1b1aeb4e91d7abca218d9e49ce15c28bb455dd9cad2f125337b7a962
+DIST value-bag-sval2-1.10.0.crate 5624 BLAKE2B 0c3458966ae130888122f60507fd7dfa4f92ee0e83ca37acf52ba1835bfcc6aab15bb5130c6cfab86cb97279944876f3e1787e7b2a1d370908999c8e87d7a2b5 SHA512 f416a0abd5df77db28d2c3dae2d11ee6afbeabf6d851e234fabcef2479a755223c78e5ff8a2542f34e21d5b43a082d97fc2f564f0f667ca9c3db6285a96d2c31
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
+DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasi-0.13.3+wasi-0.2.2.crate 136754 BLAKE2B a17e2670caed033c1b2e2bd709a79c1dff5d0ff46b32e9d9b0faceac2b3350397e7bc6ce113a9275c400537121c9d853130b4bd546afbf0bcd248f4c69d8a708 SHA512 c0b0ce3c4d82ad7350e017fda565a69cf91186ebc41a1c5bc21a6e2fd2f0d8e7d90bcd60488074da6062ac1fa39c684ddd8ee1d8efd66e82eff36ddb16682abd
+DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3
+DIST wasm-bindgen-0.2.95.crate 43894 BLAKE2B f14fa63110c62d3bd51c947f31ee96b11812fa60d6adb9cf1907f99c011bd43ab8e14b437fe8b6357cde37124769080b3bd20a2a947fafe3bfd6cccdb875b5a2 SHA512 5a303a6e9bc71030371d6a60a04064b148423d89b6d5de4232b24ff5205175c5236812209eccfc60d8f82a876d3b745ae76ebcb30811eaa6f39701c9a84e1251
+DIST wasm-bindgen-0.2.99.crate 46136 BLAKE2B 04e69294da3dc4feff9001185bcc5b864d1f14a1ead6b9a31c830b2043dde191f9f7c65755d607365a3b8885bd340bbd266e26cfa74c48464933c8d7a1164f94 SHA512 184aec11998b99a730ea5b63d6141260cd0b7cdc29b02696f533b3e75ec79f7c17c6aac892e7a7b24036c6e73592d01df638ca31b54bda11d3bdbf857b1489c2
+DIST wasm-bindgen-backend-0.2.100.crate 32111 BLAKE2B 6bbbef709753e22230176121388a95fdb8f4dd32e0755dce5bf6c1127c54a236af292f319d14b5cd97bdb310fee65288e8f404921b83693e287164cf9d589a2e SHA512 a2ee30c1185644f989af6be34e93149a791c05125de24c0ff91c320f683f6f5d939fe42b8ca09d629096388a39256469f8b96a6e35722ccfdbe8d978c9a51770
+DIST wasm-bindgen-backend-0.2.95.crate 30487 BLAKE2B f199e3392e964c4b0e6a7b2e3ccbbdc458973b4aae4193ce36ee0ac18d595230be9ea6708caa439d70aa92a7b924f51928059984f560e5dad20d41eaf06616dd SHA512 1bea648ca248cf13383b297917a5c315da9e4830a8c49cd3ba23392566725cceae818b4e7e60ad85360c9073c2e557fa36452a2cbc8e05b60318feda7404026e
+DIST wasm-bindgen-backend-0.2.99.crate 30928 BLAKE2B ecfa94a461df79a33fd2bb9807374a2a0c7ac370b443e5a1103ba73a29c9d337ed3feb427c80571ccc15599f81135987742e698199528a9c1bb570baef3e9d09 SHA512 8369a5e618223f09fff7cdc35662a930b3eb11024af51bf5fb9e70c45dfa22452a518d723f3d912c0c970fc4bf748ef2d83d48756483174993f7d04c92d9621f
+DIST wasm-bindgen-futures-0.4.50.crate 16181 BLAKE2B 2659a84c54a1703c7378449339c216b601363be1f1cb22d97a7f85572cb5968597cccc868e03d48b20dae2ffeac83cdfea7c39185dd57158824fef8a51f9567f SHA512 bd24e131150f1a16fa6330400af0c1c71fcdb577562f0c8893d24ee75cd5afca4a7272b424646ffd3330badde92800bbdccd6d4d9d9e47f404e6c29fdd83a51c
+DIST wasm-bindgen-macro-0.2.100.crate 9663 BLAKE2B b8a3fc6b3571f8caf106a9e9f3d9cc48b86096d714c5d0208f03d44d47003b3b26441b5cd68bcd49a8c05758bc1b984e460fb62ab439ff2d68c72766ce20358f SHA512 a1942f838eff5fd54406b573d81fe18f262df48a19535245b1a46cb31db2a022746e861d72e5286c632969d15d416655460d3865309c4947cd3d7965dead5c42
+DIST wasm-bindgen-macro-0.2.95.crate 6938 BLAKE2B 672509ff595fae86492dad98a4480f28d74a51fc8156ce7f96928b148f3af7f0f45ca9560b72148c6ad2d45ddfbbf3dbe39e2c94603ef92a925ac5503d939d2f SHA512 1f52188932e20145cb23d527a733fb5fe211813826c6b5ec04277e376127b700aea181efa5f60e34d120f10652066fbdf001952024017cccc7af728a3c8e41d9
+DIST wasm-bindgen-macro-0.2.99.crate 7011 BLAKE2B 07182a9fb98f519d1e5c934e609d7a42cf2409319f59dd901e2a5bec77972b4d16fc6f67cf40ade58af874b05faa981c894443d3950616e2aad117ac7355ac6f SHA512 344bf5192e43582246efad257c600003c41b589234c1900f6ed201f96b6f7665eb55226da15d612060042f89c6214e452489cf3aabc61645843be9c27f9cca0b
+DIST wasm-bindgen-macro-support-0.2.100.crate 26243 BLAKE2B c18e35978b62dd2822ba8a4f6955cd5154b2a0d81b8e8032c2f8bda42c1c25f74a13f3e1c3a7bf47a823de2517a237e6a1aef18b189bf1f2b934123c58d1eb34 SHA512 0d03eaeda37c9c6ae06c0fa96e872b54780c4cf545b621c730dcc113dd59a8cb6333c5e3818f51365f71913b9669d8a870a06e70729722d03c07a49cff8a4fdf
+DIST wasm-bindgen-macro-support-0.2.95.crate 21331 BLAKE2B a1f71b727736b7166af5a9ad739da33f07ac3d7a190a27621f8a9821530f9bed78a6c437d194f9609bef91ebea0ed9ce1738eea0a9800344b8af9ce7df868da0 SHA512 f45d78831c37401a417c837281d1705b84eae5db430630a9caf544ce5d92f1ddd945baa3bccf26f4c58170e3cbea035174d8b60f906d2757b152e1d090baea58
+DIST wasm-bindgen-macro-support-0.2.99.crate 22800 BLAKE2B 9772cc94a64f768eecae12072e6d700bf95fded306297b84e235f3450f7c5630cb1985def3eaef05aee193c693f92c6fa61d7a6ca18e84a2b73aa38f070d47e7 SHA512 936ab8211a13fbe8b8f21a870a78c03e24219d0872731561353cfcae245e9f632246f179b67f2b13e106c799e68c5c39f9e388370a8ad3f93f299c4804f5907e
+DIST wasm-bindgen-shared-0.2.100.crate 8570 BLAKE2B 886fa72cae891d4c2311e12e28f0a7bde9bcaca893603afa3428a402726b3b2bcdb6cb7dca6fdf983bd8fac5f049f0543537f2161318769b43c7eebfc906df27 SHA512 3fca8ddd1c6b2f66f70f6608c9b341822603f1c0dd71d47d27c6be8fe3f2c88598619946627720734b48cf999cafd0c63a08af5db28ea78a1538d2165a5fba61
+DIST wasm-bindgen-shared-0.2.95.crate 7649 BLAKE2B c18f531c6094b49af3b2beea93914d16b0054a707011890f9054f4cb313ed6b433e3f73c7b42accbd1fa59d1f14c2db5ab0f0a82cde107b9cf437fad8b4cd7bd SHA512 3ce689a4c845765bd6e1f84b94948df3ef84560d98d830a15c1932a2ab1942ec91465db65cbf14a045526cf003218aa5c3209dd06e8ee8a39815757f56356099
+DIST wasm-bindgen-shared-0.2.99.crate 7773 BLAKE2B 73489af59d16f4d0a1ea51b535cd02d2759b5b7b07873d8a71fa6bd6b6ce1cfc6e8139e6a79346abec13665ed9aeadd0b5b6aed28ae008f9dcb3d5da9fce665a SHA512 8da0f107be99b6666cf1859d68ac0a7295fc03e7b494fce1df9dbe57d21807de8e2bc95f5b974562303923ca4646f38c5297588ad7c97bd59ef236218b2a64f9
+DIST wasm-streams-0.4.2.crate 36773 BLAKE2B 601f8bc4bf872943de47903de57c9e833afa2500d7e30205046ee02a8a2a8d6486b546117009e81f399f9ece69de89145fff85557ae87d37f989095bbe2046c0 SHA512 f93693b41220e819c4efce0fe756633f1aaffbb57b8a9c028031a6b02a7a221ff4d5bacf162a0b301b55794745ad1f4c97a7bbd46ac396e1518689c0639ecd65
+DIST web-sys-0.3.76.crate 635842 BLAKE2B ecd166e739e4ae4ebccc51fe0d429723ed7e4209bc9bd4658b5447486d7d58d8f2d2a6186e433e8ff11e7b52fe159d842a28de6251d61cd5f5876a92a7d945fe SHA512 370fb49edffd9ce125f77a9451389dd23ab5b70fd49263248d5794310ed757c28839a29436111df2fe6369ae8d6af56a64ac59af5258743cccfd9d18cd07dbd1
+DIST web-sys-0.3.77.crate 638246 BLAKE2B 3f21ab03a18d82cffd96432e4f08bfae183b24f9a50dcfc51c927e9973dabfb8b6bb1f3ae044890832809ec91709242c1c37463931770d347fdf521587a72515 SHA512 cd149286105288f7c385a29eae7df2306d4066edfca4de1255efc7bd8a4e8eaafc313dab85091025c3b5d5e333fce8b7fcef1fb824fe4d799bcc9bb78b73c97a
+DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f
+DIST webpki-roots-0.25.4.crate 253559 BLAKE2B 737f608323fec02b77c47a40f8b2f9bf44f1b29d32b936fd7bd8c1066efd8916451b96ffab8949f5b5ba537bb1ed6300143bf51d1ef8663ce5a9a7a33947e81d SHA512 4891aa5c6a5bb8a4d6bd730fca5ab5bbddb5a39b9267c81951ca8d3ff0dbcd305b498328f99b2da79ac65cdc9dfa42c40631a4f8d6975ac6f4ed9c85a8d2178e
+DIST webpki-roots-0.26.7.crate 249392 BLAKE2B 6e3eccc530fbe66d22cd122b28e743e1052eabfa686c212b0f5056aa18be2ac1ed3672973e1e2deacdd9c3c9761a19e862efee8e4bb66ee61481234635898a0a SHA512 7eb3e7972864518acdacd7b716a223956ffa4454a39b8d4fd44f8fc25f39d113f8583d340f738ccbe4cd8e497906247865bc87ca9b9d8cfc1f1b0984c41a9397
+DIST webpki-roots-0.26.8.crate 257981 BLAKE2B 881596c6664391b3ab10aac8ec74bf31fa4fb8e6c8747da36f5e2f21d90763abdca0d73bfac6f4a2c709d82f66a098b98c408b4948b2045d42b636dfbe17bd25 SHA512 13f282628b74d6c717f499298ee35b4d7bd30d6440366c7aaf3504c32f1c1260740a83683d0973cbb7d1e9108c93a6c640a65b71f4889c7e0eeb7314fa4f8b08
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-link-0.1.1.crate 6154 BLAKE2B d8f59d91147725361731f1ac6cff6dab321f8abc3f48905bcf931cfbe549d7531bf078f7aa2c5575bd76f467d89d10d08c42f8a3f60ef8e22e82d3643cf3f415 SHA512 bdc166363e08dacd4c320984b239a8976467e59a0e6431a0174cbf603f547bf2d38b6008bf8e135cc3610b71811c77121e6bd61c27622a7be1d143eaa9325fa4
+DIST windows-registry-0.4.0.crate 12572 BLAKE2B 2663d50de617471f0557bb8e84e0eaa58a1711cf04e55b1ef01d5bc79b3da306d2072e7e7e2de31e775ce06015a60efd7f352200090d71d7487fad9bdd79e8ee SHA512 b8c2cb4e82c09b97178998708840f2c71672913c51b11173ee4d74aa1ab2f7de3a9a6bfc8a98f02d17ba82a22746644e375314c1f612faf267d1d6b29cd6e2da
+DIST windows-result-0.3.2.crate 13399 BLAKE2B 89f42f3e4a849d8bb1f6f490a42dc2b29b9486228de4dffd66d6be5072e594f5417e0de840094c5559cae57d21998c131d28f1368c5cd055cd6451265f37318a SHA512 4a1126f92c6bf2f52fc3fdc3e9fedbce83f082c2f929cbff593e825c56423bb449ae47374d4403ae6222d80bcaaf4f8a532b5ab6a67b734e545a606ecf8fbad9
+DIST windows-strings-0.3.0.crate 14464 BLAKE2B 81ed08392d9fad8b2245cdff8a37c1c0efde3136a0d5b87be78825c477f58b1a8a2f13bc5a13ecfa0919ccc8dc283c2ad0a43061c7587a0fc1bebc45e50d0ef8 SHA512 eff6a5edbb1bf9958383e51265499dd61a520e466cf7c821ddbd137b2b1c41373c46aec0ca2a18ed144ea4797ab734b746cf7e2d405e0050ebd8ee486c1bd293
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061
+DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
+DIST windows-targets-0.53.0.crate 7020 BLAKE2B 03a4ccd7d2f229491be1ac0fbf1ab4d4a5876f6850392635e670a3cbbfab2d069db9c697095ae75aa98d2a493d8b7220d545f4a17e234764bb97a43a46ee2816 SHA512 db8e6dd2e83bf11bc7cd96c5e32e5de201cfce3cec14d189223659b637d23d0a670d7436c7fbd9a0a25efc6d7430ae27c47202badca399c3244cde5eb90f2c32
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
+DIST windows_aarch64_gnullvm-0.53.0.crate 782443 BLAKE2B 64a74d4f10a60cfbd6cc02dfbb41ca9709abf56f49f74a6dfb4f4686bdc3d847d27eb92553c553c4ccbd39dd4f967bad1cba3c42a33a0e86fd8500284f260cd0 SHA512 185d1a63f3c00a4acd1a14701fd12ebcd715d6e709d6e40e6423e832fda0336463a8746f8eb5e3f81c9fbf26ed0de2332c04bd4d057c57ff67dd43e6a07fa9ac
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
+DIST windows_aarch64_msvc-0.53.0.crate 834446 BLAKE2B cc3df33489a282fcce6d693dd14d4bd5a284279794fed9e717a37c9367e4b3b40c47981e70adbcf8b15cc9cc01aebb63cf90f4564bd4289c8ef8daf59fd6bb50 SHA512 32d56f60b2327e334552f7554e67adc042b3c8e79f6b69237d83fa28f768cbee232b1e783430dad1b437dbaf2d7e1f1ae5c53e2cacf3021b99498148ac964cb3
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+DIST windows_i686_gnu-0.53.0.crate 936973 BLAKE2B c64b15193a5263e871e1919ecdb49fbf5a94b3e5b8d96c547a9212733f3bd07096511cd6f6b129dd3566bfc263c17e909daf04925916cb4f6789c797926ea793 SHA512 676ec6ed73672e418913078d8bae9b74679db02a3b5bee9cc72c62452fb70d87f7dd1e2b2a7e4e6058f4bc536c15075f929c38c7261d7f47872099a397fb5ca3
+DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
+DIST windows_i686_gnullvm-0.53.0.crate 854056 BLAKE2B db81a346b516db01e7977137e11f79c0cf1df0763a5415b75c9f49972436c22ab77084f958b92a7cda3fa11bf2a764ee7bb6b2e6592889a895c278793a806ff6 SHA512 ec830a4c7b5d3be4948d788971f034c53e4bda7351ceb9aeb5a0af24868fe8c8383f96b1736de27832b113d2a679d5fa8764db2fe2db5942e25bccd036e96232
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
+DIST windows_i686_msvc-0.53.0.crate 903450 BLAKE2B 0cb567d1b54ff979ad6549f1a17919510eecd62e028bc01ee3448ade18d08e684746023881f713e078ae5ca9d9e799cc4e6d15bea12f926463d291f46d6b3c85 SHA512 9f7f6df98e47895e0824dd70af7b6dd5017b65a6904f0b0c6cba8df59f8162489754c6437f87b281fc8c34da2557e21eb33c89ef505f1b3fbcf60f5152191342
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
+DIST windows_x86_64_gnu-0.53.0.crate 902585 BLAKE2B f376f4ed30c1f82f567713f2fa03dd5fe5f8e78ea876d4d29e4b3a0fc52400d64cd6b971e06fb4607e5da15d6c4aba6a7a83841e2f178ffec73e70996f1ce052 SHA512 9856a67c32c9969100ff4f730047f92ecdf8a19e003553b3d9cbfd847f376a20c72a1202071a36f3640afbb6ff45f95c83579ce4a45a2b64485c980fc06b65ab
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
+DIST windows_x86_64_gnullvm-0.53.0.crate 782434 BLAKE2B b82d7a41c771db81f2dbc6500616fec8f019f89cc0f3c43b45332ff8275dd0f7919cf0b6e0fd2d50aaa1cd7e381e7d20211414f619ca92b60a21fa2137c7f9b0 SHA512 bd3777209b4cee092134c21298859d5974b29b70fd0d2882ae704b58a34413022de944f6254d8948fc87b4dbe1044b08ddc6a82b9d1a48b33d33509454318e7f
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
+DIST windows_x86_64_msvc-0.53.0.crate 834400 BLAKE2B b5a06459571c6ac31fdb94d64f66f83ad71fa039ba04e07b62259ca66211662e703dc9afde205cb0489a2213a937ba1d8d6bc212262e8140a1629d2273d4bf43 SHA512 47265ca5d43c39c9470c9ff7caa8ad0962bf81cfedb207d3307895cc7e4885512a4895d3447906349e1261dbef531c0c3326cd82cecf6d645d42039997134707
+DIST wit-bindgen-rt-0.33.0.crate 3357 BLAKE2B 7c5227e835eb405b681ba36a2472fb3330b9e44f8e9cef06ae5de326691d4e4535cfd09843241963572060f4ccb048aa088fb8692591f9253cd215f510969420 SHA512 fffae2da775fcb5066398aba5cd02119a07f5bb5ab2282c74f1665656de0278ba13352b8ccc6ff107677aec3ec5d401729158332f653e0a2e7b393d1aa018b8a
+DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1
+DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1
+DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef
+DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6
+DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c
+DIST zerocopy-0.8.24.crate 243777 BLAKE2B 01742167e36d19de6cdbbbddbd0ae303e729094fc68ac05a11cedc50a99c6fa6ea7622cf984d6945eda133b73d87e2bcf3173cdb57a9e15707882e119ae3849c SHA512 8d9d909486248fd2b3487cb7dbea1d944ceeb5bcfeca227df80c869dd0b6b5c78a73389f171d3f6c33d9a8772e7d6197abcc540d47db70906f12c45cc76dd6e8
+DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb
+DIST zerocopy-derive-0.8.24.crate 86487 BLAKE2B 0a66fd7d9a07f919fbe774a1480e1b4a9d5302ef207d8d7427a03b05f457792f6f758969ccae0e4f3422edc06d017e635dfee4129f8030b36ff9f9443856bd36 SHA512 cd683875b46361fa0423e4fe0c933018b254c753681d5e14b941e443374a065236e6af553caf1f452c1aaa4ebf22e0fa6f304217367b66e141eb31b265e6b31a
+DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544
+DIST zerofrom-0.1.6.crate 5669 BLAKE2B 1428e9cfdcdae13b39b7465524d1b8b79bdd89f743d3db4a3305c2b39d61ad7ced958dabd673a135147a04c8ace69d8c710dc06c6a07b1dd3987fc0a45148094 SHA512 e87c50b4f87caff70d026099bddcced73398c432f6aade32d74ad199cb3a985956bac282f48efdd501e64e80297afe4f8a4518db32437bf297fcf51a6f94bbd9
+DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298
+DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985
+DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe
+DIST zerovec-0.10.2.crate 126403 BLAKE2B f6f7e08c27e5724c9071cf007c09a3fdc80b84bc3f7a08647d6e312674f82c1e35335e8c72da5d47904a937bdc6f29c26729b35123f6e8119f6991c7055318af SHA512 159cb90d2ee2a2662429141e0948cfb44e7784ba35e92c32b2ac7183d6b69a9318b0617ff4de7b87831f9727f9d5c9d7d4fd3a9b1f54e67ca29a4ed6afc8d046
+DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0
+DIST zerovec-derive-0.10.2.crate 19366 BLAKE2B 226d599e59c682ba167506d9cedf4f1b004881a624cec3b462ae0d2a1982e9297b9943b70649f0e98e46bf6a6fca68952d181625723a5bdcf779f07cf412dba7 SHA512 da4a056e9147142e51a58c3b16a12179433fc889b4efacbadd1294bb5a750860201a472bf7d72a10e7e82e95d97761a67ec93a727620c1c1844a15362f6736ea
+DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09
+EBUILD tokenizers-0.21.0.ebuild 10449 BLAKE2B f89504b2574dd40f007b2905550f064baeb4c6fcc24ed851f0bebec156985fccf2f8465f1ba329648028bc4fabc916c0a6b26b6467ec052ecf5367d52b327f63 SHA512 01fa089db5441d006eece40e75ac7a8296ed842865a4288ae534edb6c9c90193f9283d3580171efb898bdd4a12f461c7da71f066eeb18a0ac0bf059f89732827
+EBUILD tokenizers-0.21.1.ebuild 7879 BLAKE2B 1f91c18e6bb066becb837ae1aa89cef3bc39b220b1eb70c9be71d69984bbda2c8ba5ba0a10fa0bf265390209ad9d68d4d75c3b7514a030d26f3c2e1ed13ed0fc SHA512 8d79b1d186c72f3413e5876585f8274c875fc9903ead0ee4d5135de267c5818f986452bd73acf980594c4264a6fd5a4424a77ab32ac8631a0d275a9142f90cb2
+MISC metadata.xml 335 BLAKE2B 55e4d7b301e4315210bf24a4056741cc923c6a72ae323158c5715fade20db86de8a03464bf8f12fe7116689b41aa0519a0070eebff5f63801e23a9c4a9698a92 SHA512 77f537f495b90ad031842f704c5a629cc995fcd848f11defeb597cc16d2d7bab07d262f05a50b07788d2f58fb60eacbefdfa8328215b89b0c661a05b18c4555d
diff --git a/sci-ml/tokenizers/files/tokenizers-0.15.2-test.patch b/sci-ml/tokenizers/files/tokenizers-0.15.2-test.patch
new file mode 100644
index 000000000000..01a872cb846a
--- /dev/null
+++ b/sci-ml/tokenizers/files/tokenizers-0.15.2-test.patch
@@ -0,0 +1,39 @@
+--- a/tests/bindings/test_trainers.py 2024-04-07 18:21:19.443506351 +0200
++++ b/tests/bindings/test_trainers.py 2024-04-07 18:21:54.893466083 +0200
+@@ -295,8 +295,8 @@
+ tokenizer.pre_tokenizer = pre_tokenizers.Sequence(
+ [pre_tokenizers.Whitespace(), pre_tokenizers.Digits(individual_digits=True)]
+ )
+- tokenizer.train(files=["data/big.txt"], trainer=trainer)
++ tokenizer.train(files=["tests/data/big.txt"], trainer=trainer)
+
+- tokenizer.save("data/tokenizer.json")
++ tokenizer.save("tests/data/tokenizer.json")
+
+- tokenizer.from_file("data/tokenizer.json")
++ tokenizer.from_file("tests/data/tokenizer.json")
+--- a/tests/documentation/test_tutorial_train_from_iterators.py 2024-04-07 18:19:08.653593406 +0200
++++ b/tests/documentation/test_tutorial_train_from_iterators.py 2024-04-07 18:19:39.206906910 +0200
+@@ -40,7 +40,7 @@
+ def setup_gzip_files(self, train_files):
+ with open(train_files["small"], "rt") as small:
+ for n in range(3):
+- path = f"data/my-file.{n}.gz"
++ path = f"tests/data/my-file.{n}.gz"
+ with gzip.open(path, "wt") as f:
+ f.write(small.read())
+
+@@ -87,11 +87,11 @@
+ # START single_gzip
+ import gzip
+
+- with gzip.open("data/my-file.0.gz", "rt") as f:
++ with gzip.open("tests/data/my-file.0.gz", "rt") as f:
+ tokenizer.train_from_iterator(f, trainer=trainer)
+ # END single_gzip
+ # START multi_gzip
+- files = ["data/my-file.0.gz", "data/my-file.1.gz", "data/my-file.2.gz"]
++ files = ["tests/data/my-file.0.gz", "tests/data/my-file.1.gz", "tests/data/my-file.2.gz"]
+
+ def gzip_iterator():
+ for path in files:
diff --git a/sci-ml/tokenizers/metadata.xml b/sci-ml/tokenizers/metadata.xml
new file mode 100644
index 000000000000..8dc211ac9840
--- /dev/null
+++ b/sci-ml/tokenizers/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/tokenizers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/tokenizers/tokenizers-0.21.0.ebuild b/sci-ml/tokenizers/tokenizers-0.21.0.ebuild
new file mode 100644
index 000000000000..4ae677657fb0
--- /dev/null
+++ b/sci-ml/tokenizers/tokenizers-0.21.0.ebuild
@@ -0,0 +1,417 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.13.3
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+
+CRATES="
+ adler2@2.0.0
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstream@0.6.18
+ anstyle@1.0.10
+ anstyle-parse@0.2.6
+ anstyle-query@1.1.2
+ anstyle-wincon@3.0.6
+ assert_approx_eq@1.1.0
+ autocfg@1.4.0
+ base64@0.13.1
+ base64@0.22.1
+ bit-set@0.5.3
+ bit-vec@0.6.3
+ bitflags@1.3.2
+ bitflags@2.6.0
+ bitflags@2.7.0
+ bumpalo@3.16.0
+ byteorder@1.5.0
+ cast@0.3.0
+ cc@1.2.1
+ cc@1.2.8
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.26
+ clap_builder@4.5.26
+ clap_lex@0.7.4
+ colorchoice@1.0.3
+ console@0.15.8
+ console@0.15.10
+ core-foundation-sys@0.8.7
+ core-foundation@0.9.4
+ crc32fast@1.4.2
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.5
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.20
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ darling@0.20.10
+ darling_core@0.20.10
+ darling_macro@0.20.10
+ derive_builder@0.20.2
+ derive_builder_core@0.20.2
+ derive_builder_macro@0.20.2
+ dirs-sys@0.4.1
+ dirs@5.0.1
+ displaydoc@0.2.5
+ either@1.13.0
+ encode_unicode@0.3.6
+ encode_unicode@1.0.0
+ env_filter@0.1.2
+ env_logger@0.11.5
+ erased-serde@0.4.5
+ errno@0.3.9
+ errno@0.3.10
+ esaxx-rs@0.1.10
+ fancy-regex@0.13.0
+ fastrand@2.2.0
+ fastrand@2.3.0
+ flate2@1.0.35
+ fnv@1.0.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ form_urlencoded@1.2.1
+ getrandom@0.2.15
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ hf-hub@0.3.2
+ humantime@2.1.0
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ ident_case@1.0.1
+ idna@1.0.3
+ idna_adapter@1.2.0
+ indicatif@0.17.9
+ indoc@2.0.5
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ itoa@1.0.14
+ js-sys@0.3.72
+ js-sys@0.3.76
+ is_terminal_polyfill@1.70.1
+ lazy_static@1.5.0
+ libc@0.2.166
+ libc@0.2.169
+ libredox@0.1.3
+ linux-raw-sys@0.4.14
+ linux-raw-sys@0.4.15
+ litemap@0.7.4
+ log@0.4.22
+ log@0.4.24
+ macro_rules_attribute-proc_macro@0.2.0
+ macro_rules_attribute@0.2.0
+ matrixmultiply@0.3.9
+ memchr@2.7.4
+ memoffset@0.9.1
+ minimal-lexical@0.2.1
+ miniz_oxide@0.8.2
+ monostate-impl@0.1.13
+ monostate@0.1.13
+ native-tls@0.2.12
+ ndarray@0.15.6
+ ndarray@0.16.1
+ nom@7.1.3
+ nu-ansi-term@0.46.0
+ numpy@0.22.1
+ num-complex@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ number_prefix@0.4.0
+ once_cell@1.20.2
+ onig@6.4.0
+ onig_sys@69.8.1
+ oorandom@11.1.4
+ openssl-macros@0.1.1
+ openssl-probe@0.1.5
+ openssl-sys@0.9.104
+ openssl@0.10.68
+ option-ext@0.2.0
+ overload@0.1.1
+ paste@1.0.15
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.16
+ pkg-config@0.3.31
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic-util@0.2.4
+ portable-atomic@1.10.0
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ proc-macro2@1.0.93
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ quote@1.0.37
+ quote@1.0.38
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_users@0.4.6
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ ring@0.17.8
+ rustc-hash@1.1.0
+ rustix@0.38.41
+ rustix@0.38.43
+ rustls-pki-types@1.10.1
+ rustls-webpki@0.102.8
+ rustls@0.23.21
+ ryu@1.0.18
+ same-file@1.0.6
+ schannel@0.1.27
+ security-framework-sys@2.14.0
+ security-framework@2.11.1
+ serde@1.0.215
+ serde@1.0.217
+ serde_derive@1.0.215
+ serde_derive@1.0.217
+ serde_fmt@1.0.3
+ serde_json@1.0.133
+ serde_json@1.0.135
+ sharded-slab@0.1.7
+ shlex@1.3.0
+ smallvec@1.13.2
+ spin@0.9.8
+ spm_precompiled@0.1.4
+ stable_deref_trait@1.2.0
+ strsim@0.11.1
+ subtle@2.6.1
+ sval@2.13.2
+ sval_buffer@2.13.2
+ sval_dynamic@2.13.2
+ sval_fmt@2.13.2
+ sval_json@2.13.2
+ sval_nested@2.13.2
+ sval_ref@2.13.2
+ sval_serde@2.13.2
+ syn@2.0.89
+ syn@2.0.96
+ synstructure@0.13.1
+ target-lexicon@0.12.16
+ tempfile@3.14.0
+ tempfile@3.15.0
+ thiserror-impl@1.0.69
+ thiserror@1.0.69
+ thread_local@1.1.8
+ tinystr@0.7.6
+ tinytemplate@1.2.1
+ tracing-attributes@0.1.28
+ tracing-core@0.1.33
+ tracing-log@0.2.0
+ tracing-subscriber@0.3.19
+ tracing@0.1.41
+ typeid@1.0.2
+ unicode-ident@1.0.14
+ unicode-normalization-alignments@0.1.12
+ unicode-segmentation@1.12.0
+ unicode-width@0.1.14
+ unicode-width@0.2.0
+ unicode_categories@0.1.1
+ unindent@0.2.3
+ untrusted@0.9.0
+ ureq@2.12.1
+ url@2.5.4
+ utf16_iter@1.0.5
+ utf8parse@0.2.2
+ utf8_iter@1.0.4
+ valuable@0.1.0
+ value-bag-serde1@1.10.0
+ value-bag-sval2@1.10.0
+ value-bag@1.10.0
+ vcpkg@0.2.15
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.95
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.95
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.95
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.95
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.95
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ web-time@1.1.0
+ webpki-roots@0.26.7
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.9
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.48.5
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.6
+ write16@1.0.0
+ writeable@0.5.5
+ yoke-derive@0.7.5
+ yoke@0.7.5
+ zerocopy-derive@0.7.35
+ zerocopy@0.7.35
+ zerofrom-derive@0.1.5
+ zerofrom@0.1.5
+ zeroize@1.8.1
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of today's most used tokenizers"
+HOMEPAGE="https://github.com/huggingface/tokenizers"
+SRC_URI="
+ https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? ( sci-ml/datasets[${PYTHON_SINGLE_USEDEP}] )
+ $(python_gen_cond_dep '
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ ')
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED=".*/site-packages/tokenizers/.*so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+ cd bindings/python
+ eapply "${FILESDIR}"/${PN}-0.15.2-test.patch
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ cd tokenizers
+ cargo_src_configure
+ cd ../bindings/python
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ cd tokenizers
+ cargo_src_compile
+ cd ../bindings/python
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tokenizers
+ # Tests do not work
+ #cargo_src_test
+ cd ../bindings/python
+ local EPYTEST_DESELECT=(
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats"
+ "tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids"
+ "tests/bindings/test_encoding.py::TestEncoding::test_n_sequences"
+ "tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens"
+ "tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars"
+ "tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence"
+ "tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars"
+ "tests/bindings/test_encoding.py::TestEncoding::test_token_to_word"
+ "tests/bindings/test_encoding.py::TestEncoding::test_char_to_token"
+ "tests/bindings/test_encoding.py::TestEncoding::test_char_to_word"
+ "tests/bindings/test_encoding.py::TestEncoding::test_truncation"
+ "tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction"
+ "tests/bindings/test_models.py::TestBPE::test_instantiate"
+ "tests/bindings/test_models.py::TestWordLevel::test_instantiate"
+ "tests/bindings/test_models.py::TestWordPiece::test_instantiate"
+ "tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing"
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens"
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained"
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision"
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens"
+ "tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting"
+ "tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mistmatch"
+ "tests/bindings/test_trainers.py::TestUnigram::test_train"
+ "tests/documentation/test_pipeline.py::TestPipeline::test_pipeline"
+ "tests/documentation/test_pipeline.py::TestPipeline::test_bert_example"
+ "tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour"
+ "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_datasets"
+ "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_gzip"
+ "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode"
+ "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism"
+ "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode"
+ "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space"
+ "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace"
+ "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism"
+ "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode"
+ "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase"
+ "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding"
+ "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism"
+ "tests/test_serialization.py::TestSerialization::test_full_serialization_albert"
+ "tests/test_serialization.py::TestSerialization::test_str_big"
+ )
+ local -x EPYTEST_IGNORE=(benches/)
+ distutils-r1_src_test
+}
+
+src_install() {
+ cd tokenizers
+ cd ../bindings/python
+ distutils-r1_src_install
+}
diff --git a/sci-ml/tokenizers/tokenizers-0.21.1.ebuild b/sci-ml/tokenizers/tokenizers-0.21.1.ebuild
new file mode 100644
index 000000000000..3861fbf55811
--- /dev/null
+++ b/sci-ml/tokenizers/tokenizers-0.21.1.ebuild
@@ -0,0 +1,406 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.13.3
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+
+CRATES="
+ addr2line@0.24.2
+ adler2@2.0.0
+ aho-corasick@1.1.3
+ anes@0.1.4
+ anstream@0.6.18
+ anstyle@1.0.10
+ anstyle-parse@0.2.6
+ anstyle-query@1.1.2
+ anstyle-wincon@3.0.6
+ assert_approx_eq@1.1.0
+ autocfg@1.4.0
+ backtrace@0.3.74
+ base64@0.13.1
+ base64@0.21.7
+ base64@0.22.1
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bitflags@2.6.0
+ bit-set@0.8.0
+ bit-vec@0.8.0
+ bumpalo@3.16.0
+ byteorder@1.5.0
+ bytes@1.10.1
+ cast@0.3.0
+ cc@1.2.6
+ cc@1.2.8
+ cfg_aliases@0.2.1
+ cfg-if@1.0.0
+ ciborium@0.2.2
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ clap@4.5.35
+ clap_builder@4.5.35
+ clap_lex@0.7.4
+ colorchoice@1.0.3
+ console@0.15.10
+ crc32fast@1.4.2
+ criterion@0.5.1
+ criterion-plot@0.5.0
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.3
+ darling@0.20.10
+ darling_core@0.20.10
+ darling_macro@0.20.10
+ derive_builder@0.20.2
+ derive_builder_core@0.20.2
+ derive_builder_macro@0.20.2
+ dirs@5.0.1
+ dirs-sys@0.4.1
+ displaydoc@0.2.5
+ either@1.13.0
+ encode_unicode@1.0.0
+ env_filter@0.1.3
+ env_logger@0.11.6
+ errno@0.3.10
+ esaxx-rs@0.1.10
+ fancy-regex@0.14.0
+ fastrand@2.3.0
+ flate2@1.1.1
+ fnv@1.0.7
+ form_urlencoded@1.2.1
+ futures-channel@0.3.31
+ futures-core@0.3.31
+ futures-io@0.3.31
+ futures-macro@0.3.31
+ futures-sink@0.3.31
+ futures-task@0.3.31
+ futures-util@0.3.31
+ getrandom@0.2.15
+ getrandom@0.3.0
+ gimli@0.31.1
+ half@2.5.0
+ heck@0.5.0
+ hermit-abi@0.5.0
+ hf-hub@0.4.2
+ http@1.3.1
+ http-body@1.0.1
+ http-body-util@0.1.3
+ httparse@1.10.1
+ humantime@2.1.0
+ hyper@1.6.0
+ hyper-rustls@0.27.5
+ hyper-util@0.1.11
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.1
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.1
+ icu_properties@1.5.1
+ icu_properties_data@1.5.1
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ ident_case@1.0.1
+ idna@1.0.3
+ idna_adapter@1.2.0
+ indicatif@0.17.9
+ indoc@2.0.5
+ ipnet@2.11.0
+ is-terminal@0.4.16
+ is_terminal_polyfill@1.70.1
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ itertools@0.13.0
+ itoa@1.0.14
+ js-sys@0.3.76
+ js-sys@0.3.77
+ lazy_static@1.5.0
+ libc@0.2.169
+ libc@0.2.171
+ libredox@0.1.3
+ linux-raw-sys@0.4.14
+ litemap@0.7.5
+ log@0.4.22
+ macro_rules_attribute@0.2.0
+ macro_rules_attribute-proc_macro@0.2.0
+ matrixmultiply@0.3.9
+ memchr@2.7.4
+ memoffset@0.9.1
+ mime@0.3.17
+ minimal-lexical@0.2.1
+ miniz_oxide@0.8.7
+ mio@1.0.3
+ monostate@0.1.13
+ monostate-impl@0.1.13
+ ndarray@0.16.1
+ nom@7.1.3
+ nu-ansi-term@0.46.0
+ number_prefix@0.4.0
+ num-complex@0.4.6
+ num-integer@0.1.46
+ numpy@0.23.0
+ num-traits@0.2.19
+ object@0.36.7
+ once_cell@1.20.2
+ onig@6.4.0
+ onig_sys@69.8.1
+ oorandom@11.1.5
+ option-ext@0.2.0
+ overload@0.1.1
+ paste@1.0.15
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.16
+ pin-utils@0.1.0
+ pkg-config@0.3.31
+ plotters@0.3.7
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ portable-atomic@1.10.0
+ portable-atomic-util@0.2.4
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ pyo3@0.23.5
+ pyo3-build-config@0.23.5
+ pyo3-ffi@0.23.5
+ pyo3-macros@0.23.5
+ pyo3-macros-backend@0.23.5
+ quinn@0.11.7
+ quinn-proto@0.11.10
+ quinn-udp@0.5.11
+ quote@1.0.38
+ rand@0.8.5
+ rand@0.9.0
+ rand_chacha@0.3.1
+ rand_chacha@0.9.0
+ rand_core@0.6.4
+ rand_core@0.9.0
+ rawpointer@0.2.1
+ rayon@1.10.0
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ redox_users@0.4.6
+ regex@1.11.1
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ reqwest@0.12.15
+ ring@0.17.14
+ rustc-demangle@0.1.24
+ rustc-hash@2.1.0
+ rustix@0.38.42
+ rustls@0.21.12
+ rustls@0.23.25
+ rustls-pemfile@2.2.0
+ rustls-pki-types@1.11.0
+ rustls-webpki@0.101.7
+ rustls-webpki@0.103.1
+ rustversion@1.0.20
+ ryu@1.0.18
+ same-file@1.0.6
+ sct@0.7.1
+ serde@1.0.217
+ serde_derive@1.0.217
+ serde_json@1.0.134
+ serde_urlencoded@0.7.1
+ sharded-slab@0.1.7
+ shlex@1.3.0
+ slab@0.4.9
+ smallvec@1.13.2
+ socket2@0.5.9
+ socks@0.3.4
+ spm_precompiled@0.1.4
+ stable_deref_trait@1.2.0
+ strsim@0.11.1
+ subtle@2.6.1
+ syn@2.0.93
+ synstructure@0.13.1
+ sync_wrapper@1.0.2
+ target-lexicon@0.12.16
+ tempfile@3.14.0
+ thiserror@1.0.69
+ thiserror@2.0.9
+ thiserror-impl@1.0.69
+ thiserror-impl@2.0.9
+ thread_local@1.1.8
+ tinytemplate@1.2.1
+ tinyvec@1.9.0
+ tinyvec_macros@0.1.1
+ tokio@1.44.1
+ tokio-rustls@0.26.2
+ tokio-util@0.7.14
+ tower@0.5.2
+ tower-layer@0.3.3
+ tower-service@0.3.3
+ tracing@0.1.41
+ tracing-attributes@0.1.28
+ tracing-core@0.1.33
+ tracing-log@0.2.0
+ tracing-subscriber@0.3.19
+ try-lock@0.2.5
+ tinystr@0.7.5
+ unicode_categories@0.1.1
+ unicode-ident@1.0.14
+ unicode-normalization-alignments@0.1.12
+ unicode-segmentation@1.12.0
+ unicode-width@0.2.0
+ unindent@0.2.3
+ untrusted@0.9.0
+ ureq@2.8.0
+ url@2.5.4
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ utf8parse@0.2.2
+ valuable@0.1.1
+ walkdir@2.5.0
+ want@0.3.1
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasi@0.13.3+wasi-0.2.2
+ wasm-bindgen@0.2.99
+ wasm-bindgen@0.2.100
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-futures@0.4.50
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen-shared@0.2.100
+ wasm-streams@0.4.2
+ webpki-roots@0.25.4
+ webpki-roots@0.26.8
+ web-sys@0.3.77
+ web-time@1.1.0
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.9
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_gnullvm@0.53.0
+ windows_aarch64_msvc@0.48.0
+ windows_aarch64_msvc@0.52.6
+ windows_aarch64_msvc@0.53.0
+ windows_i686_gnu@0.48.0
+ windows_i686_gnu@0.52.6
+ windows_i686_gnu@0.53.0
+ windows_i686_gnullvm@0.52.6
+ windows_i686_gnullvm@0.53.0
+ windows_i686_msvc@0.48.0
+ windows_i686_msvc@0.52.6
+ windows_i686_msvc@0.53.0
+ windows-link@0.1.1
+ windows-registry@0.4.0
+ windows-result@0.3.2
+ windows-strings@0.3.0
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.48.0
+ windows-targets@0.52.6
+ windows-targets@0.53.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnu@0.53.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_gnullvm@0.53.0
+ windows_x86_64_msvc@0.48.0
+ windows_x86_64_msvc@0.52.6
+ windows_x86_64_msvc@0.53.0
+ wit-bindgen-rt@0.33.0
+ write16@1.0.0
+ writeable@0.5.5
+ yoke@0.7.5
+ yoke-derive@0.7.5
+ zerocopy@0.7.35
+ zerocopy@0.8.24
+ zerocopy-derive@0.7.35
+ zerocopy-derive@0.8.24
+ zerofrom@0.1.6
+ zerofrom-derive@0.1.6
+ zeroize@1.8.1
+ zerovec@0.10.2
+ zerovec-derive@0.10.2
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of today's most used tokenizers"
+HOMEPAGE="https://github.com/huggingface/tokenizers"
+SRC_URI="
+ https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? ( sci-ml/datasets[${PYTHON_SINGLE_USEDEP}] )
+ $(python_gen_cond_dep '
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ ')
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED=".*/site-packages/tokenizers/.*so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+ cd bindings/python
+ eapply "${FILESDIR}"/${PN}-0.15.2-test.patch
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ cd tokenizers
+ cargo_src_configure
+ cd ../bindings/python
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ cd tokenizers
+ cargo_src_compile
+ cd ../bindings/python
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tokenizers
+ # Tests do not work
+ #cargo_src_test
+ cd ../bindings/python
+ local -x EPYTEST_IGNORE=( benches/ )
+ distutils-r1_src_test
+}
+
+src_install() {
+ cd tokenizers
+ cd ../bindings/python
+ distutils-r1_src_install
+}
diff --git a/sci-ml/torchvision/Manifest b/sci-ml/torchvision/Manifest
new file mode 100644
index 000000000000..7a99cd4bce77
--- /dev/null
+++ b/sci-ml/torchvision/Manifest
@@ -0,0 +1,4 @@
+AUX torchvision-0.20.0-gentoo.patch 520 BLAKE2B 2312d5fcc51047e229481e58793919e1167a5c41757028b85978512f76977861ae360bf66c071f21c5bab46cff42aeb76383a94e90bbc61ac4c767224738e3de SHA512 815118c9b440f91bf77be55dc12e7c71346fbf8b11d4291cabe57e5a7cf8822c31427f096335b812b857ce87da2b407189477550da3894d4bf2dc0886291d40d
+DIST torchvision-0.20.0.tar.gz 13149734 BLAKE2B 49493f2b088305f2d4a7502201c233304dc149dc96f4da2a3e93341e2d4e094fc6cdbc7c0d60cf25b97e698120065378408b557b2b0237d6afda7d1ed534487d SHA512 1db98fcc0ef4c018cd00a2c540bc60a47dd3b161f5128337e4a2f0bcce792273b9902108dc01e7d091a3331d9e35f8ab53503cbdba3f2a3cb3865471e7f63baf
+EBUILD torchvision-0.20.0-r2.ebuild 2047 BLAKE2B 29326d07643556e64cd7ba212c9cd93094964f5d563309f476529fb90c3bb7ae96f6130bb0d22d6ff08610534c20735b7db67c7ef459315418a2c1a2edaba383 SHA512 6d4ee194d117bb58bbbe2c058dcaff240b18e4a8ef4da59cfc11573fe54f7321a25f97913440e42d8137d057f90cde13bcb5092a0937ffa321d49eea09d962dd
+MISC metadata.xml 327 BLAKE2B e101d8dc63891696a8a17c908253b6302aeb9623b57cc67ad051e9f7df0fb693fe5360e8b41127eba78584c99caf105e5a1f5a76fad74a435dab99808a73d9eb SHA512 6e3d0588c3724fa18573df4001c81e40eb6fb93bb2254f8d03d8e9a908fbf89b8d734ed0f6549e2a4460f905c2daabfe125137e1f39cd4b6830ef2369f4ee91a
diff --git a/sci-ml/torchvision/files/torchvision-0.20.0-gentoo.patch b/sci-ml/torchvision/files/torchvision-0.20.0-gentoo.patch
new file mode 100644
index 000000000000..2633660cafa5
--- /dev/null
+++ b/sci-ml/torchvision/files/torchvision-0.20.0-gentoo.patch
@@ -0,0 +1,19 @@
+--- a/setup.py 2025-02-22 16:44:42.102439182 +0100
++++ b/setup.py 2025-02-22 16:46:52.393841294 +0100
+@@ -6,6 +6,7 @@
+ import subprocess
+ import sys
+ import warnings
++import shlex
+ from pathlib import Path
+
+ import torch
+@@ -127,7 +128,7 @@
+ if NVCC_FLAGS is None:
+ nvcc_flags = []
+ else:
+- nvcc_flags = nvcc_flags.split(" ")
++ nvcc_flags = shlex.split(NVCC_FLAGS)
+ extra_compile_args["nvcc"] = nvcc_flags
+
+ if sys.platform == "win32":
diff --git a/sci-ml/torchvision/metadata.xml b/sci-ml/torchvision/metadata.xml
new file mode 100644
index 000000000000..c79707bc8e29
--- /dev/null
+++ b/sci-ml/torchvision/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Alfredo Tupone</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/vision</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/torchvision/torchvision-0.20.0-r2.ebuild b/sci-ml/torchvision/torchvision-0.20.0-r2.ebuild
new file mode 100644
index 000000000000..caf0449482a5
--- /dev/null
+++ b/sci-ml/torchvision/torchvision-0.20.0-r2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+inherit cuda distutils-r1 multiprocessing
+
+DESCRIPTION="Datasets, transforms and models to specific to computer vision"
+HOMEPAGE="https://github.com/pytorch/vision"
+SRC_URI="https://github.com/pytorch/vision/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/vision-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda"
+
+RDEPEND="
+ =sci-ml/caffe2-2.5*[cuda?]
+ =sci-ml/pytorch-2.5*[${PYTHON_SINGLE_USEDEP}]
+ dev-python/numpy
+ dev-python/pillow
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/lmdb[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+ distutils-r1_src_prepare
+}
+
+distutils_enable_tests pytest
+
+python_compile() {
+ addpredict /dev/kfd
+
+ FORCE_CUDA=$(usex cuda 1 0) \
+ NVCC_FLAGS="${NVCCFLAGS}" \
+ MAX_JOBS="$(makeopts_jobs)" \
+ distutils-r1_python_compile -j1
+}
+
+python_test() {
+ rm -rf torchvision || die
+
+ local EPYTEST_IGNORE=(
+ test/test_videoapi.py
+ )
+ local EPYTEST_DESELECT=(
+ test/test_backbone_utils.py::TestFxFeatureExtraction::test_forward_backward
+ test/test_backbone_utils.py::TestFxFeatureExtraction::test_jit_forward_backward
+ test/test_models.py::test_classification_model
+ test/test_extended_models.py::TestHandleLegacyInterface::test_pretrained_pos
+ test/test_extended_models.py::TestHandleLegacyInterface::test_equivalent_behavior_weights
+ test/test_image.py::test_decode_bad_encoded_data
+ test/test_image.py::test_decode_webp
+ test/test_models.py::test_quantized_classification_model
+ test/test_ops.py::test_roi_opcheck
+ test/test_ops.py::TestDeformConv::test_aot_dispatch_dynamic__test_backward
+ test/test_ops.py::TestDeformConv::test_aot_dispatch_dynamic__test_forward
+ )
+ epytest
+}
diff --git a/sci-ml/transformers/Manifest b/sci-ml/transformers/Manifest
new file mode 100644
index 000000000000..e49daaa89bc0
--- /dev/null
+++ b/sci-ml/transformers/Manifest
@@ -0,0 +1,3 @@
+DIST transformers-4.50.2.gh.tar.gz 18077512 BLAKE2B db2333a584b4fc2f2b90e8e2023e0b3f5da6772f36bd3e1628915258504521a11f217c04268772ba62d41477977a1ecaf426167fd007aaa76ff3fd2cbe6a8935 SHA512 894a8e964cf96bee0779b02480bc0ca115ccf0a17d2794564e1d6acc1fb46873335e321b67d7d0ad5c8871402638e03fc2ea74c472a2cc147e156de2c1ed80f9
+EBUILD transformers-4.50.2.ebuild 1224 BLAKE2B ef8d5a71a7013250e995883c44dbb32284a4944deb737a5659d172ddb9ef973a23fc889219a66e1e81dd9c101264c62bc57d3be6b09784f0074f7d703db6172f SHA512 1ab7fe677288a6c3f4054e5ae3dc4fe0f7054a0b3ac51a047dfc07063b3bce09b7e78f104bc58ce27162c61d3ad2a56e4e34a5a4cf12a2079e626e47229550a9
+MISC metadata.xml 446 BLAKE2B e8865e42c4d09715f4ea763b4c1c23d23f69d4095cfc56fe47b2e117c9ff51cba42eb112d159ad3932c7e1c43671156e1ce67ef6bc667e2f40810dc8f010f11e SHA512 2b9b2456c699b53dd0412237f6a687c4c5a1b3edeca3120e946ae6c78b455539c036cba120e61d7e7b254a929667335582c9f16ecc5d2ab90ef8ce92c69a6e40
diff --git a/sci-ml/transformers/metadata.xml b/sci-ml/transformers/metadata.xml
new file mode 100644
index 000000000000..fe315dfdbe00
--- /dev/null
+++ b/sci-ml/transformers/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="torch">Support pytorch</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">huggingface/transformers</remote-id>
+ <remote-id type="pypi">transformers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-ml/transformers/transformers-4.50.2.ebuild b/sci-ml/transformers/transformers-4.50.2.ebuild
new file mode 100644
index 000000000000..922bd1902be3
--- /dev/null
+++ b/sci-ml/transformers/transformers-4.50.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
+HOMEPAGE="
+ https://pypi.org/project/transformers/
+ https://huggingface.co/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="torch"
+RESTRICT="test" # Need network, too long to execute
+
+RDEPEND="
+ sci-ml/huggingface_hub[${PYTHON_SINGLE_USEDEP}]
+ =sci-ml/tokenizers-0.21*[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ sci-ml/safetensors[${PYTHON_USEDEP}]
+ ')
+ torch? (
+ sci-ml/accelerate[${PYTHON_SINGLE_USEDEP}]
+ sci-ml/caffe2[${PYTHON_SINGLE_USEDEP}]
+ sci-ml/pytorch[${PYTHON_SINGLE_USEDEP}]
+ )
+"
+
+distutils_enable_tests import-check