From 59f8de864ff106d56e21bca9e9192a4db46b7195 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 20 Jun 2012 12:45:14 +0200 Subject: [PATCH] chromium: Add support for pulseaudio. Which is enabled by default if neither pulseaudio or chromium.pulseaudio is explicitly set. The reason is that chromium falls back to ALSA in case no pulseaudio is available. In addition it was necessary to patch media.gyp to ignore the array-out-of- bounds warning. --- .../networking/browsers/chromium/default.nix | 9 +++++++-- .../browsers/chromium/pulseaudio_array_bounds.patch | 12 ++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 1b5b6a54f0f..308547673ce 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -18,6 +18,7 @@ , gconf # config.gnome , libgcrypt # config.gnome || config.cups , nss, openssl # config.openssl +, pulseaudio # config.pulseaudio , libselinux # config.selinux }: @@ -32,6 +33,7 @@ let gnomeKeyring = false; proprietaryCodecs = true; cups = false; + pulseaudio = getConfig ["pulseaudio"] true; }; sourceInfo = import ./source.nix; @@ -98,14 +100,16 @@ in stdenv.mkDerivation rec { ] ++ stdenv.lib.optional config.gnomeKeyring libgnome_keyring ++ stdenv.lib.optionals config.gnome [ gconf libgcrypt ] ++ stdenv.lib.optional config.selinux libselinux - ++ stdenv.lib.optional config.cups libgcrypt; + ++ stdenv.lib.optional config.cups libgcrypt + ++ stdenv.lib.optional config.pulseaudio pulseaudio; opensslPatches = stdenv.lib.optional config.openssl openssl.patches; prePatch = "patchShebangs ."; patches = stdenv.lib.optional (!config.selinux) ./enable_seccomp.patch - ++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch; + ++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch + ++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch; postPatch = stdenv.lib.optionalString config.openssl '' cat $opensslPatches | patch -p1 -d third_party/openssl/openssl @@ -118,6 +122,7 @@ in stdenv.mkDerivation rec { use_gnome_keyring = config.gnomeKeyring; use_gconf = config.gnome; use_gio = config.gnome; + use_pulseaudio = config.pulseaudio; disable_nacl = !config.nacl; use_openssl = config.openssl; selinux = config.selinux; diff --git a/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch b/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch new file mode 100644 index 00000000000..ca78b6959c0 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch @@ -0,0 +1,12 @@ +diff --git a/media/media.gyp b/media/media.gyp +index 2a8c6c6..66ca767 100644 +--- a/media/media.gyp ++++ b/media/media.gyp +@@ -399,6 +399,7 @@ + ['use_pulseaudio == 1', { + 'cflags': [ + '