[bug#74251] Adding jack-mixer audio package
Commit Message
---
gnu/packages/audio.scm | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
Comments
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)
> #: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
>
Divya Ranjan, Mathematics, Philosophy and Libre Software
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!
user guix
usertag 74251 + reviewed-looks-good
thanks
Guix QA review form submission:
Items marked as checked: Lint warnings, Package builds, Commit messages,
New package licenses, New package tests, New package synopsis and
descriptions
user guix
usertag 74251 + reviewed-looks-good
thanks
Guix QA review form submission:
Items marked as checked: Lint warnings, Package builds, Commit messages,
New package licenses, New package tests, New package synopsis and
descriptions
Pushed, thanks for the patch and the reviewing work!
Andreas
@@ -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")