diff mbox series

[bug#69743] update grimshot package definition

Message ID 7f2ba732c3b7dd12d937e70a5f643a09ac5bfa6d.1710237367.git.ignas@lapenas.dev
State New
Headers show
Series [bug#69743] update grimshot package definition | expand

Commit Message

Ignas Lapėnas March 12, 2024, 9:56 a.m. UTC
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(-)


base-commit: 4003c60abf7a6e59e47cc2deb9eef2f104ebb994

Comments

Jack Hill March 12, 2024, 1:29 p.m. UTC | #1
On Tue, 12 Mar 2024, Ignas Lapėnas wrote:

> 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

I haven't had a chance to test on a system yet, but thanks for preparing 
this, reading through it it looks good.

> +                   (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"))))))))))

I'm happy to see this improvement of building the manpage from source.

>     (native-inputs (list scdoc))
>     (inputs (list coreutils
> -                  grim
>                   jq
>                   libnotify
>                   slurp
>                   sway
>                   wl-clipboard))
> +    (propagated-inputs (list grim))

For my curiosity, what's the benefit of propagating grim? It looks like 
the full bath is also being substituted in the script?

Thanks!
Jack
Ignas Lapėnas March 12, 2024, 1:33 p.m. UTC | #2
Hi, this is a first patch for me. Just to be clear, I'm still a newb
with Guix and Guile. All feedback is greatly appreciated. Thank You :)

> I'm happy to see this improvement of building the manpage from source.
This part was not written by me. Last package definition version had a
chdir to the contrib directory step, to correctly copy over required
files. Since now the contrib directory is directly downloaded from
github it was no longer necessary. (that was the part removed)

> For my curiosity, what's the benefit of propagating grim? It looks
> like the full bath is also being substituted in the script?
While running the ./pre-inst-env to check if the package still works
correctly, I had an error that grim was not found. After a quick read on
the manual, noticed that propogated inputs actually copy it over.
It seems that my mistake is probably due to not updating this part.

#+BEGIN_EXAMPLE
(add-after 'chdir 'patch-script-dependencies
#+END_EXAMPLE

since chdir stage was removed it might have possibly skipped other steps
altogether. I'll look into it some more how it works exactly and try to
provide a new patch.

Jack Hill <jackhill@jackhill.us> writes:

> [1. text/plain]
> On Tue, 12 Mar 2024, Ignas Lapėnas wrote:
>
>> 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
>
> I haven't had a chance to test on a system yet, but thanks for
> preparing this, reading through it it looks good.
>
>> +                   (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"))))))))))
>
> I'm happy to see this improvement of building the manpage from source.
>
>>     (native-inputs (list scdoc))
>>     (inputs (list coreutils
>> -                  grim
>>                   jq
>>                   libnotify
>>                   slurp
>>                   sway
>>                   wl-clipboard))
>> +    (propagated-inputs (list grim))
>
> For my curiosity, what's the benefit of propagating grim? It looks
> like the full bath is also being substituted in the script?
>
> Thanks!
> Jack
Ignas Lapėnas March 12, 2024, 2:28 p.m. UTC | #3
Updated the patch and sent to this issue. Seems like the initial idea
was true about skipping phases, since now it correctly works without
propagated-input. Sorry about the mess-up from my part.
Jack Hill March 12, 2024, 6:13 p.m. UTC | #4
On Tue, 12 Mar 2024, Ignas Lapėnas wrote:

> Updated the patch and sent to this issue. Seems like the initial idea
> was true about skipping phases, since now it correctly works without
> propagated-input. Sorry about the mess-up from my part.

No worries, I'm happy we were able to collaborate. And thank you for 
proposing the fix, it saves the rest of us from needing to do so.

Best,
Jack
Jack Hill March 21, 2024, 1:38 a.m. UTC | #5
Looks like grimshot was updated in a sparate commit in 
fcf0fc0f33e6fc4ac96e585db5b048be620c3438

Thanks!
Jack
diff mbox series

Patch

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")