PKG_NAME:=pulseaudio
PKG_VERSION:=17.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://freedesktop.org/software/pulseaudio/releases
define Package/pulseaudio-daemon/Default
SECTION:=sound
CATEGORY:=Sound
- DEPENDS:=+libsndfile +libltdl +alsa-lib \
- +libopenssl +libcap $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ DEPENDS:=+alsa-lib \
+ +libopenssl +libcap +libdbus +libpulse $(ICONV_DEPENDS) $(INTL_DEPENDS)
TITLE:=Network sound server
URL:=https://www.freedesktop.org/wiki/Software/PulseAudio/
PROVIDES:=pulseaudio
Package/pulseaudio-daemon-avahi/conffiles = $(Package/pulseaudio-daemon/conffiles)
+define Package/libpulse
+ SECTION:=lib
+ CATEGORY:=Libraries
+ DEPENDS:=+libsndfile +libltdl +libdbus $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ TITLE:=Client library for PulseAudio
+ URL:=https://www.freedesktop.org/wiki/Software/PulseAudio/
+endef
+
define Package/pulseaudio-tools
SECTION:=sound
CATEGORY:=Sound
-Dasyncns=disabled \
-Dbluez5-native-headset=false \
-Dbluez5-ofono-headset=false \
+ -Ddbus=enabled \
-Dfftw=disabled \
-Dglib=disabled \
-Dgsettings=disabled \
ifeq ($(BUILD_VARIANT),avahi)
MESON_ARGS += \
-Davahi=enabled \
- -Dbluez5=enabled \
- -Ddbus=enabled
+ -Dbluez5=enabled
endif
ifeq ($(BUILD_VARIANT),noavahi)
MESON_ARGS += \
-Davahi=disabled \
- -Dbluez5=disabled \
- -Ddbus=disabled
+ -Dbluez5=disabled
endif
TARGET_LDFLAGS += -Wl,--gc-sections $(if $(INTL_FULL),-lintl)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* $(1)/usr/lib/pulseaudio/
endef
+define Package/libpulse/install
+ $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/pulseaudio
+ # client libraries only; the server-only libpulsecore/libpulsedsp stay with
+ # the daemon so a pure client (depending on libpulse) does not pull them in
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpulse.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpulse-simple.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/libpulsecommon-*.so $(1)/usr/lib/pulseaudio/
+endef
+
define Package/pulseaudio-daemon/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pulseaudio $(1)/usr/bin/pulseaudio
$(INSTALL_DIR) $(1)/etc/pulse
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/pulse/* $(1)/etc/pulse
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
-
- $(INSTALL_DIR) $(1)/usr/lib/pulseaudio
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* $(1)/usr/lib/pulseaudio/
-
- $(INSTALL_DIR) $(1)/usr/lib/pulse-$(PKG_VERSION)/modules
+ $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/pulseaudio/modules
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/libpulsecore-*.so $(1)/usr/lib/pulseaudio/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/libpulsedsp.so $(1)/usr/lib/pulseaudio/
+ # module helper libraries (libprotocol-*, libalsa-util, libcli, librtp, ...):
+ # the dlopened modules DT_NEEDED these and carry no RUNPATH, so they must be
+ # installed into a default library search path
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/modules/lib*.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/modules/module*.so $(1)/usr/lib/pulseaudio/modules/
+
+ $(INSTALL_DIR) $(1)/usr/share/dbus-1/system.d
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system.d/pulseaudio-system.conf $(1)/usr/share/dbus-1/system.d/pulseaudio-system.conf
endef
define Package/pulseaudio-daemon-avahi/install
$(call Package/pulseaudio-daemon/install,$1)
-
- $(INSTALL_DIR) $(1)/usr/share/dbus-1/system.d
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system.d/pulseaudio-system.conf $(1)/usr/share/dbus-1/system.d/pulseaudio-system.conf
endef
define Package/pulseaudio-tools/install
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/* $(1)/usr/share/pulseaudio/alsa-mixer/profile-sets
endef
+$(eval $(call BuildPackage,libpulse))
$(eval $(call BuildPackage,pulseaudio-daemon))
$(eval $(call BuildPackage,pulseaudio-daemon-avahi))
$(eval $(call BuildPackage,pulseaudio-tools))