* [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 related [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 related [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 related [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 public 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).