Hi Guix, as I tested my new “mars” package I noticed that there was no sound. Investigating a little showed that the problem is in our “openal” package, which loads backend libraries by name only, not by path.
The attached patch fixes this by patching in the full paths for libasound and libpulse, so now I have sound in “mars” :) ~~ Ricardo
>From e8d7f225b8781afbf331733e5f25442bd61b218a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <[email protected]> Date: Sun, 20 Sep 2015 13:03:38 +0200 Subject: [PATCH] gnu: openal: Use full path to audio backend libraries. * gnu/packages/audio.scm (openal)[arguments]: Add build phase to patch in the full paths to backend audio libraries. --- gnu/packages/audio.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a4e5a55..d829a91 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1053,7 +1053,25 @@ lv2-c++-tools.") "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ; no check target + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'use-full-library-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Alc/backends/pulseaudio.c" + (("#define PALIB \"libpulse\\.so\\.0\"") + (string-append "#define PALIB \"" + (assoc-ref inputs "pulseaudio") + "/lib/libpulse.so.0" + "\""))) + (substitute* "Alc/backends/alsa.c" + (("LoadLib\\(\"libasound\\.so\\.2\"\\)") + (string-append "LoadLib(\"" + (assoc-ref inputs "alsa-lib") + "/lib/libasound.so.2" + "\")"))) + #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("pulseaudio" ,pulseaudio))) -- 2.5.0
