Contents of /smage/trunk/extras/pulseaudio/pulseaudio-5.0-r1.smage2
Parent Directory | Revision Log
Revision 5835 -
(show annotations)
(download)
Fri Jul 18 11:52:55 2014 UTC (10 years, 2 months ago) by niro
File size: 7427 byte(s)
Fri Jul 18 11:52:55 2014 UTC (10 years, 2 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 | } |