Lines 4-10
Link Here
|
4 |
|
4 |
|
5 |
EAPI="5" |
5 |
EAPI="5" |
6 |
|
6 |
|
7 |
inherit eutils flag-o-matic user versionator udev |
7 |
inherit eutils flag-o-matic multilib-minimal user versionator udev |
8 |
|
8 |
|
9 |
DESCRIPTION="A networked sound server with an advanced plugin system" |
9 |
DESCRIPTION="A networked sound server with an advanced plugin system" |
10 |
HOMEPAGE="http://www.pulseaudio.org/" |
10 |
HOMEPAGE="http://www.pulseaudio.org/" |
Lines 17-45
SRC_URI="http://freedesktop.org/software
Link Here
|
17 |
# GPL-forcing USE flags for those who use them. |
17 |
# GPL-forcing USE flags for those who use them. |
18 |
LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" |
18 |
LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" |
19 |
SLOT="0" |
19 |
SLOT="0" |
20 |
KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" |
20 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" |
21 |
IUSE="+alsa +asyncns avahi bluetooth +caps dbus doc equalizer +gdbm +glib gnome |
21 |
IUSE="+alsa +asyncns avahi bluetooth +caps dbus doc equalizer +gdbm +glib gnome |
22 |
gtk ipv6 jack libsamplerate lirc neon +orc oss qt4 realtime ssl systemd |
22 |
gtk ipv6 jack libsamplerate lirc neon +orc oss qt4 realtime ssl systemd |
23 |
system-wide tcpd test +udev +webrtc-aec +X xen" |
23 |
system-wide tcpd test +udev +webrtc-aec +X xen" |
24 |
|
24 |
|
25 |
RDEPEND=">=media-libs/libsndfile-1.0.20 |
25 |
RDEPEND=">=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] |
26 |
X? ( |
26 |
X? ( |
27 |
>=x11-libs/libX11-1.4.0 |
27 |
>=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] |
28 |
>=x11-libs/libxcb-1.6 |
28 |
>=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] |
29 |
>=x11-libs/xcb-util-0.3.1 |
29 |
>=x11-libs/xcb-util-0.3.1 |
30 |
x11-libs/libSM |
30 |
x11-libs/libSM[${MULTILIB_USEDEP}] |
31 |
x11-libs/libICE |
31 |
x11-libs/libICE[${MULTILIB_USEDEP}] |
32 |
x11-libs/libXtst |
32 |
x11-libs/libXtst[${MULTILIB_USEDEP}] |
33 |
) |
33 |
) |
34 |
caps? ( sys-libs/libcap ) |
34 |
caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) |
35 |
libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) |
35 |
libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) |
36 |
alsa? ( >=media-libs/alsa-lib-1.0.19 ) |
36 |
alsa? ( >=media-libs/alsa-lib-1.0.19 ) |
37 |
glib? ( >=dev-libs/glib-2.4.0 ) |
37 |
glib? ( >=dev-libs/glib-2.4.0[${MULTILIB_USEDEP}] ) |
38 |
avahi? ( >=net-dns/avahi-0.6.12[dbus] ) |
38 |
avahi? ( >=net-dns/avahi-0.6.12[dbus] ) |
39 |
jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) |
39 |
jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) |
40 |
tcpd? ( sys-apps/tcp-wrappers ) |
40 |
tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) |
41 |
lirc? ( app-misc/lirc ) |
41 |
lirc? ( app-misc/lirc ) |
42 |
dbus? ( >=sys-apps/dbus-1.0.0 ) |
42 |
dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) |
43 |
gtk? ( x11-libs/gtk+:3 ) |
43 |
gtk? ( x11-libs/gtk+:3 ) |
44 |
gnome? ( >=gnome-base/gconf-2.4.0 ) |
44 |
gnome? ( >=gnome-base/gconf-2.4.0 ) |
45 |
bluetooth? ( |
45 |
bluetooth? ( |
Lines 47-53
RDEPEND=">=media-libs/libsndfile-1.0.20
Link Here
|
47 |
>=sys-apps/dbus-1.0.0 |
47 |
>=sys-apps/dbus-1.0.0 |
48 |
media-libs/sbc |
48 |
media-libs/sbc |
49 |
) |
49 |
) |
50 |
asyncns? ( net-libs/libasyncns ) |
50 |
asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] ) |
51 |
udev? ( >=virtual/udev-143[hwdb(+)] ) |
51 |
udev? ( >=virtual/udev-143[hwdb(+)] ) |
52 |
realtime? ( sys-auth/rtkit ) |
52 |
realtime? ( sys-auth/rtkit ) |
53 |
equalizer? ( sci-libs/fftw:3.0 ) |
53 |
equalizer? ( sci-libs/fftw:3.0 ) |
Lines 58-64
RDEPEND=">=media-libs/libsndfile-1.0.20
Link Here
|
58 |
webrtc-aec? ( media-libs/webrtc-audio-processing ) |
58 |
webrtc-aec? ( media-libs/webrtc-audio-processing ) |
59 |
xen? ( app-emulation/xen ) |
59 |
xen? ( app-emulation/xen ) |
60 |
systemd? ( >=sys-apps/systemd-39 ) |
60 |
systemd? ( >=sys-apps/systemd-39 ) |
61 |
dev-libs/json-c |
61 |
dev-libs/json-c[${MULTILIB_USEDEP}] |
62 |
>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used |
62 |
>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used |
63 |
|
63 |
|
64 |
DEPEND="${RDEPEND} |
64 |
DEPEND="${RDEPEND} |
Lines 66-73
DEPEND="${RDEPEND}
Link Here
|
66 |
doc? ( app-doc/doxygen ) |
66 |
doc? ( app-doc/doxygen ) |
67 |
test? ( dev-libs/check ) |
67 |
test? ( dev-libs/check ) |
68 |
X? ( |
68 |
X? ( |
69 |
x11-proto/xproto |
69 |
x11-proto/xproto[${MULTILIB_USEDEP}] |
70 |
>=x11-libs/libXtst-1.0.99.2 |
70 |
>=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] |
71 |
) |
71 |
) |
72 |
dev-libs/libatomic_ops |
72 |
dev-libs/libatomic_ops |
73 |
virtual/pkgconfig |
73 |
virtual/pkgconfig |
Lines 105-151
src_prepare() {
Link Here
|
105 |
epatch_user |
105 |
epatch_user |
106 |
} |
106 |
} |
107 |
|
107 |
|
108 |
src_configure() { |
108 |
multilib_src_configure() { |
|
|
109 |
local myconf=() |
110 |
|
109 |
if use gdbm; then |
111 |
if use gdbm; then |
110 |
myconf+=" --with-database=gdbm" |
112 |
myconf+=( --with-database=gdbm ) |
111 |
#elif use tdb; then |
113 |
#elif use tdb; then |
112 |
# myconf+=" --with-database=tdb" |
114 |
# myconf+=( --with-database=tdb ) |
113 |
else |
115 |
else |
114 |
myconf+=" --with-database=simple" |
116 |
myconf+=( --with-database=simple ) |
115 |
fi |
117 |
fi |
116 |
|
118 |
|
117 |
econf \ |
119 |
myconf+=( |
118 |
--enable-largefile \ |
120 |
--enable-largefile |
119 |
$(use_enable glib glib2) \ |
121 |
$(use_enable glib glib2) |
120 |
--disable-solaris \ |
122 |
--disable-solaris |
121 |
$(use_enable asyncns) \ |
123 |
$(use_enable asyncns) |
122 |
$(use_enable oss oss-output) \ |
124 |
$(use_enable oss oss-output) |
123 |
$(use_enable alsa) \ |
125 |
$(use_enable alsa) |
124 |
$(use_enable lirc) \ |
126 |
$(use_enable lirc) |
125 |
$(use_enable neon neon-opt) \ |
127 |
$(use_enable neon neon-opt) |
126 |
$(use_enable tcpd tcpwrap) \ |
128 |
$(use_enable tcpd tcpwrap) |
127 |
$(use_enable jack) \ |
129 |
$(use_enable jack) |
128 |
$(use_enable avahi) \ |
130 |
$(use_enable avahi) |
129 |
$(use_enable dbus) \ |
131 |
$(use_enable dbus) |
130 |
$(use_enable gnome gconf) \ |
132 |
$(use_enable gnome gconf) |
131 |
$(use_enable gtk gtk3) \ |
133 |
$(use_enable gtk gtk3) |
132 |
$(use_enable libsamplerate samplerate) \ |
134 |
$(use_enable libsamplerate samplerate) |
133 |
$(use_enable bluetooth bluez) \ |
135 |
$(use_enable bluetooth bluez) |
134 |
$(use_enable X x11) \ |
136 |
$(use_enable X x11) |
135 |
$(use_enable test default-build-tests) \ |
137 |
$(use_enable test default-build-tests) |
136 |
$(use_enable udev) \ |
138 |
$(use_enable udev) |
137 |
$(use_enable systemd) \ |
139 |
$(use_enable systemd) |
138 |
$(use_enable ipv6) \ |
140 |
$(use_enable ipv6) |
139 |
$(use_enable ssl openssl) \ |
141 |
$(use_enable ssl openssl) |
140 |
$(use_enable webrtc-aec) \ |
142 |
$(use_enable webrtc-aec) |
141 |
$(use_enable xen) \ |
143 |
$(use_enable xen) |
142 |
$(use_with caps) \ |
144 |
$(use_with caps) |
143 |
$(use_with equalizer fftw) \ |
145 |
$(use_with equalizer fftw) |
144 |
--disable-adrian-aec \ |
146 |
--disable-adrian-aec |
145 |
--disable-esound \ |
147 |
--disable-esound |
146 |
--localstatedir="${EPREFIX}"/var \ |
148 |
--localstatedir="${EPREFIX}"/var |
147 |
--with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d \ |
149 |
--with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d |
148 |
${myconf} |
150 |
) |
|
|
151 |
|
152 |
if ! multilib_build_binaries; then |
153 |
# disable all the modules and stuff |
154 |
myconf+=( |
155 |
--disable-oss-output |
156 |
--disable-alsa |
157 |
--disable-lirc |
158 |
--disable-jack |
159 |
--disable-avahi |
160 |
--disable-gconf |
161 |
--disable-gtk3 |
162 |
--disable-samplerate |
163 |
--disable-bluez |
164 |
--disable-udev |
165 |
--disable-systemd |
166 |
--disable-openssl |
167 |
--disable-webrtc-aec |
168 |
--disable-xen |
169 |
--without-fftw |
170 |
|
171 |
# tests involve random modules, so just do them for the native |
172 |
--disable-default-build-tests |
173 |
) |
174 |
fi |
175 |
|
176 |
ECONF_SOURCE=${S} \ |
177 |
econf "${myconf[@]}" |
178 |
} |
179 |
|
180 |
multilib_src_compile() { |
181 |
if multilib_build_binaries; then |
182 |
emake |
183 |
else |
184 |
emake -C src libpulse{,-simple,-mainloop-glib}.la |
185 |
fi |
186 |
} |
187 |
|
188 |
src_compile() { |
189 |
multilib-minimal_src_compile |
149 |
|
190 |
|
150 |
if use doc; then |
191 |
if use doc; then |
151 |
pushd doxygen |
192 |
pushd doxygen |
Lines 154-169
src_configure() {
Link Here
|
154 |
fi |
195 |
fi |
155 |
} |
196 |
} |
156 |
|
197 |
|
157 |
src_test() { |
198 |
multilib_src_test() { |
158 |
# We avoid running the toplevel check target because that will run |
199 |
# We avoid running the toplevel check target because that will run |
159 |
# po/'s tests too, and they are broken. Officially, it should work |
200 |
# po/'s tests too, and they are broken. Officially, it should work |
160 |
# with intltool 0.41, but that doesn't look like a stable release. |
201 |
# with intltool 0.41, but that doesn't look like a stable release. |
161 |
emake -C src check |
202 |
if multilib_build_binaries; then |
|
|
203 |
emake -C src check |
204 |
fi |
162 |
} |
205 |
} |
163 |
|
206 |
|
164 |
src_install() { |
207 |
multilib_src_install() { |
165 |
emake -j1 DESTDIR="${D}" install |
208 |
if multilib_build_binaries; then |
|
|
209 |
emake -j1 DESTDIR="${D}" install |
210 |
else |
211 |
emake DESTDIR="${D}" install-pkgconfigDATA |
212 |
emake DESTDIR="${D}" -C src \ |
213 |
install-libLTLIBRARIES \ |
214 |
lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \ |
215 |
install-pulseincludeHEADERS |
216 |
fi |
217 |
} |
166 |
|
218 |
|
|
|
219 |
multilib_src_install_all() { |
167 |
# Drop the script entirely if X is disabled |
220 |
# Drop the script entirely if X is disabled |
168 |
use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 |
221 |
use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 |
169 |
|
222 |
|
Lines 199-205
src_install() {
Link Here
|
199 |
# Create the state directory |
252 |
# Create the state directory |
200 |
use prefix || diropts -o pulse -g pulse -m0755 |
253 |
use prefix || diropts -o pulse -g pulse -m0755 |
201 |
|
254 |
|
202 |
find "${D}" -name '*.la' -delete |
255 |
prune_libtool_files --all |
203 |
} |
256 |
} |
204 |
|
257 |
|
205 |
pkg_postinst() { |
258 |
pkg_postinst() { |