Message ID | 20241108000101.7394-1-divya@subvertising.org |
---|---|
State | New |
Headers | show |
Series | [bug#74251] Adding jack-mixer audio package | expand |
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
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")