diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
new file mode 100644
index 00000000000..fa53cb2ddd4
--- /dev/null
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "json-c-0.9";
+  src = fetchurl {
+    url = "http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz";
+    sha256 = "0xcl8cwzm860f8m0cdzyw6slwcddni4mraw4shvr3qgqkdn4hakh";
+  };
+  meta = {
+    homepage = "http://oss.metaparadigm.com/json-c/";
+    description = "A JSON implementation in C";
+    longDescription = "JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.";
+  };
+}
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 41c819cbe3f..a8a7a543ea6 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, avahi
 , gconf, gtk, libX11, libICE, libSM, libXtst, libXi, intltool, gettext
 , alsaLib, libsamplerate, libsndfile, speex, bluez, udev
-, jackaudioSupport ? false, jackaudio ? null }:
+, jackaudioSupport ? false, jackaudio ? null
+, xz, json_c, xextproto
+}:
 
 assert jackaudioSupport -> jackaudio != null;
 
 stdenv.mkDerivation rec {
-  name = "pulseaudio-0.9.23";
+  name = "pulseaudio-1.1";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/pulseaudio/releases/${name}.tar.gz";
-    sha256 = "0kms3w1i48j9368amr8wv83gk4szrnglh1biyp8jyqyb2k388gmg";
+    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-1.1.tar.xz";
+    sha256 = "1vpm0681zj2jvhbabvnmrmfxr3172k4x58kjb39y5g3fdw9k3rbg";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', it must be propagated.
@@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ pkgconfig gnum4 libtool intltool glib dbus avahi
       libsamplerate libsndfile speex alsaLib bluez udev
-      #gtk gconf libX11 libICE libSM libXtst libXi
+      xz json_c
+      #gtk gconf 
+      libX11 libICE libSM libXtst libXi xextproto
     ]
     ++ stdenv.lib.optional jackaudioSupport jackaudio;
 
@@ -32,6 +36,11 @@ stdenv.mkDerivation rec {
     # Move the udev rules under $(prefix).
     sed -i "src/Makefile.in" \
         -e "s|udevrulesdir[[:blank:]]*=.*$|udevrulesdir = $out/lib/udev/rules.d|g"
+
+   # don't install proximity-helper as root and setuid
+   sed -i "src/Makefile.in" \
+       -e "s|chown root|true |" \
+       -e "s|chmod r+s |true |"
   '';
 
   configureFlags = ''
@@ -41,7 +50,7 @@ stdenv.mkDerivation rec {
     ${if jackaudioSupport then "--enable-jack" else ""}
   '';
 
-  installFlags = "sysconfdir=$(out)/etc";
+  installFlags = "pulseconfdir=$(out)/etc dbuspolicydir=$out/etc/dbus-1/system.d xdgautostartdir=$out/etc/xdg/autostart";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1bf59e4e34f..a2998a50031 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3716,6 +3716,8 @@ let
 
   json_glib = callPackage ../development/libraries/json-glib { };
 
+  json_c = callPackage ../development/libraries/json-c { };
+
   libjson = callPackage ../development/libraries/libjson { };
 
   judy = callPackage ../development/libraries/judy { };