summary refs log tree commit diff
path: root/pkgs/development/libraries/openal/default.nix
blob: 5a935691ca580b18a61164b6b8db99cbdd734bf1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ stdenv, fetchurl, alsaLib, cmake }:

let version = "1.7.411"; in
stdenv.mkDerivation rec {
  name = "openal-${version}";

  src = fetchurl {
    url = "http://connect.creativelabs.com/openal/Downloads/openal-soft-${version}.bz2";
    sha256 = "1nbqvg08hy5p2cxy2i2mmh2szmbpsg2dcvhr61iplyisw04rwc8i";
    name = "openal-soft-${version}.tar.bz2";
  };

  buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;

  meta = {
    description = "Cross-platform 3D audio API";

    longDescription = ''
      OpenAL is a cross-platform 3D audio API appropriate for use with
      gaming applications and many other types of audio applications.

      The library models a collection of audio sources moving in a 3D
      space that are heard by a single listener somewhere in that
      space.  The basic OpenAL objects are a Listener, a Source, and a
      Buffer.  There can be a large number of Buffers, which contain
      audio data.  Each buffer can be attached to one or more Sources,
      which represent points in 3D space which are emitting audio.
      There is always one Listener object (per audio context), which
      represents the position where the sources are heard -- rendering
      is done from the perspective of the Listener.
    '';

    homepage = http://www.openal.org/;
    license = stdenv.lib.licenses.gpl2Plus;
  };
}