From patchwork Sat Jan 21 22:30:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sergiu Ivanov X-Patchwork-Id: 46327 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id CB55527BBEB; Sat, 21 Jan 2023 22:44:20 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6F7C527BBE9 for ; Sat, 21 Jan 2023 22:44:18 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pJMaj-0008Eq-6c; Sat, 21 Jan 2023 17:44:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJMah-0008Eh-Qg for guix-patches@gnu.org; Sat, 21 Jan 2023 17:44:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pJMah-0003BT-2P for guix-patches@gnu.org; Sat, 21 Jan 2023 17:44:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pJMag-00063q-Fj for guix-patches@gnu.org; Sat, 21 Jan 2023 17:44:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60840] [PATCH 0/3] gnu: volctl: Update to 0.9.3. Resent-From: Sergiu Ivanov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 21 Jan 2023 22:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60840 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: 60840@debbugs.gnu.org Received: via spool by 60840-submit@debbugs.gnu.org id=B60840.167434100723246 (code B ref 60840); Sat, 21 Jan 2023 22:44:02 +0000 Received: (at 60840) by debbugs.gnu.org; 21 Jan 2023 22:43:27 +0000 Received: from localhost ([127.0.0.1]:50052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJMa6-00062s-3R for submit@debbugs.gnu.org; Sat, 21 Jan 2023 17:43:26 -0500 Received: from marvid.fr ([163.172.81.107]:48996 helo=courriel.marvid.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJMa3-00062e-Ve for 60840@debbugs.gnu.org; Sat, 21 Jan 2023 17:43:25 -0500 Received: from localhost (schwifty.marvid.fr [51.159.4.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by sahkopoika (Postfix) with ESMTPSA id 2A23C7D048FC; Sat, 21 Jan 2023 23:43:17 +0100 (CET) References: <87k01na0gm.fsf@colimite.fr> <87h6wr8lah.fsf@colimite.fr> <87wn5m5rzo.fsf_-_@gmail.com> User-agent: mu4e 1.8.13; emacs 28.2 From: Sergiu Ivanov Date: Sat, 21 Jan 2023 23:30:50 +0100 In-reply-to: <87wn5m5rzo.fsf_-_@gmail.com> Message-ID: <878rhvfr0b.fsf@colimite.fr> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Hi, Maxim Cournoyer [2023-01-16T18:01:59+0100]: > Sergiu Ivanov 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 [2023-01-16T18:06:19+0100]: > Hi again, > > Sergiu Ivanov 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 From f98307b017c0cfb1a4a46f9a882ec558cec294b1 Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov 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 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2022 Petr Hodina +;;; Copyright © 2023 Sergiu Ivanov ;;; ;;; 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