[bug#56127] gnu: polybar: Update to 3.6.3.
Commit Message
Hi Guix,
Here is a patch to update polybar. There were some slight tweaks needed: new input, remove unneeded native-input, and change where the default configuration file is installed (from /etc) to #$output/etc/xdg.
This last change may look slightly different from the default behavior, but this will put it where it should be found using XDG_CONFIG_DIRS. This was made in the change to polybar that also moved/altered the configuration installation: https://github.com/polybar/polybar/commit/282b0f4e73e9cbb68afd6e168c472e3f422e9a6f#diff-6b4c594394f4751f9012dc3889b278312f0e7275ab48edbe3b02d434e183aa52
I tested that it builds and polybar will find this default configuration file when no config is otherwise found or specified. The default bar looked fine to me. Note that I did test this where I do have XDG_CONFIG_DIRS set for that profile anyway.
Thanks!
John
Comments
Hello John
John Kehayias via Guix-patches via <guix-patches@gnu.org> writes:
> Hi Guix,
>
> Here is a patch to update polybar. There were some slight tweaks needed: new input, remove unneeded native-input, and change where the default configuration file is installed (from /etc) to #$output/etc/xdg.
>
> This last change may look slightly different from the default behavior, but this will put it where it should be found using XDG_CONFIG_DIRS. This was made in the change to polybar that also moved/altered the configuration installation: https://github.com/polybar/polybar/commit/282b0f4e73e9cbb68afd6e168c472e3f422e9a6f#diff-6b4c594394f4751f9012dc3889b278312f0e7275ab48edbe3b02d434e183aa52
>
> I tested that it builds and polybar will find this default configuration file when no config is otherwise found or specified. The default bar looked fine to me. Note that I did test this where I do have XDG_CONFIG_DIRS set for that profile anyway.
Looks good to me as-is, builds and runs fine, although I'd prefer to
keep the file at /etc/, and patch src/utils/file.cpp to look for
$output/etc/polybar/config.ini. That way, polybar would work without a
config file even when not installed. Also, if you have the time, could
you move the native-inputs to the new style as an additional commit?
WDYT?
Hi Josselin,
------- Original Message -------
On Wednesday, June 22nd, 2022 at 9:42 AM, Josselin Poiret <dev@jpoiret.xyz> wrote:
>
> Looks good to me as-is, builds and runs fine, although I'd prefer to
> keep the file at /etc/, and patch src/utils/file.cpp to look for
> $output/etc/polybar/config.ini. That way, polybar would work without a
> config file even when not installed. Also, if you have the time, could
> you move the native-inputs to the new style as an additional commit?
>
> WDYT?
Not sure I understand what you mean by not needing to have polybar installed. Do you mean not having to worry about XDG_CONFIG_DIRS being set up? Running directly from /gnu/store? I can make that change (it was the alternative I thought of too) if that would help useability for a new user without a config.
And yes, can update with a second commit to clean native-inputs as well.
Thanks for taking a look!
John
Hi John,
John Kehayias <john.kehayias@protonmail.com> writes:
> Not sure I understand what you mean by not needing to have polybar installed. Do you mean not having to worry about XDG_CONFIG_DIRS being set up? Running directly from /gnu/store? I can make that change (it was the alternative I thought of too) if that would help useability for a new user without a config.
Yes, I meant running from store or using `guix shell polybar -- polybar`
(which does not setup XDG_CONFIG_DIRS).
> And yes, can update with a second commit to clean native-inputs as well.
Great!
> Thanks for taking a look!
Thank you for your contribution!
Best,
From 672bbe6f7d622dae75f1202482785540b22a8314 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Tue, 21 Jun 2022 14:14:08 -0400
Subject: [PATCH] gnu: polybar: Update to 3.6.3.
* gnu/packages/wm.scm (polybar): Update to 3.6.3.
[phases]: Add patch-config-path to install the default configuration file
where it can be found by polybar.
[inputs]: Add libuv, required to build polybar.
[native-inputs]: Remove python-2, no longer needed.
---
gnu/packages/wm.scm | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
@@ -1469,19 +1469,27 @@ (define-public nitrogen
(define-public polybar
(package
(name "polybar")
- (version "3.5.7")
+ (version "3.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/polybar/polybar/releases/"
"download/" version "/polybar-" version ".tar.gz"))
(sha256
- (base32 "1nr386jdlm8qkbdf23w7lyvbfhr362s90f957fawnyi1finhw8bk"))))
+ (base32 "19azx5dpfyfh0pv4q2fcrf4p7a0pc5d13m7lnv3qy8376mbmhmzj"))))
(build-system cmake-build-system)
(arguments
;; Test is disabled because it requires downloading googletest from the
;; Internet.
- '(#:tests? #f))
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Install the default configuration file to where polybar
+ ;; can find it, through XDG_CONFIG_DIRS.
+ (add-after 'unpack 'patch-config-path
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("/etc") (string-append #$output "/etc/xdg"))))))))
(inputs
(list alsa-lib
cairo
@@ -1489,6 +1497,7 @@ (define-public polybar
jsoncpp
libmpdclient
libnl
+ libuv
libxcb
pulseaudio
xcb-proto
@@ -1500,9 +1509,6 @@ (define-public polybar
(native-inputs
`(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx) ; for the manual
- ;; XXX: "python" input must be located after "python-2", or the package
- ;; fails to build with "missing required python module: xcbgen".
- ("python-2" ,python-2) ; lib/xpp depends on python 2
("python" ,python))) ; xcb-proto depends on python 3
(home-page "https://polybar.github.io/")
(synopsis "Fast and easy-to-use status bar")
--
2.36.1