summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2014-02-16 21:30:36 +0000
committerPacho Ramos <pacho@gentoo.org>2014-02-16 21:30:36 +0000
commit2d3638d65dbdf013178fc18bcb8afb43b6b47cef (patch)
treea4cc562a1024d13bce61a65775173aae58b1fe0e /media-sound/pulseaudio/files
parentarm stable, bug #492180 (diff)
downloadgentoo-2-2d3638d65dbdf013178fc18bcb8afb43b6b47cef.tar.gz
gentoo-2-2d3638d65dbdf013178fc18bcb8afb43b6b47cef.tar.bz2
gentoo-2-2d3638d65dbdf013178fc18bcb8afb43b6b47cef.zip
Version bump, check for HIGHRES kernel option (#316137 by Anthoine Bourgeois), use readme.gentoo.eclass (#440508 by poletti.marco), create /var/run/pulse (#442852 by Alexander Tsoy), remove unneeded file when not using system-wide that was causing warnings (#447694 by Francesco Turco), fix dependency of xen USE (#455818 by Paul Freeman), fix automagic link on orc (#472226 by Bertrand Jacquin), fix dependency on libpcre on some setups (#472228 by Bertrand Jacquin), provide systemd unit file for system-wide support (#480748 by Tom Wijsman). Drop old
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'media-sound/pulseaudio/files')
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-0.9.21-armv5-build-fix.patch102
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch124
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom.patch83
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch42
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-1.1-python3-fix.patch122
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-2.0-udev-symbols.patch80
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch28
-rw-r--r--media-sound/pulseaudio/files/pulseaudio.service10
-rw-r--r--media-sound/pulseaudio/files/pulseaudio.tmpfiles1
9 files changed, 11 insertions, 581 deletions
diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.21-armv5-build-fix.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.21-armv5-build-fix.patch
deleted file mode 100644
index aaaaae6838cf..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-0.9.21-armv5-build-fix.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From e5b136fc0fde751df3a94cd64855a74732dd4cc7 Mon Sep 17 00:00:00 2001
-From: Arun Raghavan <arun.raghavan@collabora.co.uk>
-Date: Fri, 26 Nov 2010 11:55:57 +0530
-Subject: [PATCH] volume: Add explicit checks for ARMv6 instructions
-
-This ensures that the build does not fail if the ssat and pkhbt
-instructions are not available (armv5te and below).
-
-Fixes: http://www.pulseaudio.org/ticket/790
----
- configure.ac | 33 ++++++++++++++++++++++++++++++++-
- src/pulsecore/svolume_arm.c | 8 ++++----
- 2 files changed, 36 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7ab42dc..3df8c6b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -230,7 +230,7 @@ else
- [pulseaudio_cv_support_arm_atomic_ops=no])
- ])
- AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
-- AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
-+ AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
- need_libatomic_ops=no
- ])
- fi
-@@ -249,6 +249,37 @@ else
- esac
- fi
-
-+# If we're on ARM, check for the ARMV6 instructions we need */
-+case $host in
-+ arm*)
-+ AC_CACHE_CHECK([support for required armv6 instructions],
-+ pulseaudio_cv_support_armv6,
-+ [AC_COMPILE_IFELSE(
-+ AC_LANG_PROGRAM([],
-+ [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
-+ asm volatile ("ldr r0, %2 \n"
-+ "ldr r2, %3 \n"
-+ "ldr r3, %4 \n"
-+ "ssat r1, #8, r0 \n"
-+ "str r1, %0 \n"
-+ "pkhbt r1, r3, r2, LSL #8 \n"
-+ "str r1, %1 \n"
-+ : "=m" (a), "=m" (b)
-+ : "m" (a), "m" (b), "m" (c)
-+ : "r0", "r1", "r2", "r3", "cc");
-+ return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
-+ ]]),
-+ [pulseaudio_cv_support_armv6=yes],
-+ [pulseaudio_cv_support_armv6=no])
-+ ])
-+ AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
-+ AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
-+ ])
-+ ;;
-+ *)
-+ ;;
-+esac
-+
- CC_CHECK_TLS
-
- AC_CACHE_CHECK([whether $CC knows _Bool],
-diff --git a/src/pulsecore/svolume_arm.c b/src/pulsecore/svolume_arm.c
-index fdd8f09..3973e51 100644
---- a/src/pulsecore/svolume_arm.c
-+++ b/src/pulsecore/svolume_arm.c
-@@ -35,7 +35,7 @@
- #include "sample-util.h"
- #include "endianmacros.h"
-
--#if defined (__arm__)
-+#if defined (__arm__) && defined (HAVE_ARMV6)
-
- #define MOD_INC() \
- " subs r0, r6, %2 \n\t" \
-@@ -182,11 +182,11 @@ static void run_test (void) {
- }
- #endif
-
--#endif /* defined (__arm__) */
-+#endif /* defined (__arm__) && defined (HAVE_ARMV6) */
-
-
- void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) {
--#if defined (__arm__)
-+#if defined (__arm__) && defined (HAVE_ARMV6)
- pa_log_info("Initialising ARM optimized functions.");
-
- #ifdef RUN_TEST
-@@ -194,5 +194,5 @@ void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) {
- #endif
-
- pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_arm);
--#endif /* defined (__arm__) */
-+#endif /* defined (__arm__) && defined (HAVE_ARMV6) */
- }
---
-1.7.3.2
-
diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch
deleted file mode 100644
index 8e9dc8db3b1e..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From b72fc9b4f158bafb66a7de28ce038986d96ce850 Mon Sep 17 00:00:00 2001
-From: Arnaud Fontaine <arnau@debian.org>
-Date: Tue, 29 Mar 2011 22:56:28 +0159
-Subject: [PATCH] x11: More XCB fixes.
-
-Commit 65ef80b fixed building with xcb-util >= 0.3.8, but the reply is never
-checked (possible SIGSEGV if the reply is NULL) nor freed (memory leak at each
-call of the functions).
-
-Also, remove include and dependencies on xcb-atom, as it was only meaningful
-for xcb_atom_get() and STRING, and depend instead on xcb >= 1.6 for
-XCB_ATOM_STRING.
----
- configure.ac | 2 +-
- src/pulsecore/x11prop.c | 38 +++++++++++++++++++++++++-------------
- 2 files changed, 26 insertions(+), 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 299dd49..ed9bd17 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -547,7 +547,7 @@ AC_ARG_ENABLE([x11],
- [x11=auto])
-
- if test "x${x11}" != xno ; then
-- PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
-+ PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ],
- HAVE_X11=1,
- [
- HAVE_X11=0
-diff --git a/src/pulsecore/x11prop.c b/src/pulsecore/x11prop.c
-index d66c48f..8fca219 100644
---- a/src/pulsecore/x11prop.c
-+++ b/src/pulsecore/x11prop.c
-@@ -30,7 +30,6 @@
- #include <pulsecore/macro.h>
-
- #include <xcb/xproto.h>
--#include <xcb/xcb_atom.h>
-
- #define PA_XCB_FORMAT 8
-
-@@ -50,7 +49,6 @@ static xcb_screen_t *screen_of_display(xcb_connection_t *xcb, int screen)
-
- void pa_x11_set_prop(xcb_connection_t *xcb, int screen, const char *name, const char *data) {
- xcb_screen_t *xs;
-- xcb_intern_atom_cookie_t cookie;
- xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
-@@ -58,26 +56,36 @@ void pa_x11_set_prop(xcb_connection_t *xcb, int screen, const char *name, const
- pa_assert(data);
-
- if ((xs = screen_of_display(xcb, screen))) {
-- cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-- reply = xcb_intern_atom_reply(xcb, cookie, NULL);
-+ reply = xcb_intern_atom_reply(xcb,
-+ xcb_intern_atom(xcb, 0, strlen(name), name),
-+ NULL);
-
-- xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, reply->atom, XCB_ATOM_STRING, PA_XCB_FORMAT, (int) strlen(data), (const void*) data);
-+ if (reply) {
-+ xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, reply->atom,
-+ XCB_ATOM_STRING, PA_XCB_FORMAT,
-+ (int) strlen(data), (const void*) data);
-+
-+ free(reply);
-+ }
- }
- }
-
- void pa_x11_del_prop(xcb_connection_t *xcb, int screen, const char *name) {
- xcb_screen_t *xs;
-- xcb_intern_atom_cookie_t cookie;
- xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
- pa_assert(name);
-
- if ((xs = screen_of_display(xcb, screen))) {
-- cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-- reply = xcb_intern_atom_reply(xcb, cookie, NULL);
--
-- xcb_delete_property(xcb, xs->root, reply->atom);
-+ reply = xcb_intern_atom_reply(xcb,
-+ xcb_intern_atom(xcb, 0, strlen(name), name),
-+ NULL);
-+
-+ if (reply) {
-+ xcb_delete_property(xcb, xs->root, reply->atom);
-+ free(reply);
-+ }
- }
- }
-
-@@ -87,7 +95,6 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char
- xcb_get_property_cookie_t req;
- xcb_get_property_reply_t* prop = NULL;
- xcb_screen_t *xs;
-- xcb_intern_atom_cookie_t cookie;
- xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
-@@ -106,10 +113,15 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char
- xs = screen_of_display(xcb, 0);
-
- if (xs) {
-- cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-- reply = xcb_intern_atom_reply(xcb, cookie, NULL);
-+ reply = xcb_intern_atom_reply(xcb,
-+ xcb_intern_atom(xcb, 0, strlen(name), name),
-+ NULL);
-+
-+ if (!reply)
-+ goto finish;
-
- req = xcb_get_property(xcb, 0, xs->root, reply->atom, XCB_ATOM_STRING, 0, (uint32_t)(l-1));
-+ free(reply);
- prop = xcb_get_property_reply(xcb, req, NULL);
-
- if (!prop)
---
-1.6.3.3
-
diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom.patch
deleted file mode 100644
index b7f52f5898b8..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 9cee2891e8ccd4b26b16449c120ac17e01aa1b36 Mon Sep 17 00:00:00 2001
-From: Maciej Grela <maciej.grela@gmail.com>
-Date: Tue, 29 Mar 2011 22:56:28 +0159
-Subject: [PATCH] x11: Fix build errors with newest xcb-util.
-
-The xcb_atom_get functions were removed from xcb-util. Changed these to
-xcb_intern_atom/xcb_intern_atom_reply. Also, STRING is now
-XCB_ATOM_STRING.
----
- src/pulsecore/x11prop.c | 26 +++++++++++++++++---------
- 1 files changed, 17 insertions(+), 9 deletions(-)
-
-diff --git a/src/pulsecore/x11prop.c b/src/pulsecore/x11prop.c
-index 8df3278..99ea55d 100644
---- a/src/pulsecore/x11prop.c
-+++ b/src/pulsecore/x11prop.c
-@@ -49,28 +49,34 @@ static xcb_screen_t *screen_of_display(xcb_connection_t *xcb, int screen) {
-
- void pa_x11_set_prop(xcb_connection_t *xcb, int screen, const char *name, const char *data) {
- xcb_screen_t *xs;
-- xcb_atom_t a;
-+ xcb_intern_atom_cookie_t cookie;
-+ xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
- pa_assert(name);
- pa_assert(data);
-
- if ((xs = screen_of_display(xcb, screen))) {
-- a = xcb_atom_get(xcb, name);
-- xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, a, STRING, PA_XCB_FORMAT, (int) strlen(data), (const void*) data);
-+ cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-+ reply = xcb_intern_atom_reply(xcb, cookie, NULL);
-+
-+ xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, reply->atom, XCB_ATOM_STRING, PA_XCB_FORMAT, (int) strlen(data), (const void*) data);
- }
- }
-
- void pa_x11_del_prop(xcb_connection_t *xcb, int screen, const char *name) {
- xcb_screen_t *xs;
-- xcb_atom_t a;
-+ xcb_intern_atom_cookie_t cookie;
-+ xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
- pa_assert(name);
-
- if ((xs = screen_of_display(xcb, screen))) {
-- a = xcb_atom_get(xcb, name);
-- xcb_delete_property(xcb, xs->root, a);
-+ cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-+ reply = xcb_intern_atom_reply(xcb, cookie, NULL);
-+
-+ xcb_delete_property(xcb, xs->root, reply->atom);
- }
- }
-
-@@ -80,7 +86,8 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char
- xcb_get_property_cookie_t req;
- xcb_get_property_reply_t* prop = NULL;
- xcb_screen_t *xs;
-- xcb_atom_t a;
-+ xcb_intern_atom_cookie_t cookie;
-+ xcb_intern_atom_reply_t *reply;
-
- pa_assert(xcb);
- pa_assert(name);
-@@ -98,9 +105,10 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char
- xs = screen_of_display(xcb, 0);
-
- if (xs) {
-- a = xcb_atom_get(xcb, name);
-+ cookie = xcb_intern_atom(xcb, 0, strlen(name), name);
-+ reply = xcb_intern_atom_reply(xcb, cookie, NULL);
-
-- req = xcb_get_property(xcb, 0, xs->root, a, STRING, 0, (uint32_t)(l-1));
-+ req = xcb_get_property(xcb, 0, xs->root, reply->atom, XCB_ATOM_STRING, 0, (uint32_t)(l-1));
- prop = xcb_get_property_reply(xcb, req, NULL);
-
- if (!prop)
---
-1.7.4.1
-
diff --git a/media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch b/media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch
deleted file mode 100644
index a943104068df..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-commit 42881d277014d3bf3bb1b4e660c80378b4081a52
-Author: Arun Raghavan <arun.raghavan@collabora.co.uk>
-Date: Mon Nov 14 13:42:21 2011 +0530
-
- core: Look up /etc/machine-id if D-Bus machine-id is not found
-
- It appears that this is currently the fallback for early boot and other
- such cases where /var might not be available. Relevant upstream commit:
-
- http://cgit.freedesktop.org/dbus/dbus/commit/?id=66e52541d5bdd4927a5c702963749760643313f4
-
- Thanks to Samuli Suominen <ssuominen@gentoo.org> for pointing this out
- in https://bugs.gentoo.org/show_bug.cgi?id=390287
-
-diff --git a/configure.ac b/configure.ac
-index 324e32e..1f65dd5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -935,6 +935,9 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
-
- PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
- AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
-+PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
-+AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
-+ [Fallback machine-id file])
-
- #### HAL support (optional), dependant on D-Bus ####
-
-diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
-index 79c8e08..0173135 100644
---- a/src/pulsecore/core-util.c
-+++ b/src/pulsecore/core-util.c
-@@ -2717,7 +2717,8 @@ char *pa_machine_id(void) {
- * since it fits perfectly our needs and is not as volatile as the
- * hostname which might be set from dhcp. */
-
-- if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r"))) {
-+ if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r")) ||
-+ (f = pa_fopen_cloexec(PA_MACHINE_ID_FALLBACK, "r"))) {
- char ln[34] = "", *r;
-
- r = fgets(ln, sizeof(ln)-1, f);
diff --git a/media-sound/pulseaudio/files/pulseaudio-1.1-python3-fix.patch b/media-sound/pulseaudio/files/pulseaudio-1.1-python3-fix.patch
deleted file mode 100644
index 52017c3cad48..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-1.1-python3-fix.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-commit b453e13edef8be95d70d837466e911b883faf476
-Author: Maarten Bosmans <mkbosmans@gmail.com>
-Date: Mon Oct 10 12:28:22 2011 +0200
-
- qpaeq: Make it python3 and python2 compatible
-
-diff --git a/src/utils/qpaeq b/src/utils/qpaeq
-index a8a9fda..951e70f 100755
---- a/src/utils/qpaeq
-+++ b/src/utils/qpaeq
-@@ -22,12 +22,11 @@ try:
- from PyQt4 import QtGui,QtCore
- import dbus.mainloop.qt
- import dbus
--except ImportError,e:
-- print 'There was an error importing need libraries'
-- print 'Make sure you haveqt4 and dbus forthon installed'
-- print 'The error that occured was'
-- print '\t%s' %(str(e))
-- import sys
-+except ImportError as e:
-+ sys.stderr.write('There was an error importing need libraries\n'
-+ 'Make sure you haveqt4 and dbus forthon installed\n'
-+ 'The error that occured was:\n'
-+ '\t%s\n' % (str(e)))
- sys.exit(-1)
-
- from functools import partial
-@@ -47,10 +46,10 @@ def connect():
- server_lookup = bus.get_object('org.PulseAudio1', '/org/pulseaudio/server_lookup1')
- address = server_lookup.Get('org.PulseAudio.ServerLookup1', 'Address', dbus_interface='org.freedesktop.DBus.Properties')
- return dbus.connection.Connection(address)
-- except Exception,e:
-- print 'There was an error connecting to pulseaudio, please make sure you have the pulseaudio dbus'
-- print 'and equalizer modules loaded, exiting...'
-- import sys
-+ except Exception as e:
-+ sys.stderr.write('There was an error connecting to pulseaudio, '
-+ 'please make sure you have the pulseaudio dbus '
-+ 'and equalizer modules loaded, exiting...\n')
- sys.exit(-1)
-
-
-@@ -148,7 +147,7 @@ class QPaeq(QtGui.QWidget):
-
- self.channel_box.clear()
- self.channel_box.addItem('All',self.filter_state.channels)
-- for i in xrange(self.filter_state.channels):
-+ for i in range(self.filter_state.channels):
- self.channel_box.addItem('%d' %(i+1,),i)
- self.setMinimumSize(self.sizeHint())
-
-@@ -221,7 +220,7 @@ class QPaeq(QtGui.QWidget):
- self.filter_state.readback()
-
- #TODO: add back in preamp!
-- #print frequencies
-+ #print(frequencies)
- #main_layout.addLayout(self.create_slider(partial(self.update_coefficient,0),
- # 'Preamp')[0]
- #)
-@@ -243,7 +242,7 @@ class QPaeq(QtGui.QWidget):
- self.update_profiles()
- self.update_sinks()
- def update_profiles(self):
-- #print 'update profiles called!'
-+ #print('update profiles called!')
- manager_props=dbus.Interface(self.manager_obj,dbus_interface=prop_iface)
- self.profiles=manager_props.Get(self.manager_iface,'Profiles')
- self.profile_box.blockSignals(True)
-@@ -262,7 +261,7 @@ class QPaeq(QtGui.QWidget):
- self.sink_box.blockSignals(False)
- self.sink_box.setMinimumSize(self.sink_box.sizeHint())
- def read_filter(self):
-- #print self.filter_frequencies
-+ #print(self.filter_frequencies)
- self.filter_state.readback()
- def reset(self):
- coefs=dbus.Array([1/math.sqrt(2.0)]*(self.filter_state.filter_rate//2+1))
-@@ -480,18 +479,16 @@ class FilterState(QtCore.QObject):
- return [0]+xs+[self.sample_rate//2]
- def _set_frequency_values(self,freqs):
- self.frequencies=freqs
-- #print 'base',self.frequencies
-- self.filter_frequencies=map(lambda x: int(round(x)), \
-- self.translate_rates(self.filter_rate,self.sample_rate,
-- self.frequencies) \
-- )
-+ #print('base',self.frequencies)
-+ self.filter_frequencies=[int(round(x)) for x in self.translate_rates(self.filter_rate,self.sample_rate,
-+ self.frequencies)]
- self.coefficients=[0.0]*len(self.frequencies)
- self.preamp=1.0
- def set_frequency_values(self,freqs):
- self._set_frequency_values(self.freq_proper(freqs))
- @staticmethod
- def translate_rates(dst,src,rates):
-- return list(map(lambda x: x*dst/src,rates))
-+ return list([x*dst/src for x in rates])
- def seed(self):
- self.sink.SeedFilter(self.channel,self.filter_frequencies,self.coefficients,self.preamp)
- self.sync_timer.start(SYNC_TIMEOUT)
-@@ -504,7 +501,7 @@ class FilterState(QtCore.QObject):
- self.sink.SetFilter(self.channel,dbus.Array(coefs),self.preamp)
- self.sync_timer.start(SYNC_TIMEOUT)
- def save_state(self):
-- print 'saving state'
-+ print('saving state')
- self.sink.SaveState()
- def load_profile(self,profile):
- self.sink.LoadProfile(self.channel,dbus.String(profile))
-@@ -540,8 +537,8 @@ def subdivide(xs, t_points):
- p_drop=len(xs)-t_points
- p_drop_left=p_drop//2
- p_drop_right=p_drop-p_drop_left
-- #print 'xs',xs
-- #print 'dropping %d, %d left, %d right' %(p_drop,p_drop_left,p_drop_right)
-+ #print('xs',xs)
-+ #print('dropping %d, %d left, %d right' %(p_drop,p_drop_left,p_drop_right))
- c=len(xs)//2
- left=xs[0:p_drop_left*2:2]+xs[p_drop_left*2:c]
- right=list(reversed(xs[c:]))
diff --git a/media-sound/pulseaudio/files/pulseaudio-2.0-udev-symbols.patch b/media-sound/pulseaudio/files/pulseaudio-2.0-udev-symbols.patch
deleted file mode 100644
index 1ad720b995a8..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-2.0-udev-symbols.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 2e64edbd3e12145950ccd952bb7984a4420b8c02 Mon Sep 17 00:00:00 2001
-From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-Date: Thu, 17 May 2012 22:50:22 +0200
-Subject: [PATCH] udev: Don't use deprecated udev_get_*_path() functions
-
-[These symbols were removed in libudev.so.1.0.0. Replace them with
-hardcoded strings. -- heftig]
-
-Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
----
- src/modules/module-udev-detect.c | 9 +++------
- src/modules/udev-util.c | 4 ++--
- 2 files changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c
-index 1192194..31416bd 100644
---- a/src/modules/module-udev-detect.c
-+++ b/src/modules/module-udev-detect.c
-@@ -123,7 +123,7 @@ static char *card_get_sysattr(const char *card_idx, const char *name) {
- goto finish;
- }
-
-- t = pa_sprintf_malloc("%s/class/sound/card%s", udev_get_sys_path(udev), card_idx);
-+ t = pa_sprintf_malloc("/sys/class/sound/card%s", card_idx);
- card = udev_device_new_from_syspath(udev, t);
- pa_xfree(t);
-
-@@ -282,7 +282,7 @@ static void verify_access(struct userdata *u, struct device *d) {
- pa_assert(u);
- pa_assert(d);
-
-- cd = pa_sprintf_malloc("%s/snd/controlC%s", udev_get_dev_path(u->udev), path_get_card_id(d->path));
-+ cd = pa_sprintf_malloc("/dev/snd/controlC%s", path_get_card_id(d->path));
- accessible = access(cd, R_OK|W_OK) >= 0;
- pa_log_debug("%s is accessible: %s", cd, pa_yes_no(accessible));
-
-@@ -621,7 +621,6 @@ fail:
- }
-
- static int setup_inotify(struct userdata *u) {
-- char *dev_snd;
- int r;
-
- if (u->inotify_fd >= 0)
-@@ -632,9 +631,7 @@ static int setup_inotify(struct userdata *u) {
- return -1;
- }
-
-- dev_snd = pa_sprintf_malloc("%s/snd", udev_get_dev_path(u->udev));
-- r = inotify_add_watch(u->inotify_fd, dev_snd, IN_ATTRIB|IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);
-- pa_xfree(dev_snd);
-+ r = inotify_add_watch(u->inotify_fd, "/dev/snd", IN_ATTRIB|IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);
-
- if (r < 0) {
- int saved_errno = errno;
-diff --git a/src/modules/udev-util.c b/src/modules/udev-util.c
-index 2f18bc4..b0bb17d 100644
---- a/src/modules/udev-util.c
-+++ b/src/modules/udev-util.c
-@@ -180,7 +180,7 @@ int pa_udev_get_info(int card_idx, pa_proplist *p) {
- goto finish;
- }
-
-- t = pa_sprintf_malloc("%s/class/sound/card%i", udev_get_sys_path(udev), card_idx);
-+ t = pa_sprintf_malloc("/sys/class/sound/card%i", card_idx);
- card = udev_device_new_from_syspath(udev, t);
- pa_xfree(t);
-
-@@ -277,7 +277,7 @@ char* pa_udev_get_property(int card_idx, const char *name) {
- goto finish;
- }
-
-- t = pa_sprintf_malloc("%s/class/sound/card%i", udev_get_sys_path(udev), card_idx);
-+ t = pa_sprintf_malloc("/sys/class/sound/card%i", card_idx);
- card = udev_device_new_from_syspath(udev, t);
- pa_xfree(t);
-
---
-1.7.8.6
-
diff --git a/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch b/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch
deleted file mode 100644
index e0b027b20df5..000000000000
--- a/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 759c0bc6f990240287a14fa6dec029ecea581463 Mon Sep 17 00:00:00 2001
-From: Arun Raghavan <arun.raghavan@collabora.co.uk>
-Date: Sat, 27 Apr 2013 08:57:05 +0530
-Subject: [PATCH] build-sys: json-c changed everything :(
-
-json-c 0.11 ships a pkg-config file with a different name, and changes
-the name of its library as well.
----
- configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index c8161a4..b1bd21a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -624,7 +624,8 @@ AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
-
- #### json parsing ####
-
--PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
-+PKG_CHECK_MODULES(LIBJSON, [ json-c >= 0.11 ], [],
-+ [PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])])
- AC_SUBST(LIBJSON_CFLAGS)
- AC_SUBST(LIBJSON_LIBS)
-
---
-1.8.1.2
-
diff --git a/media-sound/pulseaudio/files/pulseaudio.service b/media-sound/pulseaudio/files/pulseaudio.service
new file mode 100644
index 000000000000..c5f0d5799929
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=System wide PulseAudio instance
+After=syslog.target network.target alsasound.service
+
+[Service]
+Restart=always
+ExecStart=/usr/bin/pulseaudio --system --log-target=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/media-sound/pulseaudio/files/pulseaudio.tmpfiles b/media-sound/pulseaudio/files/pulseaudio.tmpfiles
new file mode 100644
index 000000000000..88374e35574b
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio.tmpfiles
@@ -0,0 +1 @@
+d /var/run/pulse 0755 pulse audio -