diff options
author | Khem Raj <raj.khem@gmail.com> | 2022-03-05 22:48:31 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2022-03-09 07:37:03 -0800 |
commit | 1cf791b208c315e83109fb8eff34935294b5bc9c (patch) | |
tree | 8da71f710c93f093f701728af3fe1a08e6a49452 | |
parent | bc8241129c8b9b32e6e81dbf444c80c86a74e53b (diff) | |
download | meta-openembedded-1cf791b208c315e83109fb8eff34935294b5bc9c.tar.gz |
python3-pyruvate: Fix build on riscv32
refresh upstream status as needed.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
5 files changed, 175 insertions, 9 deletions
diff --git a/meta-python/recipes-devtools/python/python3-pyruvate/0001-linux.rs-Define-consts-for-rv32-architecture.patch b/meta-python/recipes-devtools/python/python3-pyruvate/0001-linux.rs-Define-consts-for-rv32-architecture.patch new file mode 100644 index 0000000000..a2d4091a95 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyruvate/0001-linux.rs-Define-consts-for-rv32-architecture.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | From 3a3bd8475f93d54cb5bb62d239247fef2e03a733 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 5 Mar 2022 00:37:01 -0800 | ||
4 | Subject: [PATCH] linux.rs: Define consts for rv32 architecture | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/nix-rust/nix/pull/1669] | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | src/sys/ioctl/linux.rs | 1 + | ||
10 | 1 file changed, 1 insertion(+) | ||
11 | |||
12 | diff --git a/src/sys/ioctl/linux.rs b/src/sys/ioctl/linux.rs | ||
13 | index 68ebaba..08cd0c3 100644 | ||
14 | --- a/src/sys/ioctl/linux.rs | ||
15 | +++ b/src/sys/ioctl/linux.rs | ||
16 | @@ -34,6 +34,7 @@ mod consts { | ||
17 | target_arch = "s390x", | ||
18 | target_arch = "x86_64", | ||
19 | target_arch = "aarch64", | ||
20 | + target_arch = "riscv32", | ||
21 | target_arch = "riscv64"))] | ||
22 | mod consts { | ||
23 | #[doc(hidden)] | ||
24 | -- | ||
25 | 2.35.1 | ||
26 | |||
diff --git a/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv32-Define-O_LARGEFILE.patch b/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv32-Define-O_LARGEFILE.patch new file mode 100644 index 0000000000..0ecb50478e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv32-Define-O_LARGEFILE.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 8c1251b57827c7e757079d6e9304570643e8e80a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 5 Mar 2022 22:18:49 -0800 | ||
4 | Subject: [PATCH] riscv32: Define O_LARGEFILE | ||
5 | |||
6 | Some applications (e.g. nix) use this define and expect it to come from libc | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/2710] | ||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs | 2 ++ | ||
12 | 1 file changed, 2 insertions(+) | ||
13 | |||
14 | diff --git a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs | ||
15 | index 4d551eb..feaa00a 100644 | ||
16 | --- a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs | ||
17 | +++ b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs | ||
18 | @@ -490,6 +490,8 @@ pub const FIONREAD: ::c_ulong = 21531; | ||
19 | pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; | ||
20 | pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; | ||
21 | |||
22 | +pub const O_LARGEFILE: ::c_int = 0; | ||
23 | + | ||
24 | pub const SYS_read: ::c_long = 63; | ||
25 | pub const SYS_write: ::c_long = 64; | ||
26 | pub const SYS_close: ::c_long = 57; | ||
27 | -- | ||
28 | 2.35.1 | ||
29 | |||
diff --git a/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv64-mod.rs-Add-missing-error-codes.patch b/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv64-mod.rs-Add-missing-error-codes.patch index 67108472ac..6143342178 100644 --- a/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv64-mod.rs-Add-missing-error-codes.patch +++ b/meta-python/recipes-devtools/python/python3-pyruvate/0001-riscv64-mod.rs-Add-missing-error-codes.patch | |||
@@ -1,21 +1,21 @@ | |||
1 | From c711fb215de54f960a35cdc48cd506b6b5db4918 Mon Sep 17 00:00:00 2001 | 1 | From a6f5bb3e7fe51733144497a3b5962b300f922a2d Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 26 Jan 2022 11:50:58 -0800 | 3 | Date: Mon, 7 Mar 2022 11:02:46 -0800 |
4 | Subject: [PATCH] riscv64/mod.rs: Add missing error codes | 4 | Subject: [PATCH] riscv64/mod.rs: Add missing error codes |
5 | 5 | ||
6 | These are flagged by apps e.g. python3-pyruvate | 6 | These are flagged by apps e.g. python3-pyruvate |
7 | 7 | ||
8 | Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/2656] | 8 | Upstream-Status: Backport [https://github.com/rust-lang/libc/commit/c711fb215de54f960a35cdc48cd506b6b5db4918] |
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
10 | --- | 10 | --- |
11 | src/unix/linux_like/linux/musl/b64/riscv64/mod.rs | 5 +++++ | 11 | src/unix/linux_like/linux/musl/b64/riscv64/mod.rs | 5 +++++ |
12 | 1 file changed, 5 insertions(+) | 12 | 1 file changed, 5 insertions(+) |
13 | 13 | ||
14 | diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs | 14 | diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs |
15 | index b075b4a05..6b17621c7 100644 | 15 | index 48fee4e..7c88abe 100644 |
16 | --- a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs | 16 | --- a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs |
17 | +++ b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs | 17 | +++ b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs |
18 | @@ -548,6 +548,11 @@ pub const EHOSTUNREACH: ::c_int = 113; | 18 | @@ -551,6 +551,11 @@ pub const EHOSTUNREACH: ::c_int = 113; |
19 | pub const EALREADY: ::c_int = 114; | 19 | pub const EALREADY: ::c_int = 114; |
20 | pub const EINPROGRESS: ::c_int = 115; | 20 | pub const EINPROGRESS: ::c_int = 115; |
21 | pub const ESTALE: ::c_int = 116; | 21 | pub const ESTALE: ::c_int = 116; |
@@ -28,5 +28,5 @@ index b075b4a05..6b17621c7 100644 | |||
28 | pub const ENOMEDIUM: ::c_int = 123; | 28 | pub const ENOMEDIUM: ::c_int = 123; |
29 | pub const EMEDIUMTYPE: ::c_int = 124; | 29 | pub const EMEDIUMTYPE: ::c_int = 124; |
30 | -- | 30 | -- |
31 | 2.35.0 | 31 | 2.35.1 |
32 | 32 | ||
diff --git a/meta-python/recipes-devtools/python/python3-pyruvate/0001-statfs-Exclude-riscv32.patch b/meta-python/recipes-devtools/python/python3-pyruvate/0001-statfs-Exclude-riscv32.patch new file mode 100644 index 0000000000..b482d7c0db --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyruvate/0001-statfs-Exclude-riscv32.patch | |||
@@ -0,0 +1,108 @@ | |||
1 | From ccdc974dc10c83e29d551492fb2d17a2ff8c2b84 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 5 Mar 2022 22:30:15 -0800 | ||
4 | Subject: [PATCH] statfs: Exclude riscv32 | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/nix-rust/nix/pull/1669] | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | src/sys/statfs.rs | 20 ++++++++++---------- | ||
10 | 1 file changed, 10 insertions(+), 10 deletions(-) | ||
11 | |||
12 | diff --git a/src/sys/statfs.rs b/src/sys/statfs.rs | ||
13 | index 829be57..6b88dad 100644 | ||
14 | --- a/src/sys/statfs.rs | ||
15 | +++ b/src/sys/statfs.rs | ||
16 | @@ -292,7 +292,7 @@ impl Statfs { | ||
17 | } | ||
18 | |||
19 | /// Total data blocks in filesystem | ||
20 | - #[cfg(all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
21 | + #[cfg(all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
22 | pub fn blocks(&self) -> u64 { | ||
23 | self.0.f_blocks | ||
24 | } | ||
25 | @@ -305,7 +305,7 @@ impl Statfs { | ||
26 | target_os = "freebsd", | ||
27 | target_os = "openbsd", | ||
28 | target_os = "dragonfly", | ||
29 | - all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
30 | + all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
31 | )))] | ||
32 | pub fn blocks(&self) -> libc::c_ulong { | ||
33 | self.0.f_blocks | ||
34 | @@ -330,7 +330,7 @@ impl Statfs { | ||
35 | } | ||
36 | |||
37 | /// Free blocks in filesystem | ||
38 | - #[cfg(all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
39 | + #[cfg(all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
40 | pub fn blocks_free(&self) -> u64 { | ||
41 | self.0.f_bfree | ||
42 | } | ||
43 | @@ -343,7 +343,7 @@ impl Statfs { | ||
44 | target_os = "freebsd", | ||
45 | target_os = "openbsd", | ||
46 | target_os = "dragonfly", | ||
47 | - all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
48 | + all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
49 | )))] | ||
50 | pub fn blocks_free(&self) -> libc::c_ulong { | ||
51 | self.0.f_bfree | ||
52 | @@ -368,7 +368,7 @@ impl Statfs { | ||
53 | } | ||
54 | |||
55 | /// Free blocks available to unprivileged user | ||
56 | - #[cfg(all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
57 | + #[cfg(all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
58 | pub fn blocks_available(&self) -> u64 { | ||
59 | self.0.f_bavail | ||
60 | } | ||
61 | @@ -381,7 +381,7 @@ impl Statfs { | ||
62 | target_os = "freebsd", | ||
63 | target_os = "openbsd", | ||
64 | target_os = "dragonfly", | ||
65 | - all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
66 | + all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
67 | )))] | ||
68 | pub fn blocks_available(&self) -> libc::c_ulong { | ||
69 | self.0.f_bavail | ||
70 | @@ -406,7 +406,7 @@ impl Statfs { | ||
71 | } | ||
72 | |||
73 | /// Total file nodes in filesystem | ||
74 | - #[cfg(all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
75 | + #[cfg(all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
76 | pub fn files(&self) -> libc::fsfilcnt_t { | ||
77 | self.0.f_files | ||
78 | } | ||
79 | @@ -419,7 +419,7 @@ impl Statfs { | ||
80 | target_os = "freebsd", | ||
81 | target_os = "openbsd", | ||
82 | target_os = "dragonfly", | ||
83 | - all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
84 | + all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
85 | )))] | ||
86 | pub fn files(&self) -> libc::c_ulong { | ||
87 | self.0.f_files | ||
88 | @@ -449,7 +449,7 @@ impl Statfs { | ||
89 | } | ||
90 | |||
91 | /// Free file nodes in filesystem | ||
92 | - #[cfg(all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
93 | + #[cfg(all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))))] | ||
94 | pub fn files_free(&self) -> libc::fsfilcnt_t { | ||
95 | self.0.f_ffree | ||
96 | } | ||
97 | @@ -462,7 +462,7 @@ impl Statfs { | ||
98 | target_os = "freebsd", | ||
99 | target_os = "openbsd", | ||
100 | target_os = "dragonfly", | ||
101 | - all(target_os = "linux", any(target_env = "musl", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
102 | + all(target_os = "linux", any(target_env = "musl", target_arch = "riscv32", all(target_arch = "x86_64", target_pointer_width = "32"))) | ||
103 | )))] | ||
104 | pub fn files_free(&self) -> libc::c_ulong { | ||
105 | self.0.f_ffree | ||
106 | -- | ||
107 | 2.35.1 | ||
108 | |||
diff --git a/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb b/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb index 4429e4c32a..143125bbb1 100644 --- a/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb +++ b/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb | |||
@@ -24,9 +24,6 @@ RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64" | |||
24 | RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64" | 24 | RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64" |
25 | RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64" | 25 | RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64" |
26 | 26 | ||
27 | SRC_URI:append:mips = " file://0001-check-for-mips-targets-for-stat.st_dev-definitions.patch;patchdir=../cargo_home/bitbake/libsystemd-0.4.1/" | ||
28 | SRC_URI:append = " file://0001-riscv64-mod.rs-Add-missing-error-codes.patch;patchdir=../cargo_home/bitbake/libc-0.2.112/" | ||
29 | |||
30 | SRC_URI += " \ | 27 | SRC_URI += " \ |
31 | crate://crates.io/aho-corasick/0.7.18 \ | 28 | crate://crates.io/aho-corasick/0.7.18 \ |
32 | crate://crates.io/atty/0.2.14 \ | 29 | crate://crates.io/atty/0.2.14 \ |
@@ -118,6 +115,12 @@ SRC_URI += " \ | |||
118 | crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ | 115 | crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ |
119 | crate://crates.io/winapi/0.3.9 \ | 116 | crate://crates.io/winapi/0.3.9 \ |
120 | " | 117 | " |
118 | SRC_URI += "file://0001-riscv64-mod.rs-Add-missing-error-codes.patch;patchdir=../cargo_home/bitbake/libc-0.2.112/ \ | ||
119 | file://0001-riscv32-Define-O_LARGEFILE.patch;patchdir=../cargo_home/bitbake/libc-0.2.112/ \ | ||
120 | file://0001-linux.rs-Define-consts-for-rv32-architecture.patch;patchdir=../cargo_home/bitbake/nix-0.23.1/ \ | ||
121 | file://0001-statfs-Exclude-riscv32.patch;patchdir=../cargo_home/bitbake/nix-0.23.1/ \ | ||
122 | " | ||
123 | SRC_URI:append:mips = " file://0001-check-for-mips-targets-for-stat.st_dev-definitions.patch;patchdir=../cargo_home/bitbake/libsystemd-0.4.1/" | ||
121 | 124 | ||
122 | # The following configs & dependencies are from setuptools extras_require. | 125 | # The following configs & dependencies are from setuptools extras_require. |
123 | # These dependencies are optional, hence can be controlled via PACKAGECONFIG. | 126 | # These dependencies are optional, hence can be controlled via PACKAGECONFIG. |