Magellan Linux

Contents of /smage/trunk/extras/pulseaudio/pulseaudio-5.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5835 - (show annotations) (download)
Fri Jul 18 11:52:55 2014 UTC (9 years, 9 months ago) by niro
File size: 7427 byte(s)
-no need to expand $MLIBDIR
1 # $Id$
2
3 PNAME="pulseaudio"
4 PVER="5.0"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="libpulse
8 pulseaudio
9 pulseaudio-alsa
10 pulseaudio-esound
11 pulseaudio-utils
12 pulseaudio-x11"
13
14 PCAT="media-sound"
15
16 HOMEPAGE="http://www.pulseaudio.org/"
17
18 LIBPULSE_DEPEND=">= virtual/glibc
19 >= dev-libs/glib2-2.38
20 >= dev-libs/json-c-0.11
21 >= x11-libs/libSM-1
22 >= x11-libs/libICE-1
23 >= x11-libs/libXtst-1.2
24 >= x11-libs/libX11-1.6
25 >= x11-libs/libxcb-1.10
26 >= sys-libs/libcap-2.24
27 >= sys-libs/dbus-libs-1.8
28 >= sys-libs/libsystemd-id128-210
29 >= sys-libs/libsystemd-journal-210
30 >= media-libs/libsndfile-1.0.25"
31
32 COMMON_DEPEND=">= sys-fs/libudev-210
33 >= sys-libs/libsystemd-login-210
34 >= media-libs/libsamplerate-0.1.8
35 >= media-libs/speex-1.2
36 >= dev-libs/liborc-0.4
37 >= sys-libs/libltdl-2.4"
38 # todo rtkit deamon for realtime support ?
39
40 ALSA_DEPEND=">= media-libs/alsa-lib-1.0.27"
41
42 SDEPEND="${LIBPULSE_DEPEND}
43 ${COMMON_DEPEND}
44 ${ALSA_DEPEND}
45 >= x11-proto/xproto-7
46 >= dev-util/pkgconfig-0.25
47 >= dev-util/intltool-0.50
48 >= sys-dev/libtool-2.4"
49
50 SRCFILE="${PNAME}-${PVER}.tar.xz"
51 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
52
53 sminclude mtools multilib cleanutils udev
54 msetfeature "!check"
55
56 SRC_URI=(
57 http://freedesktop.org/software/${PNAME}/releases/${SRCFILE}
58 mirror://${PNAME}/${SRCFILE}
59 )
60
61 UP2DATE="updatecmd 'http://freedesktop.org/software/pulseaudio/releases/?C=M;O=A' | lasttarball xz"
62
63 split_info_libpulse()
64 {
65 DESCRIPTION="Libraries for PulseAudio clients."
66 DEPEND="${LIBPULSE_DEPEND}"
67 }
68
69 split_info_pulseaudio()
70 {
71 DESCRIPTION="A networked sound server with an advanced plugin system."
72 DEPEND="== media-sound/libpulse-${PVER}
73 ${COMMON_DEPEND}"
74 }
75
76 split_info_pulseaudio-alsa()
77 {
78 DESCRIPTION="ALSA support for the PulseAudio sound server."
79 DEPEND="== media-sound/libpulse-${PVER}
80 == media-sound/pulseaudio-${PVER}
81 ${ALSA_DEPEND}"
82 }
83
84 split_info_pulseaudio-esound()
85 {
86 DESCRIPTION="PulseAudio EsounD daemon compatibility script."
87 DEPEND="== media-sound/libpulse-${PVER}
88 == media-sound/pulseaudio-${PVER}"
89 }
90
91 split_info_pulseaudio-x11()
92 {
93 DESCRIPTION="X11 support for the PulseAudio sound server."
94 DEPEND="== media-sound/libpulse-${PVER}
95 == media-sound/pulseaudio-${PVER}
96 == media-sound/pulseaudio-utils-${PVER}"
97 }
98
99 split_info_pulseaudio-utils()
100 {
101 DESCRIPTION="PulseAudio sound server utilities."
102 DEPEND="== media-sound/libpulse-${PVER}
103 == media-sound/pulseaudio-${PVER}"
104 }
105
106 src_prepare()
107 {
108 munpack ${SRCFILE} || die
109
110 # fix /var/run -> /run
111 all-abis "sed -i 's:^\(PA_SYSTEM_RUNTIME_PATH=\).*:\1\"/run/pulse\":' configure.ac || die"
112
113 # configure rebuild taken from bootstrap.sh
114 all-abis "autopoint --force"
115 AUTOPOINT='intltoolize --automake --copy' mautoreconf || die
116 }
117
118 src_compile()
119 {
120 mconfigure \
121 --libexecdir=/usr/'$(mlibdir)'/pulse-${PVER} \
122 --localstatedir=/var \
123 --with-udev-rules-dir=$(mget-udev-rules-dir) \
124 --with-database=simple \
125 --with-caps \
126 --disable-per-user-esound-socket \
127 --disable-solaris \
128 --disable-hal \
129 --disable-rpath \
130 --enable-largefile \
131 --enable-glib2 \
132 --enable-udev \
133 --enable-dbus \
134 --enable-alsa \
135 --enable-samplerate \
136 --enable-ipv6 \
137 --disable-avahi \
138 --disable-tcpwrap \
139 --enable-x11 \
140 --disable-openssl \
141 --disable-bluez5 \
142 --disable-bluez4 \
143 --enable-systemd \
144 --disable-asyncns \
145 --disable-oss-output \
146 --disable-lirc \
147 --disable-jack \
148 --disable-gconf \
149 --disable-default-build-tests \
150 || die
151
152 mmake || die
153 }
154
155 src_install_libpulse()
156 {
157 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
158
159 mmake -j1 DESTDIR=${BINDIR} install || die
160 zapmost ${BINDIR} \
161 etc/pulse/client.conf \
162 usr/include \
163 usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* usr/$(mlibdir)/*.la usr/$(mlibdir)/cmake usr/$(mlibdir)/pkgconfig usr/$(mlibdir)/pulseaudio \
164 $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so usr/lib/*.so.* usr/lib/*.la usr/lib/cmake usr/lib/pkgconfig usr/lib/pulseaudio") \
165 usr/share/vala \
166 usr/share/man/man5/pulse-client.conf.5 \
167 || die
168
169 # remove libpulsecore and libpulsedsp
170 rm ${BINDIR}/usr/$(mlibdir)/libpulsecore-${major_pver}.* || die
171 if [[ $(mlibdir) != lib ]]
172 then
173 rm ${BINDIR}/usr/lib/libpulsecore-${major_pver}.* || die
174 fi
175 }
176
177 src_install_pulseaudio()
178 {
179 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
180
181 mmake -j1 DESTDIR=${BINDIR} install || die
182
183 # make avahi support optional
184 sed -i '/load-module\ module-zeroconf-publish/s:^#::' ${BINDIR}/etc/pulse/default.pa || die
185 sed -i $'/load-module\ module-zeroconf-publish/{i.ifexists\ module-zeroconf-publish.so\n;a.endif\n;}' ${BINDIR}/etc/pulse/default.pa || die
186
187 # disable consolekit, use systemd
188 sed -i '/load-module\ module-console-kit/s:^:#:' ${BINDIR}/etc/pulse/default.pa || die
189
190 zapmost ${BINDIR} \
191 etc/pulse/daemon.conf \
192 etc/pulse/*.pa \
193 etc/dbus-1 \
194 usr/bin/pulseaudio \
195 usr/$(mlibdir)/libpulsecore-*.* \
196 usr/$(mlibdir)/pulse-${major_pver}/modules \
197 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libpulsecore-*.*
198 usr/lib/pulse-${major_pver}/modules") \
199 usr/share/locale \
200 usr/share/man/man1/pulseaudio.1 \
201 usr/share/man/man5/default.pa.5 \
202 usr/share/man/man5/pulse-daemon.conf.5 \
203 $(mget-udev-dir) \
204 || die
205
206 # remove modules which are in other packages
207 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* || die
208 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*esound* || die
209 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* || die
210 if [[ $(mlibdir) != lib ]]
211 then
212 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*alsa* || die
213 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*esound* || die
214 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*x11* || die
215 fi
216
217 # state dir
218 mkeepdir /run/pulse || die
219 mchown pulse.pulse /run/pulse || die
220 }
221
222 src_install_pulseaudio-alsa()
223 {
224 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
225
226 mmake -j1 DESTDIR=${BINDIR} install || die
227
228 zapmost ${BINDIR} \
229 usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* \
230 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*alsa*") \
231 usr/share/pulseaudio/alsa-mixer \
232 || die
233 }
234
235 src_install_pulseaudio-esound()
236 {
237 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
238
239 mmake -j1 DESTDIR=${BINDIR} install || die
240
241 zapmost ${BINDIR} \
242 usr/bin/esdcompat \
243 usr/$(mlibdir)/pulse-${major_pver}/modules/*esound* \
244 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*esound*") \
245 usr/share/man/man1/esdcompat.1 \
246 || die
247 }
248
249 src_install_pulseaudio-x11()
250 {
251 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
252
253 mmake -j1 DESTDIR=${BINDIR} install || die
254
255 zapmost ${BINDIR} \
256 etc/xdg \
257 usr/bin/start-pulseaudio* \
258 usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* \
259 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*x11*") \
260 usr/share/man/man1/start-pulseaudio* \
261 || die
262 }
263
264 src_install_pulseaudio-utils()
265 {
266 mmake -j1 DESTDIR=${BINDIR} install || die
267
268 zapmost ${BINDIR} \
269 usr/bin/pa* \
270 usr/share/man/man1/pa* \
271 || die
272 }
273
274 preinstall_pulseaudio()
275 {
276 # adding pulse user
277 mgroupadd -o "-g 11" audio
278 mgroupadd pulse-access
279 mgroupadd pulse
280 museradd -o "-g pulse -G audio -d /run/pulse -s /bin/false" pulse
281 }
282
283 postinstall_pulseaudio()
284 {
285 if [[ -z $(magequery -n alsa-plugins) ]]
286 then
287 echo "You have alsa support enabled so you probably want to install"
288 echo "'media-sound/alsa-plugins' with pulseaudio support to have"
289 echo "alsa using applications route their sound through pulseaudio."
290 fi
291 }