[PATCH] gnu: suckless: add farbfeld and propagate input to sent

  • Done
  • quality assurance status badge
Details
3 participants
  • Gabriel Wicki
  • Ludovic Courtès
  • Maxime Devos
Owner
unassigned
Submitted by
Gabriel Wicki
Severity
normal
G
G
Gabriel Wicki wrote on 19 Jun 2022 14:23
(address . guix-patches@gnu.org)
20220619115925.bcrcjpd7yse2n25t@silvi
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(+)

Toggle diff (42 lines)
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
G
G
Gabriel Wicki wrote on 19 Jun 2022 14:36
Re: bug#56087: Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent)
(address . 56087@debbugs.gnu.org)
20220619123652.xyx3pmkgueqh5pfa@silvi
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(+)

Toggle diff (15 lines)
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
M
M
Maxime Devos wrote on 19 Jun 2022 15:12
Re: [bug#56087] Acknowledgement ([PATCH] gnu: suckless: add farbfeld and propagate input to sent)
9d1b5098ed70984ca2f41602454c06f80ad58f50.camel@telenet.be
Gabriel Wicki schreef op zo 19-06-2022 om 14:36 [+0200]:
Toggle quote (3 lines)
> +    (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.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYq8grxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7unoAP9W0x5kHK/Fo7zL4+/RUggmYV64
WbfpCqstrqaWDDLS/AD+LR0Ujv8rmo5jPYqTXUsX0M1qT+BGBZWNieN+35CqOQM=
=+epT
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 19 Jun 2022 15:17
Re: [bug#56087] [PATCH] gnu: suckless: add farbfeld and propagate input to sent
66ac65e65fb19a239aedcb132c75343b88083306.camel@telenet.be
Gabriel Wicki schreef op zo 19-06-2022 om 14:23 [+0200]:
Toggle quote (3 lines)
> +       `(#: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
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYq8iAhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7m8bAQD55TPBeyM1lDVOrUHdox3j5p1P
6d5tdVhze0YClqEqKwEA0ciFtNGL8B2tT/5khqrY6fIir0Fv7I201v2/sg8H+wc=
=c0am
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 19 Jun 2022 15:18
aaee68071cc288257f50fc9e16cfc3ea4f731d07.camel@telenet.be
Gabriel Wicki schreef op zo 19-06-2022 om 14:23 [+0200]:
Toggle quote (2 lines)
> +  (let ((commit "ab5e3df") (revision "0"))

To avoid collisions, don't abbreviate commits.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYq8iPRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ncJAQDp0p+IjetHOINUi4xcLOYL0ybk
VcQmi6ZnjrlhcBKvowEA++Nt0n4/Z24LRYtO/kFDQtKiOGQtwpMBlQJA08Pr9QQ=
=FEa1
-----END PGP SIGNATURE-----


G
G
Gabriel Wicki wrote on 21 Jun 2022 02:50
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 56087@debbugs.gnu.org)
20220621005047.ajgnk3ob22t37wsc@silvi
Attachment: file
L
L
Ludovic Courtès wrote on 22 Jun 2022 23:14
Re: bug#56087: [PATCH] gnu: suckless: add farbfeld and propagate input to sent
(name . Gabriel Wicki)(address . gabriel@erlikon.ch)
87mte41juc.fsf_-_@gnu.org
Hi Gabriel,

Gabriel Wicki <gabriel@erlikon.ch> skribis:

Toggle quote (8 lines)
>>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)

[...]

Toggle quote (10 lines)
>>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.

[...]

Toggle quote (7 lines)
>>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’.
Closed
?