all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Divya Ranjan via Guix-patches via <guix-patches@gnu.org>
To: 74251@debbugs.gnu.org
Cc: Divya Ranjan <divya@subvertising.org>
Subject: [bug#74251] [PATCH] Adding jack-mixer audio package
Date: Fri,  8 Nov 2024 00:01:01 +0000	[thread overview]
Message-ID: <20241108000101.7394-1-divya@subvertising.org> (raw)

---
 gnu/packages/audio.scm | 68 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 467dc4a74f..70477d1071 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -79,6 +79,7 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages commencement)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages dbm)
@@ -160,6 +161,7 @@ (define-module (gnu packages audio)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system waf)
+  #:use-module (guix build utils)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
@@ -2772,6 +2774,72 @@ (define-public jacktrip
 audio signal streaming.")
     (license (list license:gpl3+ license:lgpl3 license:expat))))
 
+(define-public jack-mixer
+  (package
+    (name "jack-mixer")
+    (version "19")
+    (source
+     (origin
+       (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
+                   ;; Replaces hardcoded path with /gnu/store
+                   (add-after 'unpack 'path-patch
+                     (lambda _
+                       (substitute* '("meson.build")
+                         (("'/', 'etc', 'xdg'")
+                          (string-append "'"
+                                         #$output "'")))))
+
+                   ;; To wrap the paths for python and GTK
+                   (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 gcc-toolchain
+           pkg-config
+           python-cython
+           python-docutils
+           gnu-gettext
+           glib))
+    (propagated-inputs
+     (list gtk+
+	   `(,gtk+ "bin") ;; Required during runtime.
+	   python
+	   bash-minimal
+	   python-wrapper
+	   python-pygobject
+	   python-pycairo
+	   python-platformdirs ;; Required to save sessions.
+	   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")
-- 
2.46.0





             reply	other threads:[~2024-11-08  1:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-08  0:01 Divya Ranjan via Guix-patches via [this message]
2024-11-08  0:08 ` [bug#74251] [PATCH] Adding jack-mixer audio package Divya Ranjan via Guix-patches via
2024-11-09 18:20   ` Ekaitz Zarraga
2024-11-11  1:17     ` Divya Ranjan via Guix-patches via
2024-11-11 16:01       ` Ekaitz Zarraga
2024-11-11 16:18         ` Divya Ranjan via Guix-patches via
2024-11-11 16:23           ` Ekaitz Zarraga
2024-11-11 16:32             ` Divya Ranjan via Guix-patches via
2024-11-11 19:42             ` Divya Ranjan via Guix-patches via
2024-11-11 19:42             ` Divya Ranjan via Guix-patches via
2024-11-11 21:19               ` Ekaitz Zarraga
2024-11-12  1:21                 ` Divya Ranjan via Guix-patches via
2024-11-12 10:42 ` [bug#74251] QA review for 74251 Ekaitz Zarraga
2024-11-12 10:42 ` Ekaitz Zarraga
2024-11-13 13:02 ` bug#74251: Close Andreas Enge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241108000101.7394-1-divya@subvertising.org \
    --to=guix-patches@gnu.org \
    --cc=74251@debbugs.gnu.org \
    --cc=divya@subvertising.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.