unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Divya Ranjan via Guix-patches via <guix-patches@gnu.org>
To: Ekaitz Zarraga <ekaitz@elenq.tech>
Cc: 74251@debbugs.gnu.org
Subject: [bug#74251] [PATCH] Adding jack-mixer audio package
Date: Mon, 11 Nov 2024 01:17:07 +0000	[thread overview]
Message-ID: <87r07ibmcs.fsf@subvertising.org> (raw)
In-Reply-To: <c9994053-8d09-4ced-9a65-edd5ed23b50d@elenq.tech> (Ekaitz Zarraga's message of "Sat, 9 Nov 2024 19:20:42 +0100")

[-- Attachment #1: Type: text/plain, Size: 5914 bytes --]

Ekaitz Zarraga <ekaitz@elenq.tech> writes:

> 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@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@19: 'gettext'
> 	should probably switched for its minimal variant
> 	gnu/packages/audio.scm:2777:2: jack-mixer@19: "bash-minimal"
> 	should be in 'inputs' when 'wrap-program' is used
> 	...
>
> Please, run the linter and fix the problems.
>
> Thanks for the patch!
>

Thank you for reminding me about the linter issues and the fact that gcc stuff doesn’t need to be added, I’ve made the changes in the attached patch. Also, let me know if the commit message is okay.

Regards,

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-audio-Add-jack-mixer.patch --]
[-- Type: text/x-patch, Size: 3272 bytes --]

From cd0d5e07739357d1bbb5e979746a4663a5000433 Mon Sep 17 00:00:00 2001
From: Divya Ranjan <divya@subvertising.org>
Date: Mon, 11 Nov 2024 01:11:15 +0000
Subject: [PATCH] gnu: audio: Add jack-mixer

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 467dc4a74f..f97bbb4126 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2772,6 +2772,66 @@ (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
+                   (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
+                         gnu-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 licens:gpl2+)))
+
 (define-public jalv
   (package
     (name "jalv")
-- 
2.46.0


[-- Attachment #3: Type: text/plain, Size: 60 bytes --]


-- 
Divya Ranjan,
Philosophy, Mathematics, Libre Software.

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

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-08  0:01 [bug#74251] [PATCH] Adding jack-mixer audio package Divya Ranjan via Guix-patches via
2024-11-08  0:08 ` Divya Ranjan via Guix-patches via
2024-11-09 18:20   ` Ekaitz Zarraga
2024-11-11  1:17     ` Divya Ranjan via Guix-patches via [this message]
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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87r07ibmcs.fsf@subvertising.org \
    --to=guix-patches@gnu.org \
    --cc=74251@debbugs.gnu.org \
    --cc=divya@subvertising.org \
    --cc=ekaitz@elenq.tech \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).