GNU bug report logs - #54379
[PATCH] gnu: linux: update PipeWire & WirePlumber

Previous Next

Package: guix-patches;

Reported by: Kevin Boulain <kevinboulain <at> gmail.com>

Date: Sun, 13 Mar 2022 22:35:01 UTC

Severity: normal

Tags: patch

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54379 in the body.
You can then email your comments to 54379 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 13 Mar 2022 22:35:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kevin Boulain <kevinboulain <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 13 Mar 2022 22:35:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Sun, 13 Mar 2022 23:35:33 +0100
* gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.48.
Also add a few more inputs to PipeWire to enable a few options:
 - libfdk to support the AAC Bluetooth codec
 - libsndfile to build pw-cat
* gnu/packages/linux.scm (wireplumber): Update to 0.4.8.

---

PipeWire also supports the aptX Bluetooth codec but the situation
appears to be very muddy: some distributions like Debian, Gentoo or
Arch package libfreeaptx (a fork of libopenaptx to work around licensing
issues) but other like Fedora or OpenSUSE refuse to do it.
---
 gnu/packages/linux.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d7ebf54c18..1d1429cdbd 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8280,7 +8280,7 @@ (define-public pipewire-0.3
   (package
     (inherit pipewire)
     (name "pipewire")
-    (version "0.3.43")
+    (version "0.3.48")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8289,7 +8289,7 @@ (define-public pipewire-0.3
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gp2h0sidapcqmnifl0iipdmbzb18bdh8zdi7pfywr9gsksh0cxy"))))
+                "0abi8z7rfzspsiydc5j5l0x3dqizs5hf726xq30n32jqkwq3y2gs"))))
     (arguments
      '(#:configure-flags
        (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
@@ -8305,6 +8305,8 @@ (define-public pipewire-0.3
                        bluez
                        jack-2
                        ldacbt
+                       libfdk
+                       libsndfile
                        pulseaudio
                        vulkan-loader
                        vulkan-headers)))))
@@ -8312,7 +8314,7 @@ (define-public pipewire-0.3
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.6")
+    (version "0.4.8")
     (source
      (origin
        (method git-fetch)
@@ -8322,7 +8324,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+        (base32 "1xhbymfml6k6l1iqgfbibgbai3j2mb9fkiyvcmk1w7nap21f01y7"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 14 Mar 2022 08:27:01 GMT) Full text and rfc822 format available.

Message #8 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <mail <at> brendan.scot>
To: "kevinboulain <at> gmail.com" <kevinboulain <at> gmail.com>,
 "54379 <at> debbugs.gnu.org" <54379 <at> debbugs.gnu.org>
Subject: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Mon, 14 Mar 2022 09:25:38 +0100 (CET)
[Message part 1 (text/plain, inline)]
If you are updating pipewire, I'd like to add to it:

1. The attached libfreeatpx patch, or perhaps an improved patch. maybe one could expand on the description.

2. Add the following dependencies to inputs:
libfdk for ACC support over bluetooth
libfreeaptx for aptX support over bluetooth
libsndfile
libusb for bluetooth support
lilv for lv2 plugins
webrtc-audio-processing for noise cancelling
readline for pw-cli

3. Consider renaming pipewire-0.3 to pipewire and pipewire to pipewire-0.2 to keep pipewire as the latest.
pipewire 0.2 is only needed by weston 9. weston 10 can use 0.3, but i was getting compilation errors.
[0001-gnu-Add-libfreeaptx.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 14 Mar 2022 09:08:01 GMT) Full text and rfc822 format available.

Message #11 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <mail <at> brendan.scot>
To: "kevinboulain <at> gmail.com" <kevinboulain <at> gmail.com>,
 "54379 <at> debbugs.gnu.org" <54379 <at> debbugs.gnu.org>
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Mon, 14 Mar 2022 10:06:46 +0100 (CET)
[Message part 1 (text/plain, inline)]
Fixed up the description a little.
[v2-0001-gnu-Add-libfreeaptx.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 14 Mar 2022 23:07:01 GMT) Full text and rfc822 format available.

Message #14 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Tue, 15 Mar 2022 00:06:46 +0100
* gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.48.
Also add a few more inputs to PipeWire to enable a few options:
 - libfdk to support the AAC Bluetooth codec
 - libsndfile to build pw-cat
 - libusb for Bluetooth quirks
 - lilv for LV2 plugins
 - readline to build pw-cli
 - webrtc-audio-processing for echo cancellation
* gnu/packages/linux.scm (wireplumber): Update to 0.4.8.

---

PipeWire also supports the aptX Bluetooth codec but the situation
appears to be very muddy: some distributions like Debian, Gentoo or
Arch package libfreeaptx (a fork of libopenaptx to work around licensing
issues) but other like Fedora or OpenSUSE refuse to do it.
---
 gnu/packages/linux.scm | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d7ebf54c18..c09276b319 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8280,7 +8280,7 @@ (define-public pipewire-0.3
   (package
     (inherit pipewire)
     (name "pipewire")
-    (version "0.3.43")
+    (version "0.3.48")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8289,7 +8289,7 @@ (define-public pipewire-0.3
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gp2h0sidapcqmnifl0iipdmbzb18bdh8zdi7pfywr9gsksh0cxy"))))
+                "0abi8z7rfzspsiydc5j5l0x3dqizs5hf726xq30n32jqkwq3y2gs"))))
     (arguments
      '(#:configure-flags
        (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
@@ -8305,14 +8305,20 @@ (define-public pipewire-0.3
                        bluez
                        jack-2
                        ldacbt
+                       libfdk
+                       libsndfile
+                       libusb
+                       lilv
                        pulseaudio
+                       readline
                        vulkan-loader
-                       vulkan-headers)))))
+                       vulkan-headers
+                       webrtc-audio-processing)))))
 
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.6")
+    (version "0.4.8")
     (source
      (origin
        (method git-fetch)
@@ -8322,7 +8328,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+        (base32 "1xhbymfml6k6l1iqgfbibgbai3j2mb9fkiyvcmk1w7nap21f01y7"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 14 Mar 2022 23:07:02 GMT) Full text and rfc822 format available.

Message #17 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to
 pipewire
Date: Tue, 15 Mar 2022 00:06:47 +0100
* gnu/packages/chromium.scm (ungoogled-chromium): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (weston): Change inputs from
pipewire to pipewire-0.2.
* gnu/packages/freedesktop.scm (xdg-desktop-portal): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): Change inputs
from pipewire-0.3 to pipewire.
* gnu/packages/gnome.scm (mutter): Change native-inputs and inputs from
pipewire-0.3 to pipewire.
* gnu/packages/kde-systemtools.scm (krfb): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/linux.scm (pipewire): Rename to pipewire-0.2.
* gnu/packages/linux.scm (pipewire-0.3): Rename to pipewire.
* gnu/packages/linux.scm (wireplumber): Change inputs from pipewire-0.3
to pipewire.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Change inputs
from pipewire to pipewire-0.2.
* gnu/packages/video.scm (obs): Change inputs from pipewire-0.3 to
pipewire.
---
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +++---
 gnu/packages/gnome.scm           |  4 ++--
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 10 +++++-----
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 7ef1e5ac1b..f60c9719fe 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -849,7 +849,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 55bde8e705..b1248c466d 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1120,7 +1120,7 @@ (define-public weston
        ("mtdev" ,mtdev)
        ("linux-pam" ,linux-pam)
        ("pango" ,pango)
-       ("pipewire" ,pipewire)
+       ("pipewire" ,pipewire-0.2)
        ("wayland-protocols" ,wayland-protocols)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (propagated-inputs
@@ -2313,7 +2313,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse)))
     (arguments
      `(#:phases
@@ -2442,7 +2442,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 381ea04ea0..3eeba5e818 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7540,7 +7540,7 @@ (define-public mutter
        ;; theme to please libxcursor.
        ("adwaita-icon-theme" ,adwaita-icon-theme)
        ("libxcursor" ,libxcursor)       ;for XCURSOR_PATH
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("python" ,python)
        ("python-dbus" ,python-dbus)
        ("python-dbusmock" ,python-dbusmock)
@@ -7583,7 +7583,7 @@ (define-public mutter
        ("libxkbfile" ,libxkbfile)
        ("libxrandr" ,libxrandr)
        ("libxtst" ,libxtst)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("startup-notification" ,startup-notification)
        ("sysprof" ,sysprof)
        ("upower-glib" ,upower)
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 3fab9089f3..205cd24e9d 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c09276b319..ba6508c36b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8234,7 +8234,7 @@ (define-public inputattach
 types and interfaces and translates so that the X server can use them.")
     (license license:gpl2+)))
 
-(define-public pipewire
+(define-public pipewire-0.2
   (package
     (name "pipewire")
     (version "0.2.7")
@@ -8276,9 +8276,9 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
+(define-public pipewire
   (package
-    (inherit pipewire)
+    (inherit pipewire-0.2)
     (name "pipewire")
     (version "0.3.48")
     (source (origin
@@ -8300,7 +8300,7 @@ (define-public pipewire-0.3
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
-    (inputs (modify-inputs (package-inputs pipewire)
+    (inputs (modify-inputs (package-inputs pipewire-0.2)
               (prepend avahi
                        bluez
                        jack-2
@@ -8336,7 +8336,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 6c5efc50b9..4213ac6e4e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -166,7 +166,7 @@ (define-public webrtc-for-telegram-desktop
           ("libxrandr" ,libxrandr)
           ("openssl" ,openssl)
           ("opus" ,opus)
-          ("pipewire" ,pipewire)
+          ("pipewire" ,pipewire-0.2)
           ("protobuf" ,protobuf)
           ("pulseaudio" ,pulseaudio)
           ("x11" ,libx11)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..a5298ccfac 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3429,7 +3429,7 @@ (define-public obs
       libxcomposite
       mbedtls-apache
       mesa
-      pipewire-0.3
+      pipewire
       pulseaudio
       qtbase-5
       qtsvg
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 14 Mar 2022 23:07:02 GMT) Full text and rfc822 format available.

Message #20 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: Brendan Tildesley <mail <at> brendan.scot>
Cc: "54379 <at> debbugs.gnu.org" <54379 <at> debbugs.gnu.org>
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Tue, 15 Mar 2022 00:06:10 +0100
On Mon, 14 Mar 2022 at 09:25, Brendan Tildesley <mail <at> brendan.scot> wrote:
>
> If you are updating pipewire, I'd like to add to it:
>
> 1. The attached libfreeatpx patch, or perhaps an improved patch. maybe one could expand on the description.

It's very similar to what I've done locally. I decided to not include
libfreeaptx in the first patch, even though I confirm it worked for me
and I was able to use the aptX codec, because other distributions like
Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=1908922) or
OpenSUSE (https://lists.opensuse.org/archives/list/factory <at> lists.opensuse.org/message/E4POCRFIANNJPIXT4QYI245O3RSPVBW3/)
have decided not too. Interestingly Debian includes it in its main
repository (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995607).
I'm not sure of the legality of all that, even if the patents appear
to have expired, I'm sure someone must know better than me (is there a
contact point in Guix or GNU?).

> 2. Add the following dependencies to inputs:
> libfdk for ACC support over bluetooth

The AAC codec is already supported and included in the patch I
submitted (libfdk was added to the inputs), the build system picked it
up (but I can't test the codec).

> libfreeaptx for aptX support over bluetooth

See above.

> libsndfile

Already done in the patch, I confirm I could pw-record and pw-play
(symlinks to pw-cat).

> libusb for bluetooth support
> lilv for lv2 plugins
> webrtc-audio-processing for noise cancelling
> readline for pw-cli

Good point, I'll send an updated patch (I can't test them all but they
were recognised during the configure).

> 3. Consider renaming pipewire-0.3 to pipewire and pipewire to pipewire-0.2 to keep pipewire as the latest.
> pipewire 0.2 is only needed by weston 9. weston 10 can use 0.3, but i was getting compilation errors.

It was also bothering me a bit. Don't mind if I do :)




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 30 Mar 2022 01:02:02 GMT) Full text and rfc822 format available.

Message #23 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <mail <at> brendan.scot>
To: Kevin Boulain <kevinboulain <at> gmail.com>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Wed, 30 Mar 2022 12:01:06 +1100
Just two more things if you wouldn't mind.

1. Add "-Dsysconfdir=/etc" to configure-flags so /etc/pipewire is used 
instead of the output store path.

2. Remove sdl2 from inputs because it is only used to build examples.


There are also other misc things like raop, roc, libcanberra if you care 
to look in to what they do





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 30 Mar 2022 04:23:01 GMT) Full text and rfc822 format available.

Message #26 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: fesoj000 <fesoj000 <at> gmail.com>
To: mail <at> brendan.scot, Kevin Boulain <kevinboulain <at> gmail.com>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Wed, 30 Mar 2022 06:23:12 +0200
On 3/30/22 3:01 AM, Brendan Tildesley wrote:
> 1. Add "-Dsysconfdir=/etc" to configure-flags so /etc/pipewire is used instead of the output store path.
How do you use pipewire? The store output configuration is the package default. If you need some special
settings you can use "~/.config/pipewire/" to overwrite the settings you want to change.

So far it was perfect to have the immutable default config in the store and reference it for your own
settings. Especially after a breaking change in pipewire, this immutable config in the store path can be
very valuable to get a working setup again.

I do not care what the default config directory is, but i would like to keep the default config as part
of the package.

BR




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 30 Mar 2022 19:16:01 GMT) Full text and rfc822 format available.

Message #29 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: fesoj000 <fesoj000 <at> gmail.com>
Cc: Brendan Tildesley <mail <at> brendan.scot>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Wed, 30 Mar 2022 21:14:47 +0200
On Wed, 30 Mar 2022 at 06:22, fesoj000 <fesoj000 <at> gmail.com> wrote:
> On 3/30/22 3:01 AM, Brendan Tildesley wrote:
> > 1. Add "-Dsysconfdir=/etc" to configure-flags so /etc/pipewire is used instead of the output store path.
> How do you use pipewire? The store output configuration is the package default. If you need some special
> settings you can use "~/.config/pipewire/" to overwrite the settings you want to change.

I agree with the sentiment: it appears to be recommended to run
PipeWire as a user so I'm not quite sure what this will give (besides
making it easier to share the configuration between multiple users,
which is a valid goal).
Just copying (parts of) the standard configuration to ~/.config is
enough to override it.

> > 2. Remove sdl2 from inputs because it is only used to build examples.

Done. I feared it would break pipewire <at> 0.2 (it was much more used
then) but it builds.

> > There are also other misc things like raop, roc, libcanberra if you care
> > to look in to what they do

I've added OpenSSL to build raop (apparently it's for AirPlay). For
the rest, see the next patch email.
Also, new minor versions of PipeWire and WirePlumber have been
released so I've updated the patch to reflect that.




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 30 Mar 2022 19:17:02 GMT) Full text and rfc822 format available.

Message #32 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Wed, 30 Mar 2022 21:18:17 +0200
* gnu/packages/linux.scm (pipewire): Use the official repository URL
instead of a mirror. Also remove sdl2 from the inputs as it's only used
in tests (and is very sparsely used with PipeWire 0.3).
* gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.49 and use the
official repository URL instead of a mirror. Also add a few more inputs
to enable a few options:
 - libfdk to support the AAC Bluetooth codec
 - libsndfile to build pw-cat
 - libusb for Bluetooth quirks
 - lilv for LV2 plugins
 - openssl for raop-sink
 - readline to build pw-cli
 - webrtc-audio-processing for echo cancellation
And python-docutils to the native inputs to generate man pages.
X11 and libcanberra could be included for the X11 bell (no idea how
useful that is).
libcamera doesn't build with the current gstreamer version (g_memdup
is deprecated).
ROC doesn't appear to be in the packages yet so I'm skipping it.
* gnu/packages/linux.scm (wireplumber): Update to 0.4.9.

---

PipeWire also supports the aptX Bluetooth codec but the situation
appears to be very muddy: some distributions like Debian, Gentoo or
Arch package libfreeaptx (a fork of libopenaptx to work around licensing
issues) but others like Fedora or OpenSUSE refuse to do it so it's not
included for now (see https://issues.guix.gnu.org/54379).
---
 gnu/packages/linux.scm | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7aafcb636c..11330410ce 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8281,7 +8281,7 @@ (define-public pipewire
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -8301,8 +8301,7 @@ (define-public pipewire
            gstreamer
            gst-plugins-base
            libva
-           sbc
-           sdl2))
+           sbc))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -8320,16 +8319,16 @@ (define-public pipewire-0.3
   (package
     (inherit pipewire)
     (name "pipewire")
-    (version "0.3.43")
+    (version "0.3.49")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gp2h0sidapcqmnifl0iipdmbzb18bdh8zdi7pfywr9gsksh0cxy"))))
+                "1nm5in95318gw18prq4jfx5qrpkn22hvmkii7f40ngkcs3zrf5zj"))))
     (arguments
      '(#:configure-flags
        (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
@@ -8340,19 +8339,28 @@ (define-public pipewire-0.3
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
+    (native-inputs (modify-inputs (package-native-inputs pipewire)
+                     (prepend python-docutils))) ; For manpages.
     (inputs (modify-inputs (package-inputs pipewire)
               (prepend avahi
                        bluez
                        jack-2
                        ldacbt
+                       libfdk
+                       libsndfile
+                       libusb
+                       lilv
+                       openssl
                        pulseaudio
+                       readline
                        vulkan-loader
-                       vulkan-headers)))))
+                       vulkan-headers
+                       webrtc-audio-processing)))))
 
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.6")
+    (version "0.4.9")
     (source
      (origin
        (method git-fetch)
@@ -8362,7 +8370,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+        (base32 "0m90ymkrrcqrgr3y8x6i6836w0m3anlrv2masww9050lw77aipak"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 30 Mar 2022 19:17:02 GMT) Full text and rfc822 format available.

Message #35 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to
 pipewire
Date: Wed, 30 Mar 2022 21:18:18 +0200
* gnu/packages/chromium.scm (ungoogled-chromium): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (weston): Change inputs from
pipewire to pipewire-0.2.
* gnu/packages/freedesktop.scm (xdg-desktop-portal): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): Change inputs
from pipewire-0.3 to pipewire.
* gnu/packages/gnome.scm (mutter): Change native-inputs and inputs from
pipewire-0.3 to pipewire.
* gnu/packages/kde-systemtools.scm (krfb): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/linux.scm (pipewire): Rename to pipewire-0.2.
* gnu/packages/linux.scm (pipewire-0.3): Rename to pipewire.
* gnu/packages/linux.scm (wireplumber): Change inputs from pipewire-0.3
to pipewire.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Change inputs
from pipewire to pipewire-0.2.
* gnu/packages/video.scm (obs): Change inputs from pipewire-0.3 to
pipewire.
---
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +++---
 gnu/packages/gnome.scm           |  4 ++--
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 12 ++++++------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 7ef1e5ac1b..f60c9719fe 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -849,7 +849,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 55bde8e705..b1248c466d 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1120,7 +1120,7 @@ (define-public weston
        ("mtdev" ,mtdev)
        ("linux-pam" ,linux-pam)
        ("pango" ,pango)
-       ("pipewire" ,pipewire)
+       ("pipewire" ,pipewire-0.2)
        ("wayland-protocols" ,wayland-protocols)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (propagated-inputs
@@ -2313,7 +2313,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse)))
     (arguments
      `(#:phases
@@ -2442,7 +2442,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8ff59f084b..41b1a1c010 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7557,7 +7557,7 @@ (define-public mutter
        ;; theme to please libxcursor.
        ("adwaita-icon-theme" ,adwaita-icon-theme)
        ("libxcursor" ,libxcursor)       ;for XCURSOR_PATH
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("python" ,python)
        ("python-dbus" ,python-dbus)
        ("python-dbusmock" ,python-dbusmock)
@@ -7600,7 +7600,7 @@ (define-public mutter
        ("libxkbfile" ,libxkbfile)
        ("libxrandr" ,libxrandr)
        ("libxtst" ,libxtst)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("startup-notification" ,startup-notification)
        ("sysprof" ,sysprof)
        ("upower-glib" ,upower)
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 3fab9089f3..205cd24e9d 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 11330410ce..d633ded1d3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8274,7 +8274,7 @@ (define-public inputattach
 types and interfaces and translates so that the X server can use them.")
     (license license:gpl2+)))
 
-(define-public pipewire
+(define-public pipewire-0.2
   (package
     (name "pipewire")
     (version "0.2.7")
@@ -8315,9 +8315,9 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
+(define-public pipewire
   (package
-    (inherit pipewire)
+    (inherit pipewire-0.2)
     (name "pipewire")
     (version "0.3.49")
     (source (origin
@@ -8339,9 +8339,9 @@ (define-public pipewire-0.3
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
-    (native-inputs (modify-inputs (package-native-inputs pipewire)
+    (native-inputs (modify-inputs (package-native-inputs pipewire-0.2)
                      (prepend python-docutils))) ; For manpages.
-    (inputs (modify-inputs (package-inputs pipewire)
+    (inputs (modify-inputs (package-inputs pipewire-0.2)
               (prepend avahi
                        bluez
                        jack-2
@@ -8378,7 +8378,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 6c5efc50b9..4213ac6e4e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -166,7 +166,7 @@ (define-public webrtc-for-telegram-desktop
           ("libxrandr" ,libxrandr)
           ("openssl" ,openssl)
           ("opus" ,opus)
-          ("pipewire" ,pipewire)
+          ("pipewire" ,pipewire-0.2)
           ("protobuf" ,protobuf)
           ("pulseaudio" ,pulseaudio)
           ("x11" ,libx11)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..a5298ccfac 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3429,7 +3429,7 @@ (define-public obs
       libxcomposite
       mbedtls-apache
       mesa
-      pipewire-0.3
+      pipewire
       pulseaudio
       qtbase-5
       qtsvg




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Thu, 31 Mar 2022 05:42:01 GMT) Full text and rfc822 format available.

Message #38 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <mail <at> brendan.scot>
To: fesoj000 <fesoj000 <at> gmail.com>, Kevin Boulain <kevinboulain <at> gmail.com>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Thu, 31 Mar 2022 16:40:44 +1100
On 30/3/22 14:23, fesoj000 wrote:
> On 3/30/22 3:01 AM, Brendan Tildesley wrote:
>> 1. Add "-Dsysconfdir=/etc" to configure-flags so /etc/pipewire is 
>> used instead of the output store path.
> How do you use pipewire? The store output configuration is the package 
> default. If you need some special
> settings you can use "~/.config/pipewire/" to overwrite the settings 
> you want to change.
>
I set PIPEWIRE_CONFIG_DIR=/etc/pipewire in /etc/environment and made etc 
services to symink all the config
files there. but I think i will get rid of that in favour of sysconfdir.
> So far it was perfect to have the immutable default config in the 
> store and reference it for your own
> settings. Especially after a breaking change in pipewire, this 
> immutable config in the store path can be
> very valuable to get a working setup again.
>
> I do not care what the default config directory is, but i would like 
> to keep the default config as part
> of the package.
>
> BR
You don't need to worry about that because the default config is in 
share/ not etc/. There is nothing in the etc/ besides ld.so.cache

This is how pipewire accesses config without sysconfigdir set:

b <at> jiu ~/code/guix [env]$ strace 
/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/bin/pipewire 
2>&1|rg '^access'
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No 
such file or directory)
access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No 
such file or directory)
access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf", 
R_OK) = -1 ENOENT (No such file or directory)
access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf", 
R_OK) = 0
access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf.d", 
R_OK) = -1 ENOENT (No such file or directory)
access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf.d", 
R_OK) = -1 ENOENT (No such file or directory)
access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No 
such file or directory)
access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No 
such file or directory)

setting it just makes it do this:

b <at> jiu ~ [env]$ strace pipewire 2>&1|grep '^access'
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No 
such file or directory)
access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No 
such file or directory)
access("/etc/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or 
directory)
access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf", 
R_OK) = 0
access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf.d", 
R_OK) = -1 ENOENT (No such file or directory)
access("/etc/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file 
or directory)
access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No 
such file or directory)
access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No 
such file or directory)

So it allows for global config to be set in /etc without 
PIPEWIRE_CONFIG_DIR. Note that PIPEWIRE_CONFIG_DIR isn't practical as a 
default

because it sets the /only/ config dir and prevents any lookup in home 
.config.





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Thu, 31 Mar 2022 08:28:01 GMT) Full text and rfc822 format available.

Message #41 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <mail <at> brendan.scot>
To: Kevin Boulain <kevinboulain <at> gmail.com>
Cc: "54379 <at> debbugs.gnu.org" <54379 <at> debbugs.gnu.org>
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Thu, 31 Mar 2022 19:27:20 +1100
Would you mind testing 0ad with pipewire? I'm finding I get no audio and 
it says "no audio device found" after taking 30 seconds to load.




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 12:46:02 GMT) Full text and rfc822 format available.

Message #44 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: fesoj000 <fesoj000 <at> gmail.com>
To: mail <at> brendan.scot, Kevin Boulain <kevinboulain <at> gmail.com>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Fri, 1 Apr 2022 14:46:08 +0200
On 3/31/22 7:40 AM, Brendan Tildesley wrote:
>> So far it was perfect to have the immutable default config in the store and reference it for your own
>> settings. Especially after a breaking change in pipewire, this immutable config in the store path can be
>> very valuable to get a working setup again.
>>
>> I do not care what the default config directory is, but i would like to keep the default config as part
>> of the package.
>>
>> BR
> You don't need to worry about that because the default config is in share/ not etc/. There is nothing in the etc/ besides ld.so.cache
> 
> This is how pipewire accesses config without sysconfigdir set:
> 
> b <at> jiu ~/code/guix [env]$ strace /gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/bin/pipewire 2>&1|rg '^access'
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf", R_OK) = 0
> access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> 
> setting it just makes it do this:
> 
> b <at> jiu ~ [env]$ strace pipewire 2>&1|grep '^access'
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/etc/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory)
> access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf", R_OK) = 0
> access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/etc/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)
> 
> So it allows for global config to be set in /etc without PIPEWIRE_CONFIG_DIR. Note that PIPEWIRE_CONFIG_DIR isn't practical as a default
> 
> because it sets the /only/ config dir and prevents any lookup in home .config.
OK, that make sense.




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:23:02 GMT) Full text and rfc822 format available.

Message #47 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Fri,  1 Apr 2022 21:23:53 +0200
* gnu/packages/linux.scm (pipewire): Use the official repository URL
instead of a mirror. Also remove sdl2 from the inputs as it's only used
in tests (and is very sparsely used with PipeWire 0.3).
* gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.49 and use the
official repository URL instead of a mirror. Also add a few more inputs
to enable a few options:
 - libfdk to support the AAC Bluetooth codec
 - libsndfile to build pw-cat
 - libusb for Bluetooth quirks
 - lilv for LV2 plugins
 - openssl for raop-sink
 - readline to build pw-cli
 - webrtc-audio-processing for echo cancellation
And python-docutils to the native inputs to generate man pages.
X11 and libcanberra could be included for the X11 bell (no idea how
useful that is).
libcamera doesn't build with the current gstreamer version (g_memdup
is deprecated).
ROC doesn't appear to be in the packages yet so I'm skipping it.
Finally, set the sysconfigdir to /etc to allow configuring PipeWire
system-wide.
* gnu/packages/linux.scm (wireplumber): Update to 0.4.9.
Set the sysconfigdir to /etc to allow configuring WirePlumber
system-wide.

---

PipeWire also supports the aptX Bluetooth codec but the situation
appears to be very muddy: some distributions like Debian, Gentoo or
Arch package libfreeaptx (a fork of libopenaptx to work around licensing
issues) but others like Fedora or OpenSUSE refuse to do it so it's not
included for now (see https://issues.guix.gnu.org/54379).
---
 gnu/packages/linux.scm | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7aafcb636c..abe0185d43 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8281,7 +8281,7 @@ (define-public pipewire
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -8301,8 +8301,7 @@ (define-public pipewire
            gstreamer
            gst-plugins-base
            libva
-           sbc
-           sdl2))
+           sbc))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -8320,39 +8319,49 @@ (define-public pipewire-0.3
   (package
     (inherit pipewire)
     (name "pipewire")
-    (version "0.3.43")
+    (version "0.3.49")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gp2h0sidapcqmnifl0iipdmbzb18bdh8zdi7pfywr9gsksh0cxy"))))
+                "1nm5in95318gw18prq4jfx5qrpkn22hvmkii7f40ngkcs3zrf5zj"))))
     (arguments
      '(#:configure-flags
        (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
                             "/lib/udev/rules.d")
              "-Dsystemd=disabled"
-             "-Dsession-managers=[]")
+             "-Dsession-managers=[]"
+             "-Dsysconfdir=/etc")
        #:phases
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
+    (native-inputs (modify-inputs (package-native-inputs pipewire)
+                     (prepend python-docutils))) ; For manpages.
     (inputs (modify-inputs (package-inputs pipewire)
               (prepend avahi
                        bluez
                        jack-2
                        ldacbt
+                       libfdk
+                       libsndfile
+                       libusb
+                       lilv
+                       openssl
                        pulseaudio
+                       readline
                        vulkan-loader
-                       vulkan-headers)))))
+                       vulkan-headers
+                       webrtc-audio-processing)))))
 
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.6")
+    (version "0.4.9")
     (source
      (origin
        (method git-fetch)
@@ -8362,11 +8371,12 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+        (base32 "0m90ymkrrcqrgr3y8x6i6836w0m3anlrv2masww9050lw77aipak"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-                           "-Dsystem-lua=true")))
+                           "-Dsystem-lua=true"
+                           "-Dsysconfdir=/etc")))
     (native-inputs
      (list `(,glib "bin")
            pkg-config))




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:23:02 GMT) Full text and rfc822 format available.

Message #50 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to
 pipewire
Date: Fri,  1 Apr 2022 21:23:54 +0200
* gnu/packages/chromium.scm (ungoogled-chromium): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (weston): Change inputs from
pipewire to pipewire-0.2.
* gnu/packages/freedesktop.scm (xdg-desktop-portal): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): Change inputs
from pipewire-0.3 to pipewire.
* gnu/packages/gnome.scm (mutter): Change native-inputs and inputs from
pipewire-0.3 to pipewire.
* gnu/packages/kde-systemtools.scm (krfb): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/linux.scm (pipewire): Rename to pipewire-0.2.
* gnu/packages/linux.scm (pipewire-0.3): Rename to pipewire.
* gnu/packages/linux.scm (wireplumber): Change inputs from pipewire-0.3
to pipewire.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Change inputs
from pipewire to pipewire-0.2.
* gnu/packages/video.scm (obs): Change inputs from pipewire-0.3 to
pipewire.
---
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +++---
 gnu/packages/gnome.scm           |  4 ++--
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 12 ++++++------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 7ef1e5ac1b..f60c9719fe 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -849,7 +849,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 55bde8e705..b1248c466d 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1120,7 +1120,7 @@ (define-public weston
        ("mtdev" ,mtdev)
        ("linux-pam" ,linux-pam)
        ("pango" ,pango)
-       ("pipewire" ,pipewire)
+       ("pipewire" ,pipewire-0.2)
        ("wayland-protocols" ,wayland-protocols)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (propagated-inputs
@@ -2313,7 +2313,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse)))
     (arguments
      `(#:phases
@@ -2442,7 +2442,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8ff59f084b..41b1a1c010 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7557,7 +7557,7 @@ (define-public mutter
        ;; theme to please libxcursor.
        ("adwaita-icon-theme" ,adwaita-icon-theme)
        ("libxcursor" ,libxcursor)       ;for XCURSOR_PATH
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("python" ,python)
        ("python-dbus" ,python-dbus)
        ("python-dbusmock" ,python-dbusmock)
@@ -7600,7 +7600,7 @@ (define-public mutter
        ("libxkbfile" ,libxkbfile)
        ("libxrandr" ,libxrandr)
        ("libxtst" ,libxtst)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("startup-notification" ,startup-notification)
        ("sysprof" ,sysprof)
        ("upower-glib" ,upower)
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 3fab9089f3..205cd24e9d 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index abe0185d43..74bebda024 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8274,7 +8274,7 @@ (define-public inputattach
 types and interfaces and translates so that the X server can use them.")
     (license license:gpl2+)))
 
-(define-public pipewire
+(define-public pipewire-0.2
   (package
     (name "pipewire")
     (version "0.2.7")
@@ -8315,9 +8315,9 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
+(define-public pipewire
   (package
-    (inherit pipewire)
+    (inherit pipewire-0.2)
     (name "pipewire")
     (version "0.3.49")
     (source (origin
@@ -8340,9 +8340,9 @@ (define-public pipewire-0.3
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
-    (native-inputs (modify-inputs (package-native-inputs pipewire)
+    (native-inputs (modify-inputs (package-native-inputs pipewire-0.2)
                      (prepend python-docutils))) ; For manpages.
-    (inputs (modify-inputs (package-inputs pipewire)
+    (inputs (modify-inputs (package-inputs pipewire-0.2)
               (prepend avahi
                        bluez
                        jack-2
@@ -8380,7 +8380,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 6c5efc50b9..4213ac6e4e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -166,7 +166,7 @@ (define-public webrtc-for-telegram-desktop
           ("libxrandr" ,libxrandr)
           ("openssl" ,openssl)
           ("opus" ,opus)
-          ("pipewire" ,pipewire)
+          ("pipewire" ,pipewire-0.2)
           ("protobuf" ,protobuf)
           ("pulseaudio" ,pulseaudio)
           ("x11" ,libx11)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..a5298ccfac 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3429,7 +3429,7 @@ (define-public obs
       libxcomposite
       mbedtls-apache
       mesa
-      pipewire-0.3
+      pipewire
       pulseaudio
       qtbase-5
       qtsvg




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:34:01 GMT) Full text and rfc822 format available.

Message #53 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: Brendan Tildesley <mail <at> brendan.scot>
Cc: "54379 <at> debbugs.gnu.org" <54379 <at> debbugs.gnu.org>
Subject: Re: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Fri, 1 Apr 2022 21:32:58 +0200
On Thu, 31 Mar 2022 at 07:40, Brendan Tildesley <mail <at> brendan.scot> wrote:
> [...]
> So it allows for global config to be set in /etc without
> PIPEWIRE_CONFIG_DIR. Note that PIPEWIRE_CONFIG_DIR isn't practical as a
> default
>
> because it sets the /only/ config dir and prevents any lookup in home
> .config.

Makes sense, thanks. I did it for both PipeWire and WirePlumber, both
seem to try ~/.config, /etc and share/.

On Thu, 31 Mar 2022 at 10:27, Brendan Tildesley <mail <at> brendan.scot> wrote:
> Would you mind testing 0ad with pipewire? I'm finding I get no audio and
> it says "no audio device found" after taking 30 seconds to load.

I guix installed it and got music in the menu (over Bluetooth, with
aptX). I'm not doing anything special (a single edit to
30-bluez-monitor.lua in ~/.config), I'm only inheriting from the
PipeWire and WirePlumber packages to get support for aptX and
installing/running them via Guix home (currently ./pre-inst-env guix
home reconfigure, my configuration is there if that matters:
https://github.com/ether42/dotfiles/blob/guix/guix/my/home/desktop.scm#L66).




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:35:02 GMT) Full text and rfc822 format available.

Message #56 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Fri, 01 Apr 2022 21:34:04 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op vr 01-04-2022 om 21:23 [+0200]:
> * [...] Also add a few more inputs
> to enable a few options:
>  - libfdk to support the AAC Bluetooth codec
>  - libsndfile to build pw-cat
>  - libusb for Bluetooth quirks
>  - lilv for LV2 plugins
>  - openssl for raop-sink
>  - readline to build pw-cli
>  - webrtc-audio-processing for echo cancellation

What's the impact on the output closure size?

> And python-docutils to the native inputs to generate man pages.
> [...] libcamera doesn't build with the current gstreamer version (g_memdup
> is deprecated).
> [...], set the sysconfigdir to /etc to allow configuring PipeWire
> system-wide.
> [...] Set the sysconfigdir to /etc to allow configuring WirePlumber
> system-wide.

For future reference, I would put this information in comments in the
package definition.  That seems much more convenient to me than having
to dig through the git history.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:42:02 GMT) Full text and rfc822 format available.

Message #59 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Fri, 01 Apr 2022 21:41:12 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op vr 01-04-2022 om 21:23 [+0200]:
> * gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.49 and use the
> official repository URL instead of a mirror. Also add a few more inputs
> to enable a few options:
>  - libfdk to support the AAC Bluetooth codec
>  - libsndfile to build pw-cat
>  - libusb for Bluetooth quirks
>  - lilv for LV2 plugins
>  - openssl for raop-sink
>  - readline to build pw-cli
>  - webrtc-audio-processing for echo cancellation

Looks like some of these are only used for some plugins.
Can plugins be built separately?  If they are built separately (and
hence, the 'main' pipewire package does not have these extra packages),
then updating, say, lilv, would cause less rebuilds.

This seems especially important given that 'pipewire' is becoming a
central component in the desktop world so ideally it would have a
minimal number of dependencies to avoid blowing up the package graph
...

Greetings,
Maxime
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 19:43:02 GMT) Full text and rfc822 format available.

Message #62 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
Date: Fri, 01 Apr 2022 21:42:05 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op vr 01-04-2022 om 21:23 [+0200]:
>  (define-public wireplumber
>    (package
>      (name "wireplumber")
> -    (version "0.4.6")
> +    (version "0.4.9")
>      (source
>       (origin

Can this be updated in a separate patch or are pipewire and wireplumber
too intertwined?

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 20:43:01 GMT) Full text and rfc822 format available.

Message #65 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Fri,  1 Apr 2022 22:44:38 +0200
On Fri, 1 Apr 2022 at 21:34, Maxime Devos <maximedevos <at> telenet.be> wrote:
> What's the impact on the output closure size?

I assume you mean ./pre-inst-env guix size pipewire?
store item                                                       total    self
/gnu/store/vbcfrng1aadxa79g7f8mlgm7wp9dzqwf-mesa-21.3.2            411.5   169.5  21.2%
/gnu/store/fvfymzksvj8k6pc54gmhx2lnvkxysfd8-llvm-11.0.0            221.5   149.5  18.7%
/gnu/store/b6j1qw1a5rkbfvcy7lc9fm95abbzpa4x-python-3.9.9           155.3    63.7   8.0%
/gnu/store/cnfsv9ywaacyafkqdqsv2ry8f01yr7a9-guile-3.0.7            129.1    52.0   6.5%
/gnu/store/hzic3ddl5yvnyw7gm4a0qc5icgqy2442-icu4c-69.1             110.7    38.0   4.7%
/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33              38.3    36.6   4.6%
/gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib          71.7    33.4   4.2%
/gnu/store/6qlv57cr2xz37sarbwiv6ksqabf589p6-iso-codes-4.5.0         18.5    18.5   2.3%
/gnu/store/78b0194wv2d5vrqr408x2m2ndfy11j7j-eudev-3.2.11           102.2    17.7   2.2%
/gnu/store/84bvs9y0arsimxd2ay26a57xkqw7nsqm-glib-2.70.2             98.1    15.3   1.9%
/gnu/store/rvirnmnxxm2ymqgcxcnj3dxvnrnqlk0l-fftwf-3.3.8             85.9    13.2   1.6%
/gnu/store/614385afpnp5kcnixhrz5mz3fnbgyqkf-gst-plugins-base-1.18.5   656.1    12.8   1.6%
/gnu/store/df3ghmicrls14q2zcaj86217dicgnzs7-gstreamer-1.18.5       196.6    10.5   1.3%
/gnu/store/ln5dqqs2wkhhaqrpib5xqga0m1wpj028-pipewire-0.3.49        799.5    10.2   1.3%
/gnu/store/gkjna040y14xvk4y5mcccvjkkmdcvmnv-font-dejavu-2.37         9.8     9.8   1.2%
/gnu/store/5583c2za2jsn9g6az79rnksgvigwnsk7-util-linux-2.37.2-lib    80.7     9.0   1.1%
/gnu/store/84v5kpb4wcag0q173rq1jc9ajc953455-pulseaudio-15.0        304.1     8.9   1.1%
/gnu/store/3dy6pwfayfwdmf9y3rm4yaryzxkbdqv7-libical-3.0.10         149.6     7.5   0.9%
/gnu/store/9rrnm5hdjw7cy96a2a9rfgh6y08wsbmf-ncurses-6.2.20210619    77.6     5.9   0.7%
/gnu/store/zkl2vfmlifcyxphidx5nbv177qs9ziaz-harfbuzz-2.8.2         147.3     5.5   0.7%
/gnu/store/plr00nij45964cyy7sfcg5rcsi8hks0h-openssl-1.1.1l          77.2     5.5   0.7%
[...]
total: 799.5 MiB

Do you need the full output (where should I paste it)?
WirePumber doesn't add much:
[...]
/gnu/store/x4aak1x0l6wvb229zdqh3lh94bf2kl0j-wireplumber-0.4.9      802.3     1.5   0.2%
/gnu/store/wa7cjcx12pgx2zpk2psmlpxkmkqn79ri-lua-5.3.5               80.3     1.3   0.2%
[...]
total: 802.3 MiB

> For future reference, I would put this information in comments in the
> package definition. That seems much more convenient to me than having
> to dig through the git history.

I wasn't too sure if that's common style, but I also prefer commenting the
dependencies when they aren't obvious. Done.

On Fri, 1 Apr 2022 at 21:41, Maxime Devos <maximedevos <at> telenet.be> wrote:
> Looks like some of these are only used for some plugins.

Yeah, most of them.

> Can plugins be built separately? If they are built separately (and
> hence, the 'main' pipewire package does not have these extra packages),
> then updating, say, lilv, would cause less rebuilds.

I've no idea how that works on Guix, I assume it's not as simple as with other
distributions where all libraries/plugins can be found in a single place (/lib).
Do you have an example? I agree it would be nicer and I'm happy to split the
package (talking about plugins, do you happen to have some pointers for
https://issues.guix.gnu.org/54379#5?).

On Fri, 1 Apr 2022 at 21:42, Maxime Devos <maximedevos <at> telenet.be> wrote:
> Can this be updated in a separate patch or are pipewire and wireplumber
> too intertwined?

It builds and plays sound. I've split the commit.

Kevin Boulain (3):
  gnu: linux: update PipeWire
  gnu: linux: update WirePlumber
  gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire

 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 ++--
 gnu/packages/gnome.scm           |  4 +--
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 49 ++++++++++++++++++++------------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 7 files changed, 40 insertions(+), 27 deletions(-)





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 20:43:01 GMT) Full text and rfc822 format available.

Message #68 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 1/3] gnu: linux: update PipeWire
Date: Fri,  1 Apr 2022 22:44:39 +0200
* gnu/packages/linux.scm (pipewire): Use the official repository URL
instead of a mirror. Also remove sdl2 from the inputs as it's only used
in tests (and is very sparsely used with PipeWire 0.3).
* gnu/packages/linux.scm (pipewire-0.3): Update to 0.3.49 and use the
official repository URL instead of a mirror. Also add a few more inputs
to enable a few options:
 - libfdk to support the AAC Bluetooth codec
 - libsndfile to build pw-cat
 - libusb for Bluetooth quirks
 - lilv for LV2 plugins
 - openssl for raop-sink
 - readline to build pw-cli
 - webrtc-audio-processing for echo cancellation
And python-docutils to the native inputs to generate man pages.
X11 and libcanberra could be included for the X11 bell (no idea how
useful that is).
libcamera doesn't build with the current gstreamer version (g_memdup
is deprecated).
ROC doesn't appear to be in the packages yet so I'm skipping it.
Finally, set the sysconfigdir to /etc to allow configuring PipeWire
system-wide.

---

PipeWire also supports the aptX Bluetooth codec but the situation
appears to be very muddy: some distributions like Debian, Gentoo or
Arch package libfreeaptx (a fork of libopenaptx to work around licensing
issues) but others like Fedora or OpenSUSE refuse to do it so it's not
included for now (see https://issues.guix.gnu.org/54379).
---
 gnu/packages/linux.scm | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7aafcb636c..40166ad36e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8281,7 +8281,7 @@ (define-public pipewire
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -8301,8 +8301,7 @@ (define-public pipewire
            gstreamer
            gst-plugins-base
            libva
-           sbc
-           sdl2))
+           sbc))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -8320,34 +8319,46 @@ (define-public pipewire-0.3
   (package
     (inherit pipewire)
     (name "pipewire")
-    (version "0.3.43")
+    (version "0.3.49")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gp2h0sidapcqmnifl0iipdmbzb18bdh8zdi7pfywr9gsksh0cxy"))))
+                "1nm5in95318gw18prq4jfx5qrpkn22hvmkii7f40ngkcs3zrf5zj"))))
     (arguments
      '(#:configure-flags
        (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
                             "/lib/udev/rules.d")
              "-Dsystemd=disabled"
-             "-Dsession-managers=[]")
+             "-Dsession-managers=[]"
+             "-Dsysconfdir=/etc") ; System-wide configuration in /etc/pipewire.
        #:phases
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
+    (native-inputs (modify-inputs (package-native-inputs pipewire)
+                     (prepend python-docutils))) ; For manpages.
     (inputs (modify-inputs (package-inputs pipewire)
+              ;; The libcamera plugin doesn't build with the current GStreamer
+              ;; version (g_memdup has to be replaced with g_memdup2 first).
               (prepend avahi
                        bluez
                        jack-2
                        ldacbt
-                       pulseaudio
+                       libfdk ; AAC Bluetooth codecs.
+                       libsndfile ; To build pw-cat.
+                       libusb ; Bluetooth quirks.
+                       lilv ; LV2 plugins.
+                       openssl ; For RAOP (AirPlay).
+                       pulseaudio ; PulseAudio integration.
+                       readline ; To buid pw-cli.
                        vulkan-loader
-                       vulkan-headers)))))
+                       vulkan-headers
+                       webrtc-audio-processing))))) ; For echo cancellation.
 
 (define-public wireplumber
   (package




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 20:43:02 GMT) Full text and rfc822 format available.

Message #71 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 2/3] gnu: linux: update WirePlumber
Date: Fri,  1 Apr 2022 22:44:40 +0200
* gnu/packages/linux.scm (wireplumber): Update to 0.4.9.
Set the sysconfigdir to /etc to allow configuring WirePlumber
system-wide.
---
 gnu/packages/linux.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 40166ad36e..5b9b2d5ca5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8363,7 +8363,7 @@ (define-public pipewire-0.3
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.6")
+    (version "0.4.9")
     (source
      (origin
        (method git-fetch)
@@ -8373,11 +8373,13 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+        (base32 "0m90ymkrrcqrgr3y8x6i6836w0m3anlrv2masww9050lw77aipak"))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dsystemd=disabled"
-                           "-Dsystem-lua=true")))
+     `(#:configure-flags
+       '("-Dsystemd=disabled"
+         "-Dsystem-lua=true"
+         "-Dsysconfdir=/etc"))) ; System-wide configuration in /etc/wireplumber.
     (native-inputs
      (list `(,glib "bin")
            pkg-config))




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Fri, 01 Apr 2022 20:43:02 GMT) Full text and rfc822 format available.

Message #74 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: [PATCH 3/3] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to
 pipewire
Date: Fri,  1 Apr 2022 22:44:41 +0200
* gnu/packages/chromium.scm (ungoogled-chromium): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (weston): Change inputs from
pipewire to pipewire-0.2.
* gnu/packages/freedesktop.scm (xdg-desktop-portal): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): Change inputs
from pipewire-0.3 to pipewire.
* gnu/packages/gnome.scm (mutter): Change native-inputs and inputs from
pipewire-0.3 to pipewire.
* gnu/packages/kde-systemtools.scm (krfb): Change inputs from
pipewire-0.3 to pipewire.
* gnu/packages/linux.scm (pipewire): Rename to pipewire-0.2.
* gnu/packages/linux.scm (pipewire-0.3): Rename to pipewire.
* gnu/packages/linux.scm (wireplumber): Change inputs from pipewire-0.3
to pipewire.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Change inputs
from pipewire to pipewire-0.2.
* gnu/packages/video.scm (obs): Change inputs from pipewire-0.3 to
pipewire.
---
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +++---
 gnu/packages/gnome.scm           |  4 ++--
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 12 ++++++------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 7ef1e5ac1b..f60c9719fe 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -849,7 +849,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 55bde8e705..b1248c466d 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1120,7 +1120,7 @@ (define-public weston
        ("mtdev" ,mtdev)
        ("linux-pam" ,linux-pam)
        ("pango" ,pango)
-       ("pipewire" ,pipewire)
+       ("pipewire" ,pipewire-0.2)
        ("wayland-protocols" ,wayland-protocols)
        ("xorg-server-xwayland" ,xorg-server-xwayland)))
     (propagated-inputs
@@ -2313,7 +2313,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse)))
     (arguments
      `(#:phases
@@ -2442,7 +2442,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8ff59f084b..41b1a1c010 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7557,7 +7557,7 @@ (define-public mutter
        ;; theme to please libxcursor.
        ("adwaita-icon-theme" ,adwaita-icon-theme)
        ("libxcursor" ,libxcursor)       ;for XCURSOR_PATH
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("python" ,python)
        ("python-dbus" ,python-dbus)
        ("python-dbusmock" ,python-dbusmock)
@@ -7600,7 +7600,7 @@ (define-public mutter
        ("libxkbfile" ,libxkbfile)
        ("libxrandr" ,libxrandr)
        ("libxtst" ,libxtst)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("startup-notification" ,startup-notification)
        ("sysprof" ,sysprof)
        ("upower-glib" ,upower)
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 3fab9089f3..205cd24e9d 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5b9b2d5ca5..11ffe04c50 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8274,7 +8274,7 @@ (define-public inputattach
 types and interfaces and translates so that the X server can use them.")
     (license license:gpl2+)))
 
-(define-public pipewire
+(define-public pipewire-0.2
   (package
     (name "pipewire")
     (version "0.2.7")
@@ -8315,9 +8315,9 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
+(define-public pipewire
   (package
-    (inherit pipewire)
+    (inherit pipewire-0.2)
     (name "pipewire")
     (version "0.3.49")
     (source (origin
@@ -8340,9 +8340,9 @@ (define-public pipewire-0.3
        (modify-phases %standard-phases
          ;; Skip shrink-runpath, otherwise validate-runpath fails.
          (delete 'shrink-runpath))))
-    (native-inputs (modify-inputs (package-native-inputs pipewire)
+    (native-inputs (modify-inputs (package-native-inputs pipewire-0.2)
                      (prepend python-docutils))) ; For manpages.
-    (inputs (modify-inputs (package-inputs pipewire)
+    (inputs (modify-inputs (package-inputs pipewire-0.2)
               ;; The libcamera plugin doesn't build with the current GStreamer
               ;; version (g_memdup has to be replaced with g_memdup2 first).
               (prepend avahi
@@ -8383,7 +8383,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 6c5efc50b9..4213ac6e4e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -166,7 +166,7 @@ (define-public webrtc-for-telegram-desktop
           ("libxrandr" ,libxrandr)
           ("openssl" ,openssl)
           ("opus" ,opus)
-          ("pipewire" ,pipewire)
+          ("pipewire" ,pipewire-0.2)
           ("protobuf" ,protobuf)
           ("pulseaudio" ,pulseaudio)
           ("x11" ,libx11)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..a5298ccfac 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3429,7 +3429,7 @@ (define-public obs
       libxcomposite
       mbedtls-apache
       mesa
-      pipewire-0.3
+      pipewire
       pulseaudio
       qtbase-5
       qtsvg




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sat, 02 Apr 2022 16:20:01 GMT) Full text and rfc822 format available.

Message #77 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Sat, 02 Apr 2022 18:19:15 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op vr 01-04-2022 om 22:44 [+0200]:
> I assume you mean ./pre-inst-env guix size pipewire?
> store item                                                       total    self
> [...]
> Do you need the full output (where should I paste it)?

More concretely, I'm wondering what the impact is of the new inputs:

 +                       libfdk
 +                       libsndfile
 +                       libusb
 +                       lilv
 +                       openssl
 +                       readline
 +                       webrtc-audio-processing

What are their 'total self percentage' values?

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sat, 02 Apr 2022 16:36:01 GMT) Full text and rfc822 format available.

Message #80 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Sat, 02 Apr 2022 18:35:14 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op vr 01-04-2022 om 22:44 [+0200]:
> I've no idea how that works on Guix, I assume it's not as simple as with other
> distributions where all libraries/plugins can be found in a single place (/lib).
> Do you have an example?

Maybe have a look at how audacity searches AUDACITY_MODULE_PATH and
'dlopen's things?  Or BASH_LOADABLES_PATH.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sat, 02 Apr 2022 18:35:02 GMT) Full text and rfc822 format available.

Message #83 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Sat, 2 Apr 2022 20:33:56 +0200
On Sat, 2 Apr 2022 at 18:19, Maxime Devos <maximedevos <at> telenet.be> wrote:
> More concretely, I'm wondering what the impact is of the new inputs:
> [...]
> What are their 'total self percentage' values?

Right, so just to make sure we're on the same page:
 - guix size pipewire before this patch:
https://paste.debian.net/hidden/57a05080/
 - guix size pipewire after this patch:
https://paste.debian.net/hidden/cbb93545/
 - diff: https://paste.debian.net/hidden/3cb51fbd/

Surprisingly there isn't that much of an increase (~5MiB). That's
because most of the new dependencies were already pulled in by
existing dependencies.
For example, PulseAudio was pulling libsndfile &
webrtc-audio-processing. Bluez was pulling readline. I traced one
OpenSSL use back to a ffmpeg plugin dependency (rav1e's rust-cargo-c,
it's also used by other things but the Graphviz graph is too big to
generate a visualization).

This leaves us with only these new dependencies (see diff):
libfdk-2.0.1            75.2     3.5   0.4%
libusb-1.0.24           72.1     0.4   0.0%
lilv-0.24.12            74.0     0.3   0.0%
serd-0.30.8             71.9     0.2   0.0%
sord-0.16.8             73.7     0.1   0.0%
sratom-0.6.6            73.7     0.1   0.0%




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sat, 02 Apr 2022 19:52:01 GMT) Full text and rfc822 format available.

Message #86 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Kevin Boulain <kevinboulain <at> gmail.com>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Sat, 02 Apr 2022 21:51:39 +0200
[Message part 1 (text/plain, inline)]
Kevin Boulain schreef op za 02-04-2022 om 20:33 [+0200]:
> Surprisingly there isn't that much of an increase (~5MiB). That's
> because most of the new dependencies were already pulled in by
> existing dependencies.

Ok, that doesn't seem too bad.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Thu, 18 Aug 2022 20:47:01 GMT) Full text and rfc822 format available.

Message #89 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Thu, 18 Aug 2022 16:46:09 -0400 (EDT)
Friendly ping: what's the status of these patches? Are we waiting to see 
if the extra functionaly can be provided as separate plug-in packages so 
they won't clutter up the dependency graph?

Thanks,
Jack




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Wed, 24 Aug 2022 17:32:02 GMT) Full text and rfc822 format available.

Message #92 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: Kevin Boulain <kevinboulain <at> gmail.com>, 54379 <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
Date: Wed, 24 Aug 2022 19:31:08 +0200
[Message part 1 (text/plain, inline)]
On 18-08-2022 22:46, Jack Hill wrote:

> Friendly ping: what's the status of these patches? Are we waiting to 
> see if the extra functionaly can be provided as separate plug-in 
> packages so they won't clutter up the dependency graph?

AFAIK, no, it would be useful but AFAIK not a blocker.

AFAIK the only thing we are waiting for is for someone to commit the 
patches.

Though as a reminder, I only looked at the patches, I didn't check the 
source diff for various forms of 'badness'.

Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:03:02 GMT) Full text and rfc822 format available.

Message #95 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber
Date: Sun,  9 Oct 2022 15:02:17 +1100
Now that weston has been update to 10, it appears there isn't anything else in
Guix that requires pipewire 0.2. I notice in your last patchset Kevin, you set
Telegram to use pipewire 0.2, but I'm not aware of any reason that in needs it?
Was that intentional?

Apologies in advance for 1) highjacking your submission with my own patchset,
and 2) Messing up commit messages and other basic things I always forget.







Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:03 GMT) Full text and rfc822 format available.

Message #98 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 2/6] gnu: pipewire: Update to 0.3.59.
Date: Sun,  9 Oct 2022 15:02:19 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Update to 0.3.59.
[inputs]: Remove sdl2. It's only used to build examples.
---
 gnu/packages/linux.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b51ea553a0..3d4706d09e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8715,7 +8715,7 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.3.56")
+    (version "0.3.59")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8724,7 +8724,7 @@ (define-public pipewire
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
+                "17jnj1las9wnizwh6g9ix2pxnna029vj66qwhrnij19315vfs073"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -8749,7 +8749,6 @@ (define-public pipewire
                   libva
                   pulseaudio
                   sbc
-                  sdl2
                   vulkan-headers
                   vulkan-loader))
     (home-page "https://pipewire.org/")
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:03 GMT) Full text and rfc822 format available.

Message #101 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun,  9 Oct 2022 15:02:18 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm: Remove pipewire. Rename pipewire-0.3 to
pipewire. It may cause a rebuild due to sorting theinput list.
* gnu/packages/audio.scm: Replace all instances of pipewire-0.3 -> pipewire
* gnu/packages/video.scm: Same as above.
---
 gnu/packages/audio.scm           |  2 +-
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +--
 gnu/packages/gnome.scm           |  4 +-
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 78 ++++++++++++--------------------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 8 files changed, 38 insertions(+), 60 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f57c22240a..c37532e77b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5862,7 +5862,7 @@ (define-public qpwgraph
     (arguments (list #:tests? #f)) ;; no tests
     (inputs (list alsa-lib
                   libxkbcommon
-                  pipewire-0.3
+                  pipewire
                   qtbase
                   qtsvg))
     (native-inputs (list pkg-config))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 0559f60c5f..4244eac381 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -963,7 +963,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ab37f04bef..c30e8c62d1 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1203,7 +1203,7 @@ (define-public weston
            mtdev
            linux-pam
            pango
-           pipewire-0.3
+           pipewire
            wayland-protocols-next
            xorg-server-xwayland))
     (propagated-inputs
@@ -2454,7 +2454,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse-3)))
     (arguments
      `(#:configure-flags
@@ -2586,7 +2586,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f44bd6a39..fc6997e34d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7999,7 +7999,7 @@ (define-public mutter
            ;; theme to please libxcursor.
            adwaita-icon-theme
            libxcursor                   ;for XCURSOR_PATH
-           pipewire-0.3
+           pipewire
            python
            python-dbus
            python-dbusmock
@@ -8041,7 +8041,7 @@ (define-public mutter
            libxkbfile
            libxrandr
            libxtst
-           pipewire-0.3
+           pipewire
            startup-notification
            sysprof
            upower
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 4e6cd1d6e1..8784023294 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3972675a8d..b51ea553a0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,7 +28,7 @@
 ;;; Copyright © 2017 nee <nee-git <at> hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx <at> gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf <at> init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
@@ -8715,7 +8715,7 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.2.7")
+    (version "0.3.56")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8724,23 +8724,34 @@ (define-public pipewire
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
-              (patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
+                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
     (build-system meson-build-system)
     (arguments
-     '(#:configure-flags '("-Dsystemd=false")))
+     (list
+      #:configure-flags
+      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
+              "-Dsystemd=disabled"
+              "-Dsession-managers=[]"
+              "-Dman=enabled")))
     (native-inputs
-     (list pkg-config))
-    (inputs
-     (list alsa-lib
-           dbus
-           eudev
-           ffmpeg
-           gstreamer
-           gst-plugins-base
-           libva
-           sbc
-           sdl2))
+     (list pkg-config
+           python-docutils))
+    (inputs (list alsa-lib
+                  avahi
+                  bluez
+                  dbus
+                  eudev
+                  ffmpeg
+                  gst-plugins-base
+                  gstreamer
+                  jack-2
+                  ldacbt
+                  libva
+                  pulseaudio
+                  sbc
+                  sdl2
+                  vulkan-headers
+                  vulkan-loader))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -8754,39 +8765,6 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
-  (package
-    (inherit pipewire)
-    (name "pipewire")
-    (version "0.3.56")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
-    (arguments
-     (list
-      #:configure-flags
-      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
-              "-Dsystemd=disabled"
-              "-Dsession-managers=[]"
-              "-Dman=enabled")))
-    (native-inputs
-     (modify-inputs (package-native-inputs pipewire)
-       (prepend python-docutils)))
-    (inputs (modify-inputs (package-inputs pipewire)
-              (prepend avahi
-                       bluez
-                       jack-2
-                       ldacbt
-                       pulseaudio
-                       vulkan-loader
-                       vulkan-headers)))))
-
 (define-public wireplumber
   (package
     (name "wireplumber")
@@ -8808,7 +8786,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 82c9227ba8..759257f2bf 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -338,7 +338,7 @@ (define-public webrtc-for-telegram-desktop
               openh264
               openssl
               opus
-              pipewire-0.3
+              pipewire
               protobuf))
        (synopsis "WebRTC support for Telegram Desktop")
        (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e6da6ce04f..27cdb7aafa 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3387,7 +3387,7 @@ (define-public obs
       mbedtls-apache
       mesa
       pciutils
-      pipewire-0.3
+      pipewire
       pulseaudio
       python
       qtbase-5
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:04 GMT) Full text and rfc822 format available.

Message #104 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 3/6] gnu: pipewire: Set sysconfdir to /etc.
Date: Sun,  9 Oct 2022 15:02:20 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Set sysconfdir to /etc to allow for
systemwide config in /etc.
---
 gnu/packages/linux.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3d4706d09e..9f3fec4196 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8732,6 +8732,7 @@ (define-public pipewire
       #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
               "-Dsystemd=disabled"
               "-Dsession-managers=[]"
+              "-Dsysconfdir=/etc"
               "-Dman=enabled")))
     (native-inputs
      (list pkg-config
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:05 GMT) Full text and rfc822 format available.

Message #107 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 4/6] gnu: Add libfreeaptx.
Date: Sun,  9 Oct 2022 15:02:21 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c37532e77b..cc8b1f396c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_ <at> freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling <at> mykolab.com>
@@ -4821,6 +4821,37 @@ (define-public libfdk
     (license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
                                "https://www.gnu.org/licenses/license-list.html#fdk"))))
 
+(define-public libfreeaptx
+  (package
+    (name "libfreeaptx")
+    (version "0.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/iamthehorker/libfreeaptx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fm5041nd08yzg0m9474g0943lb3x54zmn59b53nhvxan8x22ibq"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f ;no tests.
+           #:make-flags
+           #~(list "PREFIX="
+                   (string-append "DESTDIR=" #$output)
+                   (string-append "LDFLAGS=" "-Wl,-rpath=" #$output "/lib")
+                   (string-append "CC=" #$(cc-for-target)))
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure))))
+    (home-page "https://github.com/iamthehorker/libfreeaptx")
+    (synopsis "aptX codec library")
+    (description "libfreeaptx is an implementation of the Audio Processing
+Technology codecs aptX and aptX HD, mainly intended for use with an A2DP
+bluetooth profile.")
+    (license license:lgpl2.1+)))
+
 (define-public libopenshot-audio
   (package
     (name "libopenshot-audio")
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:05 GMT) Full text and rfc822 format available.

Message #110 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 5/6] gnu: pipewire: Enable more features.
Date: Sun,  9 Oct 2022 15:02:22 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire):[inputs]:Add ...
libfdk for ACC support over bluetooth
libfreeaptx for aptX support over bluetooth
libsndfile
libusb for bluetooth support
lilv for lv2 plugins
webrtc-audio-processing for noise cancelling
readline for pw-cli
[arguments]: Set sysconfdir=/etc to allow for global configuration,
othewires pipewire tries to read from the empty immutable /gnu/.../etc/.
---
 gnu/packages/linux.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9f3fec4196..548d686136 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8747,11 +8747,18 @@ (define-public pipewire
                   gstreamer
                   jack-2
                   ldacbt
+                  libfdk
+                  libfreeaptx
+                  libsndfile
+                  libusb
+                  openssl ; raop sink
                   libva
                   pulseaudio
+                  readline ;for pw-cli
                   sbc
                   vulkan-headers
-                  vulkan-loader))
+                  vulkan-loader
+                  webrtc-audio-processing))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 04:04:06 GMT) Full text and rfc822 format available.

Message #113 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v3 6/6] gnu: wireplumber: Update to 0.4.12.
Date: Sun,  9 Oct 2022 15:02:23 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (wireplumber): Update to 0.4.12.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 548d686136..4329a9a85b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8775,7 +8775,7 @@ (define-public pipewire
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.11")
+    (version "0.4.12")
     (source
      (origin
        (method git-fetch)
@@ -8785,7 +8785,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "09pg5cki1xn9bwn3bcjdc54z7b4iqkk1dhn560qyjcglq8xg7nnw"))))
+        (base32 "0k6ylqq4r1xzc7bbmwy1qgwpqra8shdvilwm1pvzzvilgyqkm8ys"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:02:02 GMT) Full text and rfc822 format available.

Message #116 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: 'Brendan Tildesley <mail <at> brendan.scot>, 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>
Subject: Re: [PATCH v3 4/6] gnu: Add libfreeaptx.
Date: Sun, 9 Oct 2022 11:01:20 +0200
[Message part 1 (text/plain, inline)]

On 09-10-2022 06:02, 'Brendan Tildesley wrote:
> +                   (string-append "DESTDIR=" #$output)

Guix doesn't do staged installation. The variable you need to set is 
PREFIX instead, see 
<https://www.gnu.org/prep/standards/html_node/DESTDIR.html>.

Otherwise the definition looks reasonable.

Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:13:02 GMT) Full text and rfc822 format available.

Message #119 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun,  9 Oct 2022 20:12:26 +1100
Same as v3 but uses PREFIX instead of DESTDIR for libfreeaptx.






Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:13:02 GMT) Full text and rfc822 format available.

Message #122 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun,  9 Oct 2022 20:12:27 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm: Remove pipewire. Rename pipewire-0.3 to
pipewire. It may cause a rebuild due to sorting theinput list.
* gnu/packages/audio.scm: Replace all instances of pipewire-0.3 -> pipewire
* gnu/packages/video.scm: Same as above.
---
 gnu/packages/audio.scm           |  2 +-
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +--
 gnu/packages/gnome.scm           |  4 +-
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 78 ++++++++++++--------------------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 8 files changed, 38 insertions(+), 60 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f57c22240a..c37532e77b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5862,7 +5862,7 @@ (define-public qpwgraph
     (arguments (list #:tests? #f)) ;; no tests
     (inputs (list alsa-lib
                   libxkbcommon
-                  pipewire-0.3
+                  pipewire
                   qtbase
                   qtsvg))
     (native-inputs (list pkg-config))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 0559f60c5f..4244eac381 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -963,7 +963,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            re2
            snappy
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ab37f04bef..c30e8c62d1 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1203,7 +1203,7 @@ (define-public weston
            mtdev
            linux-pam
            pango
-           pipewire-0.3
+           pipewire
            wayland-protocols-next
            xorg-server-xwayland))
     (propagated-inputs
@@ -2454,7 +2454,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse-3)))
     (arguments
      `(#:configure-flags
@@ -2586,7 +2586,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f44bd6a39..fc6997e34d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7999,7 +7999,7 @@ (define-public mutter
            ;; theme to please libxcursor.
            adwaita-icon-theme
            libxcursor                   ;for XCURSOR_PATH
-           pipewire-0.3
+           pipewire
            python
            python-dbus
            python-dbusmock
@@ -8041,7 +8041,7 @@ (define-public mutter
            libxkbfile
            libxrandr
            libxtst
-           pipewire-0.3
+           pipewire
            startup-notification
            sysprof
            upower
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 4e6cd1d6e1..8784023294 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -254,7 +254,7 @@ (define-public krfb
            libxcb
            libxtst
            oxygen-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            qtbase-5
            qtx11extras
            xcb-util-image
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3972675a8d..b51ea553a0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,7 +28,7 @@
 ;;; Copyright © 2017 nee <nee-git <at> hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx <at> gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf <at> init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
@@ -8715,7 +8715,7 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.2.7")
+    (version "0.3.56")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8724,23 +8724,34 @@ (define-public pipewire
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
-              (patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
+                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
     (build-system meson-build-system)
     (arguments
-     '(#:configure-flags '("-Dsystemd=false")))
+     (list
+      #:configure-flags
+      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
+              "-Dsystemd=disabled"
+              "-Dsession-managers=[]"
+              "-Dman=enabled")))
     (native-inputs
-     (list pkg-config))
-    (inputs
-     (list alsa-lib
-           dbus
-           eudev
-           ffmpeg
-           gstreamer
-           gst-plugins-base
-           libva
-           sbc
-           sdl2))
+     (list pkg-config
+           python-docutils))
+    (inputs (list alsa-lib
+                  avahi
+                  bluez
+                  dbus
+                  eudev
+                  ffmpeg
+                  gst-plugins-base
+                  gstreamer
+                  jack-2
+                  ldacbt
+                  libva
+                  pulseaudio
+                  sbc
+                  sdl2
+                  vulkan-headers
+                  vulkan-loader))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -8754,39 +8765,6 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
-  (package
-    (inherit pipewire)
-    (name "pipewire")
-    (version "0.3.56")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
-    (arguments
-     (list
-      #:configure-flags
-      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
-              "-Dsystemd=disabled"
-              "-Dsession-managers=[]"
-              "-Dman=enabled")))
-    (native-inputs
-     (modify-inputs (package-native-inputs pipewire)
-       (prepend python-docutils)))
-    (inputs (modify-inputs (package-inputs pipewire)
-              (prepend avahi
-                       bluez
-                       jack-2
-                       ldacbt
-                       pulseaudio
-                       vulkan-loader
-                       vulkan-headers)))))
-
 (define-public wireplumber
   (package
     (name "wireplumber")
@@ -8808,7 +8786,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 82c9227ba8..759257f2bf 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -338,7 +338,7 @@ (define-public webrtc-for-telegram-desktop
               openh264
               openssl
               opus
-              pipewire-0.3
+              pipewire
               protobuf))
        (synopsis "WebRTC support for Telegram Desktop")
        (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e6da6ce04f..27cdb7aafa 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3387,7 +3387,7 @@ (define-public obs
       mbedtls-apache
       mesa
       pciutils
-      pipewire-0.3
+      pipewire
       pulseaudio
       python
       qtbase-5
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:13:03 GMT) Full text and rfc822 format available.

Message #125 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 3/6] gnu: pipewire: Set sysconfdir to /etc.
Date: Sun,  9 Oct 2022 20:12:29 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Set sysconfdir to /etc to allow for
systemwide config in /etc.
---
 gnu/packages/linux.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3d4706d09e..9f3fec4196 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8732,6 +8732,7 @@ (define-public pipewire
       #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
               "-Dsystemd=disabled"
               "-Dsession-managers=[]"
+              "-Dsysconfdir=/etc"
               "-Dman=enabled")))
     (native-inputs
      (list pkg-config
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:14:01 GMT) Full text and rfc822 format available.

Message #128 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 4/6] gnu: Add libfreeaptx.
Date: Sun,  9 Oct 2022 20:12:30 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c37532e77b..6f1449f612 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_ <at> freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling <at> mykolab.com>
@@ -4821,6 +4821,37 @@ (define-public libfdk
     (license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
                                "https://www.gnu.org/licenses/license-list.html#fdk"))))
 
+(define-public libfreeaptx
+  (package
+    (name "libfreeaptx")
+    (version "0.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/iamthehorker/libfreeaptx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fm5041nd08yzg0m9474g0943lb3x54zmn59b53nhvxan8x22ibq"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f ;no tests.
+           #:make-flags
+           #~(list
+              (string-append "PREFIX=" #$output)
+              (string-append "LDFLAGS=" "-Wl,-rpath=" #$output "/lib")
+              (string-append "CC=" #$(cc-for-target)))
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure))))
+    (home-page "https://github.com/iamthehorker/libfreeaptx")
+    (synopsis "aptX codec library")
+    (description "libfreeaptx is an implementation of the Audio Processing
+Technology codecs aptX and aptX HD, mainly intended for use with an A2DP
+bluetooth profile.")
+    (license license:lgpl2.1+)))
+
 (define-public libopenshot-audio
   (package
     (name "libopenshot-audio")
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:14:02 GMT) Full text and rfc822 format available.

Message #131 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 5/6] gnu: pipewire: Enable more features.
Date: Sun,  9 Oct 2022 20:12:31 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire):[inputs]:Add ...
libfdk for ACC support over bluetooth
libfreeaptx for aptX support over bluetooth
libsndfile
libusb for bluetooth support
lilv for lv2 plugins
webrtc-audio-processing for noise cancelling
readline for pw-cli
[arguments]: Set sysconfdir=/etc to allow for global configuration,
othewires pipewire tries to read from the empty immutable /gnu/.../etc/.
---
 gnu/packages/linux.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9f3fec4196..548d686136 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8747,11 +8747,18 @@ (define-public pipewire
                   gstreamer
                   jack-2
                   ldacbt
+                  libfdk
+                  libfreeaptx
+                  libsndfile
+                  libusb
+                  openssl ; raop sink
                   libva
                   pulseaudio
+                  readline ;for pw-cli
                   sbc
                   vulkan-headers
-                  vulkan-loader))
+                  vulkan-loader
+                  webrtc-audio-processing))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:14:02 GMT) Full text and rfc822 format available.

Message #134 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 2/6] gnu: pipewire: Update to 0.3.59.
Date: Sun,  9 Oct 2022 20:12:28 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Update to 0.3.59.
[inputs]: Remove sdl2. It's only used to build examples.
---
 gnu/packages/linux.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b51ea553a0..3d4706d09e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8715,7 +8715,7 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.3.56")
+    (version "0.3.59")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8724,7 +8724,7 @@ (define-public pipewire
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
+                "17jnj1las9wnizwh6g9ix2pxnna029vj66qwhrnij19315vfs073"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -8749,7 +8749,6 @@ (define-public pipewire
                   libva
                   pulseaudio
                   sbc
-                  sdl2
                   vulkan-headers
                   vulkan-loader))
     (home-page "https://pipewire.org/")
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 09 Oct 2022 09:14:03 GMT) Full text and rfc822 format available.

Message #137 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: 'Brendan Tildesley <mail <at> brendan.scot>
To: 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>, Brendan Tildesley <mail <at> brendan.scot>
Subject: [PATCH v4 6/6] gnu: wireplumber: Update to 0.4.12.
Date: Sun,  9 Oct 2022 20:12:32 +1100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (wireplumber): Update to 0.4.12.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 548d686136..4329a9a85b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8775,7 +8775,7 @@ (define-public pipewire
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.11")
+    (version "0.4.12")
     (source
      (origin
        (method git-fetch)
@@ -8785,7 +8785,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "09pg5cki1xn9bwn3bcjdc54z7b4iqkk1dhn560qyjcglq8xg7nnw"))))
+        (base32 "0k6ylqq4r1xzc7bbmwy1qgwpqra8shdvilwm1pvzzvilgyqkm8ys"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Mon, 10 Oct 2022 19:59:01 GMT) Full text and rfc822 format available.

Message #140 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Boulain <kevinboulain <at> gmail.com>
To: "'Brendan Tildesley" <mail <at> brendan.scot>
Cc: 54379 <at> debbugs.gnu.org
Subject: Re: [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire &
 WirePlumber
Date: Mon, 10 Oct 2022 21:57:51 +0200
On Sun, 9 Oct 2022 at 06:02, 'Brendan Tildesley <mail <at> brendan.scot> wrote:
> Now that weston has been update to 10, it appears there isn't anything else in
> Guix that requires pipewire 0.2. I notice in your last patchset Kevin, you set
> Telegram to use pipewire 0.2, but I'm not aware of any reason that in needs it?

Most of the packages depended on PipeWire 0.3 but a few still depended
on PipeWire 0.2. Because I couldn't test all of them, I went for a
minimal change and kept the same PipeWire version as previously
declared in the dependencies (but renamed 'pipewire' to 'pipewire-0.2'
and 'pipewire-0.3' to 'pipewire' to make updates easier).
So no reason in particular besides that I didn't test if Telegram was
still working with a newer version.




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 04 Dec 2022 10:19:02 GMT) Full text and rfc822 format available.

Message #143 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: 'Brendan Tildesley <mail <at> brendan.scot>, 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: Re: [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun, 04 Dec 2022 11:18:14 +0100
Hi Brendan and Kevin,

'Brendan Tildesley <mail <at> brendan.scot> writes:
> Same as v3 but uses PREFIX instead of DESTDIR for libfreeaptx.

This patch totally flew under my radar before, but now that I wanted to
add aptX support I finally found it (after writing the libfreeaptx
definition myself first :p).

Looks good overall, I'm using it without any issues, but I have a couple
of very small nitpicks:

* First of all, patch 1 doesn't cleanly apply on master anymore (which
  is normal). To make it easier for maintainers to merge your patches,
  you should specify base-commit in your patches using the --base
  option, so that they know what patch this was supposed to cleanly
  apply on;

* in patch 5, you apparently left an entry in the commit message about
  the `/etc` change, even though you separated it into its own commit;

* while we're at it, there's a small typo in patch 1's commit message,
  `theinput` -> `the input`;

* if you're inheriting patches from someone else, you should consider
  either leaving them as the primary author if you're keeping their
  changes as-is, or putting them in the commit message as
  Co-authored-by:.  It's not really an issue here I think, but something
  to remember.

Best,
-- 
Josselin Poiret




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sat, 24 Dec 2022 12:00:02 GMT) Full text and rfc822 format available.

Message #146 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: 'Brendan Tildesley <mail <at> brendan.scot>, 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: Re: [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sat, 24 Dec 2022 12:59:16 +0100
Hi again both of you,

To avoid letting this patch rot in the MLs for too long, I can pick it
up, rebase it and fix up the commit messages, unless you plan to work
further on it.  I can also update the programs to latest while I'm at
it.

Unless there are objections, I'll try doing that in the upcoming
week(s).

Best,
-- 
Josselin Poiret




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:02 GMT) Full text and rfc822 format available.

Message #149 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: 'Brendan Tildesley <mail <at> brendan.scot>, 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: Re: [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun, 08 Jan 2023 10:30:16 +0100
Hi,

Josselin Poiret <dev <at> jpoiret.xyz> writes:

> To avoid letting this patch rot in the MLs for too long, I can pick it
> up, rebase it and fix up the commit messages, unless you plan to work
> further on it.  I can also update the programs to latest while I'm at
> it.

I've done the above, here's an updated and cleaned patchset.

Best,
-- 
Josselin Poiret




Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:02 GMT) Full text and rfc822 format available.

Message #152 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3.
Date: Sun,  8 Jan 2023 10:30:37 +0100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Switch to pipewire 0.3.
(pipewire-0.3): Remove variable.
(wireplumber): Replace all pipewire-0.3 by pipewire.
* gnu/packages/audio.scm (qpwgraph): Ditto.
* gnu/packages/chromium.scm (ungoogled-chromium): Ditto.
* gnu/packages/freedesktop.scm (weston, xdg-desktop-portal,
xdg-desktop-portal-wlr): Ditto.
* gnu/packages/gnome.scm (mutter): Ditto.
* gnu/packages/kde-systemtools.scm (krfb): Ditto.
* gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Ditto.
* gnu/packages/video.scm (obs): Ditto.
---
 gnu/packages/audio.scm           |  2 +-
 gnu/packages/chromium.scm        |  2 +-
 gnu/packages/freedesktop.scm     |  6 +--
 gnu/packages/gnome.scm           |  4 +-
 gnu/packages/kde-systemtools.scm |  2 +-
 gnu/packages/linux.scm           | 79 +++++++++++---------------------
 gnu/packages/telegram.scm        |  2 +-
 gnu/packages/video.scm           |  2 +-
 8 files changed, 38 insertions(+), 61 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 49e33402eb..0cefc61ca2 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -6017,7 +6017,7 @@ (define-public qpwgraph
     (arguments (list #:tests? #f)) ;; no tests
     (inputs (list alsa-lib
                   libxkbcommon
-                  pipewire-0.3
+                  pipewire
                   qtbase
                   qtsvg))
     (native-inputs (list pkg-config))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index ed6dd9dfd1..799c2422ac 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -941,7 +941,7 @@ (define-public ungoogled-chromium
            opus+custom
            pango
            pciutils
-           pipewire-0.3
+           pipewire
            pulseaudio
            qtbase-5
            re2
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 515d9b9cea..6a7f738cda 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1312,7 +1312,7 @@ (define-public weston
            mtdev
            linux-pam
            pango
-           pipewire-0.3
+           pipewire
            wayland-protocols-next
            xorg-server-xwayland))
     (propagated-inputs
@@ -2633,7 +2633,7 @@ (define-public xdg-desktop-portal
        ("libportal" ,libportal)
        ("dbus" ,dbus)
        ("geoclue" ,geoclue)
-       ("pipewire" ,pipewire-0.3)
+       ("pipewire" ,pipewire)
        ("fuse" ,fuse-3)))
     (arguments
      `(#:configure-flags
@@ -2806,7 +2806,7 @@ (define-public xdg-desktop-portal-wlr
                   grim
                   iniparser
                   libinih
-                  pipewire-0.3
+                  pipewire
                   slurp
                   wayland
                   wayland-protocols))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e41c3754e4..6eca063aa6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8118,7 +8118,7 @@ (define-public mutter
            ;; theme to please libxcursor.
            adwaita-icon-theme
            libxcursor                   ;for XCURSOR_PATH
-           pipewire-0.3
+           pipewire
            python
            python-dbus
            python-dbusmock
@@ -8160,7 +8160,7 @@ (define-public mutter
            libxkbfile
            libxrandr
            libxtst
-           pipewire-0.3
+           pipewire
            startup-notification
            sysprof
            upower
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 96ed5cb777..455798ab8c 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -270,7 +270,7 @@ (define-public krfb
            libxcb
            libxtst
            breeze-icons ;; default icon set
-           pipewire-0.3
+           pipewire
            plasma-wayland-protocols
            qtbase-5
            qtwayland-5
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5c8d886fbd..8d20f105cb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,7 +28,7 @@
 ;;; Copyright © 2017 nee <nee-git <at> hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx <at> gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf <at> init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
@@ -9078,7 +9078,7 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.2.7")
+    (version "0.3.56")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -9087,23 +9087,34 @@ (define-public pipewire
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
-              (patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
+                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
     (build-system meson-build-system)
     (arguments
-     '(#:configure-flags '("-Dsystemd=false")))
+     (list
+      #:configure-flags
+      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
+              "-Dsystemd=disabled"
+              "-Dsession-managers=[]"
+              "-Dman=enabled")))
     (native-inputs
-     (list pkg-config))
-    (inputs
-     (list alsa-lib
-           dbus
-           eudev
-           ffmpeg-4
-           gstreamer
-           gst-plugins-base
-           libva
-           sbc
-           sdl2))
+     (list pkg-config
+           python-docutils))
+    (inputs (list alsa-lib
+                  avahi
+                  bluez
+                  dbus
+                  eudev
+                  ffmpeg
+                  gst-plugins-base
+                  gstreamer
+                  jack-2
+                  ldacbt
+                  libva
+                  pulseaudio
+                  sbc
+                  sdl2
+                  vulkan-headers
+                  vulkan-loader))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
@@ -9117,40 +9128,6 @@ (define-public pipewire
 of Linux application development.")
     (license license:lgpl2.0+)))
 
-(define-public pipewire-0.3
-  (package
-    (inherit pipewire)
-    (name "pipewire")
-    (version "0.3.56")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
-    (arguments
-     (list
-      #:configure-flags
-      #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
-              "-Dsystemd=disabled"
-              "-Dsession-managers=[]"
-              "-Dman=enabled")))
-    (native-inputs
-     (modify-inputs (package-native-inputs pipewire)
-       (prepend python-docutils)))
-    (inputs (modify-inputs (package-inputs pipewire)
-              (replace "ffmpeg" ffmpeg)
-              (prepend avahi
-                       bluez
-                       jack-2
-                       ldacbt
-                       pulseaudio
-                       vulkan-loader
-                       vulkan-headers)))))
-
 (define-public wireplumber
   (package
     (name "wireplumber")
@@ -9172,7 +9149,7 @@ (define-public wireplumber
     (native-inputs
      (list `(,glib "bin")
            pkg-config))
-    (inputs (list dbus elogind glib lua pipewire-0.3))
+    (inputs (list dbus elogind glib lua pipewire))
     (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
     (synopsis "Session / policy manager implementation for PipeWire")
     (description "WirePlumber is a modular session / policy manager for
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 14e0602d93..ad9ca74a6c 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -338,7 +338,7 @@ (define-public webrtc-for-telegram-desktop
               openh264
               openssl
               opus
-              pipewire-0.3
+              pipewire
               protobuf))
        (synopsis "WebRTC support for Telegram Desktop")
        (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e934379ff4..fc430b9196 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3457,7 +3457,7 @@ (define-public obs
       mbedtls-apache
       mesa
       pciutils
-      pipewire-0.3
+      pipewire
       pulseaudio
       python
       qtbase-5

base-commit: 5b2d100a51f9ff98054ed8d0fd7550c777d23753
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:02 GMT) Full text and rfc822 format available.

Message #155 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63.
Date: Sun,  8 Jan 2023 10:30:38 +0100
* gnu/packages/linux.scm (pipewire): Update to 0.3.63.
[source]: Update source to official repo.
[inputs]: Remove sdl2. It's only used to build examples.

Co-authored-by: Kevin Boulain <kevinboulain <at> gmail.com>
Co-authored-by: Brendan Tildesley <mail <at> brendan.scot>
---
 gnu/packages/linux.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8d20f105cb..d9c7b27eea 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9078,16 +9078,16 @@ (define-public inputattach
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.3.56")
+    (version "0.3.63")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
+                    (url "https://gitlab.freedesktop.org/pipewire/pipewire")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "066g4ri2k8pdflclvr2919f6x98gmqrqyj1xyiingw2nn2pwgcf1"))))
+                "1pkngynvhxc6iyv75gsyqjy18ky4si9dhvpavb9xwq5xj71nj0hr"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -9112,7 +9112,6 @@ (define-public pipewire
                   libva
                   pulseaudio
                   sbc
-                  sdl2
                   vulkan-headers
                   vulkan-loader))
     (home-page "https://pipewire.org/")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:03 GMT) Full text and rfc822 format available.

Message #158 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 3/6] gnu: pipewire: Set sysconfdir to /etc.
Date: Sun,  8 Jan 2023 10:30:39 +0100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire): Set sysconfdir to /etc to allow for
systemwide config in /etc.
---
 gnu/packages/linux.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d9c7b27eea..8c737edde2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9095,6 +9095,7 @@ (define-public pipewire
       #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
               "-Dsystemd=disabled"
               "-Dsession-managers=[]"
+              "-Dsysconfdir=/etc"
               "-Dman=enabled")))
     (native-inputs
      (list pkg-config
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:03 GMT) Full text and rfc822 format available.

Message #161 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 4/6] gnu: Add libfreeaptx.
Date: Sun,  8 Jan 2023 10:30:40 +0100
From: Brendan Tildesley <mail <at> brendan.scot>

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0cefc61ca2..d72cf0ca87 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius <at> gnu.org>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_ <at> freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling <at> mykolab.com>
@@ -4977,6 +4977,37 @@ (define-public libfdk
     (license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
                                "https://www.gnu.org/licenses/license-list.html#fdk"))))
 
+(define-public libfreeaptx
+  (package
+    (name "libfreeaptx")
+    (version "0.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/iamthehorker/libfreeaptx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fm5041nd08yzg0m9474g0943lb3x54zmn59b53nhvxan8x22ibq"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f ;no tests.
+           #:make-flags
+           #~(list
+              (string-append "PREFIX=" #$output)
+              (string-append "LDFLAGS=" "-Wl,-rpath=" #$output "/lib")
+              (string-append "CC=" #$(cc-for-target)))
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure))))
+    (home-page "https://github.com/iamthehorker/libfreeaptx")
+    (synopsis "aptX codec library")
+    (description "libfreeaptx is an implementation of the Audio Processing
+Technology codecs aptX and aptX HD, mainly intended for use with an A2DP
+bluetooth profile.")
+    (license license:lgpl2.1+)))
+
 (define-public libopenshot-audio
   (package
     (name "libopenshot-audio")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:04 GMT) Full text and rfc822 format available.

Message #164 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 5/6] gnu: pipewire: Enable more features.
Date: Sun,  8 Jan 2023 10:30:41 +0100
From: Brendan Tildesley <mail <at> brendan.scot>

* gnu/packages/linux.scm (pipewire)[inputs]:
Add
- libfdk for ACC support over bluetooth
- libfreeaptx for aptX support over bluetooth
- libsndfile
- libusb for bluetooth support
- lilv for lv2 plugins
- webrtc-audio-processing for noise cancelling
- readline for pw-cli
---
 gnu/packages/linux.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8c737edde2..4b21f9ca33 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9110,11 +9110,18 @@ (define-public pipewire
                   gstreamer
                   jack-2
                   ldacbt
+                  libfdk
+                  libfreeaptx
+                  libsndfile
+                  libusb
+                  openssl ; raop sink
                   libva
                   pulseaudio
+                  readline ; for pw-cli
                   sbc
                   vulkan-headers
-                  vulkan-loader))
+                  vulkan-loader
+                  webrtc-audio-processing))
     (home-page "https://pipewire.org/")
     (synopsis "Server and user space API to deal with multimedia pipelines")
     (description
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 09:31:04 GMT) Full text and rfc822 format available.

Message #167 received at 54379 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379 <at> debbugs.gnu.org
Cc: Kevin Boulain <kevinboulain <at> gmail.com>,
 Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v5 6/6] gnu: wireplumber: Update to 0.4.13.
Date: Sun,  8 Jan 2023 10:30:42 +0100
* gnu/packages/linux.scm (wireplumber): Update to 0.4.13.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4b21f9ca33..ac126cf85d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9138,7 +9138,7 @@ (define-public pipewire
 (define-public wireplumber
   (package
     (name "wireplumber")
-    (version "0.4.11")
+    (version "0.4.13")
     (source
      (origin
        (method git-fetch)
@@ -9148,7 +9148,7 @@ (define-public wireplumber
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "09pg5cki1xn9bwn3bcjdc54z7b4iqkk1dhn560qyjcglq8xg7nnw"))))
+        (base32 "07psjb7rxsigwnwnzmw2y767vhyyha7cn8i8dgq80rzhwgl0sgv7"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dsystemd=disabled"
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#54379; Package guix-patches. (Sun, 08 Jan 2023 16:49:02 GMT) Full text and rfc822 format available.

Message #170 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Josselin Poiret via Guix-patches via <guix-patches <at> gnu.org>
Cc: Kevin Boulain <kevinboulain <at> gmail.com>, Josselin Poiret <dev <at> jpoiret.xyz>,
 Maxime Devos <maximedevos <at> telenet.be>, 'Brendan Tildesley <mail <at> brendan.scot>,
 54379-done <at> debbugs.gnu.org
Subject: Re: [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
Date: Sun, 08 Jan 2023 17:48:33 +0100
Hello,

> I've done the above, here's an updated and cleaned patchset.

I just pushed the latest patchset.

Thanks everyone,

Mathieu




Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Sun, 08 Jan 2023 16:49:02 GMT) Full text and rfc822 format available.

Notification sent to Kevin Boulain <kevinboulain <at> gmail.com>:
bug acknowledged by developer. (Sun, 08 Jan 2023 16:49:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 06 Feb 2023 12:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 156 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.