Subject: [PATCH] update grimshot package definition
From: Ignas Lapėnas <[email-masked]>
To: [email-masked]
Cc: Ignas Lapėnas <[email-masked]>
Date: Tue, 12 Mar 2024 11:56:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Issue: https://issues.guix.gnu.org/69667

Grimshot was dropped from sway.
https://github.com/swaywm/sway/issues/7405

The contrib was moved to:
https://github.com/OctopusET/sway-contrib

Package definition updated accordingly.

Change-Id: I9ed9cdf7ce10fe878b4f2b931791ed22a63ff99a
---
 gnu/packages/wm.scm | 60 +++++++++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index edbb3096b8..eeaee0cb68 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -3524,46 +3524,52 @@ (define-public avizo
 
 (define-public grimshot
   (package
-    (inherit sway)
     (name "grimshot")
-    (source (origin
-              (inherit (package-source sway))
-              (snippet #~(delete-file "contrib/grimshot.1"))))
+    (version "1.9-contrib.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/OctopusET/sway-contrib")
+             (commit version)))
+       (sha256
+        (base32 "16fa8l81zjy25nsky1i525hb7zjprqz74mbirm9b76pvksschdv5"))))
     (build-system copy-build-system)
     (arguments
-     (list #:install-plan #~`(("grimshot" "bin/")
-                              ("grimshot.1" "share/man/man1/"))
-           #:phases #~(modify-phases %standard-phases
-                        (add-after 'unpack 'chdir
-                          (lambda _
-                            (chdir "contrib")))
-                        (add-after 'chdir 'patch-script-dependencies
-                          (lambda* (#:key inputs #:allow-other-keys)
-                            (substitute* "grimshot"
-                              (("\\b(date|grim|jq|notify-send|slurp|swaymsg|wl-copy)\\b"
-                                _ binary)
-                               (search-input-file
-                                inputs (string-append "bin/" binary))))))
-                        (add-after 'patch-script-dependencies 'build-man-page
-                          (lambda _
-                            (with-input-from-file "grimshot.1.scd"
-                              (lambda _
-                                (with-output-to-file "grimshot.1"
-                                  (lambda _
-                                    (invoke "scdoc"))))))))))
+     (list
+      #:install-plan #~`(("grimshot" "bin/")
+                         ("grimshot.1" "share/man/man1/"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'chdir 'patch-script-dependencies
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (substitute* "grimshot"
+                         (("\\b(date|grim|jq|notify-send|slurp|swaymsg|wl-copy)\\b"
+                           _ binary)
+                          (search-input-file inputs
+                                             (string-append "bin/" binary))))))
+                   (add-after 'patch-script-dependencies 'build-man-page
+                     (lambda _
+                       (with-input-from-file "grimshot.1.scd"
+                         (lambda _
+                           (with-output-to-file "grimshot.1"
+                             (lambda _
+                               (invoke "scdoc"))))))))))
     (native-inputs (list scdoc))
     (inputs (list coreutils
-                  grim
                   jq
                   libnotify
                   slurp
                   sway
                   wl-clipboard))
+    (propagated-inputs (list grim))
+    (home-page "https://github.com/OctopusET/sway-contrib")
     (synopsis "Screenshot utility for the Sway window manager")
-    (description "Grimshot is a screenshot utility for @code{sway}.  It provides
+    (description
+     "Grimshot is a screenshot utility for @code{sway}.  It provides
 an interface over @code{grim}, @code{slurp} and @code{jq}, and supports storing
 the screenshot either directly to the clipboard using @code{wl-copy} or to a
-file.")))
+file.")
+    (license license:expat)))
 
 (define-public wld
   (let ((commit "6586736176ef50a88025abae835e29a7ca980126")

base-commit: 4003c60abf7a6e59e47cc2deb9eef2f104ebb994
-- 
2.41.0