pulseaudio: import from packages

Signed-off-by: Peter Wagner <tripolar@gmx.at>
This commit is contained in:
Peter Wagner 2014-06-16 11:46:58 +02:00
parent 4c89b9da1a
commit a49565640c
3 changed files with 312 additions and 0 deletions

270
sound/pulseaudio/Makefile Normal file
View File

@ -0,0 +1,270 @@
#
# Copyright (C) 2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=pulseaudio
PKG_VERSION:=5.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://freedesktop.org/software/pulseaudio/releases/
PKG_MD5SUM:=c43749838612f4860465e83ed62ca38e
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=intltool/host
PKG_FIXUP:=autoreconf
PKG_USE_MIPS16:=0
PKG_INSTALL = 1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
#TODO: split pulse into executable and library (or even better into several libraries since they're used as loadable modules, so not linked into)
define Package/pulseaudio/Default
SECTION:=sound
CATEGORY:=Sound
DEPENDS:=+libspeexdsp +libsndfile +libltdl +libpthread \
+librt +alsa-lib +libjson +libopenssl +libwrap +libcap $(ICONV_DEPENDS) $(INTL_DEPENDS)
TITLE:=Network sound server
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
URL:=http://www.pulseaudio.org
PROVIDES:=pulseaudio
endef
define Package/pulseaudio-daemon
$(call Package/pulseaudio/Default)
VARIANT:=noavahi
endef
define Package/pulseaudio-daemon-avahi
$(call Package/pulseaudio/Default)
DEPENDS+=+dbus +libavahi-client +avahi-daemon
TITLE+= (avahi)
VARIANT:=avahi
endef
define Package/pulseaudio/Default/description
PulseAudio (formerly Polypaudio) is a cross-platform, networked sound server.
endef
define Package/pulseaudio-daemon/description
$(call Package/pulseaudio/Default/description)
endef
define Package/pulseaudio-daemon-avahi/description
$(call Package/pulseaudio/Default/description)
This package is compiled against dbus and avahi.
endef
define Package/pulseaudio-daemon/conffiles
/etc/pulse/client.conf
/etc/pulse/daemon.conf
/etc/pulse/default.pa
/etc/pulse/system.pa
endef
define Package/pulseaudio-daemon-avahi/conffiles
/etc/pulse/client.conf
/etc/pulse/daemon.conf
/etc/pulse/default.pa
/etc/pulse/system.pa
endef
define Package/pulseaudio-tools
SECTION:=sound
CATEGORY:=Sound
DEPENDS:=+libsndfile pulseaudio
TITLE:=Tools for Pulseaudio
URL:=http://www.pulseaudio.org
VARIANT:=noavahi
endef
define Package/pulseaudio-profiles
SECTION:=sound
CATEGORY:=Sound
DEPENDS:=pulseaudio
TITLE:=Profiles for Pulseaudio
URL:=http://www.pulseaudio.org
endef
CONFIGURE_ARGS += \
--with-system-user=pulse \
--with-system-group=pulse \
--with-access-group=audio \
--with-database=simple \
--enable-alsa \
--disable-hal \
--disable-gconf \
--disable-nls \
--disable-manpages \
--enable-oss-output \
--disable-oss-wrapper \
--disable-samplerate \
--disable-per-user-esound-socket \
--disable-solaris \
--disable-gtk2 \
--disable-glib2 \
--disable-jack \
--disable-asyncns \
--disable-lirc \
--disable-bluez \
--disable-udev \
--without-fftw
ifeq ($(BUILD_VARIANT),avahi)
CONFIGURE_ARGS += \
--enable-avahi \
--enable-dbus
endif
ifeq ($(BUILD_VARIANT),noavahi)
CONFIGURE_ARGS += \
--disable-avahi \
--disable-dbus
endif
CONFIGURE_VARS += \
PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig"
#SUPP_LIBS:=-L$(INTL_PREFIX)/lib -L$(ICONV_PREFIX)/lib
TARGET_CFLAGS += -std=gnu99
define Build/InstallDev
$(INSTALL_DIR) \
$(1)/usr/lib/pkgconfig \
$(1)/usr/include/pulse \
$(1)/usr/lib \
$(1)/usr/lib/pulseaudio
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/pulse/* \
$(1)/usr/include/pulse
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
$(1)/usr/lib/pkgconfig
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
$(1)/usr/lib/pulseaudio/
endef
define Package/pulseaudio-daemon/install
$(INSTALL_DIR) \
$(1)/etc/pulse \
$(1)/etc/init.d \
$(1)/usr/bin \
$(1)/usr/lib \
$(1)/usr/lib/pulseaudio \
$(1)/usr/lib/pulse-$(PKG_VERSION)/modules
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/pulseaudio \
$(1)/usr/bin/pulseaudio
$(INSTALL_BIN) \
./files/pulseaudio.init \
$(1)/etc/init.d/pulseaudio
$(INSTALL_CONF) \
$(PKG_INSTALL_DIR)/etc/pulse/* \
$(1)/etc/pulse
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
$(1)/usr/lib/pulseaudio/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/lib*.so \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/module*.so \
$(1)/usr/lib/pulse-$(PKG_VERSION)/modules/
chmod -R 0644 $(1)/etc/pulse/*
endef
define Package/pulseaudio-daemon-avahi/install
$(INSTALL_DIR) \
$(1)/etc/pulse \
$(1)/etc/init.d \
$(1)/usr/bin \
$(1)/usr/lib \
$(1)/usr/lib/pulseaudio \
$(1)/usr/lib/pulse-$(PKG_VERSION)/modules \
$(1)/etc/dbus-1/system.d
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/pulseaudio \
$(1)/usr/bin/pulseaudio
$(INSTALL_BIN) \
./files/pulseaudio.init \
$(1)/etc/init.d/pulseaudio
$(INSTALL_CONF) \
$(PKG_INSTALL_DIR)/etc/pulse/* \
$(1)/etc/pulse
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
$(1)/usr/lib/pulseaudio/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/lib*.so \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/module*.so \
$(1)/usr/lib/pulse-$(PKG_VERSION)/modules/
$(INSTALL_CONF) \
$(PKG_INSTALL_DIR)/etc/dbus-1/system.d/pulseaudio-system.conf \
$(1)/etc/dbus-1/system.d/pulseaudio-system.conf
chmod -R 0644 $(1)/etc/pulse/* $(1)/etc/dbus-1/system.d/pulseaudio-system.conf
endef
define Package/pulseaudio-tools/install
$(INSTALL_DIR) \
$(1)/usr/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/pa* \
$(1)/usr/bin/
endef
define Package/pulseaudio-profiles/install
$(INSTALL_DIR) \
$(1)/usr/share/pulseaudio/alsa-mixer/paths \
$(1)/usr/share/pulseaudio/alsa-mixer/profile-sets
$(INSTALL_CONF) \
$(PKG_INSTALL_DIR)/usr/share/pulseaudio/alsa-mixer/paths/* \
$(1)/usr/share/pulseaudio/alsa-mixer/paths
$(INSTALL_CONF) \
$(PKG_INSTALL_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/* \
$(1)/usr/share/pulseaudio/alsa-mixer/profile-sets
endef
$(eval $(call BuildPackage,pulseaudio-daemon))
$(eval $(call BuildPackage,pulseaudio-daemon-avahi))
$(eval $(call BuildPackage,pulseaudio-tools))
$(eval $(call BuildPackage,pulseaudio-profiles))

View File

@ -0,0 +1,31 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2011 OpenWrt.org
START=65
STOP=65
USE_PROCD=1
PROG=/usr/bin/pulseaudio
start_service() {
user_exists pulse 51 || user_add pulse 51
group_exists pulse 51 || group_add pulse 51
[ -d /var/run/pulse ] || {
mkdir -m 0755 -p /var/run/pulse
chmod 0750 /var/run/pulse
chown pulse:pulse /var/run/pulse
}
[ -d /var/lib/pulse ] || {
mkdir -m 0755 -p /var/lib/pulse
chmod 0750 /var/lib/pulse
chown pulse:pulse /var/lib/pulse
}
chown root:pulse /dev/snd/* /dev/mixer /dev/dsp
chmod 664 /dev/snd/* /dev/mixer /dev/dsp
procd_open_instance
procd_set_param command $PROG --system --disallow-exit --disallow-module-loading --disable-shm --exit-idle-time=-1 --realtime=false
procd_close_instance
}

View File

@ -0,0 +1,11 @@
--- a/src/pulsecore/memblock.c
+++ b/src/pulsecore/memblock.c
@@ -57,7 +57,7 @@
* stored in SHM and our OS does not commit the memory before we use
* it for the first time. */
#define PA_MEMPOOL_SLOTS_MAX 1024
-#define PA_MEMPOOL_SLOT_SIZE (64*1024)
+#define PA_MEMPOOL_SLOT_SIZE 64
#define PA_MEMEXPORT_SLOTS_MAX 128