summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/pulseaudio/pulseaudio-9999.ebuild190
1 files changed, 190 insertions, 0 deletions
diff --git a/media-sound/pulseaudio/pulseaudio-9999.ebuild b/media-sound/pulseaudio/pulseaudio-9999.ebuild
new file mode 100644
index 0000000..7e27dd4
--- /dev/null
+++ b/media-sound/pulseaudio/pulseaudio-9999.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.21.ebuild,v 1.4 2010/09/21 22:36:43 abcd Exp $
+
+EAPI=2
+
+inherit eutils libtool flag-o-matic git
+
+DESCRIPTION="A networked sound server with an advanced plugin system"
+HOMEPAGE="http://www.pulseaudio.org/"
+
+EGIT_REPO_URI="git://git.0pointer.de/pulseaudio.git"
+
+S="${WORKDIR}/${P/_rc/-test}"
+
+LICENSE="LGPL-2 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="+alsa avahi +caps jack lirc oss tcpd +X hal dbus libsamplerate gnome bluetooth +asyncns +glib test doc +udev ipv6"
+
+RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst )
+ caps? ( sys-libs/libcap )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 )
+ alsa? ( >=media-libs/alsa-lib-1.0.19 )
+ glib? ( >=dev-libs/glib-2.4.0 )
+ avahi? ( >=net-dns/avahi-0.6.12[dbus] )
+ >=dev-libs/liboil-0.3.0
+ jack? ( >=media-sound/jack-audio-connection-kit-0.100 )
+ tcpd? ( sys-apps/tcp-wrappers )
+ lirc? ( app-misc/lirc )
+ dbus? ( >=sys-apps/dbus-1.0.0 )
+ gnome? ( >=gnome-base/gconf-2.4.0 )
+ hal? (
+ >=sys-apps/hal-0.5.11
+ >=sys-apps/dbus-1.0.0
+ )
+ app-admin/eselect-esd
+ bluetooth? (
+ >=net-wireless/bluez-4
+ >=sys-apps/dbus-1.0.0
+ )
+ asyncns? ( net-libs/libasyncns )
+ udev? ( >=sys-fs/udev-143[extras] )
+ >=media-libs/audiofile-0.2.6-r1
+ >=media-libs/speex-1.2_beta
+ >=media-libs/libsndfile-1.0.20
+ >=dev-libs/liboil-0.3.6
+ sys-libs/gdbm
+ >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ X? (
+ x11-proto/xproto
+ || ( >=x11-libs/libXtst-1.0.99.2 <x11-proto/xextproto-7.0.99 )
+ )
+ dev-libs/libatomic_ops
+ dev-util/pkgconfig
+ dev-util/intltool"
+
+RDEPEND="${RDEPEND}
+ gnome-extra/gnome-audio"
+
+pkg_setup() {
+ enewgroup audio 18 # Just make sure it exists
+ enewgroup realtime
+ enewgroup pulse-access
+ enewgroup pulse
+ enewuser pulse -1 -1 /var/run/pulse pulse,audio
+
+ if use udev && use hal; then
+ elog "Please note that enabling both udev and hal will build both"
+ elog "discover modules, but only udev will be used automatically."
+ elog "If you wish to use hal you have to enable it explicitly"
+ elog "or you might just disable the hal USE flag entirely."
+ fi
+}
+
+src_unpack() {
+ git_src_unpack
+ cd ${WORKDIR}/${PN}-${PV}
+ sh ./autogen.sh
+}
+
+src_prepare() {
+ elibtoolize
+}
+
+src_configure() {
+ # It's a binutils bug, once I can find time to fix that I'll add a
+ # proper dependency and fix this up. — flameeyes
+ append-ldflags $(no-as-needed)
+
+ econf \
+ --enable-largefile \
+ $(use_enable glib glib2) \
+ --disable-solaris \
+ $(use_enable asyncns) \
+ $(use_enable oss oss-output) \
+ $(use_enable alsa) \
+ $(use_enable lirc) \
+ $(use_enable tcpd tcpwrap) \
+ $(use_enable jack) \
+ $(use_enable lirc) \
+ $(use_enable avahi) \
+ $(use_enable hal) \
+ $(use_enable dbus) \
+ $(use_enable gnome gconf) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable bluetooth bluez) \
+ $(use_enable X x11) \
+ $(use_enable test default-build-tests) \
+ $(use_enable udev) \
+ $(use_enable ipv6) \
+ $(use_with caps) \
+ --localstatedir=/var \
+ --with-realtime-group=realtime \
+ --disable-per-user-esound-socket \
+ || die "econf failed"
+
+ if use doc; then
+ pushd doxygen
+ doxygen doxygen.conf || die
+ popd
+ fi
+}
+
+src_test() {
+ # We avoid running the toplevel check target because that will run
+ # po/'s tests too, and they are broken. Officially, it should work
+ # with intltool 0.41, but that doesn't look like a stable release.
+ emake -C src check || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ # Drop the script entirely if X is disabled
+ use X || rm "${D}"/usr/bin/start-pulseaudio-x11
+
+ use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa"
+
+ if use hal && ! use udev; then
+ sed -i -e 's:-udev:-hal:' "${D}/etc/pulse/default.pa" || die
+ fi
+
+ dodoc README ChangeLog todo || die
+
+ if use doc; then
+ pushd doxygen/html
+ dohtml * || die
+ popd
+ fi
+
+ # Create the state directory
+ diropts -o pulse -g pulse -m0755
+ keepdir /var/run/pulse
+
+ find "${D}" -name '*.la' -delete
+}
+
+pkg_postinst() {
+ elog "If you want to make use of realtime capabilities of PulseAudio"
+ elog "you should follow the realtime guide to create and set up a realtime"
+ elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml"
+ elog "Make sure you also have baselayout installed with pam USE flag"
+ elog "enabled, if you're using the rlimit method."
+ if use bluetooth; then
+ elog
+ elog "The BlueTooth proximity module is not enabled in the default"
+ elog "configuration file. If you do enable it, you'll have to have"
+ elog "your BlueTooth controller enabled and inserted at bootup or"
+ elog "PulseAudio will refuse to start."
+ elog
+ elog "Please note that the BlueTooth proximity module seems itself"
+ elog "still experimental, so please report to upstream if you have"
+ elog "problems with it."
+ fi
+ if use alsa &&
+ has_version media-plugins/alsa-plugins &&
+ ! has_version "media-plugins/alsa-plugins[pulseaudio]"; then
+
+ elog
+ elog "You have alsa support enabled so you probably want to install"
+ elog "${pkg} with pulseaudio support to have"
+ elog "alsa using applications route their sound through pulseaudio"
+ fi
+
+ eselect esd update --if-unset
+}