Package: guix-patches;
Reported by: Formbi <formbi <at> protonmail.com>
Date: Mon, 15 Aug 2022 00:02:01 UTC
Severity: normal
Tags: patch
Done: Steve George <steve <at> futurile.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Formbi <formbi <at> protonmail.com> To: 57220 <at> debbugs.gnu.org Subject: [bug#57220] [PATCH] gnu: move wireplumber and qpwgraph Date: Mon, 15 Aug 2022 00:01:09 +0000
This patch moves wireplumber and qpwgraph to the pipewire.scm file. From 22fcfec0b82e3a1054a9a0d8a8ba8671287d866c Mon Sep 17 00:00:00 2001 From: Formbi <formbi <at> 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 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 <at> 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 <at> 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 <at> 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 <at> protonmail.ch> +;;; Copyright © 2022 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2022 Juliana Sims <jtsims <at> protonmail.com> ;;; Copyright © 2022 Marcel Kupiec <formbi <at> protonmail.com> +;;; Copyright © 2022 Efraim Flashner <efraim <at> 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 <at> 11"))) ;; for std::source_location -- 2.37.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.