diff options
author | Bertrand Jacquin <beber@meleeweb.net> | 2013-06-03 23:22:02 +0200 |
---|---|---|
committer | Bertrand Jacquin <beber@meleeweb.net> | 2013-06-04 01:39:23 +0200 |
commit | 991b479ae7cea74d366a6def5eac96a3e872ab9a (patch) | |
tree | e91123c3eab583586a0a6de13765a660eb4eee03 /media-sound/pulseaudio | |
parent | dev-libs/glib: remove old release, patch applied upstream, #268647 (diff) | |
download | portage-991b479ae7cea74d366a6def5eac96a3e872ab9a.tar.xz |
media-sound/pulseaudio: Avoid linking to orc when orc is not in USE
flag, bug #472226
Package-Manager: portage-2.1.12.2
Diffstat (limited to 'media-sound/pulseaudio')
-rw-r--r-- | media-sound/pulseaudio/ChangeLog | 7 | ||||
-rw-r--r-- | media-sound/pulseaudio/Manifest | 7 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch | 28 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio.conf.d | 7 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio.init.d-5 | 81 | ||||
-rw-r--r-- | media-sound/pulseaudio/metadata.xml | 69 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-3.0-r1.ebuild | 237 |
7 files changed, 436 insertions, 0 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog new file mode 100644 index 00000000..07cefd4a --- /dev/null +++ b/media-sound/pulseaudio/ChangeLog @@ -0,0 +1,7 @@ +*pulseaudio-3.0-r1 (03 Jun 2013) + + 03 Jun 2013; Bertrand Jacquin <beber@meleeweb.net> + +files/pulseaudio-3.0-json-c-fix.patch, +files/pulseaudio.conf.d, + +files/pulseaudio.init.d-5, +metadata.xml, +pulseaudio-3.0-r1.ebuild: + media-sound/pulseaudio: Avoid linking to orc when orc is not in USE flag, + bug #472226 diff --git a/media-sound/pulseaudio/Manifest b/media-sound/pulseaudio/Manifest new file mode 100644 index 00000000..5ce81339 --- /dev/null +++ b/media-sound/pulseaudio/Manifest @@ -0,0 +1,7 @@ +AUX pulseaudio-3.0-json-c-fix.patch 829 SHA256 a3b40933454fd84b95d770e499ea010bb63616fea8b4ce1845c87b9a9892dc45 WHIRLPOOL 42899a1b720dbfb7c447981ae51aff8d005ac708221132cfdcc5574aa8fc4820100cc584a93c7aa45fb76f369b726728b09968e5dcbeee60b2e3098ecf456944 +AUX pulseaudio.conf.d 275 SHA256 c03661e8cc902d27ff6b52f291207f2b008957571b942abdd92a873a52aae0dd WHIRLPOOL 60c546c76c6de1d7f5244264829bac13fa5ed3993837e00a93eb6d1ac4ecd8e00d70dd9f5f92f5b6a42b8fb11aaaeb618d5f9a4db5e382ad5d6511c8e26889ba +AUX pulseaudio.init.d-5 2352 SHA256 ef04651cb22da24656ad63ea2e6be790e2d5d3b887f7edae2df66fc9c7bb8a3b WHIRLPOOL 584048645b7203a36ac73830935346370586bb3f0dc7a7d5d54cb9c80a11fa7acb87ee98faf63b4786371fb20634735c9b9c408212d1874890785fd785cfaffe +DIST pulseaudio-3.0.tar.xz 1367468 SHA256 c90bfda29605942d08e3e218ef10e3c660506a06651a616bfbb6a6df8392836d WHIRLPOOL 79813545993c7a6291550a471d5e32826438c72060ca07051a455a23c8695de5e1d30d104bec01ec29552e5e8d72448f393536d5b81c50d6371e29567ba937bc +EBUILD pulseaudio-3.0-r1.ebuild 7019 SHA256 97cc6dbe336efd4fd4560bb1fcbe58c48b41bd88c2af3fbdc931bbd1413a4d20 WHIRLPOOL aca1ee60b13117e476f7cbd354b173f89dfb422ec43f9513465fdb383ac5b04031ee9d285a9b58742471859ff39e15f5320c2fd1477cc552a4197bf54fda54a2 +MISC ChangeLog 317 SHA256 5fc54feae924028ca8fcc510ff8258ae73a00734dcb43bb4ff41c1262d10ee80 WHIRLPOOL 448246b2cbbf054bec3165103096f7780c94237f2a739fc8d910b4bef9404a8e62b2f6a3b29b51c141c67dfa0871419ce480b85b98136a277c28b2afec7fa529 +MISC metadata.xml 2915 SHA256 833bf5b1874232dc37f100f32ad32a4b757d02d96cda0b49596196f4d715ea61 WHIRLPOOL 51605e887017e571800d79394d0515740888c337228dcb89f70389734044553b95043edd7e362b70cd9b1eff0be34a22f37d6a3bc45d41fa102264963e7b00a8 diff --git a/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch b/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch new file mode 100644 index 00000000..e0b027b2 --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio-3.0-json-c-fix.patch @@ -0,0 +1,28 @@ +From 759c0bc6f990240287a14fa6dec029ecea581463 Mon Sep 17 00:00:00 2001 +From: Arun Raghavan <arun.raghavan@collabora.co.uk> +Date: Sat, 27 Apr 2013 08:57:05 +0530 +Subject: [PATCH] build-sys: json-c changed everything :( + +json-c 0.11 ships a pkg-config file with a different name, and changes +the name of its library as well. +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c8161a4..b1bd21a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -624,7 +624,8 @@ AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1]) + + #### json parsing #### + +-PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ]) ++PKG_CHECK_MODULES(LIBJSON, [ json-c >= 0.11 ], [], ++ [PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])]) + AC_SUBST(LIBJSON_CFLAGS) + AC_SUBST(LIBJSON_LIBS) + +-- +1.8.1.2 + diff --git a/media-sound/pulseaudio/files/pulseaudio.conf.d b/media-sound/pulseaudio/files/pulseaudio.conf.d new file mode 100644 index 00000000..1d31d342 --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio.conf.d @@ -0,0 +1,7 @@ +# Config file for /etc/init.d/pulseaudio +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.conf.d,v 1.6 2006/07/29 15:34:18 flameeyes Exp $ + +# For more see "pulseaudio -h". + +# Startup options +PA_OPTS="--log-target=syslog --disallow-module-loading=1" diff --git a/media-sound/pulseaudio/files/pulseaudio.init.d-5 b/media-sound/pulseaudio/files/pulseaudio.init.d-5 new file mode 100644 index 00000000..48347672 --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio.init.d-5 @@ -0,0 +1,81 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.init.d-5,v 1.1 2011/03/27 16:58:49 ssuominen Exp $ + +depend() { + need localmount + use net + + local script="/etc/pulse/system.pa" + + for opt in ${PA_OPTS}; do + case "$opt" in + --file=*) script="${opt#*=}" ;; + -F*) script="${opt#-F}" ;; + esac + done + + config "$script" + + local needs="$(get_options need)" + if [ -n "${needs}" ]; then + need ${needs} + return + fi + + if egrep -q '^[[:space:]]*load-module[[:space:]]+module-console-kit' "$script"; then + needs="${needs} consolekit" + fi + +#ifdef UDEV + if egrep -q '^[[:space:]]*load-module[[:space:]]+module-udev-detect' "$script"; then + needs="${needs} udev" + fi +#endif + +#ifdef AVAHI + if egrep -q '^[[:space:]]*load-module[[:space:]]+module-zeroconf-publish' "$script"; then + needs="${needs} avahi-daemon" + fi +#endif + +#ifdef BLUETOOTH + if egrep -q '^[[:space:]]*load-module[[:space:]]+module-bt-proximity' "$script"; then + needs="${needs} bluetooth" + fi +#endif + +#ifdef ALSA + if egrep -q '^[[:space:]]*load-module[[:space:]]+module-alsa-(sink|source)' "$script" || + egrep -q '^[[:space:]]*load-module[[:space:]]+module-(udev-)?detect' "$script" || + egrep -q '^[[:space:]]*add-autoload-source[[:space:]]+(input|output)[[:space:]]+module-alsa-(sink|source)' "$script"; then + needs="${needs} alsasound" + fi +#endif + + need "${needs}" + save_options need "${needs}" +} + +start() { + if [ -z "${PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE}" ]; then + eerror "Please don't use system wide PulseAudio unless you read the" + eerror "documentation available at http://www.pulseaudio.org/wiki/WhatIsWrongWithSystemMode" + eerror "" + eerror "When you're done, please set the variable PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE in" + eerror "/etc/conf.d/pulseaudio . Please remember that upstream does not support this mode" + eerror "when used for standard desktop configurations." + return 1 + fi + ebegin "Starting pulseaudio" + PA_ALL_OPTS="${PA_OPTS} --fail=1 --daemonize=1 --system" + start-stop-daemon --start --exec /usr/bin/pulseaudio -- ${PA_ALL_OPTS} + eend $? +} + +stop() { + ebegin "Stopping pulseaudio" + start-stop-daemon --stop --quiet --exec /usr/bin/pulseaudio --pidfile /var/run/pulse/pid + eend $? +} diff --git a/media-sound/pulseaudio/metadata.xml b/media-sound/pulseaudio/metadata.xml new file mode 100644 index 00000000..af8e8805 --- /dev/null +++ b/media-sound/pulseaudio/metadata.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sound</herd> + <maintainer> + <email>ford_prefect@gentoo.org</email> + <name>Arun Raghavan</name> + </maintainer> + <use> + <flag name="X"> + Build the X11 publish module to export PulseAudio information + through X11 protocol for clients to make use. Don't enable this + flag if you want to use a system wide instance. If unsure, enable + this flag. + </flag> + <flag name="gnome"> + Use GConf to store user preferences on streams and so on. Don't + enable this flag if you want to use a system wide instance. If + unsure, enable this flag. + </flag> + <flag name="oss"> + Enable OSS sink/source (output/input). Deprecated, upstream does + not support this on systems where other sink/source systems are + available (i.e.: Linux). The padsp wrapper is now always build + if the system supports OSS at all. + </flag> + <flag name="glib"> + Add support to <pkg>dev-libs/glib</pkg>-based mainloop for the + libpulse client library, to allow using libpulse on glib-based + programs. + </flag> + <flag name="system-wide" restrict=">=media-sound/pulseaudio-0.9.21.1"> + Allow preparation and installation of the system-wide init + script for PulseAudio. Since this support is only supported for + embedded situations, do not enable without reading the upstream + instructions at http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode . + </flag> + <flag name="asyncns">Use libasyncns for asynchronous name resolution.</flag> + <flag name="doc">Build the doxygen-described API documentation.</flag> + <flag name="realtime" restrict=">=media-sound/pulseaudio-0.9.21.2-r1"> + Makes PulseAudio use RealtimeKit (<pkg>sys-auth/rtkit</pkg>) to get + real-time priority while running. + </flag> + <flag name="equalizer"> + Enable the equalizer module (requires <pkg>sci-libs/fftw</pkg>). + </flag> + <flag name="ssl"> + Use <pkg>dev-libs/openssl</pkg> to provide support for RAOP + (AirPort) streaming. + </flag> + <flag name="gdbm"> + Use <pkg>sys-libs/gdbm</pkg> to store PulseAudio + databases. Recommended for desktop usage. This flag causes the + whole package to be licensed under GPL-2 or later. + </flag> + <flag name="webrtc-aec"> + Uses the webrtc.org AudioProcessing library for enhancing VoIP calls + greatly in applications that support it by performing acoustic echo + cancellation, analog gain control, noise suppression and other processing. + </flag> + <flag name="xen"> + Builds a special paravirtualized module for running in a Xen guest. + </flag> + <flag name='systemd'> + Build with <pkg>sys-apps/systemd</pkg> support to replace standalone + ConsoleKit. + </flag> + </use> +</pkgmetadata> diff --git a/media-sound/pulseaudio/pulseaudio-3.0-r1.ebuild b/media-sound/pulseaudio/pulseaudio-3.0-r1.ebuild new file mode 100644 index 00000000..b399b712 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-3.0-r1.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-3.0-r1.ebuild,v 1.1 2013/04/27 03:56:05 ford_prefect Exp $ + +EAPI="5" + +inherit autotools eutils flag-o-matic user versionator toolchain-funcs udev + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" + +SRC_URI="http://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz" + +# libpulse-simple and libpulse link to libpulse-core; this is daemon's +# library and can link to gdbm and other GPL-only libraries. In this +# cases, we have a fully GPL-2 package. Leaving the rest of the +# GPL-forcing USE flags for those who use them. +LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+alsa +asyncns avahi bluetooth +caps dbus doc equalizer +gdbm +glib gnome +gtk ipv6 jack libsamplerate lirc neon +orc oss qt4 realtime ssl systemd +system-wide tcpd test +udev +webrtc-aec +X xen" + +RDEPEND=">=media-libs/libsndfile-1.0.20 + X? ( + >=x11-libs/libX11-1.4.0 + >=x11-libs/libxcb-1.6 + >=x11-libs/xcb-util-0.3.1 + 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] ) + jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gtk? ( x11-libs/gtk+:2 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + bluetooth? ( + >=net-wireless/bluez-4.99 + >=sys-apps/dbus-1.0.0 + media-libs/sbc + ) + asyncns? ( net-libs/libasyncns ) + udev? ( >=virtual/udev-143[hwdb] ) + realtime? ( sys-auth/rtkit ) + equalizer? ( sci-libs/fftw:3.0 ) + orc? ( >=dev-lang/orc-0.4.9 ) + ssl? ( dev-libs/openssl ) + >=media-libs/speex-1.2_rc1 + gdbm? ( sys-libs/gdbm ) + webrtc-aec? ( media-libs/webrtc-audio-processing ) + xen? ( app-emulation/xen ) + systemd? ( >=sys-apps/systemd-39 ) + dev-libs/json-c + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + sys-devel/m4 + doc? ( app-doc/doxygen ) + test? ( dev-libs/check ) + X? ( + x11-proto/xproto + >=x11-libs/libXtst-1.0.99.2 + ) + dev-libs/libatomic_ops + virtual/pkgconfig + system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) ) + dev-util/intltool" +# This is a PDEPEND to avoid a circular dep +PDEPEND="alsa? ( media-plugins/alsa-plugins[pulseaudio] )" + +# alsa-utils dep is for the alsasound init.d script (see bug #155707) +# bluez dep is for the bluetooth init.d script +# PyQt4 dep is for the qpaeq script +RDEPEND="${RDEPEND} + equalizer? ( qt4? ( dev-python/PyQt4[dbus] ) ) + X? ( gnome-extra/gnome-audio ) + system-wide? ( + sys-apps/openrc + alsa? ( media-sound/alsa-utils ) + bluetooth? ( >=net-wireless/bluez-4 ) + )" + +# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac +REQUIRED_USE="bluetooth? ( dbus )" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + + if use system-wide; then + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio + fi +} + +src_prepare() { + epatch "${FILESDIR}/${P}-json-c-fix.patch" + eautoreconf +} + +src_configure() { + if use gdbm; then + myconf+=" --with-database=gdbm" + #elif use tdb; then + # myconf+=" --with-database=tdb" + else + myconf+=" --with-database=simple" + fi + + 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 neon neon-opt) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable avahi) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable gtk gtk2) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_enable udev) \ + $(use_enable systemd) \ + $(use_enable ipv6) \ + $(use_enable ssl openssl) \ + $(use_enable webrtc-aec) \ + $(use_enable xen) \ + $(use_enable orc) \ + $(use_with caps) \ + $(use_with equalizer fftw) \ + --disable-adrian-aec \ + --disable-esound \ + --localstatedir="${EPREFIX}"/var \ + --with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d \ + ${myconf} + + if use doc; then + pushd doxygen + doxygen doxygen.conf + 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 +} + +src_install() { + emake -j1 DESTDIR="${D}" install + + # Drop the script entirely if X is disabled + use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 + + if use system-wide; then + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio + + use_define() { + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} + + use "$1" && echo "-D$define" || echo "-U$define" + } + + unifdef $(use_define avahi) \ + $(use_define alsa) \ + $(use_define bluetooth) \ + $(use_define udev) \ + "${FILESDIR}/pulseaudio.init.d-5" \ + > "${T}/pulseaudio" + + doinitd "${T}/pulseaudio" + fi + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${ED}/etc/pulse/default.pa" + + dodoc README todo + + if use doc; then + pushd doxygen/html + dohtml * + popd + fi + + # Create the state directory + use prefix || diropts -o pulse -g pulse -m0755 + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if use system-wide; then + elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." + elog "This support is enabled by starting the pulseaudio init.d ." + elog "To be able to access that you need to be in the group pulse-access." + elog "If you choose to use this feature, please make sure that you" + elog "really want to run PulseAudio this way:" + elog " http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode" + elog "For more information about system-wide support, please refer to:" + elog " http://pulseaudio.org/wiki/SystemWideInstance" + if use gnome ; then + elog + elog "By enabling gnome USE flag, you enabled gconf support. Please note" + elog "that you might need to remove the gnome USE flag or disable the" + elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" + elog "with a system-wide instance." + fi + fi + 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." + fi + if use equalizer && ! use qt4; then + elog "You've enabled the 'equalizer' USE-flag but not the 'qt4' USE-flag." + elog "This will build the equalizer module, but the 'qpaeq' tool" + elog "which is required to set equalizer levels will not work." + fi +} |