diff options
author | Michał Górny <mgorny@gentoo.org> | 2013-11-30 16:12:52 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2013-11-30 16:12:52 +0000 |
commit | 4cda6ebf22d03688ff36d920ad2503577f07a64b (patch) | |
tree | bf149d4d56b9ca549c6ec24411c7be2adae6b5aa /media-sound | |
parent | Stable for HPPA (bug #492768). (diff) | |
download | historical-4cda6ebf22d03688ff36d920ad2503577f07a64b.tar.gz historical-4cda6ebf22d03688ff36d920ad2503577f07a64b.tar.bz2 historical-4cda6ebf22d03688ff36d920ad2503577f07a64b.zip |
Introduce multilib support, bug #484252.
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Manifest-Sign-Key: 0xEFB4464E!
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/pulseaudio/ChangeLog | 8 | ||||
-rw-r--r-- | media-sound/pulseaudio/Manifest | 23 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild | 295 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-9999.ebuild | 174 |
4 files changed, 437 insertions, 63 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog index 04aff3b2d822..33e636259c9d 100644 --- a/media-sound/pulseaudio/ChangeLog +++ b/media-sound/pulseaudio/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-sound/pulseaudio # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.307 2013/11/23 21:41:38 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.308 2013/11/30 16:12:45 mgorny Exp $ + +*pulseaudio-4.0-r1 (30 Nov 2013) + + 30 Nov 2013; Michał Górny <mgorny@gentoo.org> +pulseaudio-4.0-r1.ebuild, + pulseaudio-9999.ebuild: + Introduce multilib support, bug #484252. 23 Nov 2013; Pacho Ramos <pacho@gentoo.org> pulseaudio-4.0.ebuild: amd64 stable, bug #477662 diff --git a/media-sound/pulseaudio/Manifest b/media-sound/pulseaudio/Manifest index 18e1da145247..7b0efe565e3a 100644 --- a/media-sound/pulseaudio/Manifest +++ b/media-sound/pulseaudio/Manifest @@ -16,14 +16,27 @@ DIST pulseaudio-4.0.tar.xz 1392072 SHA256 35ceb36bb1822fe54f0b5e4863b4f486769fdf EBUILD pulseaudio-2.1-r1.ebuild 6727 SHA256 b8072bfd393f33e71bf33cde7548c898a72a89c6a274b47f249112ac55c4c0f9 SHA512 810151ae1b69d40b2f56e71afcc82b600e5b1e9ab393d23e15d16e6da9f4647fc7bb5df4074274f6efc0ea5cd31a9bbbebc1d640b203ed0e190ae03fd0dfae3b WHIRLPOOL b6e016ef10af4a105eb63837d483ce9556f997fb19d06516ee93b5f8a8fb757a4e2230b92e94881fe037c654c7b4feb6c236a9167693c68bf99dcdacdcc1c146 EBUILD pulseaudio-3.0-r1.ebuild 6997 SHA256 1a5c4bba190d72beb196e40ccdc157cfc1a87d8aff8358aeb64af780bcee7964 SHA512 4aaaa3b61ed455dd69de4270148bc5e54afe73e394033ac6e403f5d517e7890c5c5339e565914aee0ae78f72fb745f903260f9a974f68357881ff36f3af866d3 WHIRLPOOL 80338978de4b4f8508e0ec84af791c6bf941f144781ed4bb4cc081a7f8d78b53a2f139ec194fe16ed32a3347cc4ec38c90631ada4b9e870d8075f2e237d540c7 EBUILD pulseaudio-3.0.ebuild 6914 SHA256 c7c1667d8e0c356570d6e99da19adebfa306018b12866fa10d69c7468c826dd8 SHA512 181de01781e777ecde13aab3484d28b43cdf7837997fee5c72bf45e7a6e352e75e34ee2c83ed962a50a4e01e8e966db3dc1b108004e2b02c78ff117916cdb04c WHIRLPOOL b03460b284cc7347905308e92f2d2c7ac3dae32a8c45e32a1bdc254d02ec3f3c8a67bd91a06829e569ef30c64956a4d4ff2eb066508c7a1effc0d5e88920c6a6 +EBUILD pulseaudio-4.0-r1.ebuild 8539 SHA256 2fa4b23599ec47ad279c7f7ed093e40e3c9636aa105aa391c7cf186408584abf SHA512 f4901f15a03f46022ce16a14392717598e11ef09110321aa0d4972f004f835911417d67eaeeb4d2a04f3652c0df984d28056792ecc7cf12df85c1a594d060a99 WHIRLPOOL 5c4c94369dc132c3d2d3701cd434517c3738e39db2878ca51cae40cf6c75d2ba1fe746adbef65b05a48aa1ee8fd90defe00802cd92b723824d640c9202f71c7b EBUILD pulseaudio-4.0.ebuild 6918 SHA256 0295c03b48f8cf5374d7e7c6afa281477f3ab4807d80e7d6faea87f1ea62c229 SHA512 081e7abeac4795426d5fa3626bb0c117ade3471a85a3fd95b349389bb99e56a8a4a42558f666dd77bd084f0245e26f0d02629e25e8d6db4b53d6289e80f18153 WHIRLPOOL e5fddc90f33f07d4b494905bc98faf990636cc495a3b126938f4f2e75713fa65e47c33dd11a221f7e8bf31f84496551ff077994a7e714cdbd5faeaa107ca423f -EBUILD pulseaudio-9999.ebuild 6905 SHA256 cc4bb49af4c1f67e58bc7096999d53a89e49295f6154ca169fcac56ab3ceb0fd SHA512 74f4ae2e2d9a3bda797c5691ae3d52e37b748329a99e0bbc36cf541502641a532026ecd05ed009ad6bcc833870628ecd33271e8de769e25c7f51ddc76dc6e12a WHIRLPOOL 26a8e32875b4c8401690c1efe0aa34b44cd13f4bcf9ca63d9eba3e767de316c0f6a74a13dd60267f9c73e4aec8af9374b2315883426cef89aa21f7930753fb9f -MISC ChangeLog 59164 SHA256 c4cffe608d1c8a92fd95e05b20f5376c229ae1179451f0a62dd44be8e81effee SHA512 95b4d454d2ff951753ceb21635cdf1d9db17b14c58d7fae9785bc4b9052e222424608274501bed201fa22543310f7cd5e31706571870a73a5aa86d68f313c7aa WHIRLPOOL 93dfe5d91520afac61ab769305079bdde1d41fef7adb52f32a128f4e12bf275a2ae4935230b688cb252b5a9ff36cc9f832e58d9b1675c7e37e88363f4686ab7a +EBUILD pulseaudio-9999.ebuild 8517 SHA256 e8321fea8a89ec7c2751e6ba03418ffdba2204b04bd97f5674414cc2489fcc14 SHA512 9227402907c6a97f598961d6b7e90a517e6922ebff6f03833f855daaeb91d7c3e22a9f9facc437f3779f530d73da2f7fea3ad9f76b7761e845e281e40a6ce1dd WHIRLPOOL 0a6b8c1ec94e84cd4f02b3d0f112a9d5cc6a7da726466e109b9ca58cadad50fafecc2769e277ec757870e2959721b32f20df0ee440240af7ad3bea24e31c5a13 +MISC ChangeLog 59346 SHA256 807a3e505498d1ecd23ab1b3aab3e0321e57e2ec008fad9a5a8d8a79322988a8 SHA512 301232e89d8d2ad57f7b4df6e4a0b87b544c938a1a5717a127ce4ae09f3b7306d514aeee623ea5e8b894b1296ce55322c6f6d7dcb4154e304cf2192c07536e51 WHIRLPOOL 3a38cc82574f0622a5299333e4e6a702272642f4172081126a20f60a2f8ad24dce0d9c13c490ecb94298567250f2b6d6366f34b15475d720588fe38fedb9c2c8 MISC metadata.xml 2915 SHA256 833bf5b1874232dc37f100f32ad32a4b757d02d96cda0b49596196f4d715ea61 SHA512 52660b534e64ce727c1eea8060cbf66a2a5776d3149e551aa00800c65c80dfbed5828c974ba82dcd6e56e849612645dd1f7d2cf1aed250a2631b53bb10cccb3c WHIRLPOOL 51605e887017e571800d79394d0515740888c337228dcb89f70389734044553b95043edd7e362b70cd9b1eff0be34a22f37d6a3bc45d41fa102264963e7b00a8 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iEYEAREIAAYFAlKRIRMACgkQCaWpQKGI+9QyfgCbBPf4ZXnZGgi6Z9btwYcEtxy9 -oaUAn39nFw5KSle5fGDbZkMcHra7PIk+ -=C6Q7 +iQJ8BAEBCABmBQJSmg6DXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC +MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO11oQAIYGaBKLDPOw9/8dOL+tg2ID ++UJJ2HQPd/7SCKzMx8QnY7e5oF2/u5k/hDLiHVZLsSmAyjRAMAN9h5NcKy03ORLe +WgXWzMsV8YNpmSrAweQ6sgLO3ARArBm1hx2QOP1w+s2g5dVjMDsRv67A8aSY2PjW +1QYy5oHvezp5K/VlLIq8MZy1nCZueebmYnveqaE0GRKesfAOj6kM3FVANmopXkv3 +0OrytaZfhKLA8TsLT9qDkcKJ2Hzu5v5By7ce9gIbOoUx0r83MGTfiU7nfuGnd7PL +PK+nYdVvBnZ9JqjxDWNUZkbg+5Nd/Z5z0lH89apOBYtpxutiJJU0LunQh9aHVLZj +7Ji1CKgdbngKqlfUL7A6Xra0zjxAeRWeRuxumJqNbeR0VjEWUbGPquuXh77CWh0t +P2hRszSvfbuid0ckxVklrg3tYKsXt1snJIdvfr/Wm7pFAQn8VCnCH8KMQzxPYAxf +MMnDRy3wHQwA9WN6v6ypy5ZXgaX0Jf1I6C/ov0ys2l+nlv3lHhRVUVlZTffk18cA +mLC2nkTe76CvXvoPiqFuB0Sn2BJuDmvHDkfKi7S03jYWEeVpZjoSJk/m9Aaza0zz +Z2+xiaapxeHs2wrj+1jIa/JMPqk/XHGGoKr0bs7fAYSfLA77seJzzsxrA6/4Ix/Q +iNRuMZUBoiPyi9LkX7BH +=bv4r -----END PGP SIGNATURE----- diff --git a/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild b/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild new file mode 100644 index 000000000000..6543e570cfc9 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild @@ -0,0 +1,295 @@ +# 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-4.0-r1.ebuild,v 1.1 2013/11/30 16:12:45 mgorny Exp $ + +EAPI="5" + +inherit eutils flag-o-matic multilib-minimal user versionator 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[${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] + >=x11-libs/xcb-util-0.3.1 + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libICE[${MULTILIB_USEDEP}] + x11-libs/libXtst[${MULTILIB_USEDEP}] + ) + caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0[${MULTILIB_USEDEP}] ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) + tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) + gtk? ( x11-libs/gtk+:3 ) + 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[${MULTILIB_USEDEP}] ) + 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[${MULTILIB_USEDEP}] + abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ) + >=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[${MULTILIB_USEDEP}] + >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] + ) + 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_user +} + +multilib_src_configure() { + local myconf=() + + if use gdbm; then + myconf+=( --with-database=gdbm ) + #elif use tdb; then + # myconf+=( --with-database=tdb ) + else + myconf+=( --with-database=simple ) + fi + + myconf+=( + --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 gtk3) + $(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_with caps) + $(use_with equalizer fftw) + --disable-adrian-aec + --disable-esound + --localstatedir="${EPREFIX}"/var + --with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d + ) + + if ! multilib_build_binaries; then + # disable all the modules and stuff + myconf+=( + --disable-oss-output + --disable-alsa + --disable-lirc + --disable-jack + --disable-avahi + --disable-gconf + --disable-gtk3 + --disable-samplerate + --disable-bluez + --disable-udev + --disable-systemd + --disable-openssl + --disable-webrtc-aec + --disable-xen + --without-fftw + + # tests involve random modules, so just do them for the native + --disable-default-build-tests + + # hack around unnecessary checks + # (results don't matter, we're not building anything using it) + ac_cv_lib_ltdl_lt_dladvise_init=yes + --with-database=simple + ) + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_build_binaries; then + emake + else + emake -C src libpulse{,-simple,-mainloop-glib}.la + fi +} + +src_compile() { + multilib-minimal_src_compile + + if use doc; then + pushd doxygen + doxygen doxygen.conf + popd + fi +} + +multilib_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. + if multilib_build_binaries; then + emake -C src check + fi +} + +multilib_src_install() { + if multilib_build_binaries; then + emake -j1 DESTDIR="${D}" install + else + emake DESTDIR="${D}" install-pkgconfigDATA + emake DESTDIR="${D}" -C src \ + install-libLTLIBRARIES \ + lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \ + install-pulseincludeHEADERS + fi +} + +multilib_src_install_all() { + # 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 + + prune_libtool_files --all +} + +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 +} diff --git a/media-sound/pulseaudio/pulseaudio-9999.ebuild b/media-sound/pulseaudio/pulseaudio-9999.ebuild index b38ad3b9c8a7..66103360b380 100644 --- a/media-sound/pulseaudio/pulseaudio-9999.ebuild +++ b/media-sound/pulseaudio/pulseaudio-9999.ebuild @@ -1,10 +1,10 @@ # 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-9999.ebuild,v 1.38 2013/08/09 19:19:40 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild,v 1.39 2013/11/30 16:12:45 mgorny Exp $ EAPI="5" -inherit autotools eutils flag-o-matic user versionator git-2 udev +inherit autotools eutils flag-o-matic multilib-minimal user versionator git-2 udev DESCRIPTION="A networked sound server with an advanced plugin system" HOMEPAGE="http://www.pulseaudio.org/" @@ -22,24 +22,24 @@ 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 +RDEPEND=">=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] X? ( - >=x11-libs/libX11-1.4.0 - >=x11-libs/libxcb-1.6 + >=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] >=x11-libs/xcb-util-0.3.1 - x11-libs/libSM - x11-libs/libICE - x11-libs/libXtst + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libICE[${MULTILIB_USEDEP}] + x11-libs/libXtst[${MULTILIB_USEDEP}] ) - caps? ( sys-libs/libcap ) + caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) alsa? ( >=media-libs/alsa-lib-1.0.19 ) - glib? ( >=dev-libs/glib-2.4.0 ) + glib? ( >=dev-libs/glib-2.4.0[${MULTILIB_USEDEP}] ) avahi? ( >=net-dns/avahi-0.6.12[dbus] ) jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) - tcpd? ( sys-apps/tcp-wrappers ) + tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) lirc? ( app-misc/lirc ) - dbus? ( >=sys-apps/dbus-1.0.0 ) + dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) gtk? ( x11-libs/gtk+:3 ) gnome? ( >=gnome-base/gconf-2.4.0 ) bluetooth? ( @@ -47,7 +47,7 @@ RDEPEND=">=media-libs/libsndfile-1.0.20 >=sys-apps/dbus-1.0.0 media-libs/sbc ) - asyncns? ( net-libs/libasyncns ) + asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] ) udev? ( >=virtual/udev-143[hwdb(+)] ) realtime? ( sys-auth/rtkit ) equalizer? ( sci-libs/fftw:3.0 ) @@ -58,7 +58,9 @@ RDEPEND=">=media-libs/libsndfile-1.0.20 webrtc-aec? ( media-libs/webrtc-audio-processing ) xen? ( app-emulation/xen ) systemd? ( >=sys-apps/systemd-39 ) - dev-libs/json-c + dev-libs/json-c[${MULTILIB_USEDEP}] + abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ) >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used DEPEND="${RDEPEND} @@ -66,8 +68,8 @@ DEPEND="${RDEPEND} doc? ( app-doc/doxygen ) test? ( dev-libs/check ) X? ( - x11-proto/xproto - >=x11-libs/libXtst-1.0.99.2 + x11-proto/xproto[${MULTILIB_USEDEP}] + >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] ) dev-libs/libatomic_ops virtual/pkgconfig @@ -107,47 +109,93 @@ src_prepare() { epatch_user } -src_configure() { +multilib_src_configure() { + local myconf=() + if use gdbm; then - myconf+=" --with-database=gdbm" + myconf+=( --with-database=gdbm ) #elif use tdb; then - # myconf+=" --with-database=tdb" + # myconf+=( --with-database=tdb ) else - myconf+=" --with-database=simple" + 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 gtk3) \ - $(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_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} + myconf+=( + --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 gtk3) + $(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_with caps) + $(use_with equalizer fftw) + --disable-adrian-aec + --disable-esound + --localstatedir="${EPREFIX}"/var + --with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d + ) + + if ! multilib_build_binaries; then + # disable all the modules and stuff + myconf+=( + --disable-oss-output + --disable-alsa + --disable-lirc + --disable-jack + --disable-avahi + --disable-gconf + --disable-gtk3 + --disable-samplerate + --disable-bluez + --disable-udev + --disable-systemd + --disable-openssl + --disable-webrtc-aec + --disable-xen + --without-fftw + + # tests involve random modules, so just do them for the native + --disable-default-build-tests + + # hack around unnecessary checks + # (results don't matter, we're not building anything using it) + ac_cv_lib_ltdl_lt_dladvise_init=yes + --with-database=simple + ) + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_build_binaries; then + emake + else + emake -C src libpulse{,-simple,-mainloop-glib}.la + fi +} + +src_compile() { + multilib-minimal_src_compile if use doc; then pushd doxygen @@ -156,16 +204,28 @@ src_configure() { fi } -src_test() { +multilib_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 + if multilib_build_binaries; then + emake -C src check + fi } -src_install() { - emake -j1 DESTDIR="${D}" install +multilib_src_install() { + if multilib_build_binaries; then + emake -j1 DESTDIR="${D}" install + else + emake DESTDIR="${D}" install-pkgconfigDATA + emake DESTDIR="${D}" -C src \ + install-libLTLIBRARIES \ + lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \ + install-pulseincludeHEADERS + fi +} +multilib_src_install_all() { # Drop the script entirely if X is disabled use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 @@ -201,7 +261,7 @@ src_install() { # Create the state directory use prefix || diropts -o pulse -g pulse -m0755 - find "${D}" -name '*.la' -delete + prune_libtool_files --all } pkg_postinst() { |