1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
|