summaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-pydantic-core
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-07-22 22:36:49 -0700
committerKhem Raj <raj.khem@gmail.com>2025-07-23 08:46:33 -0700
commit543dc3fa10cbe86c82cf4a0c50bfc4a27f931d50 (patch)
tree8a1e3fbd872beb520f380c9cbd7b99a89de70227 /meta-python/recipes-devtools/python/python3-pydantic-core
parent64c46bbb7264957cf0145047fa7825ee3ca73ad1 (diff)
downloadmeta-openembedded-543dc3fa10cbe86c82cf4a0c50bfc4a27f931d50.tar.gz
python3-pydantic-core: Fix build on rv32
version needs getrandom from musl libc on musl targets but rust libc locked in for this target is older than the change needed for this to work on newer architectures Fixes | error[E0425]: cannot find value `getrandom` in crate `libc` | --> /usr/src/debug/python3-pydantic-core/2.35.2/sources/cargo_home/bitbake/getrandom-0.3.3/src/backends/linux_android_with_fallback.rs:34:39 Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-pydantic-core')
-rw-r--r--meta-python/recipes-devtools/python/python3-pydantic-core/0001-musl-enable-getrandom-on-all-musl-platforms.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-pydantic-core/0001-musl-enable-getrandom-on-all-musl-platforms.patch b/meta-python/recipes-devtools/python/python3-pydantic-core/0001-musl-enable-getrandom-on-all-musl-platforms.patch
new file mode 100644
index 0000000000..fd94526686
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-pydantic-core/0001-musl-enable-getrandom-on-all-musl-platforms.patch
@@ -0,0 +1,81 @@
1From 4253e25b7f31d207c69b9997f403b6e4e560e258 Mon Sep 17 00:00:00 2001
2From: Tamir Duberstein <tamird@gmail.com>
3Date: Thu, 20 Mar 2025 11:45:08 -0400
4Subject: [PATCH] musl: enable `getrandom` on all musl platforms
5
6The existing bindings were added in #1399 and limited to targets where
7rustc used musl version >= 1.1.20 which was not all musl targets at that
8time. Since https://github.com/rust-lang/rust/pull/107129 all musl
9targets use musl 1.2.3. Hence, move the binding to the module root so it
10is available for all musl targets.
11
12Upstream-Status: Backport [https://github.com/rust-lang/libc/pull/4346]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 src/unix/linux_like/linux/musl/b32/arm/mod.rs | 4 ----
16 src/unix/linux_like/linux/musl/b32/powerpc.rs | 4 ----
17 src/unix/linux_like/linux/musl/b32/x86/mod.rs | 4 ----
18 src/unix/linux_like/linux/musl/b64/mod.rs | 4 ----
19 src/unix/linux_like/linux/musl/mod.rs | 2 ++
20 5 files changed, 2 insertions(+), 16 deletions(-)
21
22--- a/src/unix/linux_like/linux/musl/b32/arm/mod.rs
23+++ b/src/unix/linux_like/linux/musl/b32/arm/mod.rs
24@@ -841,10 +841,6 @@ pub const SYS_process_mrelease: ::c_long
25 pub const SYS_futex_waitv: ::c_long = 449;
26 pub const SYS_set_mempolicy_home_node: ::c_long = 450;
27
28-extern "C" {
29- pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
30-}
31-
32 cfg_if! {
33 if #[cfg(libc_align)] {
34 mod align;
35--- a/src/unix/linux_like/linux/musl/b32/powerpc.rs
36+++ b/src/unix/linux_like/linux/musl/b32/powerpc.rs
37@@ -796,7 +796,3 @@ pub const SYS_memfd_secret: ::c_long = 4
38 pub const SYS_process_mrelease: ::c_long = 448;
39 pub const SYS_futex_waitv: ::c_long = 449;
40 pub const SYS_set_mempolicy_home_node: ::c_long = 450;
41-
42-extern "C" {
43- pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
44-}
45--- a/src/unix/linux_like/linux/musl/b32/x86/mod.rs
46+++ b/src/unix/linux_like/linux/musl/b32/x86/mod.rs
47@@ -956,10 +956,6 @@ pub const EFL: ::c_int = 14;
48 pub const UESP: ::c_int = 15;
49 pub const SS: ::c_int = 16;
50
51-extern "C" {
52- pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
53-}
54-
55 cfg_if! {
56 if #[cfg(libc_align)] {
57 mod align;
58--- a/src/unix/linux_like/linux/musl/b64/mod.rs
59+++ b/src/unix/linux_like/linux/musl/b64/mod.rs
60@@ -134,10 +134,6 @@ pub const __SIZEOF_PTHREAD_RWLOCK_T: usi
61 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
62 pub const __SIZEOF_PTHREAD_BARRIER_T: usize = 32;
63
64-extern "C" {
65- pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
66-}
67-
68 cfg_if! {
69 if #[cfg(target_arch = "aarch64")] {
70 mod aarch64;
71--- a/src/unix/linux_like/linux/musl/mod.rs
72+++ b/src/unix/linux_like/linux/musl/mod.rs
73@@ -885,6 +885,8 @@ extern "C" {
74
75 pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
76 pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
77+ // Addded in `musl` 1.1.20
78+ pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
79 }
80
81 // Alias <foo> to <foo>64 to mimic glibc's LFS64 support