GNU bug report logs - #74251
[PATCH] Adding jack-mixer audio package

Previous Next

Package: guix-patches;

Reported by: Divya Ranjan <divya <at> subvertising.org>

Date: Fri, 8 Nov 2024 00:05:01 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

Full log


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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: 74251 <at> debbugs.gnu.org
Cc: Divya Ranjan <divya <at> subvertising.org>
Subject: Re: [PATCH] Adding jack-mixer audio package
Date: Sat, 9 Nov 2024 19:20:42 +0100
Hi,

The commit message should follow the Changelog format as described the 
Submitting-Patches section of the manual.

That said:

> Hello Guix devs,
> 
> Apologies, I forgot to `--annotate` the git send-email, the following patch adds the jack-mixer application to the `(gnu packages audio)`. It's a python package built with meson, I've tested it with my system and it is deterministic.
> 
> Let me know if any changes need to be done.
> 
> P.S: CC me, since I'm not subscribed to the mailing list.
> 
> Regards,
> 
> 
> On 8 November 2024 00:01:01 GMT, Divya Ranjan <divya <at> subvertising.org> wrote:
> >---
> > 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)

This is already included in the `build-system` so you don't need to add 
it. In fact, it breaks Guix when you do :)

> >   #: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

As said, remove 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

Also when running `./pre-inst-env guix lint jack-mixer` there are 
several problems with the package.

Some you can fix with `./pre-inst-env style jack-mixer` but some others 
you have to fix by hand:

	guix/gnu/packages/audio.scm:2777:2: jack-mixer <at> 19: 'gettext' should 
probably switched for its minimal variant
	gnu/packages/audio.scm:2777:2: jack-mixer <at> 19: "bash-minimal" should be 
in 'inputs' when 'wrap-program' is used
	...

Please, run the linter and fix the problems.

Thanks for the patch!




This bug report was last modified 184 days ago.

Previous Next


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