media-plugins/alsa-plugins: Revbump to add a couple of USE flags.
authorLars Wendler <polynomial-c@gentoo.org>
Sun, 18 Feb 2018 13:28:08 +0000 (14:28 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Sun, 18 Feb 2018 14:35:22 +0000 (15:35 +0100)
Added the following list of USE flags:

  - arcam_av: control plugin for ARCAM AV receiver
  - mix: upmix and vdownmix plugins
  - oss: OSS plugin
  - usb_stream: usb stream plugin

The speex USE flag now also controls the speexdsp configure flag.

Closes: https://bugs.gentoo.org/630856
Package-Manager: Portage-2.3.24, Repoman-2.3.6

media-plugins/alsa-plugins/alsa-plugins-1.1.5-r1.ebuild [new file with mode: 0644]
media-plugins/alsa-plugins/files/alsa-plugins-1.1.5-optional_plugins.patch [new file with mode: 0644]
media-plugins/alsa-plugins/metadata.xml

diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.1.5-r1.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.1.5-r1.ebuild
new file mode 100644 (file)
index 0000000..a575c75
--- /dev/null
@@ -0,0 +1,108 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools flag-o-matic ltprune 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 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux"
+IUSE="arcam_av debug ffmpeg jack libav libsamplerate +mix oss pulseaudio speex +usb_stream"
+
+RDEPEND="
+       >=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}]
+       ffmpeg? (
+               libav? ( media-video/libav:= )
+               !libav? ( media-video/ffmpeg:0= )
+       )
+       jack? ( virtual/jack[${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.0[${MULTILIB_USEDEP}]
+                               media-libs/speexdsp[${MULTILIB_USEDEP}]
+                       )
+                       <media-libs/speex-1.2.0[${MULTILIB_USEDEP}]
+               )
+               media-libs/speex:=[${MULTILIB_USEDEP}]
+       )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.1.5-optional_plugins.patch"
+)
+
+src_prepare() {
+       default
+
+       # 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 myeconfargs=(
+               --with-speex="$(usex speex lib no)"
+               $(use_enable arcam_av arcamav)
+               $(use_enable ffmpeg avcodec)
+               $(use_enable jack)
+               $(use_enable libsamplerate samplerate)
+               $(use_enable mix)
+               $(use_enable oss)
+               $(use_enable pulseaudio)
+               $(use_enable speex speexdsp)
+               $(use_enable usb_stream usbstream)
+       )
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+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/alsa-plugins-1.1.5-optional_plugins.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.1.5-optional_plugins.patch
new file mode 100644 (file)
index 0000000..3ede798
--- /dev/null
@@ -0,0 +1,30 @@
+Alsa upstream added a couple of configure options to disable some plugins but
+forgot to reflect these changes in Makefile.am.
+
+--- alsa-plugins-1.1.5/Makefile.am
++++ alsa-plugins-1.1.5/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = oss mix usb_stream arcam-av doc
++SUBDIRS = doc
+ if HAVE_JACK
+ SUBDIRS += jack
+ endif
+@@ -20,6 +20,18 @@
+ if HAVE_SPEEXDSP
+ SUBDIRS += speex
+ endif
++if HAVE_OSS
++SUBDIRS += oss
++endif
++if HAVE_MIX
++SUBDIRS += mix
++endif
++if HAVE_USBSTREAM
++SUBDIRS += usb_stream
++endif
++if HAVE_ARCAMAV
++SUBDIRS += arcam-av
++endif
+ 
+ EXTRA_DIST = gitcompile version COPYING.GPL m4/attributes.m4
+ AUTOMAKE_OPTIONS = foreign
index 36b45c593d02cc31a7f4419faf79b16c8fb01af3..64c8bdc7718dacc83a1ad5fd257de0592c7ce968 100644 (file)
@@ -1,10 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-<email>alsa-bugs@gentoo.org</email>
-</maintainer>
-<upstream>
-<remote-id type="cpe">cpe:/a:alsa-project:alsa-plugins</remote-id>
-</upstream>
+       <maintainer type="project">
+               <email>alsa-bugs@gentoo.org</email>
+       </maintainer>
+       <use>
+               <flag name="arcam_av">Enables Arcam AV control plugin</flag>
+               <flag name="mix">Enables upmix and vdownmix plugin</flag>
+               <flag name="usb_stream">Enables usb_stream plugin</flag>
+       </use>
+       <upstream>
+               <remote-id type="cpe">cpe:/a:alsa-project:alsa-plugins</remote-id>
+       </upstream>
 </pkgmetadata>