GNU bug report logs -
#68623
[PATCH 0/6 rust-team] gnu: Add swww
Previous Next
Reported by: Jaeme Sifat <jaeme <at> runbox.com>
Date: Sat, 20 Jan 2024 23:30:03 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68623 in the body.
You can then email your comments to 68623 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:30:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jaeme Sifat <jaeme <at> runbox.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sat, 20 Jan 2024 23:30:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
NOTE: This patchset is contingent on #68616 being merged. More specifically,
it requires a newer version of rust-clap-complete (^4.4). I just wanted to
send it on the mailing list in case I forget.
swww is a wayland wallpaper switcher daemon controlled at
runtime. Unfortunately, it seems like the program is dependent on systemd
being present as one of its dependencies is `rust-sd-notify' which at first
glance is a systemd contingent crate.
Fortunately, it can be used to some effect on foreign distros with systemd as
I was able to get sway to change backgrounds with it (except for the fact that
it's almost entirely unreliable). Perhaps someone else can test this on their
own foreign distro (or Guix System) and report back what works and what
doesn't.
If swww can't work on either systemd foreign distros and/or Guix System, then
feel free to just merge the library crates and skip swww.
Jaeme Sifat (6):
gnu: Add rust-keyframe-1.
gnu: Add rust-spin-sleep-1.
gnu: Add rust-sd-notify-0.4.
gnu: Add rust-resize-0.7.
gnu: Add rust-fast-image-resize-2.
gnu: Add swww.
gnu/packages/crates-graphics.scm | 91 ++++++++++++++++++++++++++++++--
gnu/packages/crates-io.scm | 42 +++++++++++++++
gnu/packages/wm.scm | 80 +++++++++++++++++++++++++++-
3 files changed, 207 insertions(+), 6 deletions(-)
base-commit: f66f3d77a6f06ebc20d8ef0a1b7b8f75bd6937fc
prerequisite-patch-id: 4d6385444ac07465b4d5b88f788bdb2dbdc04f15
prerequisite-patch-id: f2d9f4237bf8dd402e91ac44d820ea212c832a9b
prerequisite-patch-id: 04821ba2bd25fd6a16e271492b401c5f74148eef
prerequisite-patch-id: 74ab14d9859aa55cf1d0470b93aee256bd784f0c
prerequisite-patch-id: 386c6d4e8215c5a8620cc8b05701ff6c02abe12f
prerequisite-patch-id: 0543e020da8ae2ef932c5b6d2f3a5cc1a6edadbf
prerequisite-patch-id: a1c6b7f1d8db81c349d14ab2f63477381a643b74
prerequisite-patch-id: 896fac30b0c6c40f9dfd5ee2a03b3525050dfc7f
prerequisite-patch-id: 07cf5d026d2e0ad4e054d1a2baa3ed672213009b
prerequisite-patch-id: d47c484da42da2e2519c30d711154404380cc04b
prerequisite-patch-id: 38740ff9e728889abe513564007c5f2347504079
prerequisite-patch-id: d95d3807d989667bfd16b86fb85696d9267a07f1
prerequisite-patch-id: 3578206661da16706bcbcd7f5367e5efc15c7bb2
--
2.41.0
Information forwarded
to
efraim <at> flashner.co.il, guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/crates-graphics.scm (rust-resize-0.7): New variable.
Change-Id: I9bf5869aca32954e60292a338075b1a328c3109b
---
gnu/packages/crates-graphics.scm | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index e94fb856e0..11e4cb6706 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -3243,25 +3243,44 @@ (define-public rust-raw-window-metal-0.3
(description "Interop library between Metal and raw-window-handle.")
(license (list license:expat license:asl2.0))))
-(define-public rust-resize-0.4
+(define-public rust-resize-0.7
(package
(name "rust-resize")
- (version "0.4.3")
+ (version "0.7.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "resize" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0bamrw2m37l8q46mcy6snp6106d93dq7x67hbbj32w88pjdhxn84"))))
+ (base32 "0hdd5r2m1700y6r88v5hq3q28xixrsbfhbzqz26409jyy3zvvrw7"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-development-inputs (("rust-png" ,rust-png-0.16))))
+ `(#:cargo-inputs
+ (("rust-fallible-collections" ,rust-fallible-collections-0.4)
+ ("rust-rgb" ,rust-rgb-0.8))
+ #:cargo-development-inputs
+ (("rust-png" ,rust-png-0.17))))
(home-page "https://github.com/PistonDevelopers/resize")
(synopsis "Image resampling library in pure Rust")
(description "This package provides an image resampling library in pure Rust.")
(license license:expat)))
+(define-public rust-resize-0.4
+ (package
+ (inherit rust-resize-0.7)
+ (name "rust-resize")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "resize" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0bamrw2m37l8q46mcy6snp6106d93dq7x67hbbj32w88pjdhxn84"))))
+ (arguments
+ `(#:cargo-development-inputs (("rust-png" ,rust-png-0.16))))))
+
(define-public rust-rgb-0.8
(package
(name "rust-rgb")
--
2.41.0
Information forwarded
to
efraim <at> flashner.co.il, guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/crates-io.scm (rust-spin-sleep-1): New variable.
Change-Id: Ic8616daadbbb797627fcfa79a3bfd9d196557a24
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f40f9dc9fa..e25dbdbd8c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -69642,6 +69642,29 @@ (define-public rust-spin-on-0.1
ready. This will probably use a lot of CPU, so be careful when you use it.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-spin-sleep-1
+ (package
+ (name "rust-spin-sleep")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "spin_sleep" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0zrllbf1ksc6srjgbslk2fn5c9fp5f1rrrw2n0301xza9639g2in"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.52))
+ #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5))))
+ (home-page "https://github.com/alexheretic/spin-sleep")
+ (synopsis "Accurate sleeping and spinning")
+ (description
+ "This library adds a middle ground, using a configurable native accuracy setting
+allowing @code{thread::sleep} to wait the bulk of a sleep time, and spin the final
+section to guarantee accuracy.")
+ (license license:asl2.0)))
+
(define-public rust-spinning-top-0.2
(package
(name "rust-spinning-top")
--
2.41.0
Information forwarded
to
efraim <at> flashner.co.il, guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/crates-graphics.scm (rust-keyframe-1): New variable.
Change-Id: I67721b97a744d82ac6df38e17ed84e628ff4687a
---
gnu/packages/crates-graphics.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index e8bc113d8b..e94fb856e0 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2260,6 +2260,35 @@ (define-public rust-jpeg-decoder-0.1
("rust-png" ,rust-png-0.14)
("rust-walkdir" ,rust-walkdir-2))))))
+(define-public rust-keyframe-1
+ (package
+ (name "rust-keyframe")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "keyframe" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1afr5ffns3k79xaqnw6rw3qn8sngwly6gxfnjn8d060mk3vqnw30"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t ; Done to avoid dev dependency on ggez, a game engine.
+ #:cargo-inputs (("rust-mint" ,rust-mint-0.5)
+ ("rust-num-traits" ,rust-num-traits-0.2))))
+ (home-page "https://github.com/HannesMann/keyframe")
+ (synopsis "Simple library for animation in Rust")
+ (description
+ "This package provides a simple library for animation in Rust.
+It's features include:
+
+@enumerate
+@item Several easing functions, including user-defined Bézier curves and keyframable curves.
+@item Animation sequences (like CSS keyframes).
+@item @code{mint} integration for 2D/3D/4D support (points, rectangles, colors, etc).
+@end enumerate")
+ (license license:expat)))
+
(define-public rust-libdav1d-sys-0.6
(package
(name "rust-libdav1d-sys")
--
2.41.0
Information forwarded
to
efraim <at> flashner.co.il, guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/crates-io.scm (rust-sd-notify-0.4): New variable.
Change-Id: Ib38448d785c23f760fd867656a0057233dc72377
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e25dbdbd8c..9d868ef829 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64249,6 +64249,25 @@ (define-public rust-sctk-adwaita-0.4
("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.16)
("rust-tiny-skia" ,rust-tiny-skia-0.7))))))
+(define-public rust-sd-notify-0.4
+ (package
+ (name "rust-sd-notify")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sd-notify" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0clc887rjdz0796c1lsbwnrgmcis4b30gyy3qb4v8zg0yf03c7k2"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/lnicola/sd-notify")
+ (synopsis "Lightweight crate for systemd service state notifications")
+ (description
+ "This package provides a lightweight crate for systemd service state
+notifications.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-seahash-3
(package
(name "rust-seahash")
--
2.41.0
Information forwarded
to
efraim <at> flashner.co.il, guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:04 GMT)
Full text and
rfc822 format available.
Message #20 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/crates-graphics.scm (rust-fast-image-resize-2): New variable.
Change-Id: Ifccaf0eeab21f20043b4a49d8d0a58f867e151a1
---
gnu/packages/crates-graphics.scm | 35 ++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 11e4cb6706..90e130a754 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -1225,6 +1225,41 @@ (define-public rust-exr-1
(description "Read and write OpenEXR files without any unsafe code")
(license license:bsd-3)))
+(define-public rust-fast-image-resize-2
+ (package
+ (name "rust-fast-image-resize")
+ (version "2.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fast_image_resize" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0nnm59h7dl2bpi5k2wcd7zz14nl00sa33jiipbjbn48f0i09ly6c"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Unresolved import `testing'
+ #:cargo-inputs
+ (("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-thiserror" ,rust-thiserror-1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.4)
+ ("rust-image" ,rust-image-0.24)
+ ("rust-itertools" ,rust-itertools-0.10)
+ ("rust-nix" ,rust-nix-0.26)
+ ("rust-png" ,rust-png-0.17)
+ ("rust-resize" ,rust-resize-0.7)
+ ("rust-rgb" ,rust-rgb-0.8)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-walkdir" ,rust-walkdir-2))))
+ (home-page "https://github.com/cykooz/fast_image_resize")
+ (synopsis
+ "Fast image resizing with using of SIMD instructions")
+ (description
+ "This package provides fast image resizing with using of SIMD instructions.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-fast-srgb8-1
(package
(name "rust-fast-srgb8")
--
2.41.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#68623
; Package
guix-patches
.
(Sat, 20 Jan 2024 23:32:04 GMT)
Full text and
rfc822 format available.
Message #23 received at 68623 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/wm.scm (swww): New variable.
Change-Id: I011da07f43f8554fb569b0e033863fe8a7553e3d
---
gnu/packages/wm.scm | 80 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 78 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 959928d8e2..035651a63a 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -64,7 +64,7 @@
;;; Copyright © 2023 Jonathan Brielamier <jonathan.brielmaier <at> web.de>
;;; Copyright © 2023 Vessel Wave <vesselwave <at> disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr>
-;;; Copyright © 2023 Jaeme Sifat <jaeme <at> runbox.com>
+;;; Copyright © 2023, 2024 Jaeme Sifat <jaeme <at> runbox.com>
;;; Copyright © 2023 Josselin Poiret <dev <at> jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
@@ -89,6 +89,7 @@ (define-module (gnu packages wm)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system asdf)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -106,8 +107,10 @@ (define-module (gnu packages wm)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages calendar)
- #:use-module (gnu packages compression)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-graphics)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
@@ -1911,6 +1914,79 @@ (define-public swaybg
(description "Swaybg is a wallpaper utility for Wayland compositors.")
(license license:expat))) ; MIT license
+(define-public swww
+ (package
+ (name "swww")
+ (version "0.8.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LGFae/swww")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1ps10dv6a8a0hiw7p8kg64mf81pvavskmyn5xpbfw6hrc991vdlz"))
+ (file-name (git-file-name name version))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:cargo-inputs
+ `(("rust-log" ,rust-log-0.4)
+ ("rust-simplelog" ,rust-simplelog-0.12)
+ ("rust-wayland-client" ,rust-wayland-client-0.31)
+ ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.18)
+ ("rust-nix" ,rust-nix-0.27)
+ ("rust-keyframe" ,rust-keyframe-1)
+ ("rust-rkyv" ,rust-rkyv-0.7)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-spin-sleep" ,rust-spin-sleep-1)
+ ("rust-sd-notify" ,rust-sd-notify-0.4)
+ ("rust-image" ,rust-image-0.24)
+ ("rust-fast-image-resize" ,rust-fast-image-resize-2)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-lzzzz" ,rust-lzzzz-1))
+ #:cargo-development-inputs
+ `(("rust-rand" ,rust-rand-0.8)
+ ("rust-assert-cmd" ,rust-assert-cmd-2)
+ ("rust-criterion" ,rust-criterion-0.5))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'package)
+ (add-before 'build 'build-documentation
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "doc/gen.sh")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share"))
+ (man1 (string-append share "/man/man1"))
+ (bash-completions-dir
+ (string-append share "/bash-completion/completions"))
+ (zsh-completions-dir
+ (string-append share "/zsh/site-functions"))
+ (fish-completions-dir
+ (string-append share "/fish/vendor_completions.d"))
+ (elvish-completions-dir
+ (string-append share "/elvish/lib")))
+ (install-file "target/release/swww" bin)
+ (install-file "target/release/swww-daemon" bin)
+ (copy-recursively "doc/generated" man1)
+ (install-file "completions/swww.bash" bash-completions-dir)
+ (install-file "completions/_swww" zsh-completions-dir)
+ (install-file "completions/swww.fish" fish-completions-dir)
+ (install-file "completions/swww.elv" elvish-completions-dir)))))))
+ (native-inputs (list scdoc))
+ (propagated-inputs (list lz4))
+ (home-page "https://github.com/LGFae/swww")
+ (synopsis
+ "Efficient animated wallpaper daemon for wayland controlled at runtime")
+ (description
+ "A Solution to your Wayland Wallpaper Woes (swww). It uses minimal resources
+and provides animations for switching between backgrounds.")
+ (license license:gpl3+)))
(define-public swaynotificationcenter
(package
--
2.41.0
Reply sent
to
Efraim Flashner <efraim <at> flashner.co.il>
:
You have taken responsibility.
(Tue, 23 Jan 2024 14:37:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Jaeme Sifat <jaeme <at> runbox.com>
:
bug acknowledged by developer.
(Tue, 23 Jan 2024 14:37:03 GMT)
Full text and
rfc822 format available.
Message #28 received at 68623-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I moved lz4 to inputs and wrapped the binaries. I also adjusted the
install phase so it would work when cross-compiling.
Patches pushed to the rust-team branch. Thanks.
--
Efraim Flashner <efraim <at> flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 21 Feb 2024 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 119 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.