Open meh opened 4 years ago
Any progress on this? Tried installing this today but got the following error:
error[E0432]: unresolved imports `xkb_context`, `xkb_keymap`, `xkb_state`, `xkb_keymap_compile_flags`
--> /home/mikoto/.cargo/registry/src/github.com-1ecc6299db9ec823/xkbcommon-sys-0.7.5/src/x11.rs:16:8
|
16 | use ::{xkb_context, xkb_keymap, xkb_state, xkb_keymap_compile_flags};
| ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ no external crate `xkb_keymap_compile_flags`
| | | |
| | | no external crate `xkb_state`
| | no external crate `xkb_keymap`
| no external crate `xkb_context`
@avdb13 I wasted embarrassing amount of time on this out of sheer curiosity as well. You're right, it's extremely difficult to compile.
I've almost cracked it, but can't figure out why the select!
macro is not in nightly-2019-08-01
.
error: cannot find macro `select!` in this scope
--> src/platform/x11/window.rs:171:4
|
171 | select! {
| ^^^^^^
error: cannot determine resolution for the macro `select`
--> src/main.rs:306:5
|
306 | select! {
| ^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
If anyone else wants to try I recommend forcing specific versions in Cargo.toml and using rustup to install nightly-2019-08-01-x86_64-unknown-linux-gnu
.
diff --git a/Cargo.toml b/Cargo.toml
index 3f51c71..1bf1732 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,33 +18,34 @@ panic = "abort"
pkg-config = "0.3"
[dependencies]
-log = "0.4"
-env_logger = "0.5"
-
-libc = "0.2"
-bitflags = "0.9"
-bit-vec = "0.5"
-fnv = "1.0"
-lru-cache = "0.1"
-shlex = "0.1"
-schedule_recv = "0.1"
-itertools = "0.7"
-picto = { version = "0.4", default-features = false }
-control-code = "0.7"
-
-clap = "2"
-app_dirs = "1.1"
-toml = "0.4"
-regex = "1"
-
-unicode-segmentation = "1.0"
-unicode-width = "0.1"
-tendril = "0.4"
+log = "=0.4.2"
+env_logger = "=0.5.0"
+
+libc = "=0.2.35"
+bitflags = "=0.9.0"
+bit-vec = "=0.5.0"
+fnv = "=1.0.0"
+lru-cache = "=0.1.0"
+shlex = "=0.1.0"
+schedule_recv = "=0.1.0"
+itertools = "=0.7.0"
+picto = { version = "=0.4.0", default-features = false }
+control-code = "=0.7.0"
+
+clap = "=2.21.1"
+app_dirs = "=1.1.0"
+toml = "=0.4.6"
+regex = "=0.2.0"
+crossbeam-channel = "0.4"
+
+unicode-segmentation = "=0.1.2"
+unicode-width = "=0.1.5"
+tendril = "=0.4.0"
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
xcb = { version = "0.8", features = ["xkb", "thread"] }
xcb-util = { version = "0.2", features = ["icccm", "ewmh", "thread"] }
-xkb = { version = "0.2", features = ["x11"] }
+xkb = { version = "=0.2.0", features = ["x11"] }
[target.'cfg(target_os = "macos")'.dependencies]
objc = "0.2"
Since this thing bitrot I've been miring libraries to use for the next iteration.
Graphics
Pathfinder + luminance
Makes it simple to add ReGIS support (and then add an extension to draw SVGs using the same protocol).
Makes it simple to add Sixel support (and then add an extension for RGBA colors).
Makes it simple to add fancy shaders or whatever.
I/O
smol and async/await from the start because reasons.