unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
@ 2023-01-15 22:35 Sergiu Ivanov
       [not found] ` <handler.60840.B.167382229432354.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-15 22:35 UTC (permalink / raw)
  To: 60840

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

Dear Guix,

I am hereby submitting a patch series updating volctl to 0.9.3.

This new version relies on python-pulsectl, which this patch series also adds.

Thanks!

-
Sergiu

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0000-cover-letter.patch --]
[-- Type: text/x-patch, Size: 694 bytes --]

From 10957fe441340d5d1f3a83f8baeb9ffcff1158dd Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 15 Jan 2023 23:32:03 +0100
Subject: [PATCH 0/3] gnu: volctl: Update to 0.9.3.

Dear Guix,

I am hereby submitting a patch series updating volctl to 0.9.3.

This new version relies on python-pulsectl, which this patch series also adds.

Thanks!

-
Sergiu


Sergiu Ivanov (3):
  gnu: volctl: Make the synopsis line shorter.
  gnu: packages: Add python-pulsectl.
  gnu: volctl: Update to 0.9.3.

 gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
 gnu/packages/gtk.scm   | 19 ++++++++++---------
 2 files changed, 44 insertions(+), 9 deletions(-)

-- 
2.38.1


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

* [bug#60840] [PATCH 1/3] gnu: volctl: Make the synopsis line shorter.
       [not found] ` <handler.60840.B.167382229432354.ack@debbugs.gnu.org>
@ 2023-01-15 22:46   ` Sergiu Ivanov
  2023-01-16 16:56     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
  2023-01-15 22:49   ` [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl Sergiu Ivanov
  2023-01-15 22:51   ` [bug#60840] [PATCH 3/3] " Sergiu Ivanov
  2 siblings, 1 reply; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-15 22:46 UTC (permalink / raw)
  To: 60840

[-- Attachment #1: 0001-gnu-volctl-Make-the-synopsis-line-shorter.patch --]
[-- Type: text/x-patch, Size: 1501 bytes --]

From e0c69ddefe7367e4b4417db70c86eacbfc6e3eae Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 4 Dec 2022 13:27:13 +0100
Subject: [PATCH 1/3] gnu: volctl: Make the synopsis line shorter.

* gnu/packages/gtk.scm (volctl): Make the synopsis line shorter.
---
 gnu/packages/gtk.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index de82b9e55f..c8ae855cfa 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2022 Sergiu Ivanov <sivanov@colimite.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2978,7 +2979,8 @@ (define-public volctl
     (propagated-inputs
      (list python-click python-pycairo python-pygobject python-pyyaml))
     (home-page "https://buzz.github.io/volctl/")
-    (synopsis "Per-application volume control and on-screen display for graphical desktops")
+    (synopsis
+     "Per-application volume control and on-screen display for graphical desktops")
     (description "Volctl is a PulseAudio-enabled tray icon volume control and
 OSD applet for graphical desktops.  It's not meant to be an replacement for a
 full-featured mixer application.  If you're looking for that check out the
-- 
2.38.1





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

* [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl.
       [not found] ` <handler.60840.B.167382229432354.ack@debbugs.gnu.org>
  2023-01-15 22:46   ` [bug#60840] [PATCH 1/3] gnu: volctl: Make the synopsis line shorter Sergiu Ivanov
@ 2023-01-15 22:49   ` Sergiu Ivanov
  2023-01-16 17:01     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
  2023-01-16 17:06     ` Maxim Cournoyer
  2023-01-15 22:51   ` [bug#60840] [PATCH 3/3] " Sergiu Ivanov
  2 siblings, 2 replies; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-15 22:49 UTC (permalink / raw)
  To: 60840

[-- Attachment #1: 0002-gnu-packages-Add-python-pulsectl.patch --]
[-- Type: text/x-patch, Size: 2419 bytes --]

From b92cdb4ce99bc7ad45e0caba7f863db5931741db Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 15 Jan 2023 23:16:02 +0100
Subject: [PATCH 2/3] gnu: packages: Add python-pulsectl.

* gnu/packages/audio.scm (python-pulsectl): New variable.
---
 gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d72cf0ca87..391a763e45 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2022 Andy Tai <atai@atai.org>
+;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2779,6 +2780,39 @@ (define-public python-pyaudio
 cross-platform audio input/output stream library.")
     (license license:expat)))
 
+(define-public python-pulsectl
+  (package
+    (name "python-pulsectl")
+    (version "22.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pulsectl" version))
+              (sha256
+               (base32
+                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
+    (build-system python-build-system)
+    (inputs (list pulseaudio))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((pulse (assoc-ref inputs "pulseaudio")))
+               (substitute* "pulsectl/_pulsectl.py"
+                 (("libpulse.so.0")
+                  (string-append pulse "/lib/libpulse.so.0")))
+               #t))))))
+    (home-page "https://github.com/mk-fg/python-pulse-control")
+    (synopsis
+     "Python bindings for mixer-like controls in PulseAudio")
+    (description
+     "Python high-level interface and ctypes-based bindings for
+PulseAudio (libpulse), to use in simple synchronous code.  This wrapper is
+mostly for mixer-like controls and introspection-related operations, as
+opposed to e.g. submitting sound samples to play and player-like client.")
+    (license license:expat)))
+
 (define-public python-pyliblo
   (package
     (name "python-pyliblo")
-- 
2.38.1





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

* [bug#60840] [PATCH 3/3] gnu: volctl: Update to 0.9.3.
       [not found] ` <handler.60840.B.167382229432354.ack@debbugs.gnu.org>
  2023-01-15 22:46   ` [bug#60840] [PATCH 1/3] gnu: volctl: Make the synopsis line shorter Sergiu Ivanov
  2023-01-15 22:49   ` [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl Sergiu Ivanov
@ 2023-01-15 22:51   ` Sergiu Ivanov
  2 siblings, 0 replies; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-15 22:51 UTC (permalink / raw)
  To: 60840

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0003-gnu-volctl-Update-to-0.9.3.patch --]
[-- Type: text/x-patch, Size: 2515 bytes --]

From 10957fe441340d5d1f3a83f8baeb9ffcff1158dd Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 15 Jan 2023 23:23:44 +0100
Subject: [PATCH 3/3] gnu: volctl: Update to 0.9.3.

* gnu/packages/gtk.scm (volctl): Update to 0.9.3.
---
 gnu/packages/gtk.scm | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c8ae855cfa..ea21985867 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -68,6 +68,7 @@ (define-module (gnu packages gtk)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -2950,7 +2951,7 @@ (define-public gtkdatabox
 (define-public volctl
   (package
     (name "volctl")
-    (version "0.8.2")
+    (version "0.9.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference (url "https://github.com/buzz/volctl")
@@ -2958,7 +2959,7 @@ (define-public volctl
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1cx27j83pz2qffnzb85fbl1x6pp3irv1kbw7g1hri7kaw6ky4xiz"))))
+                "0fz80w3ywq54jn4v31frfdj01s5g9lz6v9cd7hpg3kirca0zisln"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2967,17 +2968,15 @@ (define-public volctl
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((pulse (assoc-ref inputs "pulseaudio"))
                    (xfixes (assoc-ref inputs "libxfixes")))
-               (substitute* "volctl/lib/xwrappers.py"
+               (substitute* "volctl/xwrappers.py"
                  (("libXfixes.so")
                   (string-append xfixes "/lib/libXfixes.so")))
-               (substitute* "volctl/lib/pulseaudio.py"
-                 (("libpulse.so.0")
-                  (string-append pulse "/lib/libpulse.so.0")))
                #t))))))
     (inputs
-     (list gtk+ libxfixes pulseaudio))
+     (list libxfixes))
     (propagated-inputs
-     (list python-click python-pycairo python-pygobject python-pyyaml))
+     (list python-click python-pycairo python-pygobject python-pyyaml
+           python-pulsectl gtk+))
     (home-page "https://buzz.github.io/volctl/")
     (synopsis
      "Per-application volume control and on-screen display for graphical desktops")
-- 
2.38.1





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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-15 22:46   ` [bug#60840] [PATCH 1/3] gnu: volctl: Make the synopsis line shorter Sergiu Ivanov
@ 2023-01-16 16:56     ` Maxim Cournoyer
  2023-01-21 22:20       ` Sergiu Ivanov
  0 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-01-16 16:56 UTC (permalink / raw)
  To: Sergiu Ivanov; +Cc: 60840

Hi Sergiu,

Sergiu Ivanov <sivanov@colimite.fr> writes:

>>From e0c69ddefe7367e4b4417db70c86eacbfc6e3eae Mon Sep 17 00:00:00 2001
> From: Sergiu Ivanov <sivanov@colimite.fr>
> Date: Sun, 4 Dec 2022 13:27:13 +0100
> Subject: [PATCH 1/3] gnu: volctl: Make the synopsis line shorter.
>
> * gnu/packages/gtk.scm (volctl): Make the synopsis line shorter.

I'd reword this as "Re-indent the synopsis line", or alternatively make
it really shorter, perhaps dropping the last "for graphical
applications" bit, which get repeated the description anyway.

>  gnu/packages/gtk.scm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index de82b9e55f..c8ae855cfa 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -33,6 +33,7 @@
>  ;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
>  ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
>  ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
> +;;; Copyright © 2022 Sergiu Ivanov <sivanov@colimite.fr>

When changes are not substantial (< 10 new additions/changes) they are
not protected by copyright, so you can drop the above hunk.

>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2978,7 +2979,8 @@ (define-public volctl
>      (propagated-inputs
>       (list python-click python-pycairo python-pygobject python-pyyaml))
>      (home-page "https://buzz.github.io/volctl/")
> -    (synopsis "Per-application volume control and on-screen display for graphical desktops")
> +    (synopsis
> +     "Per-application volume control and on-screen display for graphical desktops")
>      (description "Volctl is a PulseAudio-enabled tray icon volume control and
>  OSD applet for graphical desktops.  It's not meant to be an replacement for a
>  full-featured mixer application.  If you're looking for that check out the

-- 
Thanks,
Maxim




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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-15 22:49   ` [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl Sergiu Ivanov
@ 2023-01-16 17:01     ` Maxim Cournoyer
       [not found]       ` <871qnnfqu1.fsf@univ-evry.fr>
  2023-01-16 17:06     ` Maxim Cournoyer
  1 sibling, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-01-16 17:01 UTC (permalink / raw)
  To: Sergiu Ivanov; +Cc: 60840

Hello,

Sergiu Ivanov <sivanov@colimite.fr> writes:

>>From b92cdb4ce99bc7ad45e0caba7f863db5931741db Mon Sep 17 00:00:00 2001
> From: Sergiu Ivanov <sivanov@colimite.fr>
> Date: Sun, 15 Jan 2023 23:16:02 +0100
> Subject: [PATCH 2/3] gnu: packages: Add python-pulsectl.
>
> * gnu/packages/audio.scm (python-pulsectl): New variable.

Thanks for this contribution!

> ---
>  gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index d72cf0ca87..391a763e45 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -40,6 +40,7 @@
>  ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
>  ;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
>  ;;; Copyright © 2022 Andy Tai <atai@atai.org>
> +;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2779,6 +2780,39 @@ (define-public python-pyaudio
>  cross-platform audio input/output stream library.")
>      (license license:expat)))
>  
> +(define-public python-pulsectl
> +  (package
> +    (name "python-pulsectl")
> +    (version "22.3.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "pulsectl" version))
> +              (sha256
> +               (base32
> +                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
> +    (build-system python-build-system)
> +    (inputs (list pulseaudio))
> +    (arguments
> +     `(#:tests? #f

Tests are typically stripped from the pypi source archive (sdist).  If
you look into the source repository, there are tests under
pulsectl/tests, so it'd be better to fetch the source from git.

Also note that for the cases where using #:tests? #f is actually needed
(when there really are no test suite), a short explanatory comment is
expected (;no test suite).

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-path
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (let ((pulse (assoc-ref inputs "pulseaudio")))
> +               (substitute* "pulsectl/_pulsectl.py"
> +                 (("libpulse.so.0")
> +                  (string-append pulse "/lib/libpulse.so.0")))
> +               #t))))))

Please do not include trailing #t in phases or snippets anymore; they
are not needed.  Also prefer using a plain list for arguments and
g-expressions (gexps).

> +    (home-page "https://github.com/mk-fg/python-pulse-control")
> +    (synopsis
> +     "Python bindings for mixer-like controls in PulseAudio")
> +    (description
> +     "Python high-level interface and ctypes-based bindings for
> +PulseAudio (libpulse), to use in simple synchronous code.  This wrapper is
> +mostly for mixer-like controls and introspection-related operations, as
> +opposed to e.g. submitting sound samples to play and player-like
> client.")

I'd start the description with "This package provides a Python
high-level interface [...]", to make it a complete sentence.

I'd use plural for the last word (player-like clientS), as there could
be more than one client available.

Don't forget to CC my email when sending a revised v2 version with the
above :-).

-- 
Thanks,
Maxim




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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-15 22:49   ` [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl Sergiu Ivanov
  2023-01-16 17:01     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
@ 2023-01-16 17:06     ` Maxim Cournoyer
  2023-01-21 22:30       ` Sergiu Ivanov
  1 sibling, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-01-16 17:06 UTC (permalink / raw)
  To: Sergiu Ivanov; +Cc: 60840

Hi again,

Sergiu Ivanov <sivanov@colimite.fr> writes:

>>From b92cdb4ce99bc7ad45e0caba7f863db5931741db Mon Sep 17 00:00:00 2001
> From: Sergiu Ivanov <sivanov@colimite.fr>
> Date: Sun, 15 Jan 2023 23:16:02 +0100
> Subject: [PATCH 2/3] gnu: packages: Add python-pulsectl.

[...]

> +(define-public python-pulsectl
> +  (package
> +    (name "python-pulsectl")
> +    (version "22.3.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "pulsectl" version))
> +              (sha256
> +               (base32
> +                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
> +    (build-system python-build-system)
> +    (inputs (list pulseaudio))
> +    (arguments
> +     `(#:tests? #f
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-path
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (let ((pulse (assoc-ref inputs "pulseaudio")))
> +               (substitute* "pulsectl/_pulsectl.py"
> +                 (("libpulse.so.0")
> +                  (string-append pulse "/lib/libpulse.so.0")))

Sorry, I forgot to mention in my previous reply: here, you could use
(search-input-file inputs "lib/libpulse.so.0"), which has the added
benefit of failing if the file cannot be found in the inputs arguments.

-- 
Thanks,
Maxim




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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-16 16:56     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
@ 2023-01-21 22:20       ` Sergiu Ivanov
  0 siblings, 0 replies; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-21 22:20 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60840

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

Hi Maxim,

Thank you very much for the review!

And sorry for the delay: day job :D


Maxim Cournoyer <maxim.cournoyer@gmail.com> [2023-01-16T17:56:51+0100]:
> Hi Sergiu,
>
> Sergiu Ivanov <sivanov@colimite.fr> writes:
>
>>>From e0c69ddefe7367e4b4417db70c86eacbfc6e3eae Mon Sep 17 00:00:00 2001
>> From: Sergiu Ivanov <sivanov@colimite.fr>
>> Date: Sun, 4 Dec 2022 13:27:13 +0100
>> Subject: [PATCH 1/3] gnu: volctl: Make the synopsis line shorter.
>>
>> * gnu/packages/gtk.scm (volctl): Make the synopsis line shorter.
>
> I'd reword this as "Re-indent the synopsis line", or alternatively make
> it really shorter, perhaps dropping the last "for graphical
> applications" bit, which get repeated the description anyway.

I chose the second option and made the synopsis shorter as you suggest.

>>  gnu/packages/gtk.scm | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
>> index de82b9e55f..c8ae855cfa 100644
>> --- a/gnu/packages/gtk.scm
>> +++ b/gnu/packages/gtk.scm
>> @@ -33,6 +33,7 @@
>>  ;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
>>  ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
>>  ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
>> +;;; Copyright © 2022 Sergiu Ivanov <sivanov@colimite.fr>
>
> When changes are not substantial (< 10 new additions/changes) they are
> not protected by copyright, so you can drop the above hunk.

Ah, good know!  I dropped the hunk.

-
Sergiu

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-volctl-Make-the-synopsis-line-shorter.patch --]
[-- Type: text/x-patch, Size: 1113 bytes --]

From 7603972f4514eeac5ebd1dde119d35e8ea2adc4d Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Mon, 16 Jan 2023 23:41:14 +0100
Subject: [PATCH 1/3] gnu: volctl: Make the synopsis line shorter.

* gnu/packages/gtk.scm (volctl): Make the synopsis line shorter.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index de82b9e55f..ea22d0e930 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -2978,7 +2978,7 @@ (define-public volctl
     (propagated-inputs
      (list python-click python-pycairo python-pygobject python-pyyaml))
     (home-page "https://buzz.github.io/volctl/")
-    (synopsis "Per-application volume control and on-screen display for graphical desktops")
+    (synopsis "Per-application volume control and on-screen display")
     (description "Volctl is a PulseAudio-enabled tray icon volume control and
 OSD applet for graphical desktops.  It's not meant to be an replacement for a
 full-featured mixer application.  If you're looking for that check out the
-- 
2.38.1


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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-16 17:06     ` Maxim Cournoyer
@ 2023-01-21 22:30       ` Sergiu Ivanov
  0 siblings, 0 replies; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-21 22:30 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60840

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

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> [2023-01-16T18:01:59+0100]:
> Sergiu Ivanov <sivanov@colimite.fr> writes:
>
>>>From b92cdb4ce99bc7ad45e0caba7f863db5931741db Mon Sep 17 00:00:00 2001
>>  
>> +(define-public python-pulsectl
>> +  (package
>> +    (name "python-pulsectl")
>> +    (version "22.3.2")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (pypi-uri "pulsectl" version))
>> +              (sha256
>> +               (base32
>> +                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
>> +    (build-system python-build-system)
>> +    (inputs (list pulseaudio))
>> +    (arguments
>> +     `(#:tests? #f
>
> Tests are typically stripped from the pypi source archive (sdist).  If
> you look into the source repository, there are tests under
> pulsectl/tests, so it'd be better to fetch the source from git.

In fact, pulsectl's tests fail because they seem to want to start
a dummy PulseAudio instance, which I expect to fail because of the
restrictions of the build environment.  Here's my post on the mailing
list with some more details:

https://lists.gnu.org/archive/html/help-guix/2023-01/msg00038.html

I added a comment briefly explaining this, but maybe there is
a better way.

> Also note that for the cases where using #:tests? #f is actually needed
> (when there really are no test suite), a short explanatory comment is
> expected (;no test suite).
>
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-path
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (let ((pulse (assoc-ref inputs "pulseaudio")))
>> +               (substitute* "pulsectl/_pulsectl.py"
>> +                 (("libpulse.so.0")
>> +                  (string-append pulse "/lib/libpulse.so.0")))
>> +               #t))))))
>
> Please do not include trailing #t in phases or snippets anymore; they
> are not needed.

Fixed, thank you.

> Also prefer using a plain list for arguments and g-expressions
> (gexps).

I spent some time squinting at this remark and reading the manuals, but
I can't figure out what you mean.

Could you please give some more hints about the parts I should change
and how?

>> +    (home-page "https://github.com/mk-fg/python-pulse-control")
>> +    (synopsis
>> +     "Python bindings for mixer-like controls in PulseAudio")
>> +    (description
>> +     "Python high-level interface and ctypes-based bindings for
>> +PulseAudio (libpulse), to use in simple synchronous code.  This wrapper is
>> +mostly for mixer-like controls and introspection-related operations, as
>> +opposed to e.g. submitting sound samples to play and player-like
>> client.")
>
> I'd start the description with "This package provides a Python
> high-level interface [...]", to make it a complete sentence.
>
> I'd use plural for the last word (player-like clientS), as there could
> be more than one client available.

Done, thank you.

> Don't forget to CC my email when sending a revised v2 version with the
> above :-).

Done as well :D


Maxim Cournoyer <maxim.cournoyer@gmail.com> [2023-01-16T18:06:19+0100]:
> Hi again,
>
> Sergiu Ivanov <sivanov@colimite.fr> writes:
[...]
>> +    (arguments
>> +     `(#:tests? #f
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-path
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (let ((pulse (assoc-ref inputs "pulseaudio")))
>> +               (substitute* "pulsectl/_pulsectl.py"
>> +                 (("libpulse.so.0")
>> +                  (string-append pulse "/lib/libpulse.so.0")))
>
> Sorry, I forgot to mention in my previous reply: here, you could use
> (search-input-file inputs "lib/libpulse.so.0"), which has the added
> benefit of failing if the file cannot be found in the inputs arguments.

Oh, good to know, thank you for the suggestion!  search-input-file
actually simplified the code and allowed me to drop the let (which
I copied from the previous version of volctl in fact).

I updated patches 2 and 3 to use search-input-file and attach both to
these E-mails.

By the way, I'd be happy to know whether with debbugs it is better to
attach the updated patches to E-mails with comments, or rather sending
the patches as separate E-mails.

-
Sergiu

[-- Attachment #2: 0002-gnu-packages-Add-python-pulsectl.patch --]
[-- Type: text/x-patch, Size: 2434 bytes --]

From cc34fdad77158fd98c1233d8d877f2d730c41fac Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 15 Jan 2023 23:16:02 +0100
Subject: [PATCH 2/3] gnu: packages: Add python-pulsectl.

* gnu/packages/audio.scm (python-pulsectl): New variable.
---
 gnu/packages/audio.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d72cf0ca87..990e46ee38 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2022 Andy Tai <atai@atai.org>
+;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2779,6 +2780,38 @@ (define-public python-pyaudio
 cross-platform audio input/output stream library.")
     (license license:expat)))
 
+(define-public python-pulsectl
+  (package
+    (name "python-pulsectl")
+    (version "22.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pulsectl" version))
+              (sha256
+               (base32
+                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
+    (build-system python-build-system)
+    (inputs (list pulseaudio))
+    (arguments
+     `(#:tests? #f                      ; tests try to communicate with PulseAudio
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "pulsectl/_pulsectl.py"
+               (("libpulse.so.0")
+                (string-append (search-input-file inputs "/lib/libpulse.so.0")))))))))
+    (home-page "https://github.com/mk-fg/python-pulse-control")
+    (synopsis
+     "Python bindings for mixer-like controls in PulseAudio")
+    (description
+     "This package provides a Python high-level interface and ctypes-based
+bindings for PulseAudio (libpulse), to use in simple synchronous code.
+This wrapper is mostly for mixer-like controls and introspection-related
+operations, as opposed to e.g. submitting sound samples to play and
+player-like clients.")
+    (license license:expat)))
+
 (define-public python-pyliblo
   (package
     (name "python-pyliblo")
-- 
2.38.1


[-- Attachment #3: 0003-gnu-volctl-Update-to-0.9.3.patch --]
[-- Type: text/x-patch, Size: 3120 bytes --]

From f98307b017c0cfb1a4a46f9a882ec558cec294b1 Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 15 Jan 2023 23:23:44 +0100
Subject: [PATCH 3/3] gnu: volctl: Update to 0.9.3.

* gnu/packages/gtk.scm (volctl): Update to 0.9.3.
---
 gnu/packages/gtk.scm | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ea22d0e930..2e6a546308 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,6 +68,7 @@ (define-module (gnu packages gtk)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -2949,7 +2951,7 @@ (define-public gtkdatabox
 (define-public volctl
   (package
     (name "volctl")
-    (version "0.8.2")
+    (version "0.9.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference (url "https://github.com/buzz/volctl")
@@ -2957,26 +2959,21 @@ (define-public volctl
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1cx27j83pz2qffnzb85fbl1x6pp3irv1kbw7g1hri7kaw6ky4xiz"))))
+                "0fz80w3ywq54jn4v31frfdj01s5g9lz6v9cd7hpg3kirca0zisln"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-path
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((pulse (assoc-ref inputs "pulseaudio"))
-                   (xfixes (assoc-ref inputs "libxfixes")))
-               (substitute* "volctl/lib/xwrappers.py"
-                 (("libXfixes.so")
-                  (string-append xfixes "/lib/libXfixes.so")))
-               (substitute* "volctl/lib/pulseaudio.py"
-                 (("libpulse.so.0")
-                  (string-append pulse "/lib/libpulse.so.0")))
-               #t))))))
+             (substitute* "volctl/xwrappers.py"
+               (("libXfixes.so")
+                (string-append (search-input-file inputs "/lib/libXfixes.so")))))))))
     (inputs
-     (list gtk+ libxfixes pulseaudio))
+     (list libxfixes))
     (propagated-inputs
-     (list python-click python-pycairo python-pygobject python-pyyaml))
+     (list python-click python-pycairo python-pygobject python-pyyaml
+           python-pulsectl gtk+))
     (home-page "https://buzz.github.io/volctl/")
     (synopsis "Per-application volume control and on-screen display")
     (description "Volctl is a PulseAudio-enabled tray icon volume control and
-- 
2.38.1


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

* bug#60840: [PATCH 0/3] gnu: volctl: Update to 0.9.3.
       [not found]       ` <871qnnfqu1.fsf@univ-evry.fr>
@ 2023-01-22 21:28         ` Maxim Cournoyer
  2023-01-23 17:38           ` [bug#60840] " Sergiu Ivanov
  0 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-01-22 21:28 UTC (permalink / raw)
  To: Sergiu Ivanov; +Cc: 58120-done, 60840-done

Hello,

Sergiu Ivanov <sergiu.ivanov@univ-evry.fr> writes:

> Hi again,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> [2023-01-16T18:01:59+0100]:
>>
>> Don't forget to CC my email when sending a revised v2 version with the
>> above :-).
>
> I CCed you, but Google doesn't like another quirk in my E-mail
> configuration which I don't have motivation to debug :-S
>
> I therefore sending you a small ping from my work E-mail, and I'm
> attaching the 3 updated patches just in case it is more convenient
> for you.

Thanks!  I've made cosmetic adjustments to the update commit like so:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/gtk.scm
@@ -2968,12 +2968,17 @@ (define-public volctl
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "volctl/xwrappers.py"
                (("libXfixes.so")
-                (string-append (search-input-file inputs "/lib/libXfixes.so")))))))))
+                (string-append (search-input-file inputs
+                                                  "/lib/libXfixes.so")))))))))
     (inputs
      (list libxfixes))
     (propagated-inputs
-     (list python-click python-pycairo python-pygobject python-pyyaml
-           python-pulsectl gtk+))
+     (list python-click
+           python-pycairo
+           python-pygobject
+           python-pyyaml
+           python-pulsectl
+           gtk+))
     (home-page "https://buzz.github.io/volctl/")
     (synopsis "Per-application volume control and on-screen display")
     (description "Volctl is a PulseAudio-enabled tray icon volume control and
--8<---------------cut here---------------end--------------->8---

added a proper GNU Change Log to the commit message:

--8<---------------cut here---------------start------------->8---
gnu: volctl: Update to 0.9.3.

Fixes <https://issues.guix.gnu.org/58120>.

* gnu/packages/gtk.scm (volctl): Update to 0.9.3.
[arguments]: Update substitutions in patch-path phase and delete
trailing #t.
[inputs]: Delete pulseaudio.  Move gtk+ to...
[propagated-inputs] ... here.
--8<---------------cut here---------------end--------------->8---

and pushed the series!

Notice that in my environment, it doesn't run:

--8<---------------cut here---------------start------------->8---
$ volctl
PulseAudio connected
Warning: Could not embed Gtk.StatusIcon.
Fatal error: Could not create a status icon. Are you sure you have a working notification area?
pulseaudio disconnected
Alarm clock
--8<---------------cut here---------------end--------------->8---

although I have 'dunst' running on top of my ratpoison WM.

-- 
Thanks,
Maxim




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

* [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3.
  2023-01-22 21:28         ` bug#60840: " Maxim Cournoyer
@ 2023-01-23 17:38           ` Sergiu Ivanov
  0 siblings, 0 replies; 11+ messages in thread
From: Sergiu Ivanov @ 2023-01-23 17:38 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60840-done

Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> [2023-01-22T22:28:06+0100]:
[...]
>> I CCed you, but Google doesn't like another quirk in my E-mail
>> configuration which I don't have motivation to debug :-S
>>
>> I therefore sending you a small ping from my work E-mail, and I'm
>> attaching the 3 updated patches just in case it is more convenient
>> for you.
>
> Thanks!  I've made cosmetic adjustments to the update commit like so:
[...]

Thank you!

> added a proper GNU Change Log to the commit message:
>
> gnu: volctl: Update to 0.9.3.
>
> Fixes <https://issues.guix.gnu.org/58120>.

Ah!  Incidentally, this is what I was aiming to fix when I started the
work on this patch series, but guix lint told me I could update the
version… :D

> * gnu/packages/gtk.scm (volctl): Update to 0.9.3.
> [arguments]: Update substitutions in patch-path phase and delete
> trailing #t.
> [inputs]: Delete pulseaudio.  Move gtk+ to...
> [propagated-inputs] ... here.
>
>
> and pushed the series!

Cool!

> Notice that in my environment, it doesn't run:
>
> $ volctl
> PulseAudio connected
> Warning: Could not embed Gtk.StatusIcon.
> Fatal error: Could not create a status icon. Are you sure you have a working notification area?
> pulseaudio disconnected
> Alarm clock
>
> although I have 'dunst' running on top of my ratpoison WM.

I tested the new version with ./pre-inst-env guix shell volctl and
everything looked fine with the default systray of EXWM.

I will do a global system update by the end of the week and will see if
I can reproduce and fix the issue.

-
Sergiu




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

end of thread, other threads:[~2023-01-23 20:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-15 22:35 [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Sergiu Ivanov
     [not found] ` <handler.60840.B.167382229432354.ack@debbugs.gnu.org>
2023-01-15 22:46   ` [bug#60840] [PATCH 1/3] gnu: volctl: Make the synopsis line shorter Sergiu Ivanov
2023-01-16 16:56     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
2023-01-21 22:20       ` Sergiu Ivanov
2023-01-15 22:49   ` [bug#60840] [PATCH 2/3] gnu: packages: Add python-pulsectl Sergiu Ivanov
2023-01-16 17:01     ` [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3 Maxim Cournoyer
     [not found]       ` <871qnnfqu1.fsf@univ-evry.fr>
2023-01-22 21:28         ` bug#60840: " Maxim Cournoyer
2023-01-23 17:38           ` [bug#60840] " Sergiu Ivanov
2023-01-16 17:06     ` Maxim Cournoyer
2023-01-21 22:30       ` Sergiu Ivanov
2023-01-15 22:51   ` [bug#60840] [PATCH 3/3] " Sergiu Ivanov

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).