Magellan Linux

Contents of /smage/branches/alx07x-unstable/extras/pulseaudio/pulseaudio-13.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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