summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-plugins/alsa-plugins
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-plugins/alsa-plugins')
-rw-r--r--media-plugins/alsa-plugins/Manifest3
-rw-r--r--media-plugins/alsa-plugins/alsa-plugins-1.0.27-r1.ebuild92
-rw-r--r--media-plugins/alsa-plugins/alsa-plugins-1.0.27-r3.ebuild99
-rw-r--r--media-plugins/alsa-plugins/alsa-plugins-1.0.28.ebuild94
-rw-r--r--media-plugins/alsa-plugins/alsa-plugins-1.0.29-r1.ebuild100
-rw-r--r--media-plugins/alsa-plugins/alsa-plugins-1.0.29.ebuild95
-rw-r--r--media-plugins/alsa-plugins/files/51-pulseaudio-probe.conf19
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.0.19-missing-avutil.patch11
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch12
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg-version-check.patch13
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg.patch38
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch338
-rw-r--r--media-plugins/alsa-plugins/files/pulse-default.conf10
-rw-r--r--media-plugins/alsa-plugins/metadata.xml11
14 files changed, 935 insertions, 0 deletions
diff --git a/media-plugins/alsa-plugins/Manifest b/media-plugins/alsa-plugins/Manifest
new file mode 100644
index 000000000000..1e8b1981b60b
--- /dev/null
+++ b/media-plugins/alsa-plugins/Manifest
@@ -0,0 +1,3 @@
+DIST alsa-plugins-1.0.27.tar.bz2 363593 SHA256 0bbd0c37c2dd7baf16363afb2e58169ffb0f9c0a70031b3b6235594630f3ab35 SHA512 73c2010b66022429bc664bdab1c03694dfd669260dea569e32496bc6e10a11a0da2dd87db6a661ab1376f3aa59f1df8a84cb48ff1d20bb064756c655203f9993 WHIRLPOOL 4487734e0377c880a46df6f7fa53d86a7c38fa3d4bd35e06d128c0ec2b99c789ed64674b59003d8bd0abce2db53301234e467d235532ea145ddb150919cb49af
+DIST alsa-plugins-1.0.28.tar.bz2 366023 SHA256 426f8af1a07ee9d8c06449524d1f0bd59a06e0331a51aa3d59d343a7c6d03120 SHA512 c79cf22f426f500c704c947af602604c62a76a026c9b945589d1ca83dff16de23cec2f1c29c9713e42736092aa0d0389e514ca2ca646f8e4770c8aa8320725cc WHIRLPOOL 9cb54e2a30a3f682aa23acb6317f267ffb3cd47eceb959fbce73c8db3ba7c8af420b91b91cce865f0aaf0c60b2920f51972640aff8413c871d0709fa7f4f90a6
+DIST alsa-plugins-1.0.29.tar.bz2 366077 SHA256 325d85cac285f632b83e0191ae3f348bad03c1f007b937042f164abb81ea6532 SHA512 6bc7d417ee5deb00a6e36864778deb4675a186951747cc799386288704f0d22a5c3d7011b6091602378d02ee79c4696ebb879140cebea392bd68937c8640898a WHIRLPOOL 987c348b536b03b36c2e7f9bff733e5309961b6f052d6a76f1372eb231d9af92191c113d0a577221809b0fcc4bc9614f278afb10472bd1606822aab468210af3
diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r1.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r1.ebuild
new file mode 100644
index 000000000000..32e81d4165e5
--- /dev/null
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib
+
+DESCRIPTION="ALSA extra plugins"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/plugins/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-linux"
+IUSE="debug ffmpeg jack libsamplerate pulseaudio speex"
+
+RDEPEND=">=media-libs/alsa-lib-${PV}:=
+ ffmpeg? ( virtual/ffmpeg )
+ jack? ( >=media-sound/jack-audio-connection-kit-0.98 )
+ libsamplerate? ( media-libs/libsamplerate:= )
+ pulseaudio? ( media-sound/pulseaudio )
+ speex? ( media-libs/speex:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.0.19-missing-avutil.patch \
+ "${FILESDIR}"/${PN}-1.0.23-automagic.patch \
+ "${FILESDIR}"/${P}-{ffmpeg,ffmpeg-version-check}.patch
+
+ epatch_user
+
+ # For some reasons the polyp/pulse plugin does fail with alsaplayer with a
+ # failed assert. As the code works just fine with asserts disabled, for now
+ # disable them waiting for a better solution.
+ sed -i \
+ -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \
+ pulse/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ use debug || append-cppflags -DNDEBUG
+
+ local myspeex=no
+ use speex && myspeex=lib
+
+ econf \
+ $(use_enable ffmpeg avcodec) \
+ $(use_enable jack) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable pulseaudio) \
+ --with-speex=${myspeex}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ cd doc
+ dodoc upmix.txt vdownmix.txt README-pcm-oss
+ use jack && dodoc README-jack
+ use libsamplerate && dodoc samplerate.txt
+ use ffmpeg && dodoc lavcrate.txt a52.txt
+
+ if use pulseaudio; then
+ dodoc README-pulse
+ # install ALSA configuration files
+ # making PA to be used by alsa clients
+ insinto /usr/share/alsa
+ doins "${FILESDIR}"/pulse-default.conf
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/51-pulseaudio-probe.conf
+ # bug #410261, comment 5+
+ # seems to work fine without any path
+ sed -i \
+ -e "s:/usr/lib/alsa-lib/::" \
+ "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261
+ fi
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if use pulseaudio; then
+ einfo "The PulseAudio device is now set as the default device if the"
+ einfo "PulseAudio server is found to be running. Any custom"
+ einfo "configuration in /etc/asound.conf or ~/.asoundrc for this"
+ einfo "purpose should now be unnecessary."
+ fi
+}
diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r3.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r3.ebuild
new file mode 100644
index 000000000000..f6644a93bd57
--- /dev/null
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.0.27-r3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib multilib-minimal
+
+DESCRIPTION="ALSA extra plugins"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/plugins/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux"
+IUSE="debug ffmpeg jack libsamplerate pulseaudio speex"
+
+# TODO: handle USE=ffmpeg once it is converted
+
+RDEPEND=">=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}]
+ ffmpeg? ( virtual/ffmpeg )
+ jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.0.19-missing-avutil.patch \
+ "${FILESDIR}"/${PN}-1.0.23-automagic.patch \
+ "${FILESDIR}"/${P}-{ffmpeg,ffmpeg-version-check}.patch
+
+ epatch_user
+
+ # For some reasons the polyp/pulse plugin does fail with alsaplayer with a
+ # failed assert. As the code works just fine with asserts disabled, for now
+ # disable them waiting for a better solution.
+ sed -i \
+ -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \
+ pulse/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ use debug || append-cppflags -DNDEBUG
+
+ local myspeex=no
+ use speex && myspeex=lib
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(multilib_native_use_enable ffmpeg avcodec) \
+ $(use_enable jack) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable pulseaudio) \
+ --with-speex=${myspeex}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ cd doc || die
+ dodoc upmix.txt vdownmix.txt README-pcm-oss
+ use jack && dodoc README-jack
+ use libsamplerate && dodoc samplerate.txt
+ use ffmpeg && dodoc lavcrate.txt a52.txt
+
+ if use pulseaudio; then
+ dodoc README-pulse
+ # install ALSA configuration files
+ # making PA to be used by alsa clients
+ insinto /usr/share/alsa
+ doins "${FILESDIR}"/pulse-default.conf
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/51-pulseaudio-probe.conf
+ # bug #410261, comment 5+
+ # seems to work fine without any path
+ sed -i \
+ -e "s:/usr/lib/alsa-lib/::" \
+ "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261
+ fi
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if use pulseaudio; then
+ einfo "The PulseAudio device is now set as the default device if the"
+ einfo "PulseAudio server is found to be running. Any custom"
+ einfo "configuration in /etc/asound.conf or ~/.asoundrc for this"
+ einfo "purpose should now be unnecessary."
+ fi
+}
diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.0.28.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.0.28.ebuild
new file mode 100644
index 000000000000..cf86cb61c825
--- /dev/null
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.0.28.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib multilib-minimal
+
+DESCRIPTION="ALSA extra plugins"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/plugins/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-linux"
+IUSE="debug ffmpeg jack libsamplerate pulseaudio speex"
+
+RDEPEND=">=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}]
+ ffmpeg? ( virtual/ffmpeg[${MULTILIB_USEDEP}] )
+ jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+: epatch "${FILESDIR}"/${PN}-1.0.23-automagic.patch
+
+ epatch_user
+
+ # For some reasons the polyp/pulse plugin does fail with alsaplayer with a
+ # failed assert. As the code works just fine with asserts disabled, for now
+ # disable them waiting for a better solution.
+ sed -i \
+ -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \
+ pulse/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ use debug || append-cppflags -DNDEBUG
+
+ local myspeex=no
+ use speex && myspeex=lib
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable ffmpeg avcodec) \
+ $(use_enable jack) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable pulseaudio) \
+ --with-speex=${myspeex}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ cd doc || die
+ dodoc upmix.txt vdownmix.txt README-pcm-oss
+ use jack && dodoc README-jack
+ use libsamplerate && dodoc samplerate.txt
+ use ffmpeg && dodoc lavcrate.txt a52.txt
+
+ if use pulseaudio; then
+ dodoc README-pulse
+ # install ALSA configuration files
+ # making PA to be used by alsa clients
+ insinto /usr/share/alsa
+ doins "${FILESDIR}"/pulse-default.conf
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/51-pulseaudio-probe.conf
+ # bug #410261, comment 5+
+ # seems to work fine without any path
+ sed -i \
+ -e "s:/usr/lib/alsa-lib/::" \
+ "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261
+ fi
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if use pulseaudio; then
+ einfo "The PulseAudio device is now set as the default device if the"
+ einfo "PulseAudio server is found to be running. Any custom"
+ einfo "configuration in /etc/asound.conf or ~/.asoundrc for this"
+ einfo "purpose should now be unnecessary."
+ fi
+}
diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.0.29-r1.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.0.29-r1.ebuild
new file mode 100644
index 000000000000..4e2b087585fa
--- /dev/null
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.0.29-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib multilib-minimal
+
+DESCRIPTION="ALSA extra plugins"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/plugins/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux"
+IUSE="debug ffmpeg jack libav libsamplerate pulseaudio speex"
+
+RDEPEND="
+ >=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}]
+ ffmpeg? (
+ libav? ( media-video/libav:= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.23-automagic.patch
+ epatch "${FILESDIR}"/${PN}-1.0.28-libav10.patch
+
+ epatch_user
+
+ # For some reasons the polyp/pulse plugin does fail with alsaplayer with a
+ # failed assert. As the code works just fine with asserts disabled, for now
+ # disable them waiting for a better solution.
+ sed -i \
+ -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \
+ pulse/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ use debug || append-cppflags -DNDEBUG
+
+ local myspeex=no
+ use speex && myspeex=lib
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable ffmpeg avcodec) \
+ $(use_enable jack) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable pulseaudio) \
+ --with-speex=${myspeex}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ cd doc || die
+ dodoc upmix.txt vdownmix.txt README-pcm-oss
+ use jack && dodoc README-jack
+ use libsamplerate && dodoc samplerate.txt
+ use ffmpeg && dodoc lavcrate.txt a52.txt
+
+ if use pulseaudio; then
+ dodoc README-pulse
+ # install ALSA configuration files
+ # making PA to be used by alsa clients
+ insinto /usr/share/alsa
+ doins "${FILESDIR}"/pulse-default.conf
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/51-pulseaudio-probe.conf
+ # bug #410261, comment 5+
+ # seems to work fine without any path
+ sed -i \
+ -e "s:/usr/lib/alsa-lib/::" \
+ "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261
+ fi
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if use pulseaudio; then
+ einfo "The PulseAudio device is now set as the default device if the"
+ einfo "PulseAudio server is found to be running. Any custom"
+ einfo "configuration in /etc/asound.conf or ~/.asoundrc for this"
+ einfo "purpose should now be unnecessary."
+ fi
+}
diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.0.29.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.0.29.ebuild
new file mode 100644
index 000000000000..2e04ad7f7153
--- /dev/null
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.0.29.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib multilib-minimal
+
+DESCRIPTION="ALSA extra plugins"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/plugins/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-linux"
+IUSE="debug ffmpeg jack libsamplerate pulseaudio speex"
+
+RDEPEND=">=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}]
+ ffmpeg? ( virtual/ffmpeg[${MULTILIB_USEDEP}] )
+ jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.23-automagic.patch
+ epatch "${FILESDIR}"/${PN}-1.0.28-libav10.patch
+
+ epatch_user
+
+ # For some reasons the polyp/pulse plugin does fail with alsaplayer with a
+ # failed assert. As the code works just fine with asserts disabled, for now
+ # disable them waiting for a better solution.
+ sed -i \
+ -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \
+ pulse/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ use debug || append-cppflags -DNDEBUG
+
+ local myspeex=no
+ use speex && myspeex=lib
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable ffmpeg avcodec) \
+ $(use_enable jack) \
+ $(use_enable libsamplerate samplerate) \
+ $(use_enable pulseaudio) \
+ --with-speex=${myspeex}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ cd doc || die
+ dodoc upmix.txt vdownmix.txt README-pcm-oss
+ use jack && dodoc README-jack
+ use libsamplerate && dodoc samplerate.txt
+ use ffmpeg && dodoc lavcrate.txt a52.txt
+
+ if use pulseaudio; then
+ dodoc README-pulse
+ # install ALSA configuration files
+ # making PA to be used by alsa clients
+ insinto /usr/share/alsa
+ doins "${FILESDIR}"/pulse-default.conf
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/51-pulseaudio-probe.conf
+ # bug #410261, comment 5+
+ # seems to work fine without any path
+ sed -i \
+ -e "s:/usr/lib/alsa-lib/::" \
+ "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261
+ fi
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if use pulseaudio; then
+ einfo "The PulseAudio device is now set as the default device if the"
+ einfo "PulseAudio server is found to be running. Any custom"
+ einfo "configuration in /etc/asound.conf or ~/.asoundrc for this"
+ einfo "purpose should now be unnecessary."
+ fi
+}
diff --git a/media-plugins/alsa-plugins/files/51-pulseaudio-probe.conf b/media-plugins/alsa-plugins/files/51-pulseaudio-probe.conf
new file mode 100644
index 000000000000..c2272c85b072
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/51-pulseaudio-probe.conf
@@ -0,0 +1,19 @@
+# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
+# default output for applications using alsa when pulseaudio is running.
+
+hook_func.pulse_load_if_running {
+ lib "/usr/lib/alsa-lib/libasound_module_conf_pulse.so"
+ func "conf_pulse_hook_load_if_running"
+}
+
+@hooks [
+ {
+ func pulse_load_if_running
+ files [
+ "/usr/share/alsa/pulse-default.conf"
+ "/etc/asound.conf"
+ "~/.asoundrc"
+ ]
+ errors false
+ }
+]
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.19-missing-avutil.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.19-missing-avutil.patch
new file mode 100644
index 000000000000..12acbbca1dcd
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.19-missing-avutil.patch
@@ -0,0 +1,11 @@
+--- configure.in_old 2009-01-26 21:46:07.000000000 +0100
++++ configure.in 2009-01-26 21:47:25.000000000 +0100
+@@ -67,7 +67,7 @@
+ AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)]))
+
+ if test "x$enable_avcodec" != "xno"; then
+- PKG_CHECK_MODULES(AVCODEC, [libavcodec], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
++ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavutil], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
+ fi
+
+ if test "x$HAVE_AVCODEC" = "xno"; then
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch
new file mode 100644
index 000000000000..8e62f20a143d
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch
@@ -0,0 +1,12 @@
+diff -uNr alsa-plugins-1.0.23.ORIg//Makefile.am alsa-plugins-1.0.23/Makefile.am
+--- alsa-plugins-1.0.23.ORIg//Makefile.am 2010-04-16 23:38:58.546243512 +0100
++++ alsa-plugins-1.0.23/Makefile.am 2010-04-16 23:39:20.049278487 +0100
+@@ -17,7 +17,7 @@
+ if HAVE_PPH
+ SUBDIRS += pph
+ endif
+-if HAVE_SPEEXDSP
++if USE_LIBSPEEX
+ SUBDIRS += speex
+ endif
+
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg-version-check.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg-version-check.patch
new file mode 100644
index 000000000000..6b9b698471d2
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg-version-check.patch
@@ -0,0 +1,13 @@
+Index: alsa-plugins-1.0.27/a52/pcm_a52.c
+===================================================================
+--- alsa-plugins-1.0.27.orig/a52/pcm_a52.c
++++ alsa-plugins-1.0.27/a52/pcm_a52.c
+@@ -27,7 +27,7 @@
+ #include <alsa/pcm_plugin.h>
+ #include AVCODEC_HEADER
+
+-#if LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MINOR >= 34
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,34,0)
+ #include <libavutil/audioconvert.h>
+ #include <libavutil/mem.h>
+ #define USE_AVCODEC_FRAME
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg.patch
new file mode 100644
index 000000000000..56f51e35a9c9
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.27-ffmpeg.patch
@@ -0,0 +1,38 @@
+From 367e208954711fabe159070d242927246ed821cd Mon Sep 17 00:00:00 2001
+From: Anton Khirnov <anton@khirnov.net>
+Date: Thu, 9 Jan 2014 21:14:17 +0100
+Subject: [PATCH] a52: switch to AV_CODEC_ID identifiers
+
+Fixes build with latest libavcodec versions.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ a52/pcm_a52.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
+index 359608f..b467ec8 100644
+--- a/a52/pcm_a52.c
++++ b/a52/pcm_a52.c
+@@ -58,6 +58,9 @@
+ #endif
+ #endif
+
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 25, 0)
++#define AV_CODEC_ID_AC3 CODEC_ID_AC3
++#endif
+
+ struct a52_ctx {
+ snd_pcm_ioplug_t io;
+@@ -916,7 +919,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
+ if (rec->codec == NULL)
+ rec->codec = avcodec_find_encoder_by_name("ac3");
+ if (rec->codec == NULL)
+- rec->codec = avcodec_find_encoder(CODEC_ID_AC3);
++ rec->codec = avcodec_find_encoder(AV_CODEC_ID_AC3);
+ if (rec->codec == NULL) {
+ SNDERR("Cannot find codec engine");
+ err = -EINVAL;
+--
+1.7.11.7
+
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch
new file mode 100644
index 000000000000..9718369782b3
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch
@@ -0,0 +1,338 @@
+https://bugs.gentoo.org/539680
+
+From: Luca Barbato <lu_zero@gentoo.org>
+Description: lavr: Add a libavresample based rate plugin
+Date: Mon, 14 Apr 2014 10:01:07 +0200
+
+Provide lavcrate compatibility.
+
+Index: alsa-plugins-1.0.28/configure.ac
+===================================================================
+--- alsa-plugins-1.0.28.orig/configure.ac
++++ alsa-plugins-1.0.28/configure.ac
+@@ -66,7 +66,7 @@ if test "$use_maemo_rm" = "yes"; then
+ fi
+
+ AC_ARG_ENABLE([avcodec],
+- AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)]))
++ AS_HELP_STRING([--disable-avcodec], [Do not build plugins depending on avcodec (a52)]))
+
+ if test "x$enable_avcodec" != "xno"; then
+ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavutil], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
+@@ -101,6 +101,10 @@ if test $HAVE_AVCODEC = yes; then
+ if test -z "$AVCODEC_HEADER"; then
+ HAVE_AVCODEC=no
+ fi
++ SAVE_LIBS=$LIBS
++ LIBS="$LIBS $AVCODEC_LIBS"
++ AC_CHECK_FUNCS([av_resample_init])
++ LIBS=$SAVE_LIBS
+ fi
+
+ AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes)
+@@ -108,6 +112,18 @@ AC_SUBST(AVCODEC_CFLAGS)
+ AC_SUBST(AVCODEC_LIBS)
+ AC_SUBST(AVCODEC_HEADER)
+
++AC_ARG_ENABLE([avresample],
++ AS_HELP_STRING([--disable-avresample], [Do not build plugins depending on avcodec (lavrate)]))
++
++if test "x$enable_avresample" != "xno"; then
++ PKG_CHECK_MODULES(AVRESAMPLE, [libavresample libavutil], [HAVE_AVRESAMPLE=yes], [HAVE_AVRESAMPLE=no])
++fi
++
++AM_CONDITIONAL(HAVE_AVRESAMPLE, test x$HAVE_AVCODEC = xyes)
++AC_SUBST(AVRESAMPLE_CFLAGS)
++AC_SUBST(AVRESAMPLE_LIBS)
++AC_SUBST(AVRESAMPLE_HEADER)
++
+ PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""])
+ AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes")
+
+@@ -181,7 +197,7 @@ AC_OUTPUT([
+ mix/Makefile
+ rate/Makefile
+ a52/Makefile
+- rate-lavc/Makefile
++ rate-lavr/Makefile
+ maemo/Makefile
+ doc/Makefile
+ usb_stream/Makefile
+Index: alsa-plugins-1.0.28/Makefile.am
+===================================================================
+--- alsa-plugins-1.0.28.orig/Makefile.am
++++ alsa-plugins-1.0.28/Makefile.am
+@@ -9,8 +9,14 @@ if HAVE_SAMPLERATE
+ SUBDIRS += rate
+ endif
+ if HAVE_AVCODEC
++SUBDIRS += a52
++if !HAVE_AVRESAMPLE
+ SUBDIRS += a52 rate-lavc
+ endif
++endif
++if HAVE_AVRESAMPLE
++SUBDIRS += rate-lavr
++endif
+ if HAVE_MAEMO_PLUGIN
+ SUBDIRS += maemo
+ endif
+Index: alsa-plugins-1.0.28/rate-lavr/Makefile.am
+===================================================================
+--- /dev/null
++++ alsa-plugins-1.0.28/rate-lavr/Makefile.am
+@@ -0,0 +1,22 @@
++asound_module_rate_lavr_LTLIBRARIES = libasound_module_rate_lavr.la
++
++asound_module_rate_lavrdir = @ALSA_PLUGIN_DIR@
++
++AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVRESAMPLE_CFLAGS@
++AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED)
++
++libasound_module_rate_lavr_la_SOURCES = rate_lavr.c
++libasound_module_rate_lavr_la_LIBADD = @ALSA_LIBS@ @AVRESAMPLE_LIBS@
++
++
++install-exec-hook:
++ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate*.so
++ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate.so
++ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_higher.so
++ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_high.so
++ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_fast.so
++ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_faster.so
++
++uninstall-hook:
++ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate*.so
++ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavr*.so
+Index: alsa-plugins-1.0.28/rate-lavr/rate_lavr.c
+===================================================================
+--- /dev/null
++++ alsa-plugins-1.0.28/rate-lavr/rate_lavr.c
+@@ -0,0 +1,227 @@
++/*
++ * Rate converter plugin using libavresample
++ * Copyright (c) 2014 by Anton Khirnov
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ */
++
++#include <stdio.h>
++#include <alsa/asoundlib.h>
++#include <alsa/pcm_rate.h>
++
++#include <libavresample/avresample.h>
++#include <libavutil/channel_layout.h>
++#include <libavutil/opt.h>
++#include <libavutil/mathematics.h>
++#include <libavutil/samplefmt.h>
++
++
++static int filter_size = 16;
++static int phase_shift = 10; /* auto-adjusts */
++static double cutoff = 0; /* auto-adjusts */
++
++struct rate_src {
++ AVAudioResampleContext *avr;
++
++ int in_rate;
++ int out_rate;
++ unsigned int channels;
++};
++
++static snd_pcm_uframes_t input_frames(void *obj, snd_pcm_uframes_t frames)
++{
++ return frames;
++}
++
++static snd_pcm_uframes_t output_frames(void *obj, snd_pcm_uframes_t frames)
++{
++ return frames;
++}
++
++static void pcm_src_free(void *obj)
++{
++ struct rate_src *rate = obj;
++ avresample_free(&rate->avr);
++}
++
++static int pcm_src_init(void *obj, snd_pcm_rate_info_t *info)
++{
++ struct rate_src *rate = obj;
++ int i, ir, or;
++
++ if (!rate->avr || rate->channels != info->channels) {
++ int ret;
++
++ pcm_src_free(rate);
++ rate->channels = info->channels;
++ ir = rate->in_rate = info->in.rate;
++ or = rate->out_rate = info->out.rate;
++ i = av_gcd(or, ir);
++ if (or > ir) {
++ phase_shift = or/i;
++ } else {
++ phase_shift = ir/i;
++ }
++ if (cutoff <= 0.0) {
++ cutoff = 1.0 - 1.0/filter_size;
++ if (cutoff < 0.80)
++ cutoff = 0.80;
++ }
++
++ rate->avr = avresample_alloc_context();
++ if (!rate->avr)
++ return -ENOMEM;
++
++ av_opt_set_int(rate->avr, "in_sample_rate", info->in.rate, 0);
++ av_opt_set_int(rate->avr, "out_sample_rate", info->out.rate, 0);
++ av_opt_set_int(rate->avr, "in_sample_format", AV_SAMPLE_FMT_S16, 0);
++ av_opt_set_int(rate->avr, "out_sample_format", AV_SAMPLE_FMT_S16, 0);
++ av_opt_set_int(rate->avr, "in_channel_layout", av_get_default_channel_layout(rate->channels), 0);
++ av_opt_set_int(rate->avr, "out_channel_layout", av_get_default_channel_layout(rate->channels), 0);
++
++ av_opt_set_int(rate->avr, "filter_size", filter_size, 0);
++ av_opt_set_int(rate->avr, "phase_shift", phase_shift, 0);
++ av_opt_set_double(rate->avr, "cutoff", cutoff, 0);
++
++ ret = avresample_open(rate->avr);
++ if (ret < 0) {
++ avresample_free(&rate->avr);
++ return -EINVAL;
++ }
++ }
++
++ return 0;
++}
++
++static int pcm_src_adjust_pitch(void *obj, snd_pcm_rate_info_t *info)
++{
++ struct rate_src *rate = obj;
++
++ if (info->out.rate != rate->out_rate || info->in.rate != rate->in_rate)
++ pcm_src_init(obj, info);
++ return 0;
++}
++
++static void pcm_src_reset(void *obj)
++{
++ struct rate_src *rate = obj;
++
++ if (rate->avr) {
++ avresample_close(rate->avr);
++ avresample_open(rate->avr);
++ }
++}
++
++static void pcm_src_convert_s16(void *obj, int16_t *dst, unsigned int
++ dst_frames, const int16_t *src, unsigned int src_frames)
++{
++ struct rate_src *rate = obj;
++ int consumed = 0, chans=rate->channels, ret=0, i;
++ int total_in = avresample_get_delay(rate->avr) + src_frames;
++
++ ret = avresample_convert(rate->avr, &dst, dst_frames * chans * 2, dst_frames,
++ &src, src_frames * chans * 2, src_frames);
++
++ avresample_set_compensation(rate->avr,
++ total_in - src_frames > filter_size ? 0 : 1, src_frames);
++}
++
++static void pcm_src_close(void *obj)
++{
++ pcm_src_free(obj);
++}
++
++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002
++static int get_supported_rates(void *obj, unsigned int *rate_min,
++ unsigned int *rate_max)
++{
++ *rate_min = *rate_max = 0; /* both unlimited */
++ return 0;
++}
++
++static void dump(void *obj, snd_output_t *out)
++{
++ snd_output_printf(out, "Converter: libavr\n");
++}
++#endif
++
++static snd_pcm_rate_ops_t pcm_src_ops = {
++ .close = pcm_src_close,
++ .init = pcm_src_init,
++ .free = pcm_src_free,
++ .adjust_pitch = pcm_src_adjust_pitch,
++ .convert_s16 = pcm_src_convert_s16,
++ .input_frames = input_frames,
++ .output_frames = output_frames,
++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002
++ .version = SND_PCM_RATE_PLUGIN_VERSION,
++ .get_supported_rates = get_supported_rates,
++ .dump = dump,
++#endif
++};
++
++int pcm_src_open(unsigned int version, void **objp, snd_pcm_rate_ops_t *ops)
++
++{
++ struct rate_src *rate;
++
++#if SND_PCM_RATE_PLUGIN_VERSION < 0x010002
++ if (version != SND_PCM_RATE_PLUGIN_VERSION) {
++ fprintf(stderr, "Invalid rate plugin version %x\n", version);
++ return -EINVAL;
++ }
++#endif
++ rate = calloc(1, sizeof(*rate));
++ if (!rate)
++ return -ENOMEM;
++
++ *objp = rate;
++ rate->avr = NULL;
++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002
++ if (version == 0x010001)
++ memcpy(ops, &pcm_src_ops, sizeof(snd_pcm_rate_old_ops_t));
++ else
++#endif
++ *ops = pcm_src_ops;
++ return 0;
++}
++
++int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate)(unsigned int version, void **objp,
++ snd_pcm_rate_ops_t *ops)
++{
++ return pcm_src_open(version, objp, ops);
++}
++int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_higher)(unsigned int version,
++ void **objp, snd_pcm_rate_ops_t *ops)
++{
++ filter_size = 64;
++ return pcm_src_open(version, objp, ops);
++}
++int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_high)(unsigned int version,
++ void **objp, snd_pcm_rate_ops_t *ops)
++{
++ filter_size = 32;
++ return pcm_src_open(version, objp, ops);
++}
++int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_fast)(unsigned int version,
++ void **objp, snd_pcm_rate_ops_t *ops)
++{
++ filter_size = 8;
++ return pcm_src_open(version, objp, ops);
++}
++int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_faster)(unsigned int version,
++ void **objp, snd_pcm_rate_ops_t *ops)
++{
++ filter_size = 4;
++ return pcm_src_open(version, objp, ops);
++}
++
++
diff --git a/media-plugins/alsa-plugins/files/pulse-default.conf b/media-plugins/alsa-plugins/files/pulse-default.conf
new file mode 100644
index 000000000000..8f7cbf29d60c
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/pulse-default.conf
@@ -0,0 +1,10 @@
+# This file is referred to from files in /usr/share/alsa/alsa.conf.d/ in order
+# to set up the pulse device as the default if required.
+
+pcm.!default {
+ type pulse
+}
+
+ctl.!default {
+ type pulse
+}
diff --git a/media-plugins/alsa-plugins/metadata.xml b/media-plugins/alsa-plugins/metadata.xml
new file mode 100644
index 000000000000..7a7ed4ca3bbe
--- /dev/null
+++ b/media-plugins/alsa-plugins/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>alsa</herd>
+<maintainer>
+<email>alsa-bugs@gentoo.org</email>
+</maintainer>
+<upstream>
+<remote-id type="cpe">cpe:/a:alsa-project:alsa-plugins</remote-id>
+</upstream>
+</pkgmetadata>