From 3f68f76eafadb496e11adf7c971acf5450fbb4c4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 8 Mar 2020 23:13:11 +0100 Subject: [PATCH] gnu: Add jack-select. * gnu/packages/music.scm (jack-select): New variable. --- gnu/packages/music.scm | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5ddd6ad863..8914db3b0e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2353,6 +2353,64 @@ (define-public jack-capture can connect to any JACK port and record the output into a stereo WAV file.") (license license:gpl2+))) +(define-public jack-select + (package + (name "jack-select") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "jack-select" version)) + (sha256 + (base32 + "1zijk9ly2fczxsnnrqr8s0ajmlyx1j1vd8gk0rm5dj5zyhhmia7f")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build python-build-system)) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + ;; python-dbus cannot be found but it's really there. See + ;; https://github.com/SpotlightKid/jack-select/issues/2 + (substitute* "setup.py" + (("'dbus-python',") "")) + ;; Fix reference to dlopened libraries. + (substitute* "jackselect/alsainfo.py" + (("libasound.so.2") + (string-append (assoc-ref inputs "alsa-lib") + "/lib/libasound.so.2"))) + #t)) + (replace 'build + (assoc-ref python:%standard-phases 'build)) + (add-after 'install 'wrap + (assoc-ref python:%standard-phases 'wrap))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("python" ,python-wrapper) + ("python-pyudev" ,python-pyudev) + ("python-pyxdg" ,python-pyxdg) + ("python-dbus" ,python-dbus) + ("python-pygobject" ,python-pygobject))) + (home-page "https://github.com/SpotlightKid/jack-select") + (synopsis "Systray application to quickly change the JACK-DBus configuration") + (description "This application displays an icon in the system tray (also +known as notification area) of your desktop, which shows the status of the +JACK audio server and when you click on it, a menu pops up, which lets you +quickly select from the JACK configuration presets you created with QjackCtl. +When you select a preset, its JACK engine and driver configuration settings +are loaded via DBus into JACK and then the server is restarted. This allows +you to switch between different audio setups with just two mouse clicks.") + (license license:expat))) + (define-public cursynth (package (name "cursynth")