This fixes
| error[E0412]: cannot find type `AtomicU64` in module `core::sync::atomic`
|     --> 
/usr/src/debug/librsvg/2.52.2-r0/librsvg-2.52.2/vendor/crossbeam-utils/src/atomic/consume.rs:78:14

Signed-off-by: Khem Raj <[email protected]>
---
 .../librsvg/riscv32-no-64bit-atomics.patch    | 31 +++++++++++++++++++
 meta/recipes-gnome/librsvg/librsvg_2.52.2.bb  |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 
meta/recipes-gnome/librsvg/librsvg/riscv32-no-64bit-atomics.patch

diff --git a/meta/recipes-gnome/librsvg/librsvg/riscv32-no-64bit-atomics.patch 
b/meta/recipes-gnome/librsvg/librsvg/riscv32-no-64bit-atomics.patch
new file mode 100644
index 0000000000..5f3274eb97
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg/riscv32-no-64bit-atomics.patch
@@ -0,0 +1,31 @@
+Disable 64bit wide atomics in crossbeam-utils
+
+crossbeam leaves no other way to set it when its build system
+is not used, which seems to be the case here, since riscv32
+does not have 64bit atomics, these should be disabled for rv32
+based machines.
+
+It perhaps will be needed on few other 32bit machines too but
+for now lets fix whats broken
+
+Upstream-Status: Inappropriate [Cross compile specific]
+
+Signed-off-by: Khem Raj <[email protected]>
+
+--- a/vendor/crossbeam-utils/.cargo-checksum.json
++++ b/vendor/crossbeam-utils/.cargo-checksum.json
+@@ -1,3 +1,3 @@
+ 
{"files":{"CHANGELOG.md":"5242f1740c65509c465c9a36326d344722facff5f5e58dd064f7b77806b83a46","Cargo.toml":"ac35a7b8ccb16f1ab256951576537aa4179a316c068929c2acef89e0adc12319","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"5734ed989dfca1f625b40281ee9f4530f91b2411ec01cb748223e7eb87e201ab","README.md":"dfa9fbed47c344c134a63c84b7c0e4651baeac1554b7b3266d0e38643743fc33","benches/atomic_cell.rs":"c927eb3cd1e5ecc4b91adbc3bde98af15ffab4086190792ba64d5cde0e24df3d",
+-"build.rs":"15c1a41a88373231cbc17c7de5ade07c6098455af9cdeef81b576f37ed923354",
++"build.rs":"aa5bf576b98f335a46354a1d31e2d7f257ffdde0dd63a911c56389ce5fa3451c",
+ 
"no_atomic.rs":"fda07862ab8c3ac999b58b494fa963e4024a0979037f4c37cf2069d78ab6e5ba","src/atomic/atomic_cell.rs":"1a3a1e073340317b5ce7a94e29c6a87db89ff7e00da6b92cb3c0339364c3b084","src/atomic/consume.rs":"7a7736fcd64f6473dfea7653559ffc5e1a2a234df43835f8aa8734862145ac15","src/atomic/mod.rs":"7f6afd5bd0da1f7b51765ab04da4e5f683588ac2d23506e61bf7007bb1e61ba2","src/atomic/seq_lock.rs":"27182e6b87a9db73c5f6831759f8625f9fcdec3c2828204c444aef04f427735a","src/atomic/seq_lock_wide.rs":"9888dd03116bb89ca36d4ab8d5a0b5032107a2983a7eb8024454263b09080088","src/backoff.rs":"7cc7754e15f69b52e92a70d4f49d1bc274693455a0933a2d7eb0605806566af3","src/cache_padded.rs":"6a512698115ad0d5a5b163dbd7a83247e1f1c146c4a30f3fc74b952e3b767b59","src/lib.rs":"6f1bcf157abe06ad8458a53e865bf8efab9fad4a9424790147cee8fefb3795d8","src/sync/mod.rs":"59986f559a8f170a4b3247ab2eea2460b09809d87c8110ed88e4e7103d3519dc","src/sync/parker.rs":"ba8f75bff31b8be9275808e8f393e71cc682dfc1109ceccb12f69a3700cff5be","src/sync/sharded_lock.rs":"14be659744918d0b27db24c56b41c618b0f0484b6761da46561023d96c4c120f","src/sync/wait_group.rs":"32e946a7581c55f8aa9904527b92b177c538fa0cf7cbcfa1d1f25990582cb6ea","src/thread.rs":"0eb5ec1d3c1b40600d88eb70539d14276e32307f5bed2b679f50f6a20777a01e","tests/atomic_cell.rs":"6c9453384ecbbe76f8b97b62f022d478d3a76b4eae1e960f49790970f5d52158","tests/cache_padded.rs":"1bfaff8354c8184e1ee1f902881ca9400b60effb273b0d3f752801a483d2b66d","tests/parker.rs":"6def4721287d9d70b1cfd63ebb34e1c83fbb3376edbad2bc8aac6ef69dd99d20","tests/sharded_lock.rs":"726025ce6351fb56ed629d5a56bdf6e833b7afc5dedfa08de0b056c726b6c26d","tests/thread.rs":"9a7d7d3028c552fd834c68598b04a1cc252a816bc20ab62cec060d6cd09cab10","tests/wait_group.rs":"ad8f0cdfed31f9594a2e0737234d418f8b924d784a4db8d7e469deab8c95f5f8"},"package":"d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"}
+--- a/vendor/crossbeam-utils/build.rs
++++ b/vendor/crossbeam-utils/build.rs
+@@ -36,6 +36,7 @@ fn main() {
+         println!("cargo:rustc-cfg=crossbeam_no_atomic_64");
+     } else {
+         // Otherwise, assuming `"max-atomic-width" == 64`.
++        println!("cargo:rustc-cfg=crossbeam_no_atomic_64");
+     }
+ 
+     println!("cargo:rerun-if-changed=no_atomic.rs");
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.52.2.bb 
b/meta/recipes-gnome/librsvg/librsvg_2.52.2.bb
index 1197559904..0c159a5037 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.52.2.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.52.2.bb
@@ -25,6 +25,7 @@ SRC_URI += 
"file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.pat
            
file://0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch \
            
file://0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch \
            "
+SRC_URI:append:riscv32 = " file://riscv32-no-64bit-atomics.patch"
 
 SRC_URI[archive.sha256sum] = 
"03d2887c18ffb906e1a60f97fe46a7169f69aa28d6db5d285748f3618b093427"
 
-- 
2.33.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157306): 
https://lists.openembedded.org/g/openembedded-core/message/157306
Mute This Topic: https://lists.openembedded.org/mt/86541048/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to