From 372cdf91274c9817ecb2636ce027e8c64db703fc Mon Sep 17 00:00:00 2001 From: Ryan Brue Date: Sat, 26 Apr 2025 16:35:18 -0500 Subject: [PATCH] Fix building on s390x, ppc64le (#950) Signed-off-by: Ryan Brue --- Cargo.lock | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- Cargo.toml | 4 +++ 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 315ea6d..98c799d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -710,6 +710,29 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags 2.9.0", + "cexpr", + "clang-sys", + "itertools", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.100", + "which", +] + [[package]] name = "bit-set" version = "0.6.0" @@ -936,6 +959,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfb" version = "0.7.3" @@ -1010,6 +1042,17 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clipboard-win" version = "5.4.0" @@ -1482,6 +1525,7 @@ dependencies = [ "icu_provider", "ignore", "image", + "io-uring", "libc", "libcosmic", "log", @@ -2937,6 +2981,15 @@ dependencies = [ "digest", ] +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "i18n-config" version = "0.4.7" @@ -3860,9 +3913,9 @@ dependencies = [ [[package]] name = "io-uring" version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab01638bb6a279897b7691f87f3f3c232451711fd419a69ced980ce61074fa46" +source = "git+https://github.com/tokio-rs/io-uring.git?rev=2c9010a3316519e02444f41e536623099af58a84#2c9010a3316519e02444f41e536623099af58a84" dependencies = [ + "bindgen", "bitflags 2.9.0", "cfg-if", "libc", @@ -4061,6 +4114,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "lebe" version = "0.5.2" @@ -5430,6 +5489,16 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" +[[package]] +name = "prettyplease" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +dependencies = [ + "proc-macro2", + "syn 2.0.100", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -7638,6 +7707,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.44", +] + [[package]] name = "widestring" version = "1.2.0" diff --git a/Cargo.toml b/Cargo.toml index d2a35c5..a30bab2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,6 +68,7 @@ recently-used-xbel = "1.1.0" zip = "2.2.2" unix_permissions_ext = "0.1.2" uzers = "0.12.1" +io-uring = { version = "0.7.4", features = ["bindgen"] } [dependencies.libcosmic] git = "https://github.com/pop-os/libcosmic.git" @@ -113,6 +114,9 @@ tokio = { version = "1", features = ["rt", "macros"] } [patch.crates-io] # https://github.com/smol-rs/polling/pull/235 polling = { git = "https://github.com/jackpot51/polling.git", branch = "master" } +# Fixes building on ppc64le, s390x +# https://github.com/tokio-rs/io-uring/issues/321#issuecomment-2831832546 +io-uring = { git = "https://github.com/tokio-rs/io-uring.git", rev = "2c9010a3316519e02444f41e536623099af58a84" } # [patch.'https://github.com/pop-os/cosmic-text'] # cosmic-text = { path = "../cosmic-text" }