[PATCH] gnu: move wireplumber and qpwgraph

  • Done
  • quality assurance status badge
Details
2 participants
  • Formbi
  • Steve George
Owner
unassigned
Submitted by
Formbi
Severity
normal

Debbugs page

Formbi wrote 3 years ago
(name . Formbi via Guix-patches)(address . guix-patches@gnu.org)
5zuylumYe6MHtncZM72HW7QABD8W98dltQ4rU8K9sHa4ssMO_WAhwsew5RhS6WXypbT_HaVNvKLVKUx1GNvsvNicoZK3sva8lcicnhPFGKw=@protonmail.com
This patch moves wireplumber and qpwgraph to the pipewire.scm file.

From 22fcfec0b82e3a1054a9a0d8a8ba8671287d866c Mon Sep 17 00:00:00 2001
From: Formbi <formbi@protonmail.com>
Date: Mon, 15 Aug 2022 01:57:08 +0200
Subject: [PATCH 2/2] gnu: move wireplumber and qpwgraph

---
0001-add-pipewire.scm-and-easyeffects.patch | 136 ++++++++++++++++++++
gnu/packages/audio.scm | 29 -----
gnu/packages/linux.scm | 30 -----
gnu/packages/pipewire.scm | 65 ++++++++++
4 files changed, 201 insertions(+), 59 deletions(-)
create mode 100644 0001-add-pipewire.scm-and-easyeffects.patch

Toggle diff (301 lines)
diff --git a/0001-add-pipewire.scm-and-easyeffects.patch b/0001-add-pipewire.scm-and-easyeffects.patch
new file mode 100644
index 0000000000..5be1ef5361
--- /dev/null
+++ b/0001-add-pipewire.scm-and-easyeffects.patch
@@ -0,0 +1,136 @@
+From 817c0f81a1e67b27cdea6010860b6638a6acdd08 Mon Sep 17 00:00:00 2001
+From: Formbi <formbi@protonmail.com>
+Date: Mon, 15 Aug 2022 01:44:41 +0200
+Subject: [PATCH] add pipewire.scm and easyeffects
+
+---
+ gnu/packages/pipewire.scm | 117 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 117 insertions(+)
+ create mode 100644 gnu/packages/pipewire.scm
+
+diff --git a/gnu/packages/pipewire.scm b/gnu/packages/pipewire.scm
+new file mode 100644
+index 0000000000..2b923e0d05
+--- /dev/null
++++ b/gnu/packages/pipewire.scm
+@@ -0,0 +1,117 @@
++;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com>
++;;;
++;;; This file is part of GNU Guix.
++;;;
++;;; GNU Guix is free software; you can redistribute it and/or modify it
++;;; under the terms of the GNU General Public License as published by
++;;; the Free Software Foundation; either version 3 of the License, or (at
++;;; your option) any later version.
++;;;
++;;; GNU Guix is distributed in the hope that it will be useful, but
++;;; WITHOUT ANY WARRANTY; without even the implied warranty of
++;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++;;; GNU General Public License for more details.
++;;;
++;;; You should have received a copy of the GNU General Public License
++;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
++
++
++(define-module (gnu packages pipewire)
++ #:use-module ((guix licenses)
++ #:prefix license:)
++ #:use-module (guix build-system cmake)
++ #:use-module (guix build-system meson)
++ #:use-module (guix download)
++ #:use-module (guix gexp)
++ #:use-module (guix git-download)
++ #:use-module (guix packages)
++ #:use-module (gnu packages)
++ #:use-module (gnu packages algebra)
++ #:use-module (gnu packages audio)
++ #:use-module (gnu packages cmake)
++ #:use-module (gnu packages cpp)
++ #:use-module (gnu packages freedesktop)
++ #:use-module (gnu packages gettext)
++ #:use-module (gnu packages glib)
++ #:use-module (gnu packages gnome)
++ #:use-module (gnu packages gtk)
++ #:use-module (gnu packages linux)
++ #:use-module (gnu packages lua)
++ #:use-module (gnu packages music)
++ #:use-module (gnu packages pkg-config)
++ #:use-module (gnu packages pretty-print)
++ #:use-module (gnu packages pulseaudio)
++ #:use-module (gnu packages qt)
++ #:use-module (gnu packages tbb)
++ #:use-module (gnu packages xdisorg)
++ #:use-module (gnu packages xiph))
++
++(define-public easyeffects
++ (let ((toolchain (specification->package "gcc-toolchain@11")))
++ ;; for std::source_location
++ (package-with-c-toolchain
++ (package
++ (name "easyeffects")
++ (version "6.2.8")
++ (source (origin
++ (method git-fetch)
++ (uri (git-reference
++ (url "https://github.com/wwmm/easyeffects")
++ (commit (string-append "v" version))))
++ (file-name (git-file-name name version))
++ (sha256
++ (base32
++ "0ahwgcvw7krbylhk00cacikzlaical344i3jkcmq5vr6vl5c8048"))))
++ (build-system meson-build-system)
++ (arguments
++ (list #:glib-or-gtk? #t
++ #:phases #~(modify-phases %standard-phases
++ (add-after 'unpack 'skip-gtk-update-icon-cache
++ (lambda _
++ (substitute* "meson_post_install.py"
++ (("gtk4-update-icon-cache")
++ (which "true"))))))))
++ (inputs (list gnome-autoar
++ calf
++ fftwf
++ fmt
++ gtk
++ libadwaita
++ libbs2b
++ libebur128
++ libsamplerate
++ libsigc++
++ libsndfile
++ lilv
++ lsp-plugins
++ lv2
++ mda-lv2
++ pipewire-0.3
++ rubberband
++ speexdsp
++ tbb
++ xiph-rnnoise
++ zam-plugins
++ zita-convolver))
++ (native-inputs (list desktop-file-utils ;for update-desktop-database
++ `(,glib "bin")
++ appstream-glib
++ cmake
++ gettext-minimal
++ itstool
++ json-modern-cxx
++ pkg-config))
++ (home-page
++ "https://github.com/wwmm/easyeffects")
++ (synopsis
++ "Audio effects for PipeWire applications")
++ (description
++ "EasyEffects is an advanced audio manipulation tool.
++It includes an equalizer, limiter, compressor and a reverberation tool, just to
++mention a few. To complement this there is also a built in spectrum analyzer.
++
++Besides manipulating sound output, EasyEffects is able to apply effects to an
++input device, such as a microphone. This is, for example, useful in audio
++recording, but it also works well during voice conversations.")
++ (license license:gpl3+))
++ `(("toolchain" ,toolchain)))))
+--
+2.37.0
+
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index aad86bac06..803109fb70 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5834,32 +5834,3 @@ (define-public odio-sacd
and DSD streams.")
(home-page "https://tari.in/www/software/odio-sacd/")
(license license:gpl3+)))
-
-(define-public qpwgraph
- (package
- (name "qpwgraph")
- (version "0.3.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.freedesktop.org/rncbc/qpwgraph")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xqmlbqj6ny4cpclzr8xyy6d6i392h9f1vmlbasp6xfy5b0yya94"))))
- (build-system cmake-build-system)
- (arguments (list #:tests? #f)) ;; no tests
- (inputs (list alsa-lib
- libxkbcommon
- pipewire-0.3
- qtbase
- qtsvg))
- (native-inputs (list pkg-config))
- (synopsis "PipeWire graph manager")
- (description
- "qpwgraph is a graph manager dedicated to PipeWire, using the Qt C++
-framework. It provides a visual interface to audio and video connections
-managed by PipeWire.")
- (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph")
- (license license:gpl2)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f936dde55a..a8d6627feb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8788,36 +8788,6 @@ (define-public pipewire-0.3
vulkan-loader
vulkan-headers)))))

-(define-public wireplumber
- (package
- (name "wireplumber")
- (version "0.4.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://gitlab.freedesktop.org/pipewire/wireplumber.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags '("-Dsystemd=disabled"
- "-Dsystem-lua=true")))
- (native-inputs
- (list `(,glib "bin")
- pkg-config))
- (inputs (list dbus elogind glib lua pipewire-0.3))
- (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
- (synopsis "Session / policy manager implementation for PipeWire")
- (description "WirePlumber is a modular session / policy manager for
-PipeWire and a GObject-based high-level library that wraps PipeWire's API,
-providing convenience for writing the daemon's modules as well as external
-tools for managing PipeWire.")
- (license license:expat)))
-
(define-public ell
(package
(name "ell")
diff --git a/gnu/packages/pipewire.scm b/gnu/packages/pipewire.scm
index 2b923e0d05..9fb8ed66ab 100644
--- a/gnu/packages/pipewire.scm
+++ b/gnu/packages/pipewire.scm
@@ -1,4 +1,10 @@
+;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
+;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com>
+;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +52,65 @@ (define-module (gnu packages pipewire)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph))

+(define-public wireplumber
+ (package
+ (name "wireplumber")
+ (version "0.4.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.freedesktop.org/pipewire/wireplumber.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Dsystemd=disabled"
+ "-Dsystem-lua=true")))
+ (native-inputs
+ (list `(,glib "bin")
+ pkg-config))
+ (inputs (list dbus elogind glib lua pipewire-0.3))
+ (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
+ (synopsis "Session / policy manager implementation for PipeWire")
+ (description "WirePlumber is a modular session / policy manager for
+PipeWire and a GObject-based high-level library that wraps PipeWire's API,
+providing convenience for writing the daemon's modules as well as external
+tools for managing PipeWire.")
+ (license license:expat)))
+
+(define-public qpwgraph
+ (package
+ (name "qpwgraph")
+ (version "0.3.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xqmlbqj6ny4cpclzr8xyy6d6i392h9f1vmlbasp6xfy5b0yya94"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ;; no tests
+ (inputs (list alsa-lib
+ libxkbcommon
+ pipewire-0.3
+ qtbase
+ qtsvg))
+ (native-inputs (list pkg-config))
+ (synopsis "PipeWire graph manager")
+ (description
+ "qpwgraph is a graph manager dedicated to PipeWire, using the Qt C++
+framework. It provides a visual interface to audio and video connections
+managed by PipeWire.")
+ (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (license license:gpl2)))
+
(define-public easyeffects
(let ((toolchain (specification->package "gcc-toolchain@11")))
;; for std::source_location
--
2.37.0
Formbi wrote 3 years ago
Re: bug#57220: Acknowledgement ([PATCH] gnu: move wireplumber and qpwgraph)
(address . 57220@debbugs.gnu.org)
kYzCKTrAHa3Sld62PpMsIcQ-j6cqYG146RMJw5Xg9nRO635XCzTtvtDy8gtPYX7Wj3xTCAj-JCXNZ-Br5p03bWgtOzL3TD32lJhpTSNXN58=@protonmail.com
Sorry, the commit got mixed up with the previous changes, I hope it's ok now:

From e006cfc3d81cb19e64d62cee84db7a042aceae74 Mon Sep 17 00:00:00 2001
From: Formbi <formbi@protonmail.com>
Date: Mon, 15 Aug 2022 13:31:27 +0200
Subject: [PATCH] gnu: Move wireplumber and qpwgraph to pipewire.scm.

* gnu/packages/pipewire.scm: Move wireplumber and qpwgraph.
* gnu/packages/linux.scm: Remove wireplumber.
* gnu/packages/audio.scm: Remove qpwgraph.
---
gnu/packages/audio.scm | 29 -----------------
gnu/packages/linux.scm | 30 ------------------
gnu/packages/pipewire.scm | 65 +++++++++++++++++++++++++++++++++++++++
3 files changed, 65 insertions(+), 59 deletions(-)

Toggle diff (159 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index aad86bac06..803109fb70 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5834,32 +5834,3 @@ (define-public odio-sacd
and DSD streams.")
(home-page "https://tari.in/www/software/odio-sacd/")
(license license:gpl3+)))
-
-(define-public qpwgraph
- (package
- (name "qpwgraph")
- (version "0.3.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.freedesktop.org/rncbc/qpwgraph")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xqmlbqj6ny4cpclzr8xyy6d6i392h9f1vmlbasp6xfy5b0yya94"))))
- (build-system cmake-build-system)
- (arguments (list #:tests? #f)) ;; no tests
- (inputs (list alsa-lib
- libxkbcommon
- pipewire-0.3
- qtbase
- qtsvg))
- (native-inputs (list pkg-config))
- (synopsis "PipeWire graph manager")
- (description
- "qpwgraph is a graph manager dedicated to PipeWire, using the Qt C++
-framework. It provides a visual interface to audio and video connections
-managed by PipeWire.")
- (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph")
- (license license:gpl2)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f936dde55a..a8d6627feb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8788,36 +8788,6 @@ (define-public pipewire-0.3
vulkan-loader
vulkan-headers)))))

-(define-public wireplumber
- (package
- (name "wireplumber")
- (version "0.4.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://gitlab.freedesktop.org/pipewire/wireplumber.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags '("-Dsystemd=disabled"
- "-Dsystem-lua=true")))
- (native-inputs
- (list `(,glib "bin")
- pkg-config))
- (inputs (list dbus elogind glib lua pipewire-0.3))
- (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
- (synopsis "Session / policy manager implementation for PipeWire")
- (description "WirePlumber is a modular session / policy manager for
-PipeWire and a GObject-based high-level library that wraps PipeWire's API,
-providing convenience for writing the daemon's modules as well as external
-tools for managing PipeWire.")
- (license license:expat)))
-
(define-public ell
(package
(name "ell")
diff --git a/gnu/packages/pipewire.scm b/gnu/packages/pipewire.scm
index 2b923e0d05..9fb8ed66ab 100644
--- a/gnu/packages/pipewire.scm
+++ b/gnu/packages/pipewire.scm
@@ -1,4 +1,10 @@
+;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
+;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com>
+;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +52,65 @@ (define-module (gnu packages pipewire)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph))

+(define-public wireplumber
+ (package
+ (name "wireplumber")
+ (version "0.4.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.freedesktop.org/pipewire/wireplumber.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g7xkgkjlxrhs49hqkwrjk2hb478gq55wwydafvvbsv78vsa7qfb"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Dsystemd=disabled"
+ "-Dsystem-lua=true")))
+ (native-inputs
+ (list `(,glib "bin")
+ pkg-config))
+ (inputs (list dbus elogind glib lua pipewire-0.3))
+ (home-page "https://gitlab.freedesktop.org/pipewire/wireplumber")
+ (synopsis "Session / policy manager implementation for PipeWire")
+ (description "WirePlumber is a modular session / policy manager for
+PipeWire and a GObject-based high-level library that wraps PipeWire's API,
+providing convenience for writing the daemon's modules as well as external
+tools for managing PipeWire.")
+ (license license:expat)))
+
+(define-public qpwgraph
+ (package
+ (name "qpwgraph")
+ (version "0.3.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xqmlbqj6ny4cpclzr8xyy6d6i392h9f1vmlbasp6xfy5b0yya94"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ;; no tests
+ (inputs (list alsa-lib
+ libxkbcommon
+ pipewire-0.3
+ qtbase
+ qtsvg))
+ (native-inputs (list pkg-config))
+ (synopsis "PipeWire graph manager")
+ (description
+ "qpwgraph is a graph manager dedicated to PipeWire, using the Qt C++
+framework. It provides a visual interface to audio and video connections
+managed by PipeWire.")
+ (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (license license:gpl2)))
+
(define-public easyeffects
(let ((toolchain (specification->package "gcc-toolchain@11")))
;; for std::source_location
--
2.37.0
Steve George wrote 11 months ago
closing 57220
(address . control@debbugs.gnu.org)(address . 57220-submitter@debbugs.gnu.org)
1711919431-2994-bts-steve@futurile.net
close 57220
Hi Formbi - thanks for the patches - closing as we have later versions now.
thanks
?
Your comment

This issue is archived.

To comment on this conversation send an email to 57220@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57220
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help