forked from mirrors/nixpkgs
bf0bacdbf8
* Added PulseAudio backend support. * Made ALSA and PulseAudio backends optional. * Made ALSA and PulseAudio backends actually work by adding to NIX_LDFLAGS (because package uses dlopen). TEST: Tested all 3 backends (OSS, ALSA, PulseAudio) using openal-info and my upcoming Warzone 2100 update, by selecting the backend in .alsoftrc. It also works without .alsoftrc (I think it first tries pulse then alsa then oss).
32 lines
825 B
Nix
32 lines
825 B
Nix
{ stdenv, fetchurl, cmake
|
|
, alsaSupport ? true, alsaLib ? null
|
|
, pulseSupport ? true, pulseaudio ? null
|
|
}:
|
|
|
|
assert alsaSupport -> alsaLib != null;
|
|
assert pulseSupport -> pulseaudio != null;
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "1.15.1";
|
|
name = "openal-soft-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
|
|
sha256 = "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f";
|
|
};
|
|
|
|
buildInputs = [ cmake ]
|
|
++ stdenv.lib.optional alsaSupport alsaLib
|
|
++ stdenv.lib.optional pulseSupport pulseaudio;
|
|
|
|
NIX_LDFLAGS = []
|
|
++ stdenv.lib.optional alsaSupport "-lasound"
|
|
++ stdenv.lib.optional pulseSupport "-lpulse";
|
|
|
|
meta = {
|
|
description = "OpenAL alternative";
|
|
homepage = http://kcat.strangesoft.net/openal.html;
|
|
license = "GPL2";
|
|
};
|
|
}
|