eww icon indicating copy to clipboard operation
eww copied to clipboard

[FEATURE] Create a new release

Open MrDuartePT opened this issue 9 months ago • 5 comments

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...

MrDuartePT avatar Oct 31 '23 14:10 MrDuartePT

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)

Lanpingner avatar Oct 31 '23 19:10 Lanpingner

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.

MrDuartePT avatar Oct 31 '23 19:10 MrDuartePT

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

Lanpingner avatar Oct 31 '23 20:10 Lanpingner

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.

MrDuartePT avatar Nov 01 '23 15:11 MrDuartePT

Also unable to compile on Debian/unstable, same simplexpr errors.

Seegras avatar Jan 06 '24 17:01 Seegras

A new release just dropped!

elkowar avatar Feb 17 '24 17:02 elkowar

A new release just dropped!

Thanks 😁

MrDuartePT avatar Feb 17 '24 18:02 MrDuartePT