From patchwork Mon Aug 15 00:01:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Formbi X-Patchwork-Id: 41682 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 51CA827BBE9; Mon, 15 Aug 2022 01:03:52 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1658A27BBEA for ; Mon, 15 Aug 2022 01:03:51 +0100 (BST) Received: from localhost ([::1]:35910 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNNaA-00088k-8Q for patchwork@mira.cbaines.net; Sun, 14 Aug 2022 20:03:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56606) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNNYQ-0007FD-Tl for guix-patches@gnu.org; Sun, 14 Aug 2022 20:02:09 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50328) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oNNYQ-0005Qm-Bl for guix-patches@gnu.org; Sun, 14 Aug 2022 20:02:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oNNYQ-0000Eb-56 for guix-patches@gnu.org; Sun, 14 Aug 2022 20:02:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57220] [PATCH] gnu: move wireplumber and qpwgraph Resent-From: Formbi Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Aug 2022 00:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57220 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57220@debbugs.gnu.org X-Debbugs-Original-To: Formbi via Guix-patches Received: via spool by submit@debbugs.gnu.org id=B.1660521683842 (code B ref -1); Mon, 15 Aug 2022 00:02:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Aug 2022 00:01:23 +0000 Received: from localhost ([127.0.0.1]:40077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNNXm-0000DV-T2 for submit@debbugs.gnu.org; Sun, 14 Aug 2022 20:01:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:50164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNNXk-0000DM-I9 for submit@debbugs.gnu.org; Sun, 14 Aug 2022 20:01:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNNXj-000774-KF for guix-patches@gnu.org; Sun, 14 Aug 2022 20:01:20 -0400 Received: from mail-40138.protonmail.ch ([185.70.40.138]:12767) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNNXh-0005Pg-1k for guix-patches@gnu.org; Sun, 14 Aug 2022 20:01:19 -0400 Date: Mon, 15 Aug 2022 00:01:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1660521674; x=1660780874; bh=Jjav30nPAYU+qaJ8o7zsNiZ28htJpMlJHNqvB4QjTgE=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=Tnq0jV4oJ+UoOqV4zlNbiju1/gP2vV/9TbYw9UVLf+55fA4sSdFdeO9vy1idhXSI1 kd/gp//XEdyAzdkZZ6HpPiMwkYXwC3EfKZciKKCdpRGrddFz6qhCY0G3KbuxFxVjIA r4Xbt1+iuON9gzaV+XJAZcPFhTumUP8VdM1sbRXIbDs60Wjq0/nzt6JsvpO4FX5/ML i/hkbZZVIe+dgPEbYizk+Kpg4PfL868QxtLNZklYVi9j6M0OhWAzIioenOq4/XbmKE 8np36blQKadTeeFhwRXyZ++nobJMInoMuISef43a+6pKKwZ6HNx8/en6MoIQpCkAon hFO4dKIUZgT0Q== Message-ID: <5zuylumYe6MHtncZM72HW7QABD8W98dltQ4rU8K9sHa4ssMO_WAhwsew5RhS6WXypbT_HaVNvKLVKUx1GNvsvNicoZK3sva8lcicnhPFGKw=@protonmail.com> Feedback-ID: 5138958:user:proton MIME-Version: 1.0 Received-SPF: pass client-ip=185.70.40.138; envelope-from=formbi@protonmail.com; helo=mail-40138.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Formbi X-ACL-Warn: , Formbi via Guix-patches X-Patchwork-Original-From: Formbi via Guix-patches via From: Formbi X-getmail-retrieved-from-mailbox: Patches This patch moves wireplumber and qpwgraph to the pipewire.scm file. From 22fcfec0b82e3a1054a9a0d8a8ba8671287d866c Mon Sep 17 00:00:00 2001 From: Formbi 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 -- 2.37.0 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 +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 ++;;; ++;;; 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 . ++ ++ ++(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 +;;; Copyright © 2022 Tobias Geerinckx-Rice +;;; Copyright © 2021 Mathieu Othacehe +;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Juliana Sims ;;; Copyright © 2022 Marcel Kupiec +;;; Copyright © 2022 Efraim Flashner ;;; ;;; 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