summaryrefslogtreecommitdiffstats
path: root/package/pulseaudio
diff options
context:
space:
mode:
authorJérôme Pouiller <jezz@sysmic.org>2013-08-30 11:05:57 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2013-09-08 21:41:39 +0200
commitadf6511013b8921d6856f5dc0e053cdd27891244 (patch)
tree14f1ba25f8ae138743e3f3954b85883c636714d8 /package/pulseaudio
parentbafa8fcc6ce90553843b5c24e68de57c40f94abe (diff)
downloadbuildroot-adf6511013b8921d6856f5dc0e053cdd27891244.tar.gz
buildroot-adf6511013b8921d6856f5dc0e053cdd27891244.zip
Remove multimedia subdirectory
Unless it was a group of sub-packages, packages was never regrouped by category. multimedia/ was an exception to this rule. This patch move packages/multimedia/ sub-directories to packages/. It keeps two subdirectories for gstream 0.10 and gstreamer 1.X. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/pulseaudio')
-rw-r--r--package/pulseaudio/Config.in30
-rwxr-xr-xpackage/pulseaudio/S50pulseaudio39
-rw-r--r--package/pulseaudio/pulseaudio.mk115
3 files changed, 184 insertions, 0 deletions
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
new file mode 100644
index 0000000000..bd0ec5f201
--- /dev/null
+++ b/package/pulseaudio/Config.in
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_PULSEAUDIO
+ bool "pulseaudio"
+ depends on BR2_USE_WCHAR
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_LIBTOOL
+ select BR2_PACKAGE_JSON_C
+ select BR2_PACKAGE_LIBSNDFILE
+ select BR2_PACKAGE_SPEEX
+ depends on BR2_LARGEFILE
+ help
+ PulseAudio is a sound system for POSIX OSes, meaning that it
+ is 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.
+
+ http://pulseaudio.org
+
+config BR2_PACKAGE_PULSEAUDIO_DAEMON
+ bool "start as a system daemon"
+ depends on BR2_PACKAGE_PULSEAUDIO
+ help
+ PulseAudio can be started as a system daemon. This is not the
+ recommended way of using PulseAudio unless you are building a
+ headless system.
+
+comment "pulseaudio requires a toolchain with WCHAR, LARGEFILE and threads support"
+ depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/pulseaudio/S50pulseaudio b/package/pulseaudio/S50pulseaudio
new file mode 100755
index 0000000000..4c6877eb16
--- /dev/null
+++ b/package/pulseaudio/S50pulseaudio
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# Starts pulseaudio.
+#
+
+
+start() {
+ echo -n "Starting pulseaudio: "
+ umask 077
+ /usr/bin/pulseaudio --system --daemonize
+ echo "OK"
+}
+stop() {
+ echo -n "Stopping pulseaudio: "
+ pulseaudio --kill
+ echo "OK"
+}
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
+
diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk
new file mode 100644
index 0000000000..195eb19e71
--- /dev/null
+++ b/package/pulseaudio/pulseaudio.mk
@@ -0,0 +1,115 @@
+################################################################################
+#
+# pulseaudio
+#
+################################################################################
+
+PULSEAUDIO_VERSION = 4.0
+PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases/
+PULSEAUDIO_INSTALL_STAGING = YES
+PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file)
+PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
+PULSEAUDIO_CONF_OPT = \
+ --localstatedir=/var \
+ --disable-default-build-tests \
+ --disable-legacy-runtime-dir \
+ --disable-legacy-database-entry-format \
+ $(if $(BR2_HAVE_DOCUMENTATION),,--disable-manpages)
+
+PULSEAUDIO_DEPENDENCIES = \
+ host-pkgconf libtool json-c libsndfile speex host-intltool \
+ $(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \
+ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
+ $(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \
+ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \
+ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
+ $(if $(BR2_PACKAGE_DBUS),dbus) \
+ $(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \
+ $(if $(BR2_PACKAGE_UDEV),udev) \
+ $(if $(BR2_PACKAGE_OPENSSL),openssl) \
+ $(if $(BR2_PACKAGE_FFTW),fftw) \
+ $(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
+ $(if $(BR2_PACKAGE_SYSTEMD),systemd)
+
+
+ifeq ($(BR2_PACKAGE_ORC),y)
+PULSEAUDIO_DEPENDENCIES += orc
+PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/usr/bin/orcc
+PULSEAUDIO_CONF_OPT += --enable-orc
+else
+PULSEAUDIO_CONF_OPT += --disable-orc
+endif
+
+ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
+# The optional webrtc echo canceller is written in C++, causing auto* to want
+# to link module-echo-cancel.so with CXX even if webrtc ISN'T used.
+# If we don't have C++ support enabled in BR, CXX will point to /bin/false,
+# which makes configure think we aren't able to create C++ .so files
+# (arguable true), breaking the build when it tries to install the .so
+# workaround it by patching up the libtool invocations to use C mode instead
+define PULSEAUDIO_FORCE_CC
+ $(SED) 's/--tag=CXX/--tag=CC/g' -e 's/(CXXLD)/(CCLD)/g' \
+ $(@D)/src/Makefile.in
+endef
+
+PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FORCE_CC
+endif
+
+# neon intrinsics not available with float-abi=soft
+ifeq ($(BR2_ARM_SOFT_FLOAT),)
+ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
+PULSEAUDIO_USE_NEON = y
+endif
+endif
+
+ifeq ($(PULSEAUDIO_USE_NEON),y)
+PULSEAUDIO_CONF_OPT += --enable-neon-opt=yes
+else
+PULSEAUDIO_CONF_OPT += --enable-neon-opt=no
+endif
+
+# pulseaudio alsa backend needs pcm/mixer apis
+ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
+PULSEAUDIO_CONF_OPT += --disable-alsa
+endif
+
+ifeq ($(BR2_PACKAGE_LIBXCB)$(BR2_PACKAGE_XLIB_LIBSM)$(BR2_PACKAGE_XLIB_LIBXTST),yyy)
+PULSEAUDIO_DEPENDENCIES += libxcb xlib_libSM xlib_libXtst
+
+# .desktop file generation needs nls support, so fake it for !locale builds
+# https://bugs.freedesktop.org/show_bug.cgi?id=54658
+ifneq ($(BR2_ENABLE_LOCALE),y)
+define PULSEAUDIO_FIXUP_DESKTOP_FILES
+ cp $(@D)/src/daemon/pulseaudio.desktop.in \
+ $(@D)/src/daemon/pulseaudio.desktop
+ cp $(@D)/src/daemon/pulseaudio-kde.desktop.in \
+ $(@D)/src/daemon/pulseaudio-kde.desktop
+endef
+PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FIXUP_DESKTOP_FILES
+endif
+
+else
+PULSEAUDIO_CONF_OPT += --disable-x11
+endif
+
+ifneq ($(BR2_PACKAGE_VALA),y)
+define PULSEAUDIO_REMOVE_VALA
+ rm -rf $(TARGET_DIR)/usr/share/vala
+endef
+
+PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA
+endif
+
+ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
+define PULSEAUDIO_USERS
+ pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
+endef
+
+define PULSEAUDIO_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 755 package/multimedia/pulseaudio/S50pulseaudio \
+ $(TARGET_DIR)/etc/init.d/S50pulseaudio
+endef
+
+endif
+
+$(eval $(autotools-package))
OpenPOWER on IntegriCloud