2008-12-19 15:56:37 +01:00
|
|
|
{ stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, hal, avahi
|
2009-01-19 21:22:54 +01:00
|
|
|
, gconf, liboil, libX11, libICE, libSM, intltool, gettext, alsaLib
|
2009-10-06 07:43:51 +02:00
|
|
|
, libsamplerate, libsndfile, speex, ... }:
|
2008-12-19 15:56:37 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "pulseaudio-0.9.13";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://0pointer.de/lennart/projects/pulseaudio/${name}.tar.gz";
|
|
|
|
sha256 = "0lwd5rcppyvcvy9n2j074k5mydgqszfvw6fnsjlz46gkda9vgydq";
|
|
|
|
};
|
|
|
|
|
2009-05-11 23:11:25 +02:00
|
|
|
# Since `libpulse*.la' contain `-lgdbm', it must be propagated.
|
|
|
|
propagatedBuildInputs = [ gdbm ];
|
|
|
|
|
2008-12-19 15:56:37 +01:00
|
|
|
buildInputs = [
|
2009-05-11 23:11:25 +02:00
|
|
|
pkgconfig gnum4 libtool glib dbus hal avahi gconf liboil
|
2009-01-19 21:22:54 +01:00
|
|
|
libsamplerate libsndfile speex alsaLib
|
2009-01-17 22:17:57 +01:00
|
|
|
libX11 libICE libSM
|
2008-12-19 15:56:37 +01:00
|
|
|
intltool gettext
|
|
|
|
];
|
|
|
|
|
2009-01-19 21:22:54 +01:00
|
|
|
preConfigure = ''
|
|
|
|
# Disable the ConsoleKit module since we don't currently have that
|
|
|
|
# on NixOS.
|
|
|
|
sed -i "src/daemon/default.pa.in" \
|
|
|
|
-e 's/^\( *load-module \+module-console-kit\)/# \1/g'
|
2009-01-29 20:27:31 +01:00
|
|
|
|
|
|
|
# Change the `padsp' script so that it contains the full path to
|
|
|
|
# `libpulsedsp.so'.
|
|
|
|
sed -i "src/utils/padsp" \
|
|
|
|
-e "s|libpulsedsp\.so|$out/lib/libpulsedsp.so|g"
|
2009-01-19 21:22:54 +01:00
|
|
|
'';
|
|
|
|
|
2008-12-19 15:56:37 +01:00
|
|
|
configureFlags = ''
|
2009-01-17 22:25:26 +01:00
|
|
|
--disable-solaris --disable-jack --disable-bluez --disable-polkit --with-x --enable-asyncdns --localstatedir=/var
|
2008-12-19 15:56:37 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "PulseAudio, a sound server for POSIX and Win32 systems";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
PulseAudio is a sound server for POSIX and Win32 systems. A
|
|
|
|
sound server is basically a proxy for your sound applications.
|
|
|
|
It allows you to do advanced operations on your sound data as it
|
|
|
|
passes between your application and your hardware. Things like
|
|
|
|
transferring the audio to a different machine, changing the
|
|
|
|
sample format or channel count and mixing several sounds into
|
|
|
|
one are easily achieved using a sound server.
|
|
|
|
'';
|
|
|
|
|
|
|
|
homepage = http://www.pulseaudio.org/;
|
|
|
|
|
|
|
|
# Note: Practically, the server is under the GPL due to the
|
|
|
|
# dependency on `libsamplerate'. See `LICENSE' for details.
|
|
|
|
licenses = "LGPLv2+";
|
|
|
|
};
|
|
|
|
}
|