summary refs log tree commit diff
diff options
context:
space:
mode:
authorDivya Ranjan <divya@subvertising.org>2024-11-11 23:44:44 +0000
committerAndreas Enge <andreas@enge.fr>2024-11-13 14:02:01 +0100
commit07cd046c209f192032b425d2ee44f6025bff63a1 (patch)
treefe74eb1b42a22667007671ff766c5522b6ef03d3
parent1f057603ef59c7b9c32f610a897321fd75dc4dad (diff)
downloadguix-07cd046c209f192032b425d2ee44f6025bff63a1.tar.gz
gnu: audio: Add jack-mixer.
* gnu/packages/audio.scm (jack-mixer): New variable.

Change-Id: I0b278f8674c84a4f43f9d23afc900b0a53e11f7c
Reviewed-by: Ekaitz Zarraga <ekaitz@elenq.tech>
Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/packages/audio.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 467dc4a74f..8ef87264a0 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2772,6 +2772,65 @@ the computer/network can handle) of bidirectional, high quality, uncompressed
 audio signal streaming.")
     (license (list license:gpl3+ license:lgpl3 license:expat))))
 
+(define-public jack-mixer
+  (package
+    (name "jack-mixer")
+    (version "19")
+    (source
+     (origin
+       (file-name (git-file-name name version))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jack-mixer/jack_mixer")
+             (commit (string-append "release-" version))))
+       (sha256
+        (base32 "18m6a9asbwaslw418i2w04kgc6jgdpw01i3kawdqy903kw66hnhj"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:build-type "release"
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'path-patch
+                     (lambda _
+                       (substitute* '("meson.build")
+                         (("'/', 'etc', 'xdg'")
+                          (string-append "'"
+                                         #$output "'")))))
+                   (add-after 'install 'wrap-path
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (bin (string-append out "/bin/"))
+                              (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+                              (version #$(version-major+minor (package-version
+                                                               (this-package-input
+                                                                "python"))))
+                              (lib (string-append out "/lib/python" version
+                                                  "/site-packages")))
+                         (wrap-program (string-append bin "jack_mixer")
+                           `("GUIX_PYTHONPATH" ":" prefix
+                             (,(getenv "GUIX_PYTHONPATH") ,lib))
+                           `("GI_TYPELIB_PATH" ":" prefix
+                             (,gi-typelib-path)))))))))
+    (native-inputs (list pkg-config python-cython python-docutils
+                         gettext-minimal glib))
+    (inputs (list bash-minimal))
+    (propagated-inputs (list gtk+
+                             `(,gtk+ "bin")
+                             python
+                             python-wrapper
+                             python-pygobject
+                             python-pycairo
+                             python-platformdirs
+                             jack-2))
+    (synopsis
+     "JACK Mixer: A multi-channel audio mixer for the JACK Audio Connection Kit")
+    (description
+     "The jack_mixer is a GTK+ JACK audio mixer app with a look & handling
+similar to hardware mixing desks.  It has lot of useful features, apart
+from being able to mix multiple JACK audio streams.")
+    (home-page "https://rdio.space/jackmixer/")
+    (license license:gpl2+)))
+
 (define-public jalv
   (package
     (name "jalv")