* [bug#68623] [PATCH 1/6] gnu: Add rust-keyframe-1.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 2/6] gnu: Add rust-spin-sleep-1 Jaeme Sifat via Guix-patches via
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat, Efraim Flashner
* 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#68623] [PATCH 2/6] gnu: Add rust-spin-sleep-1.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 1/6] gnu: Add rust-keyframe-1 Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 3/6] gnu: Add rust-sd-notify-0.4 Jaeme Sifat via Guix-patches via
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat, Efraim Flashner
* 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#68623] [PATCH 3/6] gnu: Add rust-sd-notify-0.4.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 1/6] gnu: Add rust-keyframe-1 Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 2/6] gnu: Add rust-spin-sleep-1 Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 4/6] gnu: Add rust-resize-0.7 Jaeme Sifat via Guix-patches via
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat, Efraim Flashner
* 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#68623] [PATCH 4/6] gnu: Add rust-resize-0.7.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
` (2 preceding siblings ...)
2024-01-20 23:30 ` [bug#68623] [PATCH 3/6] gnu: Add rust-sd-notify-0.4 Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 5/6] gnu: Add rust-fast-image-resize-2 Jaeme Sifat via Guix-patches via
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat, Efraim Flashner
* 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#68623] [PATCH 5/6] gnu: Add rust-fast-image-resize-2.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
` (3 preceding siblings ...)
2024-01-20 23:30 ` [bug#68623] [PATCH 4/6] gnu: Add rust-resize-0.7 Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-20 23:30 ` [bug#68623] [PATCH 6/6] gnu: Add swww Jaeme Sifat via Guix-patches via
2024-01-23 14:36 ` bug#68623: [PATCH 0/6 rust-team] " Efraim Flashner
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat, Efraim Flashner
* 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#68623] [PATCH 6/6] gnu: Add swww.
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
` (4 preceding siblings ...)
2024-01-20 23:30 ` [bug#68623] [PATCH 5/6] gnu: Add rust-fast-image-resize-2 Jaeme Sifat via Guix-patches via
@ 2024-01-20 23:30 ` Jaeme Sifat via Guix-patches via
2024-01-23 14:36 ` bug#68623: [PATCH 0/6 rust-team] " Efraim Flashner
6 siblings, 0 replies; 8+ messages in thread
From: Jaeme Sifat via Guix-patches via @ 2024-01-20 23:30 UTC (permalink / raw)
To: 68623; +Cc: Jaeme Sifat
* 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@web.de>
;;; Copyright © 2023 Vessel Wave <vesselwave@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
-;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
+;;; Copyright © 2023, 2024 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Josselin Poiret <dev@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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#68623: [PATCH 0/6 rust-team] gnu: Add swww
2024-01-20 23:18 [bug#68623] [PATCH 0/6 rust-team] gnu: Add swww Jaeme Sifat via Guix-patches via
` (5 preceding siblings ...)
2024-01-20 23:30 ` [bug#68623] [PATCH 6/6] gnu: Add swww Jaeme Sifat via Guix-patches via
@ 2024-01-23 14:36 ` Efraim Flashner
6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2024-01-23 14:36 UTC (permalink / raw)
To: Jaeme Sifat; +Cc: 68623-done
[-- Attachment #1: Type: text/plain, Size: 388 bytes --]
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@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread