1{ stdenv, fetchurl, cmake
2, alsaSupport ? !stdenv.isDarwin, alsaLib ? null
3, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null
4, CoreServices, AudioUnit, AudioToolbox
5}:
6
7with stdenv.lib;
8
9assert alsaSupport -> alsaLib != null;
10assert pulseSupport -> libpulseaudio != null;
11
12stdenv.mkDerivation rec {
13 version = "1.17.2";
14 name = "openal-soft-${version}";
15
16 src = fetchurl {
17 url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
18 sha256 = "051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3";
19 };
20
21 nativeBuildInputs = [ cmake ];
22
23 buildInputs = []
24 ++ optional alsaSupport alsaLib
25 ++ optional pulseSupport libpulseaudio
26 ++ optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
27
28 NIX_LDFLAGS = []
29 ++ optional alsaSupport "-lasound"
30 ++ optional pulseSupport "-lpulse";
31
32 meta = {
33 description = "OpenAL alternative";
34 homepage = http://kcat.strangesoft.net/openal.html;
35 license = licenses.lgpl2;
36 maintainers = with maintainers; [ftrvxmtrx];
37 platforms = platforms.unix;
38 };
39}