rekado pushed a commit to branch master in repository guix. commit 358f852b2654a68fa7a6c94a14e4ca5b4bcc9414 Author: Ricardo Wurmus <rek...@elephly.net> AuthorDate: Mon Apr 28 12:20:21 2025 +0200
gnu: Add raysession. * gnu/packages/audio.scm (raysession): New variable. Change-Id: I9356fd080c55de8cb9d74c0d730f54726e72d606 --- gnu/packages/audio.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3a8e8faecb..e636e58798 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -6926,6 +6926,68 @@ managed by PipeWire.") (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph") (license license:gpl2))) +(define-public raysession + (package + (name "raysession") + (version "0.14.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Houston4444/RaySession") + (commit (string-append "v" version)) + (recursive? #true))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m44n6p192i5cvbj98jkmp4ywmm2bjzdbbipaa9xgg07x0jz1mcr")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #false ;no test target + #:make-flags #~(list (string-append "PREFIX=" #$output)) + #:modules '((guix build gnu-build-system) (guix build qt-utils) + (guix build utils)) + #:imported-modules (cons '(guix build qt-utils) + %default-gnu-imported-modules) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-build-system + (lambda _ + (substitute* "Makefile" + (("\\$\\(DESTDIR\\)/etc/xdg") + "$(PREFIX)/etc/xdg")))) + (add-after 'install 'wrap-scripts + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion (string-append #$output "/share/raysession/src/bin") + (for-each (lambda (script) + (wrap-script script + #:guile (search-input-file inputs "bin/guile") + `("PYTHONPATH" ":" prefix + (,(string-append #$output "/share/raysession/src/gui") + ,(string-append #$output "/share/raysession/src/daemon") + ,(string-append #$output "/share/raysession/src/control") + ,(getenv "GUIX_PYTHONPATH"))))) + '("raysession" + "ray_control" + "ray-daemon" + "ray-proxy"))))) + (add-after 'wrap-scripts 'wrap-qt + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-all-qt-programs #:outputs outputs #:inputs inputs)))))) + (native-inputs (list qtbase-5 qttools-5 which)) + (inputs + (list guile-3.0 jack-2 pipewire python-pyliblo3 python-pyqt python-wrapper)) + (home-page "https://github.com/Houston4444/RaySession") + (synopsis "Audio session manager") + (description "RaySession is a session manager for audio programs such as +Ardour, Carla, QTractor, Guitarix, Patroneo, Jack Mixer, etc. The principle +is to load together audio programs, then be able to save or close all +documents together. Its main purpose is to manage NSM compatible programs, +but it also helps for other programs. It offers a patchbay for visualizing +and editing connections.") + (license license:gpl2+))) + (define-public streamripper (package (name "streamripper")