From d56c483c02d804821fb73090fce75d40bdc4bf64 Mon Sep 17 00:00:00 2001 From: loswillios Date: Thu, 18 Aug 2011 13:44:20 +0000 Subject: [PATCH] rework pulseaudio package: - split pulseaudio into pulseaudio-daemon and pulseaudio-daemon-avahi - cleanup dependencies (remove OSS, libsamplerate, manpages) - add conffiles section - rename pa-tools to pulseaudio-tools - add pulseaudio-profiles package - refresh patches git-svn-id: svn://svn.openwrt.org/openwrt/packages@28044 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- sound/pulseaudio/Makefile | 154 ++++++++++++++++-- .../patches/001-no_default_64mb_alloc.patch | 8 +- 2 files changed, 141 insertions(+), 21 deletions(-) diff --git a/sound/pulseaudio/Makefile b/sound/pulseaudio/Makefile index 8945e34b0..26d9e0b9b 100644 --- a/sound/pulseaudio/Makefile +++ b/sound/pulseaudio/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pulseaudio PKG_VERSION:=0.99.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://freedesktop.org/software/pulseaudio/releases/ @@ -25,37 +25,87 @@ 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 +define Package/pulseaudio/Default SECTION:=sound CATEGORY:=Sound - DEPENDS:=+libspeexdsp +libsndfile +libsamplerate \ - +libltdl +libpthread +librt +alsa-lib +libjson \ + DEPENDS:=+libspeexdsp +libsndfile +libltdl +libpthread \ + +librt +alsa-lib +libjson $(ICONV_DEPENDS) $(INTL_DEPENDS) \ @!UCLIBC_VERSION_0_9_30_1 @!UCLIBC_VERSION_0_9_30_2 \ - @!UCLIBC_VERSION_0_9_30_3 \ - $(ICONV_DEPENDS) $(INTL_DEPENDS) + @!UCLIBC_VERSION_0_9_30_3 TITLE:=Network sound server URL:=http://www.pulseaudio.org endef -define Package/pa-tools +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-dbus + 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 #+libpulse + DEPENDS:=+libsndfile @PACKAGE_pulseaudio-daemon||PACKAGE_pulseaudio-daemon-avahi #+libpulse TITLE:=Tools for Pulseaudio URL:=http://www.pulseaudio.org endef +define Package/pulseaudio-profiles + SECTION:=sound + CATEGORY:=Sound + DEPENDS:=@PACKAGE_pulseaudio-daemon||PACKAGE_pulseaudio-daemon-avahi + TITLE:=Profiles for Pulseaudio + URL:=http://www.pulseaudio.org +endef + CONFIGURE_ARGS += \ --with-system-user=root \ --with-system-group=root \ --with-access-group=root \ + --with-database=simple \ --enable-alsa \ - --disable-avahi \ - --disable-dbus \ --disable-hal \ --disable-gconf \ --disable-tcpwrap \ --disable-nls \ + --disable-manpages \ + --disable-oss-output \ + --disable-oss-wrapper \ + --disable-samplerate \ + --disable-per-user-esound-socket \ --disable-solaris \ --disable-glib2 \ --disable-jack \ @@ -64,6 +114,17 @@ CONFIGURE_ARGS += \ --disable-bluez \ --without-caps +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_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" @@ -86,13 +147,13 @@ define Build/InstallDev $(1)/usr/lib/ endef -define Package/pulseaudio/install +define Package/pulseaudio-daemon/install $(INSTALL_DIR) \ + $(1)/etc/pulse \ + $(1)/etc/init.d \ $(1)/usr/bin \ $(1)/usr/lib \ - $(1)/usr/lib/pulse-0.99/modules \ - $(1)/etc/pulse \ - $(1)/etc/init.d + $(1)/usr/lib/pulse-0.99/modules $(INSTALL_BIN) \ $(PKG_INSTALL_DIR)/usr/bin/pulseaudio \ @@ -113,12 +174,55 @@ define Package/pulseaudio/install $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/pulse-0.99/modules/lib*.so \ $(1)/usr/lib/ + $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/pulse-0.99/modules/module*.so \ $(1)/usr/lib/pulse-0.99/modules/ endef -define Package/pa-tools/install +define Package/pulseaudio-daemon-avahi/install + $(INSTALL_DIR) \ + $(1)/etc/pulse \ + $(1)/etc/init.d \ + $(1)/usr/bin \ + $(1)/usr/lib \ + $(1)/usr/lib/pulse-0.99/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/pulse-0.99/modules/lib*.so \ + $(1)/usr/lib/ + + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/pulse-0.99/modules/module*.so \ + $(1)/usr/lib/pulse-0.99/modules/ + + $(INSTALL_CONF) \ + $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/pulseaudio-system.conf \ + $(1)/etc/dbus-1/system.d/pulseaudio-system.conf + + $(SED) \ + 's/user="pulse"/user="root"/' \ + $(1)/etc/dbus-1/system.d/pulseaudio-system.conf +endef + +define Package/pulseaudio-tools/install $(INSTALL_DIR) \ $(1)/usr/bin @@ -127,5 +231,21 @@ define Package/pa-tools/install $(1)/usr/bin/ endef -$(eval $(call BuildPackage,pulseaudio)) -$(eval $(call BuildPackage,pa-tools)) +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)) diff --git a/sound/pulseaudio/patches/001-no_default_64mb_alloc.patch b/sound/pulseaudio/patches/001-no_default_64mb_alloc.patch index 20a41b37f..876255489 100644 --- a/sound/pulseaudio/patches/001-no_default_64mb_alloc.patch +++ b/sound/pulseaudio/patches/001-no_default_64mb_alloc.patch @@ -1,8 +1,8 @@ -Index: pulseaudio-0.9.22/src/pulsecore/memblock.c +Index: pulseaudio-0.99.2/src/pulsecore/memblock.c =================================================================== ---- pulseaudio-0.9.22.orig/src/pulsecore/memblock.c 2011-03-08 09:25:27.000000000 +0100 -+++ pulseaudio-0.9.22/src/pulsecore/memblock.c 2011-03-08 09:27:21.000000000 +0100 -@@ -54,7 +54,7 @@ +--- pulseaudio-0.99.2.orig/src/pulsecore/memblock.c 2011-08-15 10:41:56.000000000 +0200 ++++ pulseaudio-0.99.2/src/pulsecore/memblock.c 2011-08-18 13:54:53.000000000 +0200 +@@ -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