GNU bug report logs -
#56770
[PATCH] gnu: Add grimshot.
Previous Next
Reported by: Antero Mejr <antero <at> mailbox.org>
Date: Mon, 25 Jul 2022 20:55:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 56770 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/wm.scm (grimshot): New variable.
---
changes for v2:
1. using copy-build-system instead of trivial-build-system because it is
simpler, copy-build-system handles unpacking the source
2. using snippet to delete the precompiled grimshot.1 (from review)
3. using this-package-input when substituting the script (from review)
4. using invoke to build man page (from review)
5. put inputs on separate lines (from guix style)
Maxime, this code: (source (file-append (package-source sway) "/contrib"))
didn't work for me, but inheriting the package source worked
with --with-git-url.
gnu/packages/wm.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 8fef7de77b..1e60ceb27b 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2742,3 +2742,68 @@ (define-public avizo
"Avizo is a simple notification daemon for Sway, mainly intended to be
used for multimedia keys.")
(license license:gpl3+)))
+
+(define-public grimshot
+ (package
+ (inherit sway)
+ (name "grimshot")
+ (source (origin
+ (inherit (package-source sway))
+ (snippet #~(begin
+ (delete-file "contrib/grimshot.1")))))
+ (build-system copy-build-system)
+ (arguments
+ (list #:install-plan #~`(("grimshot" "bin/")
+ ("grimshot.1" "usr/share/man/man1/"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "contrib")))
+ (add-after 'chdir 'patch-script-deps
+ (lambda _
+ (substitute* "grimshot"
+ (("date ")
+ (string-append #$(this-package-input "coreutils")
+ "/bin/date "))
+ (("jq ")
+ (string-append #$(this-package-input "jq")
+ "/bin/jq "))
+ (("swaymsg ")
+ (string-append #$(this-package-input "sway")
+ "/bin/swaymsg "))
+ (("notify-send ")
+ (string-append #$(this-package-input "libnotify")
+ "/bin/notify-send "))
+ (("grim ")
+ (string-append #$(this-package-input "grim")
+ "/bin/grim "))
+ (("slurp ")
+ (string-append #$(this-package-input "slurp")
+ "/bin/slurp "))
+ (("wl-copy ")
+ (string-append
+ #$(this-package-input "wl-clipboard")
+ "/bin/wl-copy ")))))
+ (add-after 'patch-script-deps 'build-man-page
+ (lambda _
+ (with-input-from-file "grimshot.1.scd"
+ (lambda _
+ (with-output-to-file "grimshot.1"
+ (lambda _
+ (invoke #+(file-append
+ (this-package-native-input
+ "scdoc")
+ "/bin/scdoc")))))))))))
+ (native-inputs (list scdoc))
+ (inputs (list coreutils
+ grim
+ jq
+ libnotify
+ slurp
+ sway
+ wl-clipboard))
+ (synopsis "Screenshot utility for the Sway window manager")
+ (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.")))
--
2.37.0
This bug report was last modified 3 years and 19 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.