eww
eww copied to clipboard
[FEATURE] Create a new release
Description of the requested feature
If not possible to implement feature #905, it would be possible to at least create a new release. Release v0.4.0 is almost one year old it only compile until rust 1.70.0, after that refuses to do it since one unstable feature was removed (solve on master). This why for people using the eww-0.4.0.ebuild will make there system impossible to update do latest stable rust version (in case of gentoo 1.71.0).
error log on tag 0.4.0 and rust 1.73.0 (same happen on but on another dependencie on 1.71.0):
➜ eww git:(v0.4.0) ✗ cargo build --release
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
Compiling gobject-sys v0.15.10
Compiling gio-sys v0.15.10
Compiling gdk-sys v0.15.1
Compiling pango-sys v0.15.10
Compiling gdk-pixbuf-sys v0.15.10
Compiling cairo-sys-rs v0.15.1
Compiling atk-sys v0.15.1
Compiling gtk-sys v0.15.3
Compiling gdkx11-sys v0.15.1
Compiling simplexpr v0.1.0 (/home/mrduarte/eww/crates/simplexpr)
Compiling gtk3-macros v0.15.4
error[E0557]: feature has been removed
--> crates/simplexpr/src/lib.rs:3:12
|
3 | #![feature(box_syntax)]
| ^^^^^^^^^^ feature has been removed
|
= note: replaced with `#[rustc_box]`
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:72:58
|
72 | ... BinOp(span, box a, op, box b) => BinOp(span, box a.try_map_var_refs(f)?, op, box b.try_map...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
72 | BinOp(span, box a, op, box b) => BinOp(span, Box::new(a.try_map_var_refs(f)?), op, box b.try_map_var_refs(f)?),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:72:90
|
72 | ... box a.try_map_var_refs(f)?, op, box b.try_map_var_refs(f)?),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
72 | BinOp(span, box a, op, box b) => BinOp(span, box a.try_map_var_refs(f)?, op, Box::new(b.try_map_var_refs(f)?)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:74:59
|
74 | UnaryOp(span, op, box a) => UnaryOp(span, op, box a.try_map_var_refs(f)?),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
74 | UnaryOp(span, op, box a) => UnaryOp(span, op, Box::new(a.try_map_var_refs(f)?)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:76:30
|
76 | ... IfElse(span, box a.try_map_var_refs(f)?, box b.try_map_var_refs(f)?, box c.try_map_var_ref...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
76 | IfElse(span, Box::new(a.try_map_var_refs(f)?), box b.try_map_var_refs(f)?, box c.try_map_var_refs(f)?)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:76:58
|
76 | ... IfElse(span, box a.try_map_var_refs(f)?, box b.try_map_var_refs(f)?, box c.try_map_var_ref...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
76 | IfElse(span, box a.try_map_var_refs(f)?, Box::new(b.try_map_var_refs(f)?), box c.try_map_var_refs(f)?)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:76:86
|
76 | ...f)?, box b.try_map_var_refs(f)?, box c.try_map_var_refs(f)?)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
76 | IfElse(span, box a.try_map_var_refs(f)?, box b.try_map_var_refs(f)?, Box::new(c.try_map_var_refs(f)?))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:78:64
|
78 | ... JsonAccess(span, box a, box b) => JsonAccess(span, box a.try_map_var_refs(f)?, box b.try_m...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
78 | JsonAccess(span, box a, box b) => JsonAccess(span, Box::new(a.try_map_var_refs(f)?), box b.try_map_var_refs(f)?),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: `box_syntax` has been removed
--> crates/simplexpr/src/eval.rs:78:92
|
78 | ...pan, box a.try_map_var_refs(f)?, box b.try_map_var_refs(f)?),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use `Box::new()` instead
|
78 | JsonAccess(span, box a, box b) => JsonAccess(span, box a.try_map_var_refs(f)?, Box::new(b.try_map_var_refs(f)?)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: the feature `once_cell` has been stable since 1.70.0 and no longer requires an attribute to enable
--> crates/simplexpr/src/lib.rs:7:12
|
7 | #![feature(once_cell)]
| ^^^^^^^^^
|
= note: `#[warn(stable_features)]` on by default
Compiling gtk v0.15.5
Compiling glib v0.15.12
For more information about this error, try `rustc --explain E0557`.
warning: `simplexpr` (lib) generated 1 warning
error: could not compile `simplexpr` (lib) due to 9 previous errors; 1 warning emitted
warning: build failed, waiting for other jobs to finish...
Hi dear
I am not sure whats the issues i am running on Arch and i managed to compile eww with the followings rust
rustc --version rustc 1.73.0 (cc66ad468 2023-10-03) $ cargo --version cargo 1.73.0 (9c4383fb5 2023-08-26)
Please don't be mad if i misunderstood your question Although its possible that rust binaries differs from different bistros(but i don't thinks so)
Hi dear I am not sure whats the issues i am running on Arch and i managed to compile eww with the followings rust
rustc --version rustc 1.73.0 (cc66ad468 2023-10-03) $ cargo --version cargo 1.73.0 (9c4383fb5 2023-08-26)
Please don't be mad if i misunderstood your question Although its possible that rust binaries differs from different bistros(but i don't thinks so)
No problem I’m not mad let me explain better. On gentoo will have stable and keyword packages, keyword package are the stable version of a package that still not tested by the gentoo team this mean it keyworded. This way you have in gentoo two option, go stable or go bleeding edge like arch.
Now the stable rust version on gentoo is 1.71.1 (mark in green) and eww 0.4.0 don’t compile on that version of rust.
Hi there Thanks for cleaning up and expanding my knowledge about gentoo, I also checked on 1.17.1 it's not compiling like you said and i am getting some error messages
**Compiling simplexpr v0.1.0 (/home/romeo/Gits/eww_cpy/crates/simplexpr) Compiling yuck v0.1.0 (/home/romeo/Gits/eww_cpy/crates/yuck) Compiling gdkx11-sys v0.17.0 Compiling rayon v1.7.0 Compiling x11rb-protocol v0.11.1 Compiling gtk-layer-shell-sys v0.6.0 Compiling memoffset v0.7.1 error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:1:1 | 1 | #![feature(box_patterns)] | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:2:1 | 2 | #![feature(pattern)] | ^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:3:1 | 3 | #![feature(try_blocks)] | ^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:4:1 | 4 | #![feature(unwrap_infallible)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:5:1 | 5 | #![feature(never_type)] | ^^^^^^^^^^^^^^^^^^^^^^^
Compiling smart-default v0.6.0 error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:2:12 | 2 | #![feature(pattern)] | ^^^^^^^
error[E0554]: #![feature] may not be used on the stable release channel --> crates/simplexpr/src/lib.rs:4:12 | 4 | #![feature(unwrap_infallible)] | ^^^^^^^^^^^^^^^^^
For more information about this error, try rustc --explain E0554. error: could not compile simplexpr (lib) due to 7 previous errors warning: build failed, waiting for other jobs to finish...**
If my understanding is right (i am not high quality rust programmer) simplexpr uses some experimental feature from rust nightly build thats why in the rust-toolchain.toml file specifies the rust version
[toolchain] channel = "nightly-2023-07-14" components = [ "rust-src" ] profile = "default"
I don't think we can do anything either someone needs to rewrite simplexpr or we need to wait for rust to release it to the stable or we continue building on nightly(my choice).
Any idea @elkowar
Note: I don't face an issues with nightly build of rust althought i have also a stable installed for some of my projects with help of rustup
Hey there For what I notice is the latest commit that dosent happen. Could be because version 0.4.0 is using a old version of simplexpr.
Also unable to compile on Debian/unstable, same simplexpr errors.
A new release just dropped!
A new release just dropped!
Thanks 😁