summaryrefslogtreecommitdiffstats
path: root/meta-offline-voice-agent/recipes-python
diff options
context:
space:
mode:
Diffstat (limited to 'meta-offline-voice-agent/recipes-python')
-rw-r--r--meta-offline-voice-agent/recipes-python/llvmlite/files/LICENSE24
-rw-r--r--meta-offline-voice-agent/recipes-python/llvmlite/llvmlite_0.43.0.bb34
-rw-r--r--meta-offline-voice-agent/recipes-python/numba/python3-numba_%.bbappend6
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Disable-runtimelibdirs-for-cross-compile.patch25
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Remove-using-library-directories-as-runtime-library-.patch48
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy_%.bbappend6
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.10.bb (renamed from meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.9.bb)5
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-rasa/files/0001-Structlog-setup.py-fix.patch36
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.7.bb11
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.8.bb11
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-rasa/python3-structlog_23.1.0.bb3
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.18.0.bb (renamed from meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.17.0.bb)4
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scikit-learn/files/0001-hack-around-numpy-get_include-to-force-looking-in-ta.patch563
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scikit-learn/python3-scikit-learn_0.24.2.bb36
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/files/0001-Allow-passing-flags-via-FARCH-for-mach.patch44
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/files/static-lib.patch32
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/python3-beniget_0.4.1.bb11
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/python3-pythran_0.11.0.bb14
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy-native_1.8.1.bb45
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy_1.8.1.bb54
-rw-r--r--meta-offline-voice-agent/recipes-python/python3-threadpoolctl/python3-threadpoolctl_3.1.0.bb29
-rw-r--r--meta-offline-voice-agent/recipes-python/pytorch/python3-pytorch_%.bbappend7
-rw-r--r--meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken-crates.inc100
-rw-r--r--meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken_0.7.0.bb21
24 files changed, 246 insertions, 923 deletions
diff --git a/meta-offline-voice-agent/recipes-python/llvmlite/files/LICENSE b/meta-offline-voice-agent/recipes-python/llvmlite/files/LICENSE
new file mode 100644
index 00000000..8e94a016
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/llvmlite/files/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2014-, Continuum Analytics, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/meta-offline-voice-agent/recipes-python/llvmlite/llvmlite_0.43.0.bb b/meta-offline-voice-agent/recipes-python/llvmlite/llvmlite_0.43.0.bb
new file mode 100644
index 00000000..e34abd59
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/llvmlite/llvmlite_0.43.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "llvmlite prebuilt binary"
+HOMEPAGE = "https://github.com/numba/llvmlite"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=a15ea9843f27327e08f3c5fbf8043a2b"
+
+SRCURIWHEEL:aarch64 += "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+SRCURIWHEEL:x86-64 += "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+SRC_URI = " ${SRCURIWHEEL} "
+SRC_URI:append = " file://LICENSE "
+
+SRCURICHECKSUM:x86-64 = "df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"
+SRCURICHECKSUM:aarch64 = "eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"
+SRC_URI[sha256sum] = "${SRCURICHECKSUM}"
+
+COMPATIBLE_MACHINE = "null"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
+COMPATIBLE_MACHINE:x86-64 = "(.*)"
+
+DEPENDS += " unzip-native"
+
+RDEPENDS:${PN} += " zlib"
+
+do_install() {
+ mkdir -p ${WORKDIR}/llvmlite-0.43.0
+ unzip ${WORKDIR}/$(basename ${SRC_URI}) -d ${WORKDIR}/llvmlite-0.43.0
+ install -d ${D}/usr/lib/python3.12/site-packages
+ cp -R ${WORKDIR}/llvmlite-0.43.0/* ${D}/usr/lib/python3.12/site-packages/
+}
+
+do_configure:prepend() {
+ export LD_LIBRARY_PATH="${D}/usr/lib/python3.12/site-packages/llvmlite/binding:${LD_LIBRARY_PATH}"
+}
+
+FILES:${PN} += "/usr/lib/python3.12/site-packages/* "
diff --git a/meta-offline-voice-agent/recipes-python/numba/python3-numba_%.bbappend b/meta-offline-voice-agent/recipes-python/numba/python3-numba_%.bbappend
new file mode 100644
index 00000000..4bc055b5
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/numba/python3-numba_%.bbappend
@@ -0,0 +1,6 @@
+# remove the python3-llvmlite present in the meta-python-ai because it requires LLVM 15 to compile but AGL is using LLVM 18 rn
+RDEPENDS:${PN}:remove = "python3-llvmlite"
+
+# adding a precompile wheel for llvmlite-0.43.0 for x86_64 only
+RDEPENDS:${PN} += "llvmlite"
+
diff --git a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Disable-runtimelibdirs-for-cross-compile.patch b/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Disable-runtimelibdirs-for-cross-compile.patch
deleted file mode 100644
index c96bb64d..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Disable-runtimelibdirs-for-cross-compile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9729175ae0ee7b2c8641483b9dfd16051cc4ad23 Mon Sep 17 00:00:00 2001
-From: Greg Anders <greg@gpanders.com>
-Date: Mon, 2 Mar 2020 14:34:04 +0000
-Subject: [PATCH] Disable runtime_lib_dirs for cross compile
-
----
- numpy/distutils/system_info.py | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 28c7b92..d1a92ab 100644
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -669,10 +669,7 @@ class system_info(object):
- return self.get_paths(self.section, key)
-
- def get_runtime_lib_dirs(self, key='runtime_library_dirs'):
-- path = self.get_paths(self.section, key)
-- if path == ['']:
-- path = []
-- return path
-+ return []
-
- def get_include_dirs(self, key='include_dirs'):
- return self.get_paths(self.section, key) \ No newline at end of file
diff --git a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Remove-using-library-directories-as-runtime-library-.patch b/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Remove-using-library-directories-as-runtime-library-.patch
deleted file mode 100644
index d7e818a8..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy/0001-Remove-using-library-directories-as-runtime-library-.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From b14d1c1b684014a65b8b7ea0030f7f070a34e6c5 Mon Sep 17 00:00:00 2001
-From: Scott Murray <scott.murray@konsulko.com>
-Date: Tue, 4 Jul 2023 10:24:11 -0400
-Subject: [PATCH] Remove using library directories as runtime library
- directories
-
-The code in calc_libraries_info in distutils/system_info.py converts
-library directories to runtime library directories, which seems to
-only make sense in an environment when the external libraries are not
-coming from standard system locations. It is actively harmful in the
-OE build environment since it results in sysroot paths getting put
-into RPATH in the resulting binaries. Remove that snippet of code so
-that module .so's do not trigger the rpath QA sanity checking.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- numpy/distutils/system_info.py | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 656bc37..fb075a1 100644
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -728,19 +728,6 @@ class system_info:
- else:
- log.info('Library %s was not found. Ignoring' % (lib))
-
-- if r_dirs:
-- i = self.check_libs(r_dirs, [lib])
-- if i is not None:
-- # Swap library keywords found to runtime_library_dirs
-- # the libraries are insisting on the user having defined
-- # them using the library_dirs, and not necessarily by
-- # runtime_library_dirs
-- del i['libraries']
-- i['runtime_library_dirs'] = i.pop('library_dirs')
-- dict_append(info, **i)
-- else:
-- log.info('Runtime library %s was not found. Ignoring' % (lib))
--
- return info
-
- def set_info(self, **info):
---
-2.40.1
-
diff --git a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy_%.bbappend b/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy_%.bbappend
deleted file mode 100644
index b8d1f144..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-numpy/python3-numpy_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-
-SRC_URI += " \
- file://0001-Disable-runtimelibdirs-for-cross-compile.patch \
- file://0001-Remove-using-library-directories-as-runtime-library-.patch \
- "
diff --git a/meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.9.bb b/meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.10.bb
index 19fb4cf6..a1f2a797 100644
--- a/meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.9.bb
+++ b/meta-offline-voice-agent/recipes-python/python3-python-crfsuite/python3-python-crfsuite_0.9.10.bb
@@ -1,4 +1,5 @@
SUMMARY = "A python binding for crfsuite"
+
HOMEPAGE = "https://github.com/scrapinghub/python-crfsuite"
LICENSE = "MIT"
@@ -6,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0a36d267a3ece77cbc8ebc95ca7e2edd"
PYPI_PACKAGE = "python-crfsuite"
-SRC_URI[md5sum] = "01691860ad087f1270a78062ba0ded4c"
-SRC_URI[sha256sum] = "caa6261d6955466756f986b7fcfbd4fd50622963e3bdb5cc180c129c62b3a76d"
+SRC_URI[md5sum] = "2765b8401c63a8f970be73a0c2ca04bf"
+SRC_URI[sha256sum] = "f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5"
inherit pypi setuptools3
diff --git a/meta-offline-voice-agent/recipes-python/python3-rasa/files/0001-Structlog-setup.py-fix.patch b/meta-offline-voice-agent/recipes-python/python3-rasa/files/0001-Structlog-setup.py-fix.patch
new file mode 100644
index 00000000..ed277bb2
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/python3-rasa/files/0001-Structlog-setup.py-fix.patch
@@ -0,0 +1,36 @@
+From 39ab95117545461b06836d3033002f040f34624d Mon Sep 17 00:00:00 2001
+From: Anuj Solanki <anuj603362@gmail.com>
+Date: Fri, 14 Jun 2024 19:36:03 +0200
+Subject: [PATCH] Structlog setup.py fix
+
+This patch updates setup.py for structlog to correctly read the
+long_description from README.md and removes the dynamic field.
+
+Upstream-Status: Inaproppriate.
+Signed-off-by: Anuj Solanki <anuj603362@gmail.com>
+---
+ setup.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 4bc2b79..6d2a048 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,10 +1,16 @@
+ from setuptools import setup, find_packages
+
++def read_readme():
++ with open("README.md", "r", encoding="utf-8") as f:
++ return f.read()
++
++
+ setup(
+ name="structlog",
+ version="23.1.0",
+- dynamic=["readme", "version"],
+ description="Structured Logging for Python",
++ long_description=read_readme(),
++ long_description_content_type="text/markdown",
+ author="Hynek Schlawack",
+ author_email="hs@ox.cx",
+ url="https://github.com/hynek/structlog",
diff --git a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.7.bb b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.7.bb
deleted file mode 100644
index 33904881..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.7.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "C version of reader, parser and emitter for ruamel.yaml"
-HOMEPAGE = "https://sourceforge.net/projects/ruamel-yaml-clib/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=835b7de93e6217192ffce476ecb74e86"
-
-PYPI_PACKAGE = "ruamel.yaml.clib"
-
-SRC_URI[md5sum] = "4b7bc49c0022baf161203dc1ea4806f9"
-SRC_URI[sha256sum] = "1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"
-
-inherit pypi setuptools3
diff --git a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.8.bb b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.8.bb
new file mode 100644
index 00000000..76f12758
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-ruamel.yaml.clib_0.2.8.bb
@@ -0,0 +1,11 @@
+SUMMARY = "C version of reader, parser and emitter for ruamel.yaml"
+HOMEPAGE = "https://sourceforge.net/projects/ruamel-yaml-clib/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1debc1593104ded7e88b0ac5659af552"
+
+PYPI_PACKAGE = "ruamel.yaml.clib"
+
+SRC_URI[md5sum] = "b72e549363fa1b9c4f9123e98f2b46cc"
+SRC_URI[sha256sum] = "beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"
+
+inherit pypi setuptools3
diff --git a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-structlog_23.1.0.bb b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-structlog_23.1.0.bb
index c93cae88..9900901c 100644
--- a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-structlog_23.1.0.bb
+++ b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-structlog_23.1.0.bb
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=0473cdcf9c6ed3f81c08d886870daea5"
PYPI_PACKAGE = "structlog"
-SRC_URI += "file://0001-structlog-add-setup-file.patch"
+SRC_URI += " file://0001-structlog-add-setup-file.patch"
+SRC_URI += " file://0001-Structlog-setup.py-fix.patch"
SRC_URI[md5sum] = "bd2218c8799e44a90689bbdeadcab4f3"
SRC_URI[sha256sum] = "270d681dd7d163c11ba500bc914b2472d2b50a8ef00faa999ded5ff83a2f906b"
diff --git a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.17.0.bb b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.18.0.bb
index 2c6d2880..89ed8bc1 100644
--- a/meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.17.0.bb
+++ b/meta-offline-voice-agent/recipes-python/python3-rasa/python3-uvloop_0.18.0.bb
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=bb92739ddad0a2811957bd98bdb90474"
PYPI_PACKAGE = "uvloop"
-SRC_URI[md5sum] = "bc5e841a1c3f6e8935eeaf9d82b5ee29"
-SRC_URI[sha256sum] = "0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1"
+SRC_URI[md5sum] = "a7679334af9a39dc89f9298088d8d235"
+SRC_URI[sha256sum] = "d5d1135beffe9cd95d0350f19e2716bc38be47d5df296d7cc46e3b7557c0d1ff"
DEPENDS += "python3-cython-native"
diff --git a/meta-offline-voice-agent/recipes-python/python3-scikit-learn/files/0001-hack-around-numpy-get_include-to-force-looking-in-ta.patch b/meta-offline-voice-agent/recipes-python/python3-scikit-learn/files/0001-hack-around-numpy-get_include-to-force-looking-in-ta.patch
deleted file mode 100644
index bd0f9458..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scikit-learn/files/0001-hack-around-numpy-get_include-to-force-looking-in-ta.patch
+++ /dev/null
@@ -1,563 +0,0 @@
-From eed8f56c787a251a6cad0f4291ca8f4055e463cf Mon Sep 17 00:00:00 2001
-From: Jack Mitchell <ml@embed.me.uk>
-Date: Fri, 22 Jan 2021 10:16:08 +0000
-Subject: [PATCH] hack around numpy get_include to force looking in target
- sysroot
-
----
- sklearn/__check_build/setup.py | 4 ++--
- sklearn/cluster/setup.py | 12 ++++++------
- sklearn/datasets/setup.py | 4 ++--
- sklearn/decomposition/setup.py | 6 +++---
- sklearn/ensemble/setup.py | 22 +++++++++++-----------
- sklearn/feature_extraction/setup.py | 4 ++--
- sklearn/linear_model/setup.py | 8 ++++----
- sklearn/manifold/setup.py | 6 +++---
- sklearn/metrics/cluster/setup.py | 4 ++--
- sklearn/neighbors/setup.py | 15 +++++++--------
- sklearn/preprocessing/setup.py | 4 ++--
- sklearn/setup.py | 4 ++--
- sklearn/svm/setup.py | 11 ++++++-----
- sklearn/tree/setup.py | 10 +++++-----
- sklearn/utils/setup.py | 16 ++++++++--------
- 15 files changed, 65 insertions(+), 65 deletions(-)
-
-diff --git a/sklearn/__check_build/setup.py b/sklearn/__check_build/setup.py
-index b8c30d9c8..e2bfc90ee 100644
---- a/sklearn/__check_build/setup.py
-+++ b/sklearn/__check_build/setup.py
-@@ -1,7 +1,7 @@
- # Author: Virgile Fritsch <virgile.fritsch@inria.fr>
- # License: BSD 3 clause
-
--import numpy
-+import numpy, os
-
-
- def configuration(parent_package='', top_path=None):
-@@ -9,7 +9,7 @@ def configuration(parent_package='', top_path=None):
- config = Configuration('__check_build', parent_package, top_path)
- config.add_extension('_check_build',
- sources=['_check_build.pyx'],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- return config
-
-diff --git a/sklearn/cluster/setup.py b/sklearn/cluster/setup.py
-index 48ed25c5c..bd395e3aa 100644
---- a/sklearn/cluster/setup.py
-+++ b/sklearn/cluster/setup.py
-@@ -2,7 +2,7 @@
- # License: BSD 3 clause
- import os
-
--import numpy
-+import numpy, os
-
-
- def configuration(parent_package='', top_path=None):
-@@ -16,28 +16,28 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_dbscan_inner',
- sources=['_dbscan_inner.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- language="c++")
-
- config.add_extension('_hierarchical_fast',
- sources=['_hierarchical_fast.pyx'],
- language="c++",
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_k_means_fast',
- sources=['_k_means_fast.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_k_means_lloyd',
- sources=['_k_means_lloyd.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_k_means_elkan',
- sources=['_k_means_elkan.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage('tests')
-diff --git a/sklearn/datasets/setup.py b/sklearn/datasets/setup.py
-index 1107505d4..de4ac3c87 100644
---- a/sklearn/datasets/setup.py
-+++ b/sklearn/datasets/setup.py
-@@ -1,5 +1,5 @@
-
--import numpy
-+import numpy, os
- import os
- import platform
-
-@@ -14,7 +14,7 @@ def configuration(parent_package='', top_path=None):
- if platform.python_implementation() != 'PyPy':
- config.add_extension('_svmlight_format_fast',
- sources=['_svmlight_format_fast.pyx'],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
- config.add_subpackage('tests')
- return config
-
-diff --git a/sklearn/decomposition/setup.py b/sklearn/decomposition/setup.py
-index f915d6d78..26799c0af 100644
---- a/sklearn/decomposition/setup.py
-+++ b/sklearn/decomposition/setup.py
-@@ -1,5 +1,5 @@
- import os
--import numpy
-+import numpy, os
- from numpy.distutils.misc_util import Configuration
-
-
-@@ -12,12 +12,12 @@ def configuration(parent_package="", top_path=None):
-
- config.add_extension("_online_lda_fast",
- sources=["_online_lda_fast.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_cdnmf_fast',
- sources=['_cdnmf_fast.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage("tests")
-diff --git a/sklearn/ensemble/setup.py b/sklearn/ensemble/setup.py
-index 05d71cf31..c12382220 100644
---- a/sklearn/ensemble/setup.py
-+++ b/sklearn/ensemble/setup.py
-@@ -1,4 +1,4 @@
--import numpy
-+import numpy, os
- from numpy.distutils.misc_util import Configuration
-
-
-@@ -7,7 +7,7 @@ def configuration(parent_package="", top_path=None):
-
- config.add_extension("_gradient_boosting",
- sources=["_gradient_boosting.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_subpackage("tests")
-
-@@ -15,39 +15,39 @@ def configuration(parent_package="", top_path=None):
- config.add_extension(
- "_hist_gradient_boosting._gradient_boosting",
- sources=["_hist_gradient_boosting/_gradient_boosting.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting.histogram",
- sources=["_hist_gradient_boosting/histogram.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting.splitting",
- sources=["_hist_gradient_boosting/splitting.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting._binning",
- sources=["_hist_gradient_boosting/_binning.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting._predictor",
- sources=["_hist_gradient_boosting/_predictor.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting._loss",
- sources=["_hist_gradient_boosting/_loss.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting._bitset",
- sources=["_hist_gradient_boosting/_bitset.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting.common",
- sources=["_hist_gradient_boosting/common.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension("_hist_gradient_boosting.utils",
- sources=["_hist_gradient_boosting/utils.pyx"],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_subpackage("_hist_gradient_boosting.tests")
-
-diff --git a/sklearn/feature_extraction/setup.py b/sklearn/feature_extraction/setup.py
-index 8c3bbb100..a872c7603 100644
---- a/sklearn/feature_extraction/setup.py
-+++ b/sklearn/feature_extraction/setup.py
-@@ -3,7 +3,7 @@ import platform
-
-
- def configuration(parent_package='', top_path=None):
-- import numpy
-+ import numpy, os
- from numpy.distutils.misc_util import Configuration
-
- config = Configuration('feature_extraction', parent_package, top_path)
-@@ -14,7 +14,7 @@ def configuration(parent_package='', top_path=None):
- if platform.python_implementation() != 'PyPy':
- config.add_extension('_hashing_fast',
- sources=['_hashing_fast.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
- config.add_subpackage("tests")
-
-diff --git a/sklearn/linear_model/setup.py b/sklearn/linear_model/setup.py
-index d0c9e8c04..962340210 100644
---- a/sklearn/linear_model/setup.py
-+++ b/sklearn/linear_model/setup.py
-@@ -1,5 +1,5 @@
- import os
--import numpy
-+import numpy, os
-
- from sklearn._build_utils import gen_from_templates
-
-@@ -15,12 +15,12 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_cd_fast',
- sources=['_cd_fast.pyx'],
-- include_dirs=numpy.get_include(),
-+ include_dirs=os.environ["NUMPY_INCLUDE_PATH"],
- libraries=libraries)
-
- config.add_extension('_sgd_fast',
- sources=['_sgd_fast.pyx'],
-- include_dirs=numpy.get_include(),
-+ include_dirs=os.environ["NUMPY_INCLUDE_PATH"],
- libraries=libraries)
-
- # generate sag_fast from template
-@@ -29,7 +29,7 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_sag_fast',
- sources=['_sag_fast.pyx'],
-- include_dirs=numpy.get_include())
-+ include_dirs=os.environ["NUMPY_INCLUDE_PATH"])
-
- # add other directories
- config.add_subpackage('tests')
-diff --git a/sklearn/manifold/setup.py b/sklearn/manifold/setup.py
-index 0db2d5d04..959a4996a 100644
---- a/sklearn/manifold/setup.py
-+++ b/sklearn/manifold/setup.py
-@@ -1,6 +1,6 @@
- import os
-
--import numpy
-+import numpy, os
-
-
- def configuration(parent_package="", top_path=None):
-@@ -14,13 +14,13 @@ def configuration(parent_package="", top_path=None):
-
- config.add_extension("_utils",
- sources=["_utils.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=["-O3"])
-
- config.add_extension("_barnes_hut_tsne",
- sources=["_barnes_hut_tsne.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=['-O3'])
-
-diff --git a/sklearn/metrics/cluster/setup.py b/sklearn/metrics/cluster/setup.py
-index c39e414d9..98640b5f3 100644
---- a/sklearn/metrics/cluster/setup.py
-+++ b/sklearn/metrics/cluster/setup.py
-@@ -1,6 +1,6 @@
- import os
-
--import numpy
-+import numpy, os
- from numpy.distutils.misc_util import Configuration
-
-
-@@ -11,7 +11,7 @@ def configuration(parent_package="", top_path=None):
- libraries.append('m')
- config.add_extension("_expected_mutual_info_fast",
- sources=["_expected_mutual_info_fast.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage("tests")
-diff --git a/sklearn/neighbors/setup.py b/sklearn/neighbors/setup.py
-index 926404467..aeedcb940 100644
---- a/sklearn/neighbors/setup.py
-+++ b/sklearn/neighbors/setup.py
-@@ -2,7 +2,7 @@ import os
-
-
- def configuration(parent_package='', top_path=None):
-- import numpy
-+ import numpy, os
- from numpy.distutils.misc_util import Configuration
-
- config = Configuration('neighbors', parent_package, top_path)
-@@ -12,28 +12,27 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_ball_tree',
- sources=['_ball_tree.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_kd_tree',
- sources=['_kd_tree.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_dist_metrics',
- sources=['_dist_metrics.pyx'],
-- include_dirs=[numpy.get_include(),
-- os.path.join(numpy.get_include(),
-- 'numpy')],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"],
-+ os.path.join(os.environ["NUMPY_INCLUDE_PATH"], 'numpy')],
- libraries=libraries)
-
- config.add_extension('_typedefs',
- sources=['_typedefs.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
- config.add_extension("_quad_tree",
- sources=["_quad_tree.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage('tests')
-diff --git a/sklearn/preprocessing/setup.py b/sklearn/preprocessing/setup.py
-index 29dae9b8f..7c059d90f 100644
---- a/sklearn/preprocessing/setup.py
-+++ b/sklearn/preprocessing/setup.py
-@@ -2,7 +2,7 @@ import os
-
-
- def configuration(parent_package='', top_path=None):
-- import numpy
-+ import numpy, os
- from numpy.distutils.misc_util import Configuration
-
- config = Configuration('preprocessing', parent_package, top_path)
-@@ -12,7 +12,7 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_csr_polynomial_expansion',
- sources=['_csr_polynomial_expansion.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage('tests')
-diff --git a/sklearn/setup.py b/sklearn/setup.py
-index e5d7e6e26..a814bca87 100644
---- a/sklearn/setup.py
-+++ b/sklearn/setup.py
-@@ -6,7 +6,7 @@ from sklearn._build_utils import cythonize_extensions
-
- def configuration(parent_package='', top_path=None):
- from numpy.distutils.misc_util import Configuration
-- import numpy
-+ import numpy, os
-
- libraries = []
- if os.name == 'posix':
-@@ -69,7 +69,7 @@ def configuration(parent_package='', top_path=None):
- # add cython extension module for isotonic regression
- config.add_extension('_isotonic',
- sources=['_isotonic.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- )
-
-diff --git a/sklearn/svm/setup.py b/sklearn/svm/setup.py
-index dffcff8eb..d01614780 100644
---- a/sklearn/svm/setup.py
-+++ b/sklearn/svm/setup.py
-@@ -1,6 +1,6 @@
- import os
- from os.path import join
--import numpy
-+import numpy, os
-
-
- def configuration(parent_package='', top_path=None):
-@@ -13,7 +13,7 @@ def configuration(parent_package='', top_path=None):
- # newrand wrappers
- config.add_extension('_newrand',
- sources=['_newrand.pyx'],
-- include_dirs=[numpy.get_include(),
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"],
- join('src', 'newrand')],
- depends=[join('src', 'newrand', 'newrand.h')],
- language='c++',
-@@ -34,6 +34,7 @@ def configuration(parent_package='', top_path=None):
- extra_link_args=['-lstdc++'],
- # Use C++11 to use the random number generator fix
- extra_compiler_args=['-std=c++11'],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- )
-
- libsvm_sources = ['_libsvm.pyx']
-@@ -45,7 +46,7 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_libsvm',
- sources=libsvm_sources,
-- include_dirs=[numpy.get_include(),
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"],
- join('src', 'libsvm'),
- join('src', 'newrand')],
- libraries=['libsvm-skl'],
-@@ -82,7 +83,7 @@ def configuration(parent_package='', top_path=None):
- include_dirs=[join('.', 'src', 'liblinear'),
- join('.', 'src', 'newrand'),
- join('..', 'utils'),
-- numpy.get_include()],
-+ os.environ["NUMPY_INCLUDE_PATH"]],
- depends=liblinear_depends,
- # extra_compile_args=['-O0 -fno-inline'],
- )
-@@ -93,7 +94,7 @@ def configuration(parent_package='', top_path=None):
- libsvm_sparse_sources = ['_libsvm_sparse.pyx']
- config.add_extension('_libsvm_sparse', libraries=['libsvm-skl'],
- sources=libsvm_sparse_sources,
-- include_dirs=[numpy.get_include(),
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"],
- join("src", "libsvm"),
- join("src", "newrand")],
- depends=[join("src", "libsvm", "svm.h"),
-diff --git a/sklearn/tree/setup.py b/sklearn/tree/setup.py
-index 079ae9d86..0308a5cf9 100644
---- a/sklearn/tree/setup.py
-+++ b/sklearn/tree/setup.py
-@@ -1,6 +1,6 @@
- import os
-
--import numpy
-+import numpy, os
- from numpy.distutils.misc_util import Configuration
-
-
-@@ -11,22 +11,22 @@ def configuration(parent_package="", top_path=None):
- libraries.append('m')
- config.add_extension("_tree",
- sources=["_tree.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=["-O3"])
- config.add_extension("_splitter",
- sources=["_splitter.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=["-O3"])
- config.add_extension("_criterion",
- sources=["_criterion.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=["-O3"])
- config.add_extension("_utils",
- sources=["_utils.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries,
- extra_compile_args=["-O3"])
-
-diff --git a/sklearn/utils/setup.py b/sklearn/utils/setup.py
-index 098adeecc..d24e1b1c8 100644
---- a/sklearn/utils/setup.py
-+++ b/sklearn/utils/setup.py
-@@ -5,7 +5,7 @@ from sklearn._build_utils import gen_from_templates
-
-
- def configuration(parent_package='', top_path=None):
-- import numpy
-+ import numpy, os
- from numpy.distutils.misc_util import Configuration
-
- config = Configuration('utils', parent_package, top_path)
-@@ -24,7 +24,7 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('arrayfuncs',
- sources=['arrayfuncs.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('murmurhash',
-@@ -34,12 +34,12 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('graph_shortest_path',
- sources=['graph_shortest_path.pyx'],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension('_fast_dict',
- sources=['_fast_dict.pyx'],
- language="c++",
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension('_openmp_helpers',
-@@ -53,21 +53,21 @@ def configuration(parent_package='', top_path=None):
-
- config.add_extension('_seq_dataset',
- sources=['_seq_dataset.pyx'],
-- include_dirs=[numpy.get_include()])
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]])
-
- config.add_extension('_weight_vector',
- sources=['_weight_vector.pyx'],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension("_random",
- sources=["_random.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_extension("_logistic_sigmoid",
- sources=["_logistic_sigmoid.pyx"],
-- include_dirs=[numpy.get_include()],
-+ include_dirs=[os.environ["NUMPY_INCLUDE_PATH"]],
- libraries=libraries)
-
- config.add_subpackage('tests')
diff --git a/meta-offline-voice-agent/recipes-python/python3-scikit-learn/python3-scikit-learn_0.24.2.bb b/meta-offline-voice-agent/recipes-python/python3-scikit-learn/python3-scikit-learn_0.24.2.bb
deleted file mode 100644
index 64a532f0..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scikit-learn/python3-scikit-learn_0.24.2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "A set of python modules for machine learning and data mining"
-HOMEPAGE = "http://scikit-learn.org"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8d7e027b3e67a2b1fe7fe85ebeb17d7"
-
-SRC_URI = "git://github.com/scikit-learn/scikit-learn.git;branch=0.24.X;protocol=https \
- file://0001-hack-around-numpy-get_include-to-force-looking-in-ta.patch \
- "
-SRCREV = "15a949460dbf19e5e196b8ef48f9712b72a3b3c3"
-S = "${WORKDIR}/git"
-
-DEPENDS += "python3-numpy-native python3-scipy-native python3-cython-native python3-numpy python3-scipy python3-cython"
-
-inherit setuptools3 pkgconfig python3-dir
-
-RDEPENDS:${PN} += "python3-numpy python3-scipy python3-joblib python3-threadpoolctl python3-pytest"
-
-export PYTHON_CROSSENV = "1"
-export SKLEARN_BUILD_PARALLEL = "${@oe.utils.cpu_count()}"
-export NPY_PKG_CONFIG_PATH = "${WORKDIR}/npy-pkg-config"
-export NUMPY_INCLUDE_PATH = "${STAGING_DIR_TARGET}/usr/lib/python${PYTHON_BASEVERSION}/site-packages/numpy/core/include"
-
-# Tell Numpy to look in target sysroot site-packages directory for libraries
-LDFLAGS:append = " -L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/lib"
-
-do_compile:prepend() {
- echo "[ALL]" > ${S}/site.cfg
- echo "library_dirs = ${STAGING_LIBDIR}" >> ${S}/site.cfg
- echo "include_dirs = ${STAGING_INCDIR}" >> ${S}/site.cfg
-
- mkdir -p ${WORKDIR}/npy-pkg-config
- cp ${STAGING_DIR_TARGET}/usr/lib/python${PYTHON_BASEVERSION}/site-packages/numpy/core/lib/npy-pkg-config/* ${WORKDIR}/npy-pkg-config
- sed -i 's&prefix=${pkgdir}&prefix=${STAGING_DIR_TARGET}/usr/lib/python${PYTHON_BASEVERSION}/site-packages/numpy/core&g' ${WORKDIR}/npy-pkg-config/npymath.ini
- sed -i 's&prefix=${pkgdir}&prefix=${STAGING_DIR_TARGET}/usr/lib/python${PYTHON_BASEVERSION}/site-packages/numpy/core&g' ${WORKDIR}/npy-pkg-config/mlib.ini
-}
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/files/0001-Allow-passing-flags-via-FARCH-for-mach.patch b/meta-offline-voice-agent/recipes-python/python3-scipy/files/0001-Allow-passing-flags-via-FARCH-for-mach.patch
deleted file mode 100644
index 8a874af4..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/files/0001-Allow-passing-flags-via-FARCH-for-mach.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 973767f29391eca1c76292556de03cdd7520c07d Mon Sep 17 00:00:00 2001
-From: Erik Boto <erik.boto@gmail.com>
-Date: Tue, 3 Nov 2020 09:08:56 -0700
-Subject: [PATCH] Allow passing flags via FARCH for mach
-
-Enable passing options via FARCH, so that the flags for setting the
-correct floating point ABI is propagated properly to the fortran
-compiler.
-
-This fixes an issue where the mach lib would otherwise be built as
-soft-float, even though the target arch is hard-float.
----
- scipy/integrate/setup.py | 3 +--
- scipy/special/setup.py | 3 +--
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/scipy/integrate/setup.py b/scipy/integrate/setup.py
-index 11ce3d1..8e4a3dc 100755
---- a/scipy/integrate/setup.py
-+++ b/scipy/integrate/setup.py
-@@ -34,8 +34,7 @@ def configuration(parent_package='',top_path=None):
- quadpack_test_src = [join('tests','_test_multivariate.c')]
- odeint_banded_test_src = [join('tests', 'banded5x5.f')]
-
-- config.add_library('mach', sources=mach_src, config_fc={'noopt': (__file__, 1)},
-- _pre_build_hook=pre_build_hook)
-+ config.add_library('mach', sources=mach_src, _pre_build_hook=pre_build_hook)
- config.add_library('quadpack', sources=quadpack_src, _pre_build_hook=pre_build_hook)
- config.add_library('lsoda', sources=lsoda_src, _pre_build_hook=pre_build_hook)
- config.add_library('vode', sources=vode_src, _pre_build_hook=pre_build_hook)
-diff --git a/scipy/special/setup.py b/scipy/special/setup.py
-index 81eb09f..260cfb3 100755
---- a/scipy/special/setup.py
-+++ b/scipy/special/setup.py
-@@ -46,8 +46,7 @@ def configuration(parent_package='',top_path=None):
- amos_src = [join('amos','*.f')]
- cdf_src = [join('cdflib','*.f')]
- specfun_src = [join('specfun','*.f')]
-- config.add_library('sc_mach',sources=mach_src,
-- config_fc={'noopt':(__file__,1)})
-+ config.add_library('sc_mach',sources=mach_src)
- config.add_library('sc_amos',sources=amos_src)
- config.add_library('sc_cdf',sources=cdf_src)
- config.add_library('sc_specfun',sources=specfun_src)
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/files/static-lib.patch b/meta-offline-voice-agent/recipes-python/python3-scipy/files/static-lib.patch
deleted file mode 100644
index 05b6133a..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/files/static-lib.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/scipy/stats/setup.py b/scipy/stats/setup.py
-index 52a5a36f0..fb5c16a6b 100644
---- a/scipy/stats/setup.py
-+++ b/scipy/stats/setup.py
-@@ -64,10 +64,10 @@ def configuration(parent_package='', top_path=None):
- biasedurn_libs = []
- biasedurn_libdirs = []
- else:
-- biasedurn_libs = ['npyrandom', 'npymath']
-- biasedurn_libdirs = [join(np.get_include(),
-- '..', '..', 'random', 'lib')]
-- biasedurn_libdirs += get_info('npymath')['library_dirs']
-+ biasedurn_libs = [join(os.environ["NUMPY_INCLUDE_PATH"],
-+ '..', '..', 'random', 'lib', 'libnpyrandom.a')]
-+ biasedurn_libs.append([join(os.environ["NUMPY_INCLUDE_PATH"],
-+ '..', '..', 'core', 'lib', 'libnpymath.a')])
-
- ext = config.add_extension(
- '_biasedurn',
-@@ -79,11 +79,10 @@ def configuration(parent_package='', top_path=None):
- 'biasedurn/stoc1.cpp',
- 'biasedurn/stoc3.cpp'],
- include_dirs=[np.get_include()],
-- library_dirs=biasedurn_libdirs,
-- libraries=biasedurn_libs,
- define_macros=[('R_BUILD', None)],
- language='c++',
- depends=['biasedurn/stocR.h'],
-+ extra_objects=biasedurn_libs,
- )
- ext._pre_build_hook = pre_build_hook
-
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-beniget_0.4.1.bb b/meta-offline-voice-agent/recipes-python/python3-scipy/python3-beniget_0.4.1.bb
deleted file mode 100644
index cfd31447..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-beniget_0.4.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A static analyzer for Python2 and Python3 code"
-HOMEPAGE = "https://github.com/serge-sans-paille/beniget/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=02550c296a72ab0b70961eb70a5a7242"
-
-SRC_URI[md5sum] = "a2bbe7f17f10f9c127d8ef00692ddc55"
-SRC_URI[sha256sum] = "75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native"
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-pythran_0.11.0.bb b/meta-offline-voice-agent/recipes-python/python3-scipy/python3-pythran_0.11.0.bb
deleted file mode 100644
index deabb9b5..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-pythran_0.11.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Ahead of Time compiler for numeric kernels"
-HOMEPAGE = "https://pythran.readthedocs.io/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e277a0b6033e0cb3d510c86b74144b01"
-
-SRC_URI[md5sum] = "e09e90484771937ab499380858bdb18d"
-SRC_URI[sha256sum] = "0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875"
-
-DEPENDS += "python3-gast"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-beniget python3-gast"
-BBCLASSEXTEND = "native"
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy-native_1.8.1.bb b/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy-native_1.8.1.bb
deleted file mode 100644
index 8827e58e..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy-native_1.8.1.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "SciPy: Scientific Library for Python"
-HOMEPAGE = "https://www.scipy.org"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=27ca2e35416b6316570bf126e08b7062"
-
-SRC_URI = "https://pypi.python.org/packages/source/s/scipy/scipy-${PV}.tar.gz \
- file://0001-Allow-passing-flags-via-FARCH-for-mach.patch \
- "
-
-SRC_URI[md5sum] = "df5ce79288fc457238aeef18e8f70dfc"
-SRC_URI[sha256sum] = "9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33"
-
-S = "${WORKDIR}/scipy-${PV}"
-
-DEPENDS += " \
- ${PYTHON_PN}-numpy-native \
- ${PYTHON_PN}-pybind11-native \
- ${PYTHON_PN}-pythran-native \
- ${PYTHON_PN}-gast-native \
- ${PYTHON_PN}-beniget-native \
- ${PYTHON_PN}-ply-native \
- lapack-native \
- openblas-native \
-"
-
-CLEANBROKEN = "1"
-
-inherit setuptools3 native
-
-export LAPACK = "${STAGING_LIBDIR}"
-export BLAS = "${STAGING_LIBDIR}"
-
-export F90 = "${FC}"
-
-# Numpy expects the LDSHARED env variable to point to a single
-# executable, but OE sets it to include some flags as well. So we split
-# the existing LDSHARED variable into the base executable and flags, and
-# prepend the flags into LDFLAGS
-LDFLAGS:prepend := "${@" ".join(d.getVar('LDSHARED', True).split()[1:])} "
-export LDSHARED := "${@d.getVar('LDSHARED', True).split()[0]}"
-
-# Tell Numpy to look in target sysroot site-packages directory for libraries
-LDFLAGS:append = " -L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/lib"
-
-INSANE_SKIP:${PN} = "already-stripped"
diff --git a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy_1.8.1.bb b/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy_1.8.1.bb
deleted file mode 100644
index 1f562ebf..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-scipy/python3-scipy_1.8.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "SciPy: Scientific Library for Python"
-HOMEPAGE = "https://www.scipy.org"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=27ca2e35416b6316570bf126e08b7062"
-
-SRC_URI += " \
- file://0001-Allow-passing-flags-via-FARCH-for-mach.patch \
- file://static-lib.patch \
-"
-SRC_URI[md5sum] = "df5ce79288fc457238aeef18e8f70dfc"
-SRC_URI[sha256sum] = "9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33"
-
-DEPENDS += " \
- ${PYTHON_PN}-numpy \
- ${PYTHON_PN}-numpy-native \
- ${PYTHON_PN}-pybind11-native \
- ${PYTHON_PN}-pythran-native \
- ${PYTHON_PN}-gast-native \
- ${PYTHON_PN}-beniget-native \
- ${PYTHON_PN}-ply-native \
- lapack \
- openblas \
-"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-numpy \
- lapack \
- openblas \
-"
-
-CLEANBROKEN = "1"
-
-export LAPACK = "${STAGING_LIBDIR}"
-export BLAS = "${STAGING_LIBDIR}"
-
-export F90 = "${TARGET_PREFIX}gfortran"
-export F77 = "${TARGET_PREFIX}gfortran"
-export FARCH = "${TUNE_CCARGS}"
-
-export NUMPY_INCLUDE_PATH = "${STAGING_DIR_TARGET}/usr/lib/python${PYTHON_BASEVERSION}/site-packages/numpy/core/include"
-
-# Numpy expects the LDSHARED env variable to point to a single
-# executable, but OE sets it to include some flags as well. So we split
-# the existing LDSHARED variable into the base executable and flags, and
-# prepend the flags into LDFLAGS
-LDFLAGS:prepend := "${@" ".join(d.getVar('LDSHARED', True).split()[1:])} "
-export LDSHARED := "${@d.getVar('LDSHARED', True).split()[0]}"
-
-# Tell Numpy to look in target sysroot site-packages directory for libraries
-LDFLAGS:append = " -L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/lib"
-
-INSANE_SKIP:${PN} = "already-stripped"
diff --git a/meta-offline-voice-agent/recipes-python/python3-threadpoolctl/python3-threadpoolctl_3.1.0.bb b/meta-offline-voice-agent/recipes-python/python3-threadpoolctl/python3-threadpoolctl_3.1.0.bb
deleted file mode 100644
index 9fed3639..00000000
--- a/meta-offline-voice-agent/recipes-python/python3-threadpoolctl/python3-threadpoolctl_3.1.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Python helpers to limit the number of threads used \
- in native libraries that handle their own internal threadpool"
-HOMEPAGE = "https://github.com/joblib/threadpoolctl"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f2439cfddfbeebdb5cac3ae4ae80eaf"
-
-PYPI_PACKAGE = "threadpoolctl"
-
-SRC_URI[md5sum] = "e278b89038d9c9b39e7afafb8f5f87a3"
-SRC_URI[sha256sum] = "a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380"
-
-DEPENDS += "python3-flit-core python3-setuptools-native"
-
-inherit pypi setuptools3
-
-do_configure:prepend() {
-cat > ${S}/setup.py <<-EOF
-from setuptools import setup
-
-setup(
- name="${PYPI_PACKAGE}",
- version="${PV}",
- license="${LICENSE}",
-)
-EOF
-}
-
-RDEPENDS:${PN} += "python3-flit-core"
-BBCLASSEXTEND = "native" \ No newline at end of file
diff --git a/meta-offline-voice-agent/recipes-python/pytorch/python3-pytorch_%.bbappend b/meta-offline-voice-agent/recipes-python/pytorch/python3-pytorch_%.bbappend
new file mode 100644
index 00000000..6a971f70
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/pytorch/python3-pytorch_%.bbappend
@@ -0,0 +1,7 @@
+# pytorch_%.bbappend
+
+DEPENDS:remove = "gloo"
+
+EXTRA_OECMAKE:remove = "-DUSE_SYSTEM_GLOO=ON"
+
+RDEPENDS:${PN}:remove = "python3-onnx"
diff --git a/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken-crates.inc b/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken-crates.inc
new file mode 100644
index 00000000..1b4d3588
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken-crates.inc
@@ -0,0 +1,100 @@
+# Autogenerated with 'bitbake -c update_crates python3-tiktoken'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/aho-corasick/1.1.3 \
+ crate://crates.io/autocfg/1.3.0 \
+ crate://crates.io/bit-set/0.5.3 \
+ crate://crates.io/bit-vec/0.6.3 \
+ crate://crates.io/bitflags/2.5.0 \
+ crate://crates.io/bstr/1.9.1 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/fancy-regex/0.11.0 \
+ crate://crates.io/heck/0.4.1 \
+ crate://crates.io/indoc/2.0.5 \
+ crate://crates.io/libc/0.2.155 \
+ crate://crates.io/lock_api/0.4.12 \
+ crate://crates.io/memchr/2.7.2 \
+ crate://crates.io/memoffset/0.9.1 \
+ crate://crates.io/once_cell/1.19.0 \
+ crate://crates.io/parking_lot/0.12.3 \
+ crate://crates.io/parking_lot_core/0.9.10 \
+ crate://crates.io/portable-atomic/1.6.0 \
+ crate://crates.io/proc-macro2/1.0.84 \
+ crate://crates.io/pyo3/0.20.3 \
+ crate://crates.io/pyo3-build-config/0.20.3 \
+ crate://crates.io/pyo3-ffi/0.20.3 \
+ crate://crates.io/pyo3-macros/0.20.3 \
+ crate://crates.io/pyo3-macros-backend/0.20.3 \
+ crate://crates.io/quote/1.0.36 \
+ crate://crates.io/redox_syscall/0.5.1 \
+ crate://crates.io/regex/1.10.4 \
+ crate://crates.io/regex-automata/0.4.6 \
+ crate://crates.io/regex-syntax/0.8.3 \
+ crate://crates.io/rustc-hash/1.1.0 \
+ crate://crates.io/scopeguard/1.2.0 \
+ crate://crates.io/serde/1.0.203 \
+ crate://crates.io/serde_derive/1.0.203 \
+ crate://crates.io/smallvec/1.13.2 \
+ crate://crates.io/syn/2.0.66 \
+ crate://crates.io/target-lexicon/0.12.14 \
+ crate://crates.io/unicode-ident/1.0.12 \
+ crate://crates.io/unindent/0.2.3 \
+ crate://crates.io/windows-targets/0.52.5 \
+ crate://crates.io/windows_aarch64_gnullvm/0.52.5 \
+ crate://crates.io/windows_aarch64_msvc/0.52.5 \
+ crate://crates.io/windows_i686_gnu/0.52.5 \
+ crate://crates.io/windows_i686_gnullvm/0.52.5 \
+ crate://crates.io/windows_i686_msvc/0.52.5 \
+ crate://crates.io/windows_x86_64_gnu/0.52.5 \
+ crate://crates.io/windows_x86_64_gnullvm/0.52.5 \
+ crate://crates.io/windows_x86_64_msvc/0.52.5 \
+"
+
+SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+SRC_URI[bit-set-0.5.3.sha256sum] = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+SRC_URI[bit-vec-0.6.3.sha256sum] = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+SRC_URI[bstr-1.9.1.sha256sum] = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[fancy-regex-0.11.0.sha256sum] = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
+SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
+SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+SRC_URI[memchr-2.7.2.sha256sum] = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
+SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+SRC_URI[proc-macro2-1.0.84.sha256sum] = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6"
+SRC_URI[pyo3-0.20.3.sha256sum] = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
+SRC_URI[pyo3-build-config-0.20.3.sha256sum] = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
+SRC_URI[pyo3-ffi-0.20.3.sha256sum] = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
+SRC_URI[pyo3-macros-0.20.3.sha256sum] = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
+SRC_URI[pyo3-macros-backend-0.20.3.sha256sum] = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
+SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+SRC_URI[redox_syscall-0.5.1.sha256sum] = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
+SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+SRC_URI[regex-automata-0.4.6.sha256sum] = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+SRC_URI[regex-syntax-0.8.3.sha256sum] = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+SRC_URI[serde-1.0.203.sha256sum] = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+SRC_URI[serde_derive-1.0.203.sha256sum] = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+SRC_URI[syn-2.0.66.sha256sum] = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
+SRC_URI[target-lexicon-0.12.14.sha256sum] = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
+SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+SRC_URI[windows-targets-0.52.5.sha256sum] = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+SRC_URI[windows_aarch64_gnullvm-0.52.5.sha256sum] = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+SRC_URI[windows_aarch64_msvc-0.52.5.sha256sum] = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+SRC_URI[windows_i686_gnu-0.52.5.sha256sum] = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+SRC_URI[windows_i686_gnullvm-0.52.5.sha256sum] = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+SRC_URI[windows_i686_msvc-0.52.5.sha256sum] = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+SRC_URI[windows_x86_64_gnu-0.52.5.sha256sum] = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+SRC_URI[windows_x86_64_gnullvm-0.52.5.sha256sum] = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
diff --git a/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken_0.7.0.bb b/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken_0.7.0.bb
new file mode 100644
index 00000000..6e5a8f08
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-python/tiktoken/python3-tiktoken_0.7.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "tiktoken is a fast BPE tokeniser for use with OpenAI's models"
+HOMEPAGE = "None"
+AUTHOR = "Shantanu Jain <shantanu@openai.com>"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3794f392e777e4fdf460d9bad404803"
+
+SRC_URI = "https://files.pythonhosted.org/packages/c4/4a/abaec53e93e3ef37224a4dd9e2fc6bb871e7a538c2b6b9d2a6397271daf4/tiktoken-0.7.0.tar.gz"
+SRC_URI[md5sum] = "62b4a9f1953826e61f8e09eb4a51965a"
+SRC_URI[sha256sum] = "1077266e949c24e0291f6c350433c6f0971365ece2b173a23bc3b9f9defef6b6"
+
+require ${BPN}-crates.inc
+
+S = "${WORKDIR}/tiktoken-0.7.0"
+
+DEPENDS += "python3-regex"
+
+RDEPENDS_${PN} = "python3-regex python3-requests python3-urllib3"
+
+inherit cargo setuptools3 python_setuptools3_rust cargo-update-recipe-crates
+
+