Patches pushed to the rust-team branch with a few changes. I'll answer your questions inline. On Tue, Jan 30, 2024 at 04:03:34PM +0100, Herman Rimm wrote: > Hi rust-team, > > When I started using Guix, my i3status-rust config was for a newer > version, now I got around to updating the package. I understand why > noone had updated it, as it was quite tedious. Anyway, I added the > dependencies required for the new version. Some notes: > > I shortened synopses and punctuated descriptions, but mostly left the > #:cargo-inputs indentation as guix import had generated it. I want guix > import crate to generate appropriate indentation. > > rust-arrow2 and rust-tera are patched and build with rust-chrono-tz-0.8 > so that it can replace rust-chrono-tz-0.6 in a single commit. > > rust-zbus-3 and rust-zbus-macros-3 dependency are updated in a single > commit, instead of relaxing rust-zbus-3 dependency versioning. Probably could have updated rust-zbus-macros-3 first and then rust-zbus-3, but if the two commits are next to each other its generally fine. Or doing both in one commit is also fine. > Enabled tests on rust-notmuch. > > Although ordered-stream-0.2 is not adjacent to ordered-stream-0.1, the > latter is removed in a later commit. > > Lastly, i3status-rust is updated and any dependencies that become unused > are removed recursively. > > Assorted questions: > > 1. Should rust-from-variants-impl-0.6 be public? Yes, we have (almost?) all the rust packages as public. > 2. I updated wayrs-client to 1.0, because adding a #[macro_use] made > the wayrs-scanner-0.12 generate! macro available, so wayrs-client 0.12 > would build in isolation, but not as a dependency of i3status-rust. > Adding #[macro_export] to the macro in wayrs-scanner-0.12 did not have > any effect. Does this issue seem familiar? I tried to build i3status-rust with the 0.12 versions but ran into build issues so I left it as you have it. That issue specifically I don't remember seeing, but I haven't played around with it as much as I could have. > 3. rust-async-io-2 and rust-async-net-2 form a cyclical dependency, > should they be added as separate packages anyway? I would generally do it as two separate commits, even though each depends on the other. Doing both in one commit is technically more correct. > 4. When to #:skip-build? I generally do it when a package actually doesn't build (like if it only builds on macOS or on Windows) or if we can't get all the dependencies packaged, like rust-clap-derive-4 (I think) which has a dependency which wants a newer version of nushell. Most of the time I leave a comment about cutting the dependency chain. There was a period where intermediate crates which were imported defaulted to '#:skip-build? #t' but it made it harder to check that the inputs were correct. > 5. Why is a rust package name defined when inheriting the same name? We use the name field as part of the source file-name, and if we leave it as inherited then the name field shows up as undeclared. > Cheers, > Herman > > Herman Rimm (49): > gnu: Add rust-async-once-cell-0.5. > gnu: Add rust-backon-0.4. > gnu: Add rust-calibright-0.1. > gnu: Add rust-neli-proc-macros-0.1. > gnu: Add rust-neli-0.6. > gnu: Add rust-neli-wifi-0.6. > gnu: Add rust-chrono-tz-build-0.2. > gnu: Replace rust-chrono-tz-0.6 with rust-chrono-tz-0.8. > gnu: Add rust-from-variants-impl-0.6. > gnu: Add rust-from-variants-0.6. > gnu: Add rust-notmuch-0.8. > gnu: rust-gethostname-0.2: Update to 0.2.3. > gnu: Add rust-maildir-0.6. > gnu: Add rust-libsensors-sys-0.2. > gnu: Add rust-sensors-0.2. > gnu: Add rust-signal-hook-tokio-0.3. > gnu: rust-swayipc-types-1: Update to 1.3.1. > gnu: Add rust-async-pidfd-0.1. > gnu: rust-parking-2: Update to 2.2.0. > gnu: Add rust-futures-lite-2. > gnu: Add rust-swayipc-async-2. > gnu: Add rust-proc-macro-crate-3. > gnu: Add rust-wayrs-proto-parser-2 > gnu: Add rust-wayrs-scanner-0.13. > gnu: Add rust-wayrs-client-1. > gnu: Add rust-wayrs-protocols-0.13. > gnu: Add rust-event-listener-4. > gnu: Add rust-event-listener-strategy-0.4. > gnu: Add rust-async-channel-2. > gnu: Add rust-async-lock-3. > gnu: Add rust-async-io-2 and rust-async-net-2 cyclical dependency. > gnu: Add rust-ordered-stream-0.2. > gnu: Add rust-xdg-home-1. > gnu: Add rust-async-signal-0.2. > gnu: Add rust-event-listener-3. > gnu: rust-async-process-1: Update to 1.8.1. > gnu: rust-async-fs-1: Update to 1.6.0. > gnu: rust-zbus-3: Update to 3.14.1. > gnu: Add rust-pandoc-0.8. > gnu: i3status-rust: Update to 0.32.3. These ones I left for now in case another package later needs them. > gnu: Deprecate rust-nl80211-0.0.2. > gnu: Remove rust-neli-0.4. > gnu: Remove rust-notmuch-0.6. > gnu: Remove rust-cpuprofiler-0.0. > gnu: Remove rust-progress-0.2. > gnu: Remove rust-buffering-0.3. > gnu: Remove rust-supercow-0.1. > gnu: Remove rust-buffering-nocopy-macro-0.1. > gnu: Remove rust-ordered-stream-0.1. > > gnu/local.mk | 1 - > gnu/packages/crates-graphics.scm | 88 ++ > gnu/packages/crates-io.scm | 1133 ++++++++++++----- > ...status-rust-enable-unstable-features.patch | 20 - > gnu/packages/rust-apps.scm | 100 +- > 5 files changed, 959 insertions(+), 383 deletions(-) > delete mode 100644 gnu/packages/patches/i3status-rust-enable-unstable-features.patch > > > base-commit: 36315bde09efa660d38198f666b4e1582cb71db3 > -- > 2.41.0 > > > -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted