gnu: Add lemonbar-xft.

  • Done
  • quality assurance status badge
Details
2 participants
  • elaexuotee
  • Christopher Baines
Owner
unassigned
Submitted by
elaexuotee
Severity
normal
E
E
elaexuotee wrote on 22 Nov 2020 06:30
(address . guix-patches@gnu.org)
2ZE4C0OKC3A7H.2HN5A6QF4EP7L@wilsonb.com
This adds a fork of the `lemonbar' package that supports fontconfig.
From 2a6f0059f8c5ca687c68c667d88a58c98f6c12ba Mon Sep 17 00:00:00 2001
From: "B. Wilson" <elaexuotee@wilsonb.com>
Date: Sun, 22 Nov 2020 14:23:48 +0900
Subject: [PATCH] gnu: Add lemonbar-xft.
To: guix-patches@gnu.org

gnu/packages/wm.scm(lemonbar-xft): New variable.
---
gnu/packages/wm.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 361cecf26f..7d9b591545 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1931,6 +1932,40 @@ formatting, RandR and Xinerama support and EWMH compliance without
wasting your precious memory.")
(license license:x11))))
+(define-public lemonbar-xft
+ ;; Upstream v2.0 tag is several years behind HEAD
+ (let ((commit "481e12363e2a0fe0ddd2176a8e003392be90ed02"))
+ (package
+ (inherit lemonbar)
+ (name "lemonbar-xft")
+ (version (string-append "2.0." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/drscream/lemonbar-xft")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0588g37h18lv50h7w8vfbwhvc3iajh7sdr53848spaif99nh3mh4"))))
+ (inputs `(("freetype" ,freetype)
+ ("libxft" ,libxft)
+ ("libx11" ,libx11)
+ ,@(package-inputs lemonbar)))
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:make-flags
+ (list
+ (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" %output)
+ (string-append "CFLAGS="
+ (string-join
+ (list (string-append "-I" (assoc-ref %build-inputs "freetype")
+ "/include/freetype2")
+ (string-append "-D" "VERSION="
+ (format #f "'~s'" ,version))))))
+ #:phases (modify-phases %standard-phases (delete 'configure)))))))
+
(define-public xclickroot
(let ((commit "309fd17174dba4149b5ea66654c6fd02cfcf7c9a")
(revision "1"))
--
2.29.2
C
C
Christopher Baines wrote on 28 Nov 2020 17:46
(address . elaexuotee@wilsonb.com)(address . 44789@debbugs.gnu.org)
87zh31sa3y.fsf@cbaines.net
elaexuotee--- via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (2 lines)
> This adds a fork of the `lemonbar' package that supports fontconfig.

I don't know anything about lemonbar, but this sounds OK in principle.


gnu/packages/wm.scm(lemonbar-xft): New variable.
---
gnu/packages/wm.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 361cecf26f..7d9b591545 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1931,6 +1932,40 @@ formatting, RandR and Xinerama support and EWMH compliance without
wasting your precious memory.")
(license license:x11))))
+(define-public lemonbar-xft
+ ;; Upstream v2.0 tag is several years behind HEAD
+ (let ((commit "481e12363e2a0fe0ddd2176a8e003392be90ed02"))
+ (package
+ (inherit lemonbar)
+ (name "lemonbar-xft")
+ (version (string-append "2.0." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/drscream/lemonbar-xft")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0588g37h18lv50h7w8vfbwhvc3iajh7sdr53848spaif99nh3mh4"))))
+ (inputs `(("freetype" ,freetype)
+ ("libxft" ,libxft)
+ ("libx11" ,libx11)
+ ,@(package-inputs lemonbar)))
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:make-flags
+ (list
+ (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" %output)
+ (string-append "CFLAGS="
+ (string-join
+ (list (string-append "-I" (assoc-ref %build-inputs "freetype")
+ "/include/freetype2")
+ (string-append "-D" "VERSION="
+ (format #f "'~s'" ,version))))))
+ #:phases (modify-phases %standard-phases (delete 'configure)))))))

So, it would be nice to change the description (and maybe synopsis) to
set out how this package is different from lemonbar.

Also, regarding the arguments above, I think you can reduce the
duplication with the lemonbar package by doing something like:

(arguments
(substitute-keyword-arguments (package-arguments lemonbar)
((#:make-flags make-flags)
(append make-flags
(string-append
"CFLAGS="
(string-join
(list (string-append "-I" (assoc-ref %build-inputs "freetype")
"/include/freetype2")
(string-append "-D" "VERSION="
(format #f "'~s'" ,version)))))))))

I've only just written this in this email, so I'm not sure if it works,
but I think it's close.

Would you be able to send an updated patch?

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl/CftFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XcNwQ//cOD2+2i/6VjF6EFCmn6wxluCMx4+uqvW
dHCf1nrJChv58esPLuO4gAJn+vZFdLYZuPkaNcFcwfYVB4OzXoJIyD1W6n3OrFDq
oOj64yliEY0GxCNJhvqeROnKDu86gyQ3Uq0BcymrOSjXjnVM3TE7iArGWxiJ8Cgm
5MntizVIHaU2EkOmtQoLP72cdzZkYpPNLEjYOKPwRYwvmOvlZgTPEk7R0LgEMSvR
AhOYlb5oXK2rDLeEKGxL92pkNf+Q4fcrgPmpp3REqLoxGDBRVS7+XKFMMn++zbe9
BHWcyiKCm0adFQ7YU/cImywUSVDJgcEJn8xOgCOaz5GOpL4A7vAsXRVHHu0/g96R
M2SA8Brygz3Sm7mgC0iakYmrKZee2OyqaOKETqt772Ot4mvycCrx246uV6ewq5oj
uXWYYWM2imOuSiJ4jZJ6RfZhxuO01/5G6YgaoaI7GBRi6DUgDxkiUPSWaO2sbzl4
j/NTCn6nNYFSY5x4XXk7zZJ1Yvd+KlNYcMYp8txnIlcmgpKgdJgyTc1zAXYoIzPl
KIib3Z1vvWyHUcI8SoS2Vbm3agN68wIN290d2mrIn1oze08qPK3C93+gtBBNyg5m
16ICNLBaDVtKYOKu5nVRFhORNPmUKCV6t0B2ROQgbMnsaxH1A/bweBFepjB9dUYg
STMGiwmL+CI=
=NzkV
-----END PGP SIGNATURE-----

E
E
elaexuotee wrote on 9 Dec 2020 07:53
(name . Christopher Baines)(address . mail@cbaines.net)(address . 44789@debbugs.gnu.org)
3AIFEQIG2SEFL.2UMS1A13LOXPU@wilsonb.com
Christopher Baines <mail@cbaines.net> wrote:
Toggle quote (7 lines)
>
> elaexuotee--- via Guix-patches via <guix-patches@gnu.org> writes:
>
> > This adds a fork of the `lemonbar' package that supports fontconfig.
>
> I don't know anything about lemonbar, but this sounds OK in principle.

Thanks for the sanity check.

Toggle quote (3 lines)
> So, it would be nice to change the description (and maybe synopsis) to
> set out how this package is different from lemonbar.

Oh cool. I have run across several packages that `inherit` from their parents
without modifying the description, so just kind of blindly followed suit.
Actually, checking package sources however, it looks like inheriting packages
*do* update synopses and descriptions.

Toggle quote (18 lines)
> Also, regarding the arguments above, I think you can reduce the
> duplication with the lemonbar package by doing something like:
>
> (arguments
> (substitute-keyword-arguments (package-arguments lemonbar)
> ((#:make-flags make-flags)
> (append make-flags
> (string-append
> "CFLAGS="
> (string-join
> (list (string-append "-I" (assoc-ref %build-inputs "freetype")
> "/include/freetype2")
> (string-append "-D" "VERSION="
> (format #f "'~s'" ,version)))))))))
>
> I've only just written this in this email, so I'm not sure if it works,
> but I think it's close.

Very nice. It required a tad bit of munging, but was very helpful.

Toggle quote (2 lines)
> Would you be able to send an updated patch?

Attached!

Note that I opted to `string-append` to lemonbar's synopsis and description.
This doesn't seem to be common, but does it make sense here?
From 321caf9ba721e0c41dda64298093f1aea1b95b63 Mon Sep 17 00:00:00 2001
From: "B. Wilson" <elaexuotee@wilsonb.com>
Date: Sun, 22 Nov 2020 14:23:48 +0900
Subject: [PATCH] gnu: Add lemonbar-xft.
To: guix-patches@gnu.org

gnu/packages/wm.scm(lemonbar-xft): New variable.
---
gnu/packages/wm.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (59 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 361cecf26f..08b3653c32 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1931,6 +1932,44 @@ formatting, RandR and Xinerama support and EWMH compliance without
wasting your precious memory.")
(license license:x11))))
+(define-public lemonbar-xft
+ ;; Upstream v2.0 tag is several years behind HEAD
+ (let ((commit "481e12363e2a0fe0ddd2176a8e003392be90ed02"))
+ (package
+ (inherit lemonbar)
+ (name "lemonbar-xft")
+ (version (string-append "2.0." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/drscream/lemonbar-xft")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0588g37h18lv50h7w8vfbwhvc3iajh7sdr53848spaif99nh3mh4"))))
+ (inputs `(("freetype" ,freetype)
+ ("libxft" ,libxft)
+ ("libx11" ,libx11)
+ ,@(package-inputs lemonbar)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments lemonbar)
+ ((#:make-flags make-flags)
+ `(append ,make-flags
+ (list (string-append "CFLAGS="
+ (string-join
+ (list (string-append
+ "-I" (assoc-ref %build-inputs "freetype")
+ "/include/freetype2")
+ (string-append
+ "-D" "VERSION="
+ (format #f "'~s'" ,version))))))))))
+ (synopsis (string-append (package-synopsis lemonbar)
+ "-- with fontconfig support"))
+ (description (string-append (package-description lemonbar)
+ " This is a fork of the @code{lemonbar}
+package that adds fontconfig support, for easier unicode usage.")))))
+
(define-public xclickroot
(let ((commit "309fd17174dba4149b5ea66654c6fd02cfcf7c9a")
(revision "1"))
--
2.29.2
C
C
Christopher Baines wrote on 9 Dec 2020 10:14
(address . elaexuotee@wilsonb.com)(address . 44789-done@debbugs.gnu.org)
87sg8fgx2n.fsf@cbaines.net
elaexuotee@wilsonb.com writes:

Toggle quote (7 lines)
>> Would you be able to send an updated patch?
>
> Attached!
>
> Note that I opted to `string-append` to lemonbar's synopsis and description.
> This doesn't seem to be common, but does it make sense here?

I think that's OK. I tweaked the indentation, set a home-page and pushed
to master as 8e2aad26ae9b7365db83d4f6c74e9e79c57766a6.

Thanks!

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl/QlZBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfNWg//ZgI25ZM6DGOAQF8HELdjnZYcGJhVo2eK
MK8gBLtxytdattigKYt2mCDoCB/iFJp2zmfCKXZBhCcgvnodrlCCOj+GUNNV1zM8
tMSVgRORECYRf9QrzVW95ieaLCyP13wpxtXwGtQR7ncdL5X5k6ss/lwEIOMh1WMO
B2aKXZhkymjI6y7WxmJws/PXrsRoOfTzpzYksVof/3+2vEnS3gRNvUORX+HLodc2
1Gn5Sh5nDePg8K/g067kuPDZ30VpEJb5b/txaB9Ztoe/DZ/bfH+fRlcIT0kXPcod
/wZ5rKnUHF7h54q7EKXYNnlH3op3ogDjbI3StaFeE6jenWenapbML5hDT+Qqoj21
wWLd1BI8CZT6jMIwczyceESPQH//x3nSannwmKN1E74L/Oz9b+39E2ekdZ3HD8xV
53PT+o8U0DTTdpYuxHQziwe9kG5HmuovmvVT0I47YzgScwdX0cGCoU3+1+I542x9
chQ5RSAREodP0ZwFbATyzfC4wqRhHqaksr2jdSHforp6Ybb6U0HGKbfNvg1LYk/K
2h01ttCAqpWXL33bBoFpy1DOQ2T6p2z7L8akBlQpyk3Mm+Z+cw5lX/et+pAYoLxu
++XRXj2JMOe85MlTPJMefHpHLwUK6pRxyko6llFBFB/zqvptKsRgUyhm0iWOjZir
IfsIvBKpecQ=
=vR88
-----END PGP SIGNATURE-----

Closed
?