GNU bug report logs - #57218
[PATCH] gnu: Add pipewire.scm and easyeffects

Previous Next

Package: guix-patches;

Reported by: Formbi <formbi <at> protonmail.com>

Date: Sun, 14 Aug 2022 23:56:01 UTC

Severity: normal

Tags: patch

Done: Steve George <steve <at> futurile.net>

Bug is archived. No further changes may be made.

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

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#57218; Package guix-patches. (Sun, 14 Aug 2022 23:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Formbi <formbi <at> protonmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 14 Aug 2022 23:56:01 GMT) Full text and rfc822 format available.

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

From: Formbi <formbi <at> protonmail.com>
To: Formbi via Guix-patches <guix-patches <at> gnu.org>
Subject: [PATCH] gnu: Add pipewire.scm and easyeffects
Date: Sun, 14 Aug 2022 23:55:18 +0000
This patch adds the pipewire.scm file (as was suggested on IRC) and the easyeffects package inside it.

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






Information forwarded to guix-patches <at> gnu.org:
bug#57218; Package guix-patches. (Mon, 15 Aug 2022 08:38:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Formbi <formbi <at> protonmail.com>
Cc: 57218 <at> debbugs.gnu.org
Subject: Re: bug#57218: [PATCH] gnu: Add pipewire.scm and easyeffects
Date: Mon, 15 Aug 2022 10:37:34 +0200
Hey,

> Subject: [PATCH] add pipewire.scm and easyeffects
>
> ---
>  gnu/packages/pipewire.scm | 117 ++++++++++++++++++++++++++++++++++++++

You need to write a proper commit message. Something like:

--8<---------------cut here---------------start------------->8---
gnu: easyeffects: New variable.

* gnu/packages/pipewire.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
--8<---------------cut here---------------end--------------->8---

You also need to add the new file to gnu/local.mk so that it can be
compiled between other things.

Could you please send a v2?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#57218; Package guix-patches. (Mon, 15 Aug 2022 11:26:01 GMT) Full text and rfc822 format available.

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

From: Formbi <formbi <at> protonmail.com>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 57218 <at> debbugs.gnu.org
Subject: Re: bug#57218: [PATCH] gnu: Add pipewire.scm and easyeffects
Date: Mon, 15 Aug 2022 11:25:38 +0000
Hi,

Would this be okay? (sorry, I clicked the wrong reply button)

From 6a29b31090feeb9d219143634d117ec13f20c127 Mon Sep 17 00:00:00 2001
From: Formbi <formbi <at> protonmail.com>
Date: Mon, 15 Aug 2022 13:20:28 +0200
Subject: [PATCH] gnu: easyeffects: New variable.

* gnu/packages/pipewire.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk              |   1 +
 gnu/packages/pipewire.scm | 117 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 118 insertions(+)
 create mode 100644 gnu/packages/pipewire.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 2d32d85d47..03f2eed526 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -480,6 +480,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/php.scm				\
   %D%/packages/piet.scm			\
   %D%/packages/pikchr.scm			\
+  %D%/packages/pipewire.scm			\
   %D%/packages/pkg-config.scm			\
   %D%/packages/plan9.scm			\
   %D%/packages/plotutils.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






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

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Formbi <formbi <at> protonmail.com>
Cc: 57218 <at> debbugs.gnu.org
Subject: Re: bug#57218: [PATCH] gnu: Add pipewire.scm and easyeffects
Date: Wed, 17 Aug 2022 14:48:15 +0200
Hello,

Thanks for the v2, a few more remarks below.

> +  (let ((toolchain (specification->package "gcc-toolchain <at> 11")))
> +    ;; for std::source_location
> +    (package-with-c-toolchain

Is it normal that "guix build easyeffects" doesn't seem to locate the
package? A consequence of package-with-c-toolchain?

> +             #: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"))))))))

You need to wrap it to stay under the 78 columns limit.

> +                    xiph-rnnoise

This variable is undefined.

The indentation also seem off:

--8<---------------cut here---------------start------------->8---
/home/mathieu/guix/gnu/packages/pipewire.scm:55:0: easyeffects <at> 6.2.8: tabulation on line 55, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:56:0: easyeffects <at> 6.2.8: tabulation on line 56, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:57:0: easyeffects <at> 6.2.8: tabulation on line 57, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:58:0: easyeffects <at> 6.2.8: tabulation on line 58, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:66:0: easyeffects <at> 6.2.8: tabulation on line 66, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:67:0: easyeffects <at> 6.2.8: tabulation on line 67, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:68:0: easyeffects <at> 6.2.8: tabulation on line 68, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:69:0: easyeffects <at> 6.2.8: tabulation on line 69, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:70:0: easyeffects <at> 6.2.8: tabulation on line 70, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:93:0: easyeffects <at> 6.2.8: tabulation on line 93, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:94:0: easyeffects <at> 6.2.8: tabulation on line 94, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:95:0: easyeffects <at> 6.2.8: tabulation on line 95, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:96:0: easyeffects <at> 6.2.8: tabulation on line 96, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:97:0: easyeffects <at> 6.2.8: tabulation on line 97, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:98:0: easyeffects <at> 6.2.8: tabulation on line 98, column 0
/home/mathieu/guix/gnu/packages/pipewire.scm:99:0: easyeffects <at> 6.2.8: tabulation on line 99, column 0
--8<---------------cut here---------------end--------------->8---

Mathieu




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

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

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: guix-patches <at> gnu.org, Mathieu Othacehe <othacehe <at> gnu.org>,
 Formbi <formbi <at> protonmail.com>
Cc: 57218 <at> debbugs.gnu.org
Subject: Re: [bug#57218] [PATCH] gnu: Add pipewire.scm and easyeffects
Date: Thu, 18 Aug 2022 01:38:02 +0000
On 17 August 2022 12:48:15 UTC, Mathieu Othacehe <othacehe <at> gnu.org> wrote:
>> +                    xiph-rnnoise
>
>This variable is undefined.

That's because it was very recently renamed to just rnnoise, which was a different (incorrectly named) package now renamed to something else.

Complicated, but luckily the solution is simple.
Formbi, Mathieu,
Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.




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

bug closed, send any further explanations to 57218 <at> debbugs.gnu.org and Formbi <formbi <at> protonmail.com> Request was from Steve George <steve <at> futurile.net> to control <at> debbugs.gnu.org. (Sun, 31 Mar 2024 21:14:02 GMT) Full text and rfc822 format available.

Message sent on to Formbi <formbi <at> protonmail.com>:
bug#57218. (Sun, 31 Mar 2024 21:14:02 GMT) Full text and rfc822 format available.

Message #25 received at 57218-submitter <at> debbugs.gnu.org (full text, mbox):

From: Steve George <steve <at> futurile.net>
To: control <at> debbugs.gnu.org
Cc: 57218-submitter <at> debbugs.gnu.org
Subject: closing 57218
Date: Sun, 31 Mar 2024 22:13:25 +0100
close 57218 
Hi Formbi - part of the some changes you sent in another patch series.
thanks





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 29 Apr 2024 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 days ago.

Previous Next


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