unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent
@ 2022-06-19 12:23 Gabriel Wicki
       [not found] ` <handler.56087.B.165564143722867.ack@debbugs.gnu.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Gabriel Wicki @ 2022-06-19 12:23 UTC (permalink / raw)
  To: 56087

Hello

Stumbling over the tools in suckless.scm i tried out sent.
Unfortunately just installing sent and giving the example from their
source-repo a try only produced a (somewhat strange) error.

Apparently sent (and probably other suckless tools) rely on suckless'
farbfeld package to handle images and the like, so i packaged it and
propagated the input farbfeld to sent.  This fixes the issue; now
presentations with images work.

I hope my patches are fine.

Best regards
Gabriel


From 55a563f53334c3eaac9cbae79fe33936679ab291 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Sat, 18 Jun 2022 17:00:16 +0200
Subject: [PATCH 1/2] gnu: Add farbfeld.

* gnu/packages/suckless.scm (farbfeld): New variable.
---
 gnu/packages/suckless.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 5aa37657b9..fb3af9ad6c 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -1084,3 +1084,35 @@ (define-public sfeed
 various other formats.  There are also some programs and scripts included to
 import and export OPML and to fetch, filter, merge and order feed items.")
     (license license:isc)))
+
+(define-public farbfeld
+  (let ((commit "ab5e3df") (revision "0"))
+    (package
+      (name "farbfeld")
+      (version (git-version "4" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://git.suckless.org/farbfeld")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870"))))
+      (build-system gnu-build-system)
+      (inputs (list libpng libjpeg-turbo))
+      (arguments
+       `(#:make-flags (list "PREFIX="
+                            (string-append "DESTDIR=" %output)
+                            (string-append "CC="
+                                           ,(cc-for-target)))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'check))))
+      (synopsis "Image format and conversion tools")
+      (description
+       "farbfeld is a lossless image format which is easy to parse,
+pipe and compress.")
+      (home-page "https://git.suckless.org/farbfeld/")
+      (license license:isc))))
-- 
2.34.0




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

* [bug#56087] Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent)
       [not found] ` <handler.56087.B.165564143722867.ack@debbugs.gnu.org>
@ 2022-06-19 12:36   ` Gabriel Wicki
  2022-06-19 13:12     ` Maxime Devos
  0 siblings, 1 reply; 7+ messages in thread
From: Gabriel Wicki @ 2022-06-19 12:36 UTC (permalink / raw)
  To: 56087

From d729f8e2b69a9b36436f6c6d7918ffbe524c5aad Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Sat, 18 Jun 2022 17:04:12 +0200
Subject: [PATCH 2/2] gnu: sent: Add farbfeld to propagated-inputs.

* gnu/packages/suckless.scm (sent)[propagated-inputs]: Add it.
---
 gnu/packages/suckless.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index fb3af9ad6c..d3fdee72e5 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -532,6 +532,8 @@ (define-public sent
                (string-append "LIBS=" (pkg-config "--libs") " -lm")))))
     (native-inputs
      (list pkg-config))
+    (propagated-inputs
+     (list farbfeld))
     (inputs
      `(("libpng" ,libpng)
        ("libx11" ,libx11)
-- 
2.34.0





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

* [bug#56087] Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent)
  2022-06-19 12:36   ` [bug#56087] Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent) Gabriel Wicki
@ 2022-06-19 13:12     ` Maxime Devos
  0 siblings, 0 replies; 7+ messages in thread
From: Maxime Devos @ 2022-06-19 13:12 UTC (permalink / raw)
  To: Gabriel Wicki, 56087

[-- Attachment #1: Type: text/plain, Size: 486 bytes --]

Gabriel Wicki schreef op zo 19-06-2022 om 14:36 [+0200]:
> +    (propagated-inputs
> +     (list farbfeld))

Propagation (*) can be avoided by looking in the source code of 'sent'
to see where farbfeld is started and replacing "farbfeld" by
"/gnu/store/.../bin/farbfeld" (using 'substitute*' & search-input-
file).

(*) Propagation is fragile in some uses (e.g. running directly from the
store) and hence not recommended when it can be avoided.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent
  2022-06-19 12:23 [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Gabriel Wicki
       [not found] ` <handler.56087.B.165564143722867.ack@debbugs.gnu.org>
@ 2022-06-19 13:17 ` Maxime Devos
  2022-06-21  0:50   ` Gabriel Wicki
  2022-06-19 13:18 ` [bug#56087] " Maxime Devos
  2 siblings, 1 reply; 7+ messages in thread
From: Maxime Devos @ 2022-06-19 13:17 UTC (permalink / raw)
  To: Gabriel Wicki, 56087

[-- Attachment #1: Type: text/plain, Size: 958 bytes --]

Gabriel Wicki schreef op zo 19-06-2022 om 14:23 [+0200]:
> +       `(#:make-flags (list "PREFIX="
> +                            (string-append "DESTDIR=" %output)

Guix does not do staged installation (that's what DESTDIR is for!), so
don't set DESTDIR, instead set PREFIX to #$output instead of DESTDIR
(the difference matters when the compiled program embeds a reference to
its own installation location).  Also, G-exps, because %output isn't
documented IIRC whereas #$output is:

  (arguments
    (list #:make-flags
          #~(list (string-append "PREFIX=" #$output)
                  (string-append "CC=" #$(cc-for-target)))
          #:phases
          #~(modify-phases %standard-phases
              (delete 'configure)
              (delete 'check))))

Also, always add a comment about why tests are skipped (maybe someone
knows how to fix them or the bug they noticed!).

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent
  2022-06-19 12:23 [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Gabriel Wicki
       [not found] ` <handler.56087.B.165564143722867.ack@debbugs.gnu.org>
  2022-06-19 13:17 ` [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Maxime Devos
@ 2022-06-19 13:18 ` Maxime Devos
  2 siblings, 0 replies; 7+ messages in thread
From: Maxime Devos @ 2022-06-19 13:18 UTC (permalink / raw)
  To: Gabriel Wicki, 56087

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

Gabriel Wicki schreef op zo 19-06-2022 om 14:23 [+0200]:
> +  (let ((commit "ab5e3df") (revision "0"))

To avoid collisions, don't abbreviate commits.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent
  2022-06-19 13:17 ` [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Maxime Devos
@ 2022-06-21  0:50   ` Gabriel Wicki
  2022-06-22 21:14     ` bug#56087: " Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Gabriel Wicki @ 2022-06-21  0:50 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 56087

Hi Maxime

Thanks for your quick reply!  Here is the revised patchset.  I've added
a patch to use `guix style`'s output.

Greetings,
gabriel



From 15e88ce3cb4ab51d6fe9ad9ae3ab15a435fb4db8 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Sat, 18 Jun 2022 17:00:16 +0200
Subject: [PATCH 1/3] gnu: Add farbfeld.

* gnu/packages/suckless.scm (farbfeld): New variable.
[use-modules]: Add (gnu packages imagemagick)
---
 gnu/packages/suckless.scm | 41 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 5aa37657b9..895fc4161b 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages suckless)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libbsd)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mpd)
@@ -1084,3 +1085,43 @@ (define-public sfeed
 various other formats.  There are also some programs and scripts included to
 import and export OPML and to fetch, filter, merge and order feed items.")
     (license license:isc)))
+
+(define-public farbfeld
+  (let ((commit "ab5e3dfc9cdb476218538c6687df9f44826d8f11") (revision "0"))
+    (package
+      (name "farbfeld")
+      (version (git-version "4" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://git.suckless.org/farbfeld")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870"))))
+      (build-system gnu-build-system)
+      (inputs (list libpng libjpeg-turbo imagemagick))
+      (arguments
+       (list #:tests?
+             #f ;no check target
+             #:make-flags
+             #~(list (string-append "PREFIX="
+                                    #$output)
+                     (string-append "CC="
+                                    #$(cc-for-target)))
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-before 'configure 'patch-2ff
+                   (lambda* (#:key inputs outputs #:allow-other-keys)
+                     (substitute* "2ff"
+                       (("png2ff") (string-append #$output "/bin/png2ff"))
+                       (("jpg2ff") (string-append #$output "/bin/jpg2ff"))
+                       (("convert") (search-input-file inputs "/bin/convert")))))
+                 (delete 'configure))))
+      (synopsis "Image format and conversion tools")
+      (description
+       "farbfeld is a lossless image format which is easy to parse,
+pipe and compress.")
+      (home-page "https://git.suckless.org/farbfeld/")
+      (license license:isc))))
-- 
2.34.0



From 1c5a9ff89bc4525b9e1a07b6b96b017ad58a81fe Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Sat, 18 Jun 2022 17:04:12 +0200
Subject: [PATCH 2/3] gnu: sent: Add farbfeld to propagated-inputs.

* gnu/packages/suckless.scm (sent)[propagated-inputs]: Add it.
[phases]{patch-farbfeld}: New phase.
[inputs]: Add farbfeld.
[home-page]: Add trailing slash to fix linter warning.
---
 gnu/packages/suckless.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 895fc4161b..837977d51b 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -520,7 +520,11 @@ (define-public sent
     (build-system gnu-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
-                  (delete 'configure))  ; no configuration
+                  (delete 'configure)  ; no configuration
+                  (add-before 'build 'patch-farbfeld
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* "config.def.h"
+                        (("2ff") (search-input-file inputs "/bin/2ff"))))))
        #:tests? #f                      ; no test suite
        #:make-flags
        (let ((pkg-config (lambda (flag)
@@ -534,7 +538,8 @@ (define-public sent
     (native-inputs
      (list pkg-config))
     (inputs
-     `(("libpng" ,libpng)
+     `(("farbfeld" ,farbfeld)
+       ("libpng" ,libpng)
        ("libx11" ,libx11)
        ("libxft" ,libxft)
        ("fontconfig" ,fontconfig)))
@@ -544,7 +549,7 @@ (define-public sent
 Especially for presentations using the Takahashi method this is very nice and
 allows you to write down the presentation for a quick lightning talk within a
 few minutes.")
-    (home-page "https://tools.suckless.org/sent")
+    (home-page "https://tools.suckless.org/sent/")
     (license license:x11)))
 
 (define-public wmname
-- 
2.34.0



From 6fb7a48822e51625de8ca1026260faac80adbe17 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Tue, 21 Jun 2022 02:38:40 +0200
Subject: [PATCH 3/3] gnu: sent: Apply guix style

* gnu/packages/suckless.scm (sent): Apply `guix style`.
---
 gnu/packages/suckless.scm | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 837977d51b..ac3ee7df10 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -520,31 +520,32 @@ (define-public sent
     (build-system gnu-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
-                  (delete 'configure)  ; no configuration
+                  (delete 'configure) ;no configuration
                   (add-before 'build 'patch-farbfeld
                     (lambda* (#:key inputs #:allow-other-keys)
                       (substitute* "config.def.h"
                         (("2ff") (search-input-file inputs "/bin/2ff"))))))
-       #:tests? #f                      ; no test suite
+       #:tests?
+       #f ;no test suite
        #:make-flags
        (let ((pkg-config (lambda (flag)
-                           (string-append
-                            "$(shell pkg-config " flag " "
-                            "xft fontconfig x11 libpng)"))))
-         (list (string-append "CC=" ,(cc-for-target))
+                           (string-append "$(shell pkg-config " flag " "
+                                          "xft fontconfig x11 libpng)"))))
+         (list (string-append "CC="
+                              ,(cc-for-target))
                (string-append "PREFIX=" %output)
-               (string-append "INCS=-I. " (pkg-config "--cflags"))
-               (string-append "LIBS=" (pkg-config "--libs") " -lm")))))
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     `(("farbfeld" ,farbfeld)
-       ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxft" ,libxft)
-       ("fontconfig" ,fontconfig)))
+               (string-append "INCS=-I. "
+                              (pkg-config "--cflags"))
+               (string-append "LIBS="
+                              (pkg-config "--libs") " -lm")))))
+    (native-inputs (list pkg-config))
+    (inputs `(("farbfeld" ,farbfeld) ("libpng" ,libpng)
+              ("libx11" ,libx11)
+              ("libxft" ,libxft)
+              ("fontconfig" ,fontconfig)))
     (synopsis "Plain-text presentation tool")
-    (description "Sent uses plain-text files and PNG images to create slideshow
+    (description
+     "Sent uses plain-text files and PNG images to create slideshow
 presentations.  Each paragraph represents a slide in the presentation.
 Especially for presentations using the Takahashi method this is very nice and
 allows you to write down the presentation for a quick lightning talk within a
-- 
2.34.0





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

* bug#56087: [PATCH] gnu: suckless: add farbfeld and propagate input to sent
  2022-06-21  0:50   ` Gabriel Wicki
@ 2022-06-22 21:14     ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2022-06-22 21:14 UTC (permalink / raw)
  To: Gabriel Wicki; +Cc: Maxime Devos, 56087-done

Hi Gabriel,

Gabriel Wicki <gabriel@erlikon.ch> skribis:

>>From 15e88ce3cb4ab51d6fe9ad9ae3ab15a435fb4db8 Mon Sep 17 00:00:00 2001
> From: Gabriel Wicki <gabriel@erlikon.ch>
> Date: Sat, 18 Jun 2022 17:00:16 +0200
> Subject: [PATCH 1/3] gnu: Add farbfeld.
>
> * gnu/packages/suckless.scm (farbfeld): New variable.
> [use-modules]: Add (gnu packages imagemagick)

[...]

>>From 1c5a9ff89bc4525b9e1a07b6b96b017ad58a81fe Mon Sep 17 00:00:00 2001
> From: Gabriel Wicki <gabriel@erlikon.ch>
> Date: Sat, 18 Jun 2022 17:04:12 +0200
> Subject: [PATCH 2/3] gnu: sent: Add farbfeld to propagated-inputs.
>
> * gnu/packages/suckless.scm (sent)[propagated-inputs]: Add it.
> [phases]{patch-farbfeld}: New phase.
> [inputs]: Add farbfeld.
> [home-page]: Add trailing slash to fix linter warning.

[...]

>>From 6fb7a48822e51625de8ca1026260faac80adbe17 Mon Sep 17 00:00:00 2001
> From: Gabriel Wicki <gabriel@erlikon.ch>
> Date: Tue, 21 Jun 2022 02:38:40 +0200
> Subject: [PATCH 3/3] gnu: sent: Apply guix style
>
> * gnu/packages/suckless.scm (sent): Apply `guix style`.

Applied, thank you & thanks Maxime!

I followed up with:

  guix style -S inputs sent --input-simplification=always

The effect is to remove input labels.

Ludo’.




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

end of thread, other threads:[~2022-06-22 21:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-19 12:23 [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Gabriel Wicki
     [not found] ` <handler.56087.B.165564143722867.ack@debbugs.gnu.org>
2022-06-19 12:36   ` [bug#56087] Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent) Gabriel Wicki
2022-06-19 13:12     ` Maxime Devos
2022-06-19 13:17 ` [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent Maxime Devos
2022-06-21  0:50   ` Gabriel Wicki
2022-06-22 21:14     ` bug#56087: " Ludovic Courtès
2022-06-19 13:18 ` [bug#56087] " Maxime Devos

Code repositories for project(s) associated with this 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).