aboutsummaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2009-04-28 02:56:46 +0800
committermarcus <marcus@FreeBSD.org>2009-04-28 02:56:46 +0800
commit3fcf5a2912d0edfec7407c01b3f8576a6c7c411f (patch)
tree50197ec5bba074e73b97193135826a7b7f80f574 /audio
parent1428fa872ed8556932726a297bf8c7c801a7acc4 (diff)
downloadfreebsd-ports-graphics-3fcf5a2912d0edfec7407c01b3f8576a6c7c411f.tar.gz
freebsd-ports-graphics-3fcf5a2912d0edfec7407c01b3f8576a6c7c411f.tar.zst
freebsd-ports-graphics-3fcf5a2912d0edfec7407c01b3f8576a6c7c411f.zip
Re-add some patches as extra patches for older versions of FreeBSD to fix
a deadlock in pulseaudio.
Diffstat (limited to 'audio')
-rw-r--r--audio/pulseaudio/Makefile9
-rw-r--r--audio/pulseaudio/files/extra-patch-src_daemon_main.c20
-rw-r--r--audio/pulseaudio/files/extra-patch-src_daemon_start-pulseaudio-x11.in11
-rw-r--r--audio/pulseaudio/files/extra-patch-src_pulse_context.c11
4 files changed, 50 insertions, 1 deletions
diff --git a/audio/pulseaudio/Makefile b/audio/pulseaudio/Makefile
index 8613607aa02..90d632a2253 100644
--- a/audio/pulseaudio/Makefile
+++ b/audio/pulseaudio/Makefile
@@ -8,7 +8,7 @@
PORTNAME= pulseaudio
PORTVERSION= 0.9.14
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= audio
MASTER_SITES= http://0pointer.de/lennart/projects/${PORTNAME}/
@@ -56,6 +56,13 @@ MAN5= default.pa.5 pulse-client.conf.5 pulse-daemon.conf.5
#BROKEN= Does not compile on sparc64
#.endif
+.if ( ${OSVERSION} > 800000 && ${OSVERSION} < 800080 ) || \
+ ${OSVERSION} < 702000
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_daemon_main.c \
+ ${FILESDIR}/extra-patch-src_daemon_start-pulseaudio-x11.in \
+ ${FILESDIR}/extra-patch-src_pulse_context.c
+.endif
+
.if defined(WITH_JACK)
LIB_DEPENDS+= jack.0:${PORTSDIR}/audio/jack
PLIST_SUB+= JACK=""
diff --git a/audio/pulseaudio/files/extra-patch-src_daemon_main.c b/audio/pulseaudio/files/extra-patch-src_daemon_main.c
new file mode 100644
index 00000000000..8c6ae410f23
--- /dev/null
+++ b/audio/pulseaudio/files/extra-patch-src_daemon_main.c
@@ -0,0 +1,20 @@
+--- src/daemon/main.c.orig 2009-01-12 18:11:38.000000000 -0500
++++ src/daemon/main.c 2009-03-07 19:56:16.000000000 -0500
+@@ -689,7 +690,7 @@ int main(int argc, char *argv[]) {
+ * first take the autospawn lock to make things
+ * synchronous. */
+
+- if ((autospawn_fd = pa_autospawn_lock_init()) < 0) {
++ /*if ((autospawn_fd = pa_autospawn_lock_init()) < 0) {
+ pa_log("Failed to initialize autospawn lock");
+ goto finish;
+ }
+@@ -699,7 +700,7 @@ int main(int argc, char *argv[]) {
+ goto finish;
+ }
+
+- autospawn_locked = TRUE;
++ autospawn_locked = TRUE;*/
+ }
+
+ if (conf->daemonize) {
diff --git a/audio/pulseaudio/files/extra-patch-src_daemon_start-pulseaudio-x11.in b/audio/pulseaudio/files/extra-patch-src_daemon_start-pulseaudio-x11.in
new file mode 100644
index 00000000000..65001b57236
--- /dev/null
+++ b/audio/pulseaudio/files/extra-patch-src_daemon_start-pulseaudio-x11.in
@@ -0,0 +1,11 @@
+--- src/daemon/start-pulseaudio-x11.in.orig 2009-03-07 19:48:47.000000000 -0500
++++ src/daemon/start-pulseaudio-x11.in 2009-03-07 19:48:56.000000000 -0500
+@@ -19,7 +19,7 @@
+
+ set -e
+
+-@PA_BINARY@ --start "$@"
++@PA_BINARY@ -D "$@"
+
+ if [ x"$DISPLAY" != x ] ; then
+
diff --git a/audio/pulseaudio/files/extra-patch-src_pulse_context.c b/audio/pulseaudio/files/extra-patch-src_pulse_context.c
new file mode 100644
index 00000000000..fda93a2a65c
--- /dev/null
+++ b/audio/pulseaudio/files/extra-patch-src_pulse_context.c
@@ -0,0 +1,11 @@
+--- src/pulse/context.c.orig 2009-03-08 14:33:36.000000000 -0400
++++ src/pulse/context.c 2009-03-08 14:33:42.000000000 -0400
+@@ -664,7 +664,7 @@ static int context_autospawn(pa_context
+ n = 0;
+
+ argv[n++] = c->conf->daemon_binary;
+- argv[n++] = "--start";
++ argv[n++] = "-D";
+
+ while (n < MAX_ARGS) {
+ char *a;