all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#29651] [PATCH 0/2] fbcat and snapscreenshot
@ 2017-12-10 23:03 Tobias Geerinckx-Rice
  2017-12-10 23:03 ` [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot Tobias Geerinckx-Rice
  2017-12-10 23:03 ` [bug#29653] [PATCH 2/2] gnu: Add fbcat Tobias Geerinckx-Rice
  0 siblings, 2 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-12-10 23:03 UTC (permalink / raw)
  To: 29651

Guix,

This adds two non-X screenshooters, which I think is neat.

linux.scm is getting pretty pudgy but seems the better fit.

Kind regards,

T G-R

Tobias Geerinckx-Rice (2):
  gnu: Add snapscreenshot.
  gnu: Add fbcat.

 gnu/packages/linux.scm | 117 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)

-- 
2.15.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot.
  2017-12-10 23:03 [bug#29651] [PATCH 0/2] fbcat and snapscreenshot Tobias Geerinckx-Rice
@ 2017-12-10 23:03 ` Tobias Geerinckx-Rice
  2017-12-11 16:12   ` Ludovic Courtès
  2017-12-10 23:03 ` [bug#29653] [PATCH 2/2] gnu: Add fbcat Tobias Geerinckx-Rice
  1 sibling, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-12-10 23:03 UTC (permalink / raw)
  To: 29652

* gnu/packages/linux.scm (snapscreenshot): New public variable.
---
 gnu/packages/linux.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ec6f0b132..e61e279a7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4462,3 +4462,43 @@ interfaces in parallel environments.")
     ;; Only Intel-compatable processors are supported.
     (supported-systems '("i686-linux" "x86_64-linux"))
     (license (list license:bsd-2 license:gpl2)))) ;dual
+
+(define-public snapscreenshot
+  (package
+    (name "snapscreenshot")
+    (version "1.0.14.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://bisqwit.iki.fi/src/arch/"
+                           name "-" version ".tar.bz2"))
+       (sha256
+        (base32 "0gzvqsbf6a2sbd1mqvj1lbm57i2bm5k0cr6ncr821d1f32gw03mk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BINDIR=" out "/bin")
+               (string-append "MANDIR=" out "/share/man")))
+       #:tests? #f                      ; no test suite
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; ./configure is a snarky no-op
+         (add-before 'install 'fix-ownership
+           ;; Install binaries owned by ‘root’ instead of the nonexistent ‘bin’.
+           (lambda _
+             (substitute* "depfun.mak"
+               ((" -o bin -g bin ") " "))
+             #t))
+         (add-before 'install 'create-output-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/share/man/man1"))
+               #t))))))
+    (home-page "http://bisqwit.iki.fi/source/snapscreenshot.html")
+    (synopsis "Take screenshots of one or more Linux text consoles")
+    (description
+     "snapscreenshot saves a screenshot of one or more Linux text consoles as a
+Targa (@dfn{.tga}) image.  It can be used by anyone with read access to the
+relevant @file{/dev/vcs*} file(s).")
+    (license license:gpl2)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#29653] [PATCH 2/2] gnu: Add fbcat.
  2017-12-10 23:03 [bug#29651] [PATCH 0/2] fbcat and snapscreenshot Tobias Geerinckx-Rice
  2017-12-10 23:03 ` [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot Tobias Geerinckx-Rice
@ 2017-12-10 23:03 ` Tobias Geerinckx-Rice
  2017-12-11 16:14   ` Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-12-10 23:03 UTC (permalink / raw)
  To: 29653

* gnu/packages/linux.scm (fbcat): New public variable.
---
 gnu/packages/linux.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e61e279a7..0eb257436 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages netpbm)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages perl)
@@ -4502,3 +4503,79 @@ interfaces in parallel environments.")
 Targa (@dfn{.tga}) image.  It can be used by anyone with read access to the
 relevant @file{/dev/vcs*} file(s).")
     (license license:gpl2)))
+
+(define-public fbcat
+  (package
+    (name "fbcat")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jwilk/fbcat/releases/download/"
+                           version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1dla1na3nf3s4xy0p6w0v54zipg1x8c14yqsw8w9qjzhchr4caxw"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     ;; For building the man pages.
+     `(("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters.  We
+     ;; choose netpbm simply because it's the smallest.  It still adds ~94 MiB
+     ;; to an otherwise tiny package, so we put ‘fbgrab’ in its own output.
+     `(("pnmtopng" ,netpbm)))
+    (outputs (list "out" "fbgrab"))
+    (arguments
+     `(#:make-flags (list "CC=gcc")
+       #:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-docbook-location
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "doc/Makefile"
+               (("http://docbook.sourceforge.net/release/xsl/current")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl))))
+             #t))
+         (delete 'configure)            ; no configure script
+         (add-after 'build 'build-documentation
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "-C" "doc"
+                           make-flags))))
+         (add-after 'build 'qualify-references
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((pnmtopng (assoc-ref inputs "pnmtopng"))
+                    (out (assoc-ref outputs "out")))
+               (substitute* "fbgrab"
+                 (("fbcat" all)
+                  (string-append out "/bin/" all))
+                 (("pnmtopng" all)
+                  (string-append pnmtopng "/bin/" all)))
+               #t)))
+         (replace 'install
+           ;; The Makefile lacks an ‘install’ target.  Install files manually.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (out:fbgrab (assoc-ref outputs "fbgrab")))
+               (install-file "fbcat" (string-append out "/bin"))
+               (install-file "doc/fbcat.1"
+                             (string-append out "/share/man/man1"))
+               (install-file "fbgrab" (string-append out:fbgrab "/bin"))
+               (install-file "doc/fbgrab.1"
+                             (string-append out:fbgrab "/share/man/man1"))
+               #t))))))
+    (home-page "https://jwilk.net/software/fbcat")
+    (synopsis "Take a screenshot of the contents of the Linux framebuffer")
+    (description
+     "fbcat saves the contents of the Linux framebuffer (@file{/dev/fb*}), or
+a dump therof.  It supports a wide range of drivers and pixel formats.
+@command{fbcat} can take screenshots of virtually any application that can be
+made to write its output to the framebuffer, including (but not limited to)
+text-mode or graphical applications that don't use a display server.
+
+Also included is @command{fbgrab}, a wrapper around @command{fbcat} that
+emulates the behaviour of Gunnar Monell's older fbgrab utility.")
+    (license license:gpl2)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot.
  2017-12-10 23:03 ` [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot Tobias Geerinckx-Rice
@ 2017-12-11 16:12   ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2017-12-11 16:12 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 29652

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> * gnu/packages/linux.scm (snapscreenshot): New public variable.

LGTM!  (And a useful tool, e.g., for people having problems during the
GuixSD installation procedure!)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#29653] [PATCH 2/2] gnu: Add fbcat.
  2017-12-10 23:03 ` [bug#29653] [PATCH 2/2] gnu: Add fbcat Tobias Geerinckx-Rice
@ 2017-12-11 16:14   ` Ludovic Courtès
  2017-12-12  4:45     ` bug#29653: " Tobias Geerinckx-Rice
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2017-12-11 16:14 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 29653

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> * gnu/packages/linux.scm (fbcat): New public variable.

[...]

> +    (inputs
> +     ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters.  We
> +     ;; choose netpbm simply because it's the smallest.  It still adds ~94 MiB
> +     ;; to an otherwise tiny package, so we put ‘fbgrab’ in its own output.
> +     `(("pnmtopng" ,netpbm)))
> +    (outputs (list "out" "fbgrab"))

That’s quite unusual but why not.

Otherwise LGTM!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#29653: [PATCH 2/2] gnu: Add fbcat.
  2017-12-11 16:14   ` Ludovic Courtès
@ 2017-12-12  4:45     ` Tobias Geerinckx-Rice
  0 siblings, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-12-12  4:45 UTC (permalink / raw)
  To: ludo; +Cc: 29653-done

Ludo',

Ludovic Courtès wrote on 11/12/17 at 17:14:
> Tobias Geerinckx-Rice <me@tobias.gr> skribis:
> 
>> * gnu/packages/linux.scm (fbcat): New public variable.
> 
> [...]
> 
>> +    (inputs
>> +     ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters.  We
>> +     ;; choose netpbm simply because it's the smallest.  It still adds ~94 MiB
>> +     ;; to an otherwise tiny package, so we put ‘fbgrab’ in its own output.
>> +     `(("pnmtopng" ,netpbm)))
>> +    (outputs (list "out" "fbgrab"))
> 
> That’s quite unusual but why not.

It is. IMO a nicer hack than pseudopackages like ‘fbcat-full’.

If we ever start more aggressively auto-splitting outputs and this would
interfere (‘fbcat:fbgrab:debug’), I'll rewrite it through my tears.

> Otherwise LGTM!

Thanks!

Pushed as c1c825844392d2db2414ec0c07dce0d882b6551d (snapscreenshot)
      and 8d8d227bbbe9bd1981bc63704c7f3fe029001f53 (fbcat).

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-12-12  4:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-10 23:03 [bug#29651] [PATCH 0/2] fbcat and snapscreenshot Tobias Geerinckx-Rice
2017-12-10 23:03 ` [bug#29652] [PATCH 1/2] gnu: Add snapscreenshot Tobias Geerinckx-Rice
2017-12-11 16:12   ` Ludovic Courtès
2017-12-10 23:03 ` [bug#29653] [PATCH 2/2] gnu: Add fbcat Tobias Geerinckx-Rice
2017-12-11 16:14   ` Ludovic Courtès
2017-12-12  4:45     ` bug#29653: " Tobias Geerinckx-Rice

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.