Parcourir la source

pulseaudio: import from packages

Signed-off-by: Peter Wagner <tripolar@gmx.at>
Peter Wagner il y a 10 ans
Parent
révision
a49565640c

+ 270
- 0
sound/pulseaudio/Makefile Voir le fichier

@@ -0,0 +1,270 @@
1
+#
2
+# Copyright (C) 2011 OpenWrt.org
3
+#
4
+# This is free software, licensed under the GNU General Public License v2.
5
+# See /LICENSE for more information.
6
+#
7
+
8
+include $(TOPDIR)/rules.mk
9
+
10
+PKG_NAME:=pulseaudio
11
+PKG_VERSION:=5.0
12
+PKG_RELEASE:=1
13
+
14
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15
+PKG_SOURCE_URL:=http://freedesktop.org/software/pulseaudio/releases/
16
+PKG_MD5SUM:=c43749838612f4860465e83ed62ca38e
17
+
18
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
19
+PKG_BUILD_DEPENDS:=intltool/host
20
+
21
+PKG_FIXUP:=autoreconf
22
+PKG_USE_MIPS16:=0
23
+
24
+PKG_INSTALL = 1
25
+
26
+include $(INCLUDE_DIR)/package.mk
27
+include $(INCLUDE_DIR)/nls.mk
28
+
29
+#TODO: split pulse into executable and library (or even better into several libraries since they're used as loadable modules, so not linked into)
30
+define Package/pulseaudio/Default
31
+  SECTION:=sound
32
+  CATEGORY:=Sound
33
+  DEPENDS:=+libspeexdsp +libsndfile +libltdl +libpthread \
34
+	+librt +alsa-lib +libjson +libopenssl +libwrap +libcap $(ICONV_DEPENDS) $(INTL_DEPENDS)
35
+  TITLE:=Network sound server
36
+  MAINTAINER:=Peter Wagner <tripolar@gmx.at>
37
+  URL:=http://www.pulseaudio.org
38
+  PROVIDES:=pulseaudio
39
+endef
40
+
41
+define Package/pulseaudio-daemon
42
+  $(call Package/pulseaudio/Default)
43
+  VARIANT:=noavahi
44
+endef
45
+
46
+define Package/pulseaudio-daemon-avahi
47
+  $(call Package/pulseaudio/Default)
48
+  DEPENDS+=+dbus +libavahi-client +avahi-daemon
49
+  TITLE+= (avahi)
50
+  VARIANT:=avahi
51
+endef
52
+
53
+define Package/pulseaudio/Default/description
54
+  PulseAudio (formerly Polypaudio) is a cross-platform, networked sound server.
55
+endef
56
+
57
+define Package/pulseaudio-daemon/description
58
+  $(call Package/pulseaudio/Default/description)
59
+endef
60
+
61
+define Package/pulseaudio-daemon-avahi/description
62
+  $(call Package/pulseaudio/Default/description)
63
+  This package is compiled against dbus and avahi.
64
+endef
65
+
66
+define Package/pulseaudio-daemon/conffiles
67
+/etc/pulse/client.conf
68
+/etc/pulse/daemon.conf
69
+/etc/pulse/default.pa
70
+/etc/pulse/system.pa
71
+endef
72
+
73
+define Package/pulseaudio-daemon-avahi/conffiles
74
+/etc/pulse/client.conf
75
+/etc/pulse/daemon.conf
76
+/etc/pulse/default.pa
77
+/etc/pulse/system.pa
78
+endef
79
+
80
+define Package/pulseaudio-tools
81
+  SECTION:=sound
82
+  CATEGORY:=Sound
83
+  DEPENDS:=+libsndfile pulseaudio
84
+  TITLE:=Tools for Pulseaudio
85
+  URL:=http://www.pulseaudio.org
86
+  VARIANT:=noavahi
87
+endef
88
+
89
+define Package/pulseaudio-profiles
90
+  SECTION:=sound
91
+  CATEGORY:=Sound
92
+  DEPENDS:=pulseaudio
93
+  TITLE:=Profiles for Pulseaudio
94
+  URL:=http://www.pulseaudio.org
95
+endef
96
+
97
+CONFIGURE_ARGS += \
98
+	--with-system-user=pulse \
99
+	--with-system-group=pulse \
100
+	--with-access-group=audio \
101
+	--with-database=simple \
102
+	--enable-alsa \
103
+	--disable-hal \
104
+	--disable-gconf \
105
+	--disable-nls \
106
+	--disable-manpages \
107
+	--enable-oss-output \
108
+	--disable-oss-wrapper \
109
+	--disable-samplerate \
110
+	--disable-per-user-esound-socket \
111
+	--disable-solaris \
112
+	--disable-gtk2 \
113
+	--disable-glib2 \
114
+	--disable-jack \
115
+	--disable-asyncns \
116
+	--disable-lirc \
117
+	--disable-bluez \
118
+	--disable-udev \
119
+	--without-fftw
120
+
121
+ifeq ($(BUILD_VARIANT),avahi)
122
+CONFIGURE_ARGS += \
123
+	--enable-avahi \
124
+	--enable-dbus
125
+endif
126
+
127
+ifeq ($(BUILD_VARIANT),noavahi)
128
+CONFIGURE_ARGS += \
129
+	--disable-avahi \
130
+	--disable-dbus
131
+endif
132
+
133
+CONFIGURE_VARS += \
134
+	PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig"
135
+
136
+#SUPP_LIBS:=-L$(INTL_PREFIX)/lib -L$(ICONV_PREFIX)/lib
137
+TARGET_CFLAGS += -std=gnu99
138
+
139
+define Build/InstallDev
140
+	$(INSTALL_DIR) \
141
+		$(1)/usr/lib/pkgconfig \
142
+		$(1)/usr/include/pulse \
143
+		$(1)/usr/lib \
144
+		$(1)/usr/lib/pulseaudio
145
+	$(CP) \
146
+		$(PKG_INSTALL_DIR)/usr/include/pulse/* \
147
+		$(1)/usr/include/pulse
148
+	$(CP) \
149
+		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
150
+		$(1)/usr/lib/pkgconfig
151
+	$(CP) \
152
+		$(PKG_INSTALL_DIR)/usr/lib/*.so* \
153
+		$(1)/usr/lib/
154
+	$(CP) \
155
+		$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
156
+		$(1)/usr/lib/pulseaudio/
157
+endef
158
+
159
+define Package/pulseaudio-daemon/install
160
+	$(INSTALL_DIR) \
161
+		$(1)/etc/pulse \
162
+		$(1)/etc/init.d \
163
+		$(1)/usr/bin \
164
+		$(1)/usr/lib \
165
+		$(1)/usr/lib/pulseaudio \
166
+		$(1)/usr/lib/pulse-$(PKG_VERSION)/modules
167
+
168
+	$(INSTALL_BIN) \
169
+		$(PKG_INSTALL_DIR)/usr/bin/pulseaudio \
170
+		$(1)/usr/bin/pulseaudio
171
+
172
+	$(INSTALL_BIN) \
173
+		./files/pulseaudio.init \
174
+		$(1)/etc/init.d/pulseaudio
175
+
176
+	$(INSTALL_CONF) \
177
+		$(PKG_INSTALL_DIR)/etc/pulse/* \
178
+		$(1)/etc/pulse
179
+
180
+	$(CP) \
181
+		$(PKG_INSTALL_DIR)/usr/lib/*.so* \
182
+		$(1)/usr/lib/
183
+
184
+	$(CP) \
185
+		$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
186
+		$(1)/usr/lib/pulseaudio/
187
+
188
+	$(CP) \
189
+		$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/lib*.so \
190
+		$(1)/usr/lib/
191
+
192
+	$(CP) \
193
+		$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/module*.so \
194
+		$(1)/usr/lib/pulse-$(PKG_VERSION)/modules/
195
+
196
+	chmod -R 0644 $(1)/etc/pulse/*
197
+endef
198
+
199
+define Package/pulseaudio-daemon-avahi/install
200
+	$(INSTALL_DIR) \
201
+		$(1)/etc/pulse \
202
+		$(1)/etc/init.d \
203
+		$(1)/usr/bin \
204
+		$(1)/usr/lib \
205
+		$(1)/usr/lib/pulseaudio \
206
+		$(1)/usr/lib/pulse-$(PKG_VERSION)/modules \
207
+		$(1)/etc/dbus-1/system.d
208
+
209
+	$(INSTALL_BIN) \
210
+		$(PKG_INSTALL_DIR)/usr/bin/pulseaudio \
211
+		$(1)/usr/bin/pulseaudio
212
+
213
+	$(INSTALL_BIN) \
214
+		./files/pulseaudio.init \
215
+		$(1)/etc/init.d/pulseaudio
216
+
217
+	$(INSTALL_CONF) \
218
+		$(PKG_INSTALL_DIR)/etc/pulse/* \
219
+		$(1)/etc/pulse
220
+
221
+	$(CP) \
222
+		$(PKG_INSTALL_DIR)/usr/lib/*.so* \
223
+		$(1)/usr/lib/
224
+
225
+	$(CP) \
226
+		$(PKG_INSTALL_DIR)/usr/lib/pulseaudio/* \
227
+		$(1)/usr/lib/pulseaudio/
228
+
229
+	$(CP) \
230
+		$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/lib*.so \
231
+		$(1)/usr/lib/
232
+
233
+	$(CP) \
234
+		$(PKG_INSTALL_DIR)/usr/lib/pulse-$(PKG_VERSION)/modules/module*.so \
235
+		$(1)/usr/lib/pulse-$(PKG_VERSION)/modules/
236
+
237
+	$(INSTALL_CONF) \
238
+		$(PKG_INSTALL_DIR)/etc/dbus-1/system.d/pulseaudio-system.conf \
239
+		$(1)/etc/dbus-1/system.d/pulseaudio-system.conf
240
+
241
+	chmod -R 0644 $(1)/etc/pulse/* $(1)/etc/dbus-1/system.d/pulseaudio-system.conf
242
+endef
243
+
244
+define Package/pulseaudio-tools/install
245
+	$(INSTALL_DIR) \
246
+		$(1)/usr/bin
247
+
248
+	$(INSTALL_BIN) \
249
+		$(PKG_INSTALL_DIR)/usr/bin/pa* \
250
+		$(1)/usr/bin/
251
+endef
252
+
253
+define Package/pulseaudio-profiles/install
254
+	$(INSTALL_DIR) \
255
+		$(1)/usr/share/pulseaudio/alsa-mixer/paths \
256
+		$(1)/usr/share/pulseaudio/alsa-mixer/profile-sets
257
+
258
+	$(INSTALL_CONF) \
259
+		$(PKG_INSTALL_DIR)/usr/share/pulseaudio/alsa-mixer/paths/* \
260
+		$(1)/usr/share/pulseaudio/alsa-mixer/paths
261
+
262
+	$(INSTALL_CONF) \
263
+		$(PKG_INSTALL_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/* \
264
+		$(1)/usr/share/pulseaudio/alsa-mixer/profile-sets
265
+endef
266
+
267
+$(eval $(call BuildPackage,pulseaudio-daemon))
268
+$(eval $(call BuildPackage,pulseaudio-daemon-avahi))
269
+$(eval $(call BuildPackage,pulseaudio-tools))
270
+$(eval $(call BuildPackage,pulseaudio-profiles))

+ 31
- 0
sound/pulseaudio/files/pulseaudio.init Voir le fichier

@@ -0,0 +1,31 @@
1
+#!/bin/sh /etc/rc.common
2
+# Copyright (C) 2011 OpenWrt.org
3
+
4
+START=65
5
+STOP=65
6
+
7
+USE_PROCD=1
8
+PROG=/usr/bin/pulseaudio
9
+
10
+start_service() {
11
+	user_exists pulse 51 || user_add pulse 51
12
+	group_exists pulse 51 || group_add pulse 51
13
+	[ -d /var/run/pulse ] || {
14
+		mkdir -m 0755 -p /var/run/pulse
15
+		chmod 0750 /var/run/pulse
16
+		chown pulse:pulse /var/run/pulse
17
+	}
18
+	[ -d /var/lib/pulse ] || {
19
+		mkdir -m 0755 -p /var/lib/pulse
20
+		chmod 0750 /var/lib/pulse
21
+		chown pulse:pulse /var/lib/pulse
22
+	}
23
+
24
+	chown root:pulse /dev/snd/* /dev/mixer /dev/dsp
25
+	chmod 664 /dev/snd/* /dev/mixer /dev/dsp
26
+
27
+	procd_open_instance
28
+	procd_set_param command $PROG --system --disallow-exit --disallow-module-loading --disable-shm --exit-idle-time=-1 --realtime=false
29
+	procd_close_instance
30
+}
31
+

+ 11
- 0
sound/pulseaudio/patches/001-no_default_64mb_alloc.patch Voir le fichier

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