unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
@ 2022-03-13 22:35 Kevin Boulain
  2022-03-14  8:25 ` Brendan Tildesley
                   ` (6 more replies)
  0 siblings, 7 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-03-13 22:35 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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





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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
@ 2022-03-14  8:25 ` Brendan Tildesley
  2022-03-14  9:06   ` Brendan Tildesley
  2022-03-14 23:06   ` Kevin Boulain
  2022-03-14 23:06 ` [bug#54379] [PATCH 1/2] " Kevin Boulain
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 56+ messages in thread
From: Brendan Tildesley @ 2022-03-14  8:25 UTC (permalink / raw)
  To: kevinboulain@gmail.com, 54379@debbugs.gnu.org

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

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.

[-- Attachment #2: 0001-gnu-Add-libfreeaptx.patch --]
[-- Type: text/x-patch, Size: 2465 bytes --]

From a3c7a4a7ec34eeae57deb76033e7e6224760b7f5 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Sat, 12 Mar 2022 20:09:17 +1100
Subject: [PATCH] gnu: Add libfreeaptx.

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..ae93097354 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -4686,6 +4686,36 @@ (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
+           #:make-flags
+           #~(list
+              (string-append "DESTDIR=" #$output)
+              "PREFIX="
+              (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 "Implementation of the aptX and aptX ND codecs.")
+    (license license:lgpl2.1+)))
+
 (define-public libopenshot-audio
   (package
     (name "libopenshot-audio")
-- 
2.34.0


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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-14  8:25 ` Brendan Tildesley
@ 2022-03-14  9:06   ` Brendan Tildesley
  2022-03-14 23:06   ` Kevin Boulain
  1 sibling, 0 replies; 56+ messages in thread
From: Brendan Tildesley @ 2022-03-14  9:06 UTC (permalink / raw)
  To: kevinboulain@gmail.com, 54379@debbugs.gnu.org

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

Fixed up the description a little.

[-- Attachment #2: v2-0001-gnu-Add-libfreeaptx.patch --]
[-- Type: text/x-patch, Size: 2584 bytes --]

From 90c797f62d3868e2981167050d56bf3a581fbd89 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Sat, 12 Mar 2022 20:09:17 +1100
Subject: [PATCH v2] gnu: Add libfreeaptx.

* 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 13e0f02837..b2a00a6093 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -4686,6 +4686,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.34.0


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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-14  8:25 ` Brendan Tildesley
  2022-03-14  9:06   ` Brendan Tildesley
@ 2022-03-14 23:06   ` Kevin Boulain
  2022-03-30  1:01     ` Brendan Tildesley
  2022-03-31  8:27     ` Brendan Tildesley
  1 sibling, 2 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-03-14 23:06 UTC (permalink / raw)
  To: Brendan Tildesley; +Cc: 54379@debbugs.gnu.org

On Mon, 14 Mar 2022 at 09:25, Brendan Tildesley <mail@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@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 :)




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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  2022-03-14  8:25 ` Brendan Tildesley
@ 2022-03-14 23:06 ` Kevin Boulain
  2022-03-14 23:06   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
  2022-03-30 19:18 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 56+ messages in thread
From: Kevin Boulain @ 2022-03-14 23:06 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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





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

* [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire
  2022-03-14 23:06 ` [bug#54379] [PATCH 1/2] " Kevin Boulain
@ 2022-03-14 23:06   ` Kevin Boulain
  0 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-03-14 23:06 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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





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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-14 23:06   ` Kevin Boulain
@ 2022-03-30  1:01     ` Brendan Tildesley
  2022-03-30  4:23       ` fesoj000
  2022-03-31  8:27     ` Brendan Tildesley
  1 sibling, 1 reply; 56+ messages in thread
From: Brendan Tildesley @ 2022-03-30  1:01 UTC (permalink / raw)
  To: Kevin Boulain; +Cc: 54379

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





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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-30  1:01     ` Brendan Tildesley
@ 2022-03-30  4:23       ` fesoj000
  2022-03-30 19:14         ` Kevin Boulain
  2022-03-31  5:40         ` Brendan Tildesley
  0 siblings, 2 replies; 56+ messages in thread
From: fesoj000 @ 2022-03-30  4:23 UTC (permalink / raw)
  To: mail, Kevin Boulain; +Cc: 54379

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




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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-30  4:23       ` fesoj000
@ 2022-03-30 19:14         ` Kevin Boulain
  2022-03-31  5:40         ` Brendan Tildesley
  1 sibling, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-03-30 19:14 UTC (permalink / raw)
  To: fesoj000; +Cc: Brendan Tildesley, 54379

On Wed, 30 Mar 2022 at 06:22, fesoj000 <fesoj000@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@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.




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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  2022-03-14  8:25 ` Brendan Tildesley
  2022-03-14 23:06 ` [bug#54379] [PATCH 1/2] " Kevin Boulain
@ 2022-03-30 19:18 ` Kevin Boulain
  2022-03-30 19:18   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 56+ messages in thread
From: Kevin Boulain @ 2022-03-30 19:18 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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"




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

* [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire
  2022-03-30 19:18 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
@ 2022-03-30 19:18   ` Kevin Boulain
  0 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-03-30 19:18 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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




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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-30  4:23       ` fesoj000
  2022-03-30 19:14         ` Kevin Boulain
@ 2022-03-31  5:40         ` Brendan Tildesley
  2022-04-01 12:46           ` fesoj000
  1 sibling, 1 reply; 56+ messages in thread
From: Brendan Tildesley @ 2022-03-31  5:40 UTC (permalink / raw)
  To: fesoj000, Kevin Boulain; +Cc: 54379


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





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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-14 23:06   ` Kevin Boulain
  2022-03-30  1:01     ` Brendan Tildesley
@ 2022-03-31  8:27     ` Brendan Tildesley
  2022-04-01 19:32       ` Kevin Boulain
  1 sibling, 1 reply; 56+ messages in thread
From: Brendan Tildesley @ 2022-03-31  8:27 UTC (permalink / raw)
  To: Kevin Boulain; +Cc: 54379@debbugs.gnu.org

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.




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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-31  5:40         ` Brendan Tildesley
@ 2022-04-01 12:46           ` fesoj000
  0 siblings, 0 replies; 56+ messages in thread
From: fesoj000 @ 2022-04-01 12:46 UTC (permalink / raw)
  To: mail, Kevin Boulain; +Cc: 54379

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




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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (2 preceding siblings ...)
  2022-03-30 19:18 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
@ 2022-04-01 19:23 ` Kevin Boulain
  2022-04-01 19:23   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
                     ` (3 more replies)
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
                   ` (2 subsequent siblings)
  6 siblings, 4 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 19:23 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

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




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

* [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
@ 2022-04-01 19:23   ` Kevin Boulain
  2022-04-01 19:34   ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Maxime Devos
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 19:23 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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




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

* [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
  2022-03-31  8:27     ` Brendan Tildesley
@ 2022-04-01 19:32       ` Kevin Boulain
  0 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 19:32 UTC (permalink / raw)
  To: Brendan Tildesley; +Cc: 54379@debbugs.gnu.org

On Thu, 31 Mar 2022 at 07:40, Brendan Tildesley <mail@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@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).




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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  2022-04-01 19:23   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
@ 2022-04-01 19:34   ` Maxime Devos
  2022-04-01 19:41   ` Maxime Devos
  2022-04-01 19:42   ` Maxime Devos
  3 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-04-01 19:34 UTC (permalink / raw)
  To: Kevin Boulain, 54379

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  2022-04-01 19:23   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
  2022-04-01 19:34   ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Maxime Devos
@ 2022-04-01 19:41   ` Maxime Devos
  2022-04-01 19:42   ` Maxime Devos
  3 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-04-01 19:41 UTC (permalink / raw)
  To: Kevin Boulain, 54379

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

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                     ` (2 preceding siblings ...)
  2022-04-01 19:41   ` Maxime Devos
@ 2022-04-01 19:42   ` Maxime Devos
  3 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-04-01 19:42 UTC (permalink / raw)
  To: Kevin Boulain, 54379

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (3 preceding siblings ...)
  2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
@ 2022-04-01 20:44 ` Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 1/3] gnu: linux: update PipeWire Kevin Boulain
                     ` (4 more replies)
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
  6 siblings, 5 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 20:44 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos

On Fri, 1 Apr 2022 at 21:34, Maxime Devos <maximedevos@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@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@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(-)





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

* [bug#54379] [PATCH 1/3] gnu: linux: update PipeWire
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
@ 2022-04-01 20:44   ` Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 2/3] gnu: linux: update WirePlumber Kevin Boulain
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 20:44 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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




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

* [bug#54379] [PATCH 2/3] gnu: linux: update WirePlumber
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 1/3] gnu: linux: update PipeWire Kevin Boulain
@ 2022-04-01 20:44   ` Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 3/3] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 20:44 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

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




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

* [bug#54379] [PATCH 3/3] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 1/3] gnu: linux: update PipeWire Kevin Boulain
  2022-04-01 20:44   ` [bug#54379] [PATCH 2/3] gnu: linux: update WirePlumber Kevin Boulain
@ 2022-04-01 20:44   ` Kevin Boulain
  2022-04-02 16:19   ` [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber Maxime Devos
  2022-04-02 16:35   ` Maxime Devos
  4 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-04-01 20:44 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain

* 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




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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
                     ` (2 preceding siblings ...)
  2022-04-01 20:44   ` [bug#54379] [PATCH 3/3] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
@ 2022-04-02 16:19   ` Maxime Devos
  2022-04-02 18:33     ` Kevin Boulain
  2022-04-02 16:35   ` Maxime Devos
  4 siblings, 1 reply; 56+ messages in thread
From: Maxime Devos @ 2022-04-02 16:19 UTC (permalink / raw)
  To: Kevin Boulain, 54379

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
                     ` (3 preceding siblings ...)
  2022-04-02 16:19   ` [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber Maxime Devos
@ 2022-04-02 16:35   ` Maxime Devos
  4 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-04-02 16:35 UTC (permalink / raw)
  To: Kevin Boulain, 54379

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-04-02 16:19   ` [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber Maxime Devos
@ 2022-04-02 18:33     ` Kevin Boulain
  2022-04-02 19:51       ` Maxime Devos
  0 siblings, 1 reply; 56+ messages in thread
From: Kevin Boulain @ 2022-04-02 18:33 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 54379

On Sat, 2 Apr 2022 at 18:19, Maxime Devos <maximedevos@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%




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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-04-02 18:33     ` Kevin Boulain
@ 2022-04-02 19:51       ` Maxime Devos
  2022-08-18 20:46         ` Jack Hill
  0 siblings, 1 reply; 56+ messages in thread
From: Maxime Devos @ 2022-04-02 19:51 UTC (permalink / raw)
  To: Kevin Boulain; +Cc: 54379

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-04-02 19:51       ` Maxime Devos
@ 2022-08-18 20:46         ` Jack Hill
  2022-08-24 17:31           ` Maxime Devos
  0 siblings, 1 reply; 56+ messages in thread
From: Jack Hill @ 2022-08-18 20:46 UTC (permalink / raw)
  To: Maxime Devos; +Cc: Kevin Boulain, 54379

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




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

* [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber
  2022-08-18 20:46         ` Jack Hill
@ 2022-08-24 17:31           ` Maxime Devos
  0 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-08-24 17:31 UTC (permalink / raw)
  To: Jack Hill; +Cc: Kevin Boulain, 54379


[-- Attachment #1.1.1: Type: text/plain, Size: 526 bytes --]

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.

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

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

* [bug#54379] [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (4 preceding siblings ...)
  2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
@ 2022-10-09  4:02 ` 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
                     ` (6 more replies)
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
  6 siblings, 7 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos

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.







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

* [bug#54379] [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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@hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf@init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@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





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

* [bug#54379] [PATCH v3 2/6] gnu: pipewire: Update to 0.3.59.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v3 3/6] gnu: pipewire: Set sysconfdir to /etc.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
                     ` (2 preceding siblings ...)
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-09  9:01     ` Maxime Devos
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
                     ` (2 subsequent siblings)
  6 siblings, 1 reply; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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@fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@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





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

* [bug#54379] [PATCH v3 5/6] gnu: pipewire: Enable more features.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
                     ` (3 preceding siblings ...)
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
  2022-10-10 19:57   ` [bug#54379] [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v3 6/6] gnu: wireplumber: Update to 0.4.12.
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
                     ` (4 preceding siblings ...)
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
@ 2022-10-09  4:02   ` 'Brendan Tildesley
  2022-10-10 19:57   ` [bug#54379] [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  4:02 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx.
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
@ 2022-10-09  9:01     ` Maxime Devos
  0 siblings, 0 replies; 56+ messages in thread
From: Maxime Devos @ 2022-10-09  9:01 UTC (permalink / raw)
  To: 'Brendan Tildesley, 54379; +Cc: Kevin Boulain


[-- Attachment #1.1.1: Type: text/plain, Size: 337 bytes --]



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.

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
                   ` (5 preceding siblings ...)
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
@ 2022-10-09  9:12 ` 'Brendan Tildesley
  2022-10-09  9:12   ` 'Brendan Tildesley
                     ` (6 more replies)
  6 siblings, 7 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos

Same as v3 but uses PREFIX instead of DESTDIR for libfreeaptx.






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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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@hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf@init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@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





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

* [bug#54379] [PATCH v4 2/6] gnu: pipewire: Update to 0.3.59.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
  2022-10-09  9:12   ` 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v4 3/6] gnu: pipewire: Set sysconfdir to /etc.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
  2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v4 4/6] gnu: Add libfreeaptx.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
                     ` (2 preceding siblings ...)
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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@fastmail.com>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@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





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

* [bug#54379] [PATCH v4 5/6] gnu: pipewire: Enable more features.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
                     ` (3 preceding siblings ...)
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
  2022-12-04 10:18   ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Josselin Poiret via Guix-patches via
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v4 6/6] gnu: wireplumber: Update to 0.4.12.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
                     ` (4 preceding siblings ...)
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
@ 2022-10-09  9:12   ` 'Brendan Tildesley
  2022-12-04 10:18   ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Josselin Poiret via Guix-patches via
  6 siblings, 0 replies; 56+ messages in thread
From: 'Brendan Tildesley @ 2022-10-09  9:12 UTC (permalink / raw)
  To: 54379; +Cc: Kevin Boulain, Maxime Devos, Brendan Tildesley

From: Brendan Tildesley <mail@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





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

* [bug#54379] [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber
  2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
                     ` (5 preceding siblings ...)
  2022-10-09  4:02   ` [bug#54379] [PATCH v3 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
@ 2022-10-10 19:57   ` Kevin Boulain
  6 siblings, 0 replies; 56+ messages in thread
From: Kevin Boulain @ 2022-10-10 19:57 UTC (permalink / raw)
  To: 'Brendan Tildesley; +Cc: 54379

On Sun, 9 Oct 2022 at 06:02, 'Brendan Tildesley <mail@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.




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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
                     ` (5 preceding siblings ...)
  2022-10-09  9:12   ` [bug#54379] [PATCH v4 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
@ 2022-12-04 10:18   ` Josselin Poiret via Guix-patches via
  2022-12-24 11:59     ` Josselin Poiret via Guix-patches via
  6 siblings, 1 reply; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2022-12-04 10:18 UTC (permalink / raw)
  To: 'Brendan Tildesley, 54379; +Cc: Kevin Boulain, Maxime Devos

Hi Brendan and Kevin,

'Brendan Tildesley <mail@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




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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-12-04 10:18   ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Josselin Poiret via Guix-patches via
@ 2022-12-24 11:59     ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30       ` Josselin Poiret via Guix-patches via
  0 siblings, 1 reply; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2022-12-24 11:59 UTC (permalink / raw)
  To: 'Brendan Tildesley, 54379; +Cc: Kevin Boulain, Maxime Devos

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




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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2022-12-24 11:59     ` Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30       ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
  2023-01-08 16:48         ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Mathieu Othacehe
  0 siblings, 2 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: 'Brendan Tildesley, 54379; +Cc: Kevin Boulain, Maxime Devos

Hi,

Josselin Poiret <dev@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




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

* [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3.
  2023-01-08  9:30       ` Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30         ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63 Josselin Poiret via Guix-patches via
                             ` (4 more replies)
  2023-01-08 16:48         ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Mathieu Othacehe
  1 sibling, 5 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

From: Brendan Tildesley <mail@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@hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
-;;; Copyright © 2018, 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2020, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf@init.at>
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@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





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

* [bug#54379] [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63.
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30           ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 3/6] gnu: pipewire: Set sysconfdir to /etc Josselin Poiret via Guix-patches via
                             ` (3 subsequent siblings)
  4 siblings, 0 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

* 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@gmail.com>
Co-authored-by: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v5 3/6] gnu: pipewire: Set sysconfdir to /etc.
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63 Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30           ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 4/6] gnu: Add libfreeaptx Josselin Poiret via Guix-patches via
                             ` (2 subsequent siblings)
  4 siblings, 0 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v5 4/6] gnu: Add libfreeaptx.
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63 Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 3/6] gnu: pipewire: Set sysconfdir to /etc Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30           ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 5/6] gnu: pipewire: Enable more features Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 6/6] gnu: wireplumber: Update to 0.4.13 Josselin Poiret via Guix-patches via
  4 siblings, 0 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

From: Brendan Tildesley <mail@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@gnu.org>
 ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@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





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

* [bug#54379] [PATCH v5 5/6] gnu: pipewire: Enable more features.
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
                             ` (2 preceding siblings ...)
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 4/6] gnu: Add libfreeaptx Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30           ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 6/6] gnu: wireplumber: Update to 0.4.13 Josselin Poiret via Guix-patches via
  4 siblings, 0 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

From: Brendan Tildesley <mail@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





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

* [bug#54379] [PATCH v5 6/6] gnu: wireplumber: Update to 0.4.13.
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
                             ` (3 preceding siblings ...)
  2023-01-08  9:30           ` [bug#54379] [PATCH v5 5/6] gnu: pipewire: Enable more features Josselin Poiret via Guix-patches via
@ 2023-01-08  9:30           ` Josselin Poiret via Guix-patches via
  4 siblings, 0 replies; 56+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-01-08  9:30 UTC (permalink / raw)
  To: Josselin Poiret, 'Brendan Tildesley, 54379
  Cc: Kevin Boulain, Maxime Devos

* 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





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

* [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2.
  2023-01-08  9:30       ` Josselin Poiret via Guix-patches via
  2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
@ 2023-01-08 16:48         ` Mathieu Othacehe
  1 sibling, 0 replies; 56+ messages in thread
From: Mathieu Othacehe @ 2023-01-08 16:48 UTC (permalink / raw)
  To: 54379
  Cc: Kevin Boulain, Josselin Poiret, Maxime Devos,
	'Brendan Tildesley, 54379-done


Hello,

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

I just pushed the latest patchset.

Thanks everyone,

Mathieu




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

end of thread, other threads:[~2023-01-08 16:49 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-13 22:35 [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
2022-03-14  8:25 ` Brendan Tildesley
2022-03-14  9:06   ` Brendan Tildesley
2022-03-14 23:06   ` Kevin Boulain
2022-03-30  1:01     ` Brendan Tildesley
2022-03-30  4:23       ` fesoj000
2022-03-30 19:14         ` Kevin Boulain
2022-03-31  5:40         ` Brendan Tildesley
2022-04-01 12:46           ` fesoj000
2022-03-31  8:27     ` Brendan Tildesley
2022-04-01 19:32       ` Kevin Boulain
2022-03-14 23:06 ` [bug#54379] [PATCH 1/2] " Kevin Boulain
2022-03-14 23:06   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
2022-03-30 19:18 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
2022-03-30 19:18   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
2022-04-01 19:23 ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
2022-04-01 19:23   ` [bug#54379] [PATCH 2/2] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
2022-04-01 19:34   ` [bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber Maxime Devos
2022-04-01 19:41   ` Maxime Devos
2022-04-01 19:42   ` Maxime Devos
2022-04-01 20:44 ` [bug#54379] [PATCH 0/3] " Kevin Boulain
2022-04-01 20:44   ` [bug#54379] [PATCH 1/3] gnu: linux: update PipeWire Kevin Boulain
2022-04-01 20:44   ` [bug#54379] [PATCH 2/3] gnu: linux: update WirePlumber Kevin Boulain
2022-04-01 20:44   ` [bug#54379] [PATCH 3/3] gnu: rename pipewire to pipewire-0.2 and pipewire-0.3 to pipewire Kevin Boulain
2022-04-02 16:19   ` [bug#54379] [PATCH 0/3] gnu: linux: update PipeWire & WirePlumber Maxime Devos
2022-04-02 18:33     ` Kevin Boulain
2022-04-02 19:51       ` Maxime Devos
2022-08-18 20:46         ` Jack Hill
2022-08-24 17:31           ` Maxime Devos
2022-04-02 16:35   ` Maxime Devos
2022-10-09  4:02 ` [bug#54379] [(Brendan's) PATCH v3 0/6] " 'Brendan Tildesley
2022-10-09  4:02   ` [bug#54379] [PATCH v3 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
2022-10-09  4:02   ` [bug#54379] [PATCH v3 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
2022-10-09  4:02   ` [bug#54379] [PATCH v3 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
2022-10-09  4:02   ` [bug#54379] [PATCH v3 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
2022-10-09  9:01     ` Maxime Devos
2022-10-09  4:02   ` [bug#54379] [PATCH v3 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
2022-10-09  4:02   ` [bug#54379] [PATCH v3 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
2022-10-10 19:57   ` [bug#54379] [(Brendan's) PATCH v3 0/6] gnu: linux: update PipeWire & WirePlumber Kevin Boulain
2022-10-09  9:12 ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 'Brendan Tildesley
2022-10-09  9:12   ` 'Brendan Tildesley
2022-10-09  9:12   ` [bug#54379] [PATCH v4 2/6] gnu: pipewire: Update to 0.3.59 'Brendan Tildesley
2022-10-09  9:12   ` [bug#54379] [PATCH v4 3/6] gnu: pipewire: Set sysconfdir to /etc 'Brendan Tildesley
2022-10-09  9:12   ` [bug#54379] [PATCH v4 4/6] gnu: Add libfreeaptx 'Brendan Tildesley
2022-10-09  9:12   ` [bug#54379] [PATCH v4 5/6] gnu: pipewire: Enable more features 'Brendan Tildesley
2022-10-09  9:12   ` [bug#54379] [PATCH v4 6/6] gnu: wireplumber: Update to 0.4.12 'Brendan Tildesley
2022-12-04 10:18   ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Josselin Poiret via Guix-patches via
2022-12-24 11:59     ` Josselin Poiret via Guix-patches via
2023-01-08  9:30       ` Josselin Poiret via Guix-patches via
2023-01-08  9:30         ` [bug#54379] [PATCH v5 1/6] gnu: pipewire: Switch default to 0.3 Josselin Poiret via Guix-patches via
2023-01-08  9:30           ` [bug#54379] [PATCH v5 2/6] gnu: pipewire: Update to 0.3.63 Josselin Poiret via Guix-patches via
2023-01-08  9:30           ` [bug#54379] [PATCH v5 3/6] gnu: pipewire: Set sysconfdir to /etc Josselin Poiret via Guix-patches via
2023-01-08  9:30           ` [bug#54379] [PATCH v5 4/6] gnu: Add libfreeaptx Josselin Poiret via Guix-patches via
2023-01-08  9:30           ` [bug#54379] [PATCH v5 5/6] gnu: pipewire: Enable more features Josselin Poiret via Guix-patches via
2023-01-08  9:30           ` [bug#54379] [PATCH v5 6/6] gnu: wireplumber: Update to 0.4.13 Josselin Poiret via Guix-patches via
2023-01-08 16:48         ` [bug#54379] [PATCH v4 1/6] gnu: pipewire: Remove pipewire 0.2 Mathieu Othacehe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).