unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Jaeme Sifat via Guix-patches via <guix-patches@gnu.org>
To: 68623@debbugs.gnu.org
Cc: Jaeme Sifat <jaeme@runbox.com>
Subject: [bug#68623] [PATCH 6/6] gnu: Add swww.
Date: Sat, 20 Jan 2024 18:30:25 -0500	[thread overview]
Message-ID: <30634dc1713e10bff0eb1f613fdf9ecc0477c44b.1705792641.git.jaeme@runbox.com> (raw)
In-Reply-To: <cover.1705792641.git.jaeme@runbox.com>

* 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





  parent reply	other threads:[~2024-01-20 23:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` [bug#68623] [PATCH 3/6] gnu: Add rust-sd-notify-0.4 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
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 [this message]
2024-01-23 14:36 ` bug#68623: [PATCH 0/6 rust-team] gnu: Add swww Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30634dc1713e10bff0eb1f613fdf9ecc0477c44b.1705792641.git.jaeme@runbox.com \
    --to=guix-patches@gnu.org \
    --cc=68623@debbugs.gnu.org \
    --cc=jaeme@runbox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).