Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 484252 | Differences between
and this patch

Collapse All | Expand All

(-)pulseaudio-4.0.ebuild (-57 / +117 lines)
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
	abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1
63
		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] )
62
	>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used
64
	>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used
63
65
64
DEPEND="${RDEPEND}
66
DEPEND="${RDEPEND}
Lines 66-73 DEPEND="${RDEPEND} Link Here
66
	doc? ( app-doc/doxygen )
68
	doc? ( app-doc/doxygen )
67
	test? ( dev-libs/check )
69
	test? ( dev-libs/check )
68
	X? (
70
	X? (
69
		x11-proto/xproto
71
		x11-proto/xproto[${MULTILIB_USEDEP}]
70
		>=x11-libs/libXtst-1.0.99.2
72
		>=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}]
71
	)
73
	)
72
	dev-libs/libatomic_ops
74
	dev-libs/libatomic_ops
73
	virtual/pkgconfig
75
	virtual/pkgconfig
Lines 105-151 src_prepare() { Link Here
105
	epatch_user
107
	epatch_user
106
}
108
}
107
109
108
src_configure() {
110
multilib_src_configure() {
111
	local myconf=()
112
109
	if use gdbm; then
113
	if use gdbm; then
110
		myconf+=" --with-database=gdbm"
114
		myconf+=( --with-database=gdbm )
111
	#elif use tdb; then
115
	#elif use tdb; then
112
	#	myconf+=" --with-database=tdb"
116
	#	myconf+=( --with-database=tdb )
113
	else
117
	else
114
		myconf+=" --with-database=simple"
118
		myconf+=( --with-database=simple )
115
	fi
119
	fi
116
120
117
	econf \
121
	myconf+=(
118
		--enable-largefile \
122
		--enable-largefile
119
		$(use_enable glib glib2) \
123
		$(use_enable glib glib2)
120
		--disable-solaris \
124
		--disable-solaris
121
		$(use_enable asyncns) \
125
		$(use_enable asyncns)
122
		$(use_enable oss oss-output) \
126
		$(use_enable oss oss-output)
123
		$(use_enable alsa) \
127
		$(use_enable alsa)
124
		$(use_enable lirc) \
128
		$(use_enable lirc)
125
		$(use_enable neon neon-opt) \
129
		$(use_enable neon neon-opt)
126
		$(use_enable tcpd tcpwrap) \
130
		$(use_enable tcpd tcpwrap)
127
		$(use_enable jack) \
131
		$(use_enable jack)
128
		$(use_enable avahi) \
132
		$(use_enable avahi)
129
		$(use_enable dbus) \
133
		$(use_enable dbus)
130
		$(use_enable gnome gconf) \
134
		$(use_enable gnome gconf)
131
		$(use_enable gtk gtk3) \
135
		$(use_enable gtk gtk3)
132
		$(use_enable libsamplerate samplerate) \
136
		$(use_enable libsamplerate samplerate)
133
		$(use_enable bluetooth bluez) \
137
		$(use_enable bluetooth bluez)
134
		$(use_enable X x11) \
138
		$(use_enable X x11)
135
		$(use_enable test default-build-tests) \
139
		$(use_enable test default-build-tests)
136
		$(use_enable udev) \
140
		$(use_enable udev)
137
		$(use_enable systemd) \
141
		$(use_enable systemd)
138
		$(use_enable ipv6) \
142
		$(use_enable ipv6)
139
		$(use_enable ssl openssl) \
143
		$(use_enable ssl openssl)
140
		$(use_enable webrtc-aec) \
144
		$(use_enable webrtc-aec)
141
		$(use_enable xen) \
145
		$(use_enable xen)
142
		$(use_with caps) \
146
		$(use_with caps)
143
		$(use_with equalizer fftw) \
147
		$(use_with equalizer fftw)
144
		--disable-adrian-aec \
148
		--disable-adrian-aec
145
		--disable-esound \
149
		--disable-esound
146
		--localstatedir="${EPREFIX}"/var \
150
		--localstatedir="${EPREFIX}"/var
147
		--with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d \
151
		--with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d
148
		${myconf}
152
	)
153
154
	if ! multilib_build_binaries; then
155
		# disable all the modules and stuff
156
		myconf+=(
157
			--disable-oss-output
158
			--disable-alsa
159
			--disable-lirc
160
			--disable-jack
161
			--disable-avahi
162
			--disable-gconf
163
			--disable-gtk3
164
			--disable-samplerate
165
			--disable-bluez
166
			--disable-udev
167
			--disable-systemd
168
			--disable-openssl
169
			--disable-webrtc-aec
170
			--disable-xen
171
			--without-fftw
172
173
			# tests involve random modules, so just do them for the native
174
			--disable-default-build-tests
175
176
			# hack around unnecessary checks
177
			# (results don't matter, we're not building anything using it)
178
			ac_cv_lib_ltdl_lt_dladvise_init=yes
179
			--with-database=simple
180
		)
181
	fi
182
183
	ECONF_SOURCE=${S} \
184
	econf "${myconf[@]}"
185
}
186
187
multilib_src_compile() {
188
	if multilib_build_binaries; then
189
		emake
190
	else
191
		emake -C src libpulse{,-simple,-mainloop-glib}.la
192
	fi
193
}
194
195
src_compile() {
196
	multilib-minimal_src_compile
149
197
150
	if use doc; then
198
	if use doc; then
151
		pushd doxygen
199
		pushd doxygen
Lines 154-169 src_configure() { Link Here
154
	fi
202
	fi
155
}
203
}
156
204
157
src_test() {
205
multilib_src_test() {
158
	# We avoid running the toplevel check target because that will run
206
	# We avoid running the toplevel check target because that will run
159
	# po/'s tests too, and they are broken. Officially, it should work
207
	# 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.
208
	# with intltool 0.41, but that doesn't look like a stable release.
161
	emake -C src check
209
	if multilib_build_binaries; then
210
		emake -C src check
211
	fi
162
}
212
}
163
213
164
src_install() {
214
multilib_src_install() {
165
	emake -j1 DESTDIR="${D}" install
215
	if multilib_build_binaries; then
216
		emake -j1 DESTDIR="${D}" install
217
	else
218
		emake DESTDIR="${D}" install-pkgconfigDATA
219
		emake DESTDIR="${D}" -C src \
220
			install-libLTLIBRARIES \
221
			lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \
222
			install-pulseincludeHEADERS
223
	fi
224
}
166
225
226
multilib_src_install_all() {
167
	# Drop the script entirely if X is disabled
227
	# Drop the script entirely if X is disabled
168
	use X || rm "${ED}"/usr/bin/start-pulseaudio-x11
228
	use X || rm "${ED}"/usr/bin/start-pulseaudio-x11
169
229
Lines 199-205 src_install() { Link Here
199
	# Create the state directory
259
	# Create the state directory
200
	use prefix || diropts -o pulse -g pulse -m0755
260
	use prefix || diropts -o pulse -g pulse -m0755
201
261
202
	find "${D}" -name '*.la' -delete
262
	prune_libtool_files --all
203
}
263
}
204
264
205
pkg_postinst() {
265
pkg_postinst() {

Return to bug 484252